From 6f09dd9634c0662b9f7030bbef56839be32bf78d Mon Sep 17 00:00:00 2001 From: Steven Hugg Date: Sun, 15 Jan 2017 13:31:52 -0500 Subject: [PATCH] switched to SDCC tool chain for Z80 --- src/emu.js | 1 + src/platform/spaceinv.js | 5 +- src/platform/vcs.js | 1 - src/worker/sdldz80.js | 25 ++++++ src/worker/workermain.js | 161 +++++++++++++++++++++++++++++++++++---- test/cli/worker.js | 9 ++- 6 files changed, 181 insertions(+), 21 deletions(-) create mode 100644 src/worker/sdldz80.js diff --git a/src/emu.js b/src/emu.js index f851695c..fefd6e79 100644 --- a/src/emu.js +++ b/src/emu.js @@ -627,6 +627,7 @@ var BaseZ80Platform = function() { } this.getToolForFilename = function(fn) { if (fn.endsWith(".c")) return "sdcc"; + if (fn.endsWith(".s")) return "sdasz80"; return "z80asm"; } } diff --git a/src/platform/spaceinv.js b/src/platform/spaceinv.js index 9e639d0d..546d9d5a 100644 --- a/src/platform/spaceinv.js +++ b/src/platform/spaceinv.js @@ -231,8 +231,9 @@ var SpaceInvadersPlatform = function(mainElement) { } this.ramStateToLongString = function(state) { - var stack = state.b.slice(state.c.SP & 0x1fff, 0x400); - return "\n" + dumpRAM(stack, state.c.SP, stack.length); + return ""; + //var stack = state.b.slice(state.c.SP & 0x1fff, 0x400); + //return "\n" + dumpRAM(stack, state.c.SP, stack.length); } } diff --git a/src/platform/vcs.js b/src/platform/vcs.js index a9eace28..261fba9f 100644 --- a/src/platform/vcs.js +++ b/src/platform/vcs.js @@ -109,7 +109,6 @@ var VCSPlatform = function() { return jt.Util.byteStringToUInt8Array(atob(state.r.b)); } this.ramStateToLongString = function(state) { - // TODO: customize RAM dump per-platform var ram = self.getRAMForState(state); return "\n" + dumpRAM(ram, 0x80, 0x80); } diff --git a/src/worker/sdldz80.js b/src/worker/sdldz80.js new file mode 100644 index 00000000..8b7db047 --- /dev/null +++ b/src/worker/sdldz80.js @@ -0,0 +1,25 @@ +var sdldz80 = function(sdldz80) { + sdldz80 = sdldz80 || {}; + var Module = sdldz80; + +var Module;if(!Module)Module=(typeof sdldz80!=="undefined"?sdldz80:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};Module["load"]=function load(f){globalEval(read(f))};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);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function read(){throw"no read() available"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){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:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i>2];var end=(ret+size+15|0)&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=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:+(low>>>0)+ +(high|0)*+4294967296;return ret}),GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=Runtime.stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}Module["Pointer_stringify"]=Pointer_stringify;function AsciiToString(ptr){var str="";while(1){var ch=HEAP8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}Module["AsciiToString"]=AsciiToString;function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}Module["stringToAscii"]=stringToAscii;var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){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<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}Module["UTF8ArrayToString"]=UTF8ArrayToString;function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module["UTF8ToString"]=UTF8ToString;function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}Module["stringToUTF8Array"]=stringToUTF8Array;function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}Module["stringToUTF8"]=stringToUTF8;function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function demangle(func){var hasLibcxxabi=!!Module["___cxa_demangle"];if(hasLibcxxabi){try{var s=func.substr(1);var len=lengthBytesUTF8(s)+1;var buf=_malloc(len);stringToUTF8(s,buf,len);var status=_malloc(4);var ret=Module["___cxa_demangle"](buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}return func}Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");return func}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}Module["stackTrace"]=stackTrace;var HEAP;var buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){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 -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;var WASM_PAGE_SIZE=64*1024;var totalMemory=WASM_PAGE_SIZE;while(totalMemory0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Runtime.dynCall("v",func)}else{Runtime.dynCall("vi",func,[callback.arg])}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}Module["addOnPreRun"]=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=addOnPostRun;function intArrayFromString(stringy,dontAddNull,length){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;function intArrayToString(array){var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){Runtime.warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var lastChar,end;if(dontAddNull){end=buffer+lengthBytesUTF8(string);lastChar=HEAP8[end]}stringToUTF8(string,buffer,Infinity);if(dontAddNull)HEAP8[end]=lastChar}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};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"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+2770640;__ATINIT__.push();allocate([0,0,0,1,1,0,0,0,1,0,0,0,1,0,0,0,164,156,1,0,255,255,255,255,255,255,255,255,0,0,0,0,181,62,42,0,181,62,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,181,62,42,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,36,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,216,148,1,0,12,0,0,0,88,0,0,0,213,164,1,0,255,164,1,0,62,165,1,0,71,165,1,0,112,165,1,0,149,165,1,0,183,165,1,0,229,165,1,0,15,166,1,0,26,166,1,0,72,166,1,0,118,166,1,0,130,166,1,0,168,166,1,0,202,166,1,0,214,166,1,0,5,167,1,0,45,167,1,0,74,167,1,0,89,167,1,0,102,167,1,0,110,167,1,0,146,167,1,0,190,167,1,0,235,167,1,0,24,168,1,0,30,168,1,0,92,168,1,0,110,168,1,0,154,168,1,0,159,168,1,0,181,62,42,0,0,0,0,0,213,164,1,0,255,164,1,0,62,165,1,0,71,165,1,0,112,165,1,0,149,165,1,0,183,165,1,0,229,165,1,0,15,166,1,0,26,166,1,0,72,166,1,0,118,166,1,0,130,166,1,0,168,166,1,0,202,166,1,0,214,166,1,0,5,167,1,0,45,167,1,0,74,167,1,0,89,167,1,0,102,167,1,0,110,167,1,0,146,167,1,0,190,167,1,0,235,167,1,0,24,168,1,0,30,168,1,0,92,168,1,0,110,168,1,0,196,168,1,0,6,169,1,0,57,169,1,0,100,169,1,0,148,169,1,0,173,169,1,0,154,168,1,0,159,168,1,0,181,62,42,0,0,0,0,0,213,164,1,0,255,164,1,0,62,165,1,0,71,165,1,0,112,165,1,0,149,165,1,0,183,165,1,0,229,165,1,0,15,166,1,0,26,166,1,0,72,166,1,0,118,166,1,0,130,166,1,0,168,166,1,0,202,166,1,0,214,166,1,0,5,167,1,0,45,167,1,0,74,167,1,0,89,167,1,0,102,167,1,0,110,167,1,0,146,167,1,0,218,169,1,0,190,167,1,0,235,167,1,0,24,168,1,0,30,168,1,0,92,168,1,0,110,168,1,0,196,168,1,0,6,169,1,0,57,169,1,0,100,169,1,0,154,168,1,0,159,168,1,0,181,62,42,0,0,0,0,0,213,164,1,0,255,164,1,0,62,165,1,0,71,165,1,0,112,165,1,0,149,165,1,0,183,165,1,0,229,165,1,0,15,166,1,0,26,166,1,0,72,166,1,0,118,166,1,0,130,166,1,0,168,166,1,0,202,166,1,0,214,166,1,0,5,167,1,0,45,167,1,0,74,167,1,0,89,167,1,0,102,167,1,0,110,167,1,0,146,167,1,0,235,167,1,0,24,168,1,0,30,168,1,0,92,168,1,0,110,168,1,0,154,168,1,0,159,168,1,0,181,62,42,0,0,0,0,0,99,170,1,0,173,171,1,0,129,170,1,0,152,170,1,0,180,170,1,0,208,170,1,0,236,170,1,0,8,171,1,0,31,171,1,0,181,62,42,0,99,170,1,0,102,170,1,0,129,170,1,0,152,170,1,0,180,170,1,0,208,170,1,0,236,170,1,0,8,171,1,0,31,171,1,0,59,171,1,0,85,171,1,0,107,171,1,0,129,171,1,0,151,171,1,0,181,62,42,0,0,0,0,0,8,0,0,0,8,0,0,0,82,69,71,95,66,65,78,75,95,48],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,82,69,71,95,66,65,78,75,95,49],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+4880);allocate([2,0,0,0,16,0,0,0,8,0,0,0,8,0,0,0,82,69,71,95,66,65,78,75,95,50],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+8992);allocate([4,0,0,0,24,0,0,0,8,0,0,0,8,0,0,0,82,69,71,95,66,65,78,75,95,51],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+13104);allocate([8,0,0,0,32,0,0,0,0,0,0,0,16,0,0,0,66,83,69,71,95,66,89,84,69,83],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+17216);allocate([16,0,0,0,0,0,0,0,0,0,0,0,128,0,0,0,85,78,85,83,69,68],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+21328);allocate([127,0,0,0,0,0,0,0,128,0,0,0,68,65,84,65],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+25444);allocate([32,0,0,0,0,0,0,0,0,0,0,0,128,0,0,0,84,79,84,65,76,58],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+29552);allocate([255,0,0,0,0,0,0,0,128,0,0,0,73,78,68,73,82,69,67,84,32,82,65,77],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+33668);allocate([128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,69,71,95,66,65,78,75,95,48],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+37776);allocate([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,69,71,95,66,65,78,75,95,49],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+41888);allocate([2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,69,71,95,66,65,78,75,95,50],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+46e3);allocate([4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,69,71,95,66,65,78,75,95,51],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+50112);allocate([8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,83,69,71,95,66,89,84,69,83],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+54224);allocate([16,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,85,78,85,83,69,68],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+58336);allocate([255,0,0,0,0,0,0,0,0,1,0,0,68,65,84,65],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+62452);allocate([32,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,84,79,84,65,76,58],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+66560);allocate([255,0,0,0,0,0,0,0,0,0,0,0,73,78,68,73,82,69,67,84,32,82,65,77],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+70676);allocate([128,0,0,0,255,0,0,0,0,0,0,0,1,0,0,0,83,84,65,67,75],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+74784);allocate([255,255,0,0,0,0,0,0,0,0,1,0,69,88,84,69,82,78,65,76,32,82,65,77],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+78900);allocate([1,0,0,255,255,0,0,0,0,0,0,0,0,1,0,82,79,77,47,69,80,82,79,77,47,70,76,65,83,72],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+83009);allocate([2,0,0,255,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,83,84,65,67,75],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+87121);allocate([255,255,0,0,0,0,0,0,0,0,0,0,0,1,0,0,80,65,71,69,68,32,69,88,84,46,32,82,65,77],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+91240);allocate([16,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,0,69,88,84,69,82,78,65,76,32,82,65,77],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+95352);allocate([1,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,0,82,79,77,47,69,80,82,79,77,47,70,76,65,83,72],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+99469);allocate([2,0,0,211,181,1,0,230,181,1,0,250,181,1,0,181,62,42,0,20,182,1,0,43,182,1,0,70,182,1,0,95,182,1,0,181,62,42,0,181,62,42,0,122,182,1,0,3,0,0,0,3,0,0,0,3,0,0,0,106,186,1,0,1,0,0,0,109,186,1,0,2,0,0,0,113,186,1,0,3,0,0,0,84,186,1,0,4,0,0,0,118,186,1,0,5,0,0,0,123,186,1,0,6,0,0,0,255,255,255,255,28,149,1,0,9,0,0,0,0,0,0,0,0,0,0,0,4,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,2,0,0,0,190,62,42,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,144,149,1,0,5,0,0,0,0,0,0,0,0,0,0,0,4,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,2,0,0,0,198,66,42,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,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,4,150,1,0,5,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,2,0,0,0,206,66,42,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,4,150,1,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,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,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,67,111,117,108,100,110,39,116,32,99,114,101,97,116,101,32,102,105,108,101,32,37,115,10,0,91,32,37,91,94,44,93,32,37,99,32,37,91,94,44,93,32,37,99,32,37,91,94,44,93,32,37,99,32,37,91,94,44,93,32,93,0,46,111,109,102,0,79,84,72,69,82,95,83,68,67,67,95,83,84,85,70,70,0,46,99,100,98,0,67,111,117,108,100,110,39,116,32,111,112,101,110,32,102,105,108,101,32,39,37,115,39,10,0,67,97,110,39,116,32,114,101,97,100,32,102,105,108,101,0,85,110,107,110,111,119,110,32,101,114,114,111,114,32,119,104,105,108,101,32,114,101,97,100,105,110,103,32,102,105,108,101,32,39,37,115,39,10,0,37,91,94,41,93,32,37,99,32,37,99,32,37,99,32,37,99,32,37,100,32,37,99,32,37,100,32,37,99,32,37,115,0,85,110,107,110,111,119,110,32,115,99,111,112,101,32,105,110,102,111,114,109,97,116,105,111,110,32,102,111,114,58,32,37,115,44,32,65,100,100,114,101,115,115,83,112,97,99,101,58,37,99,10,0,37,91,94,36,93,32,37,99,32,37,91,94,36,93,32,37,99,32,37,91,94,36,93,32,37,99,32,37,115,0,37,91,94,41,93,32,37,99,32,37,99,32,37,99,32,37,99,32,37,100,32,37,99,32,37,100,32,37,99,32,37,100,32,37,99,32,37,100,32,37,99,32,37,100,0,37,91,94,36,93,32,37,99,32,37,91,94,36,93,32,37,99,32,37,91,94,58,93,32,37,99,32,37,120,0,37,91,94,46,93,32,37,99,32,37,91,94,36,93,32,37,99,32,37,91,94,36,93,32,37,99,32,37,91,94,58,93,32,37,99,32,37,120,0,37,91,94,46,93,32,37,91,94,36,93,32,37,99,32,37,100,32,37,91,94,58,93,32,37,99,32,37,120,0,46,105,104,120,0,69,114,114,111,114,58,32,67,97,110,39,116,32,111,112,101,110,32,102,105,108,101,32,96,37,115,96,46,13,10,0,73,110,115,117,102,102,105,99,105,101,110,116,32,109,101,109,111,114,121,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,102,105,108,101,32,39,37,115,39,10,0,69,82,82,79,82,58,32,66,97,100,32,99,104,101,99,107,115,117,109,32,105,110,32,102,105,108,101,32,37,115,10,0,96,10,0,35,49,47,0,39,47,39,32,61,61,32,110,97,109,101,91,48,93,0,108,107,97,114,46,99,0,103,101,116,95,108,111,110,103,95,110,97,109,101,0,110,32,60,32,38,115,116,114,95,116,97,98,91,115,116,114,95,116,97,98,95,115,105,122,101,93,0,47,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,33,115,121,109,95,102,111,117,110,100,0,98,117,105,108,100,108,105,98,114,97,114,121,105,110,100,101,120,95,97,114,0,108,105,98,114,32,61,61,32,78,85,76,76,0,95,95,46,83,89,77,68,69,70,32,32,32,32,32,32,32,0,95,95,46,83,89,77,68,69,70,32,83,79,82,84,69,68,0,47,47,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,78,85,76,76,32,61,61,32,115,116,114,95,116,97,98,0,33,60,97,114,99,104,62,10,0,67,111,110,102,108,105,99,116,105,110,103,32,102,108,97,103,115,32,105,110,32,97,114,101,97,32,37,56,115,10,0,72,101,97,100,101,114,32,97,114,101,97,32,108,105,115,116,32,111,118,101,114,102,108,111,119,10,0,71,83,0,71,83,73,78,73,84,48,0,66,83,69,71,0,10,63,65,83,108,105,110,107,45,87,97,114,110,105,110,103,45,80,97,103,101,100,32,65,114,101,97,32,37,115,32,76,101,110,103,116,104,32,69,114,114,111,114,10,0,10,63,65,83,108,105,110,107,45,87,97,114,110,105,110,103,45,80,97,103,101,100,32,65,114,101,97,32,37,115,32,66,111,117,110,100,97,114,121,32,69,114,114,111,114,10,0,105,110,116,101,114,110,97,108,32,109,101,109,111,114,121,32,108,105,109,105,116,32,105,115,32,101,120,99,101,101,100,101,100,32,102,111,114,32,37,115,59,32,109,101,109,111,114,121,32,115,105,122,101,32,61,32,48,120,37,48,54,88,44,32,97,100,100,114,101,115,115,32,61,32,48,120,37,48,54,88,10,0,109,101,109,111,114,121,32,111,118,101,114,108,97,112,32,110,101,97,114,32,48,120,37,88,32,102,111,114,32,37,115,10,0,65,83,108,105,110,107,45,87,97,114,110,105,110,103,45,78,111,32,100,101,102,105,110,105,116,105,111,110,32,111,102,32,97,114,101,97,32,37,115,10,0,65,83,108,105,110,107,45,87,97,114,110,105,110,103,45,78,111,32,39,61,39,32,105,110,32,98,97,115,101,32,101,120,112,114,101,115,115,105,111,110,0,63,65,83,108,105,110,107,45,69,114,114,111,114,45,67,111,117,108,100,32,110,111,116,32,103,101,116,32,37,100,32,99,111,110,115,101,99,117,116,105,118,101,32,98,121,116,101,37,115,32,105,110,32,105,110,116,101,114,110,97,108,32,82,65,77,32,102,111,114,32,97,114,101,97,32,37,115,46,10,0,109,101,109,111,114,121,32,111,118,101,114,108,97,112,32,97,116,32,48,120,37,88,32,102,111,114,32,37,115,10,0,46,32,32,46,65,66,83,46,0,128,128,128,128,128,128,128,128,128,0,128,128,0,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,0,0,0,0,1,4,4,0,0,0,4,4,0,4,1,4,122,122,114,114,114,114,114,114,98,98,0,0,4,0,4,0,0,65,65,65,65,65,65,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,0,0,4,1,0,65,65,65,65,65,65,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,4,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,85,110,101,120,112,101,99,116,101,100,32,97,114,101,97,32,37,115,32,111,118,101,114,102,108,111,119,46,32,65,100,100,114,101,115,115,32,61,32,48,120,37,120,32,98,117,116,32,97,108,108,111,99,97,116,101,100,32,114,97,110,103,101,32,105,115,32,48,120,37,120,32,45,32,48,120,37,120,10,0,46,115,121,109,116,97,98,0,46,115,116,114,116,97,98,0,46,115,104,115,116,114,116,97,98,0,73,110,118,97,108,105,100,32,101,120,112,114,101,115,115,105,111,110,0,77,105,115,115,105,110,103,32,100,101,108,105,109,105,116,101,114,0,85,110,100,101,102,105,110,101,100,32,115,121,109,98,111,108,32,37,115,10,0,85,110,107,110,111,119,110,32,111,112,101,114,97,116,111,114,32,37,99,10,0,97,114,101,97,115,0,103,108,111,98,97,108,0,98,97,110,107,115,0,109,111,100,101,115,0,65,83,108,105,110,107,32,62,62,32,0,108,110,107,0,108,115,116,0,114,115,116,0,73,110,118,97,108,105,100,32,102,105,108,101,32,116,121,112,101,10,0,37,99,37,115,0,63,65,83,108,105,110,107,45,87,97,114,110,105,110,103,45,67,97,110,110,111,116,32,111,112,101,110,32,108,105,98,114,97,114,121,32,109,111,100,117,108,101,32,37,115,10,0,63,65,83,108,105,110,107,45,87,97,114,110,105,110,103,45,67,111,117,108,100,110,39,116,32,102,105,110,100,32,108,105,98,114,97,114,121,32,39,37,115,39,10,0,47,0,37,99,108,105,98,0,63,65,83,108,105,110,107,45,87,97,114,110,105,110,103,45,68,101,102,105,110,105,116,105,111,110,32,111,102,32,112,117,98,108,105,99,32,115,121,109,98,111,108,32,39,37,115,39,32,102,111,117,110,100,32,109,111,114,101,32,116,104,97,110,32,111,110,99,101,58,10,0,32,32,32,76,105,98,114,97,114,121,58,32,39,37,115,39,44,32,77,111,100,117,108,101,58,32,39,37,115,39,10,0,63,65,83,108,105,110,107,45,69,114,114,111,114,45,67,97,110,110,111,116,32,111,112,101,110,32,108,105,98,114,97,114,121,32,102,105,108,101,32,37,115,10,0,63,65,83,108,105,110,107,45,69,114,114,111,114,45,85,110,107,110,111,119,110,32,108,105,98,114,97,114,121,32,102,105,108,101,32,102,111,114,109,97,116,32,37,115,10,0,84,104,105,115,45,62,115,121,109,98,111,108,115,32,61,61,32,78,85,76,76,0,108,107,108,105,98,114,46,99,0,97,100,100,95,114,101,108,95,105,110,100,101,120,0,12,65,83,120,120,120,120,32,76,105,110,107,101,114,32,37,115,44,32,32,112,97,103,101,32,37,117,46,10,0,72,101,120,97,100,101,99,105,109,97,108,0,79,99,116,97,108,0,68,101,99,105,109,97,108,0,37,115,32,32,91,37,100,45,66,105,116,115,93,10,0,91,32,66,97,110,107,32,61,61,32,37,115,32,93,10,0,65,114,101,97,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,65,100,100,114,0,32,32,32,32,32,32,32,32,83,105,122,101,32,32,32,32,32,32,32,32,68,101,99,105,109,97,108,32,66,121,116,101,115,32,40,65,116,116,114,105,98,117,116,101,115,41,10,0,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,32,32,32,32,32,32,32,32,45,45,45,45,0,32,32,32,32,32,32,32,32,45,45,45,45,32,32,32,32,32,32,32,32,45,45,45,45,45,45,45,32,45,45,45,45,45,32,45,45,45,45,45,45,45,45,45,45,45,45,10,0,65,114,101,97,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,65,100,100,114,32,32,32,0,32,32,32,32,32,83,105,122,101,32,32,32,32,32,32,32,32,68,101,99,105,109,97,108,32,66,121,116,101,115,32,40,65,116,116,114,105,98,117,116,101,115,41,10,0,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,32,32,32,32,32,32,32,45,45,45,45,32,32,32,0,32,32,32,32,32,45,45,45,45,32,32,32,32,32,32,32,32,45,45,45,45,45,45,45,32,45,45,45,45,45,32,45,45,45,45,45,45,45,45,45,45,45,45,10,0,37,45,51,50,46,51,50,115,0,37,45,49,57,46,49,57,115,0,32,32,32,32,32,32,32,32,37,48,52,88,32,32,32,32,32,32,32,32,37,48,52,88,0,32,32,32,32,32,32,37,48,54,111,32,32,32,32,32,32,37,48,54,111,0,32,32,32,32,32,32,32,37,48,53,117,32,32,32,32,32,32,32,37,48,53,117,0,32,61,32,32,32,32,32,32,37,54,117,46,32,98,121,116,101,115,32,0,32,32,32,32,32,32,37,48,54,88,32,32,32,32,32,32,37,48,54,88,0,32,32,32,32,37,48,56,111,32,32,32,32,37,48,56,111,0,32,32,32,32,37,48,56,117,32,32,32,32,37,48,56,117,0,32,61,32,32,32,32,37,56,117,46,32,98,121,116,101,115,32,0,32,32,32,32,37,48,56,88,32,32,32,32,37,48,56,88,0,32,37,48,49,49,111,32,37,48,49,49,111,0,32,32,37,48,49,48,117,32,32,37,48,49,48,117,0,32,61,32,32,37,49,48,117,46,32,98,121,116,101,115,32,0,40,65,66,83,0,40,82,69,76,0,44,79,86,82,0,44,67,79,78,0,44,80,65,71,0,44,67,79,68,69,0,44,88,68,65,84,65,0,44,66,73,84,0,41,10,0,32,32,32,32,32,32,86,97,108,117,101,32,32,71,108,111,98,97,108,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,32,32,32,71,108,111,98,97,108,32,68,101,102,105,110,101,100,32,73,110,32,77,111,100,117,108,101,10,0,32,32,32,32,32,32,45,45,45,45,45,32,32,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,0,32,32,32,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,10,0,32,32,32,86,97,108,117,101,32,32,71,108,111,98,97,108,32,32,32,0,32,32,32,45,45,45,45,45,32,32,45,45,45,45,45,45,32,32,32,0,32,32,32,32,32,32,32,32,86,97,108,117,101,32,32,71,108,111,98,97,108,32,32,32,32,0,32,32,32,32,32,32,32,32,45,45,45,45,45,32,32,45,45,45,45,45,45,32,32,32,32,0,37,115,0,73,110,115,117,102,102,105,99,105,101,110,116,32,115,112,97,99,101,32,116,111,32,98,117,105,108,100,32,77,97,112,32,83,101,103,109,101,110,116,46,10,0,32,32,32,32,32,0,37,115,37,88,58,0,37,115,32,32,0,32,32,32,32,32,32,32,32,0,32,32,32,0,32,32,0,32,32,37,48,52,88,32,32,0,37,48,54,111,32,32,0,32,37,48,53,117,32,32,0,32,32,32,32,32,37,48,54,88,32,32,0,32,32,32,37,48,56,111,32,32,0,32,32,32,37,48,56,117,32,32,0,32,32,32,37,48,56,88,32,32,0,37,48,49,49,111,32,32,0,32,37,48,49,48,117,32,32,0,32,32,32,37,45,46,50,56,115,0,37,45,56,46,56,115,0,37,45,57,46,57,115,0,32,124,32,0,37,48,52,88,0,37,48,54,88,0,37,48,56,88,0,32,37,48,50,88,0,37,48,53,117,0,37,48,56,117,0,37,48,49,48,117,0,32,37,48,51,117,0,37,48,54,111,0,37,48,56,111,0,37,48,49,49,111,0,32,37,48,51,111,0,63,65,83,108,105,110,107,45,87,97,114,110,105,110,103,45,37,115,10,0,85,115,97,103,101,58,32,91,45,79,112,116,105,111,110,115,93,32,91,45,79,112,116,105,111,110,32,119,105,116,104,32,97,114,103,93,32,102,105,108,101,0,85,115,97,103,101,58,32,91,45,79,112,116,105,111,110,115,93,32,91,45,79,112,116,105,111,110,32,119,105,116,104,32,97,114,103,93,32,111,117,116,102,105,108,101,32,102,105,108,101,49,32,91,102,105,108,101,50,32,46,46,46,93,0,83,116,97,114,116,117,112,58,0,32,32,45,112,32,32,32,69,99,104,111,32,99,111,109,109,97,110,100,115,32,116,111,32,115,116,100,111,117,116,32,40,100,101,102,97,117,108,116,41,0,32,32,45,110,32,32,32,78,111,32,101,99,104,111,32,111,102,32,99,111,109,109,97,110,100,115,32,116,111,32,115,116,100,111,117,116,0,65,108,116,101,114,110,97,116,101,115,32,116,111,32,67,111,109,109,97,110,100,32,76,105,110,101,32,73,110,112,117,116,58,0,32,32,45,99,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,65,83,108,105,110,107,32,62,62,32,112,114,111,109,112,116,32,105,110,112,117,116,0,32,32,45,102,32,32,32,102,105,108,101,91,46,108,107,93,32,32,32,32,32,32,32,67,111,109,109,97,110,100,32,70,105,108,101,32,105,110,112,117,116,0,76,105,98,114,97,114,105,101,115,58,0,32,32,45,107,32,32,32,76,105,98,114,97,114,121,32,112,97,116,104,32,115,112,101,99,105,102,105,99,97,116,105,111,110,44,32,111,110,101,32,112,101,114,32,45,107,0,32,32,45,108,32,32,32,76,105,98,114,97,114,121,32,102,105,108,101,32,115,112,101,99,105,102,105,99,97,116,105,111,110,44,32,111,110,101,32,112,101,114,32,45,108,0,82,101,108,111,99,97,116,105,111,110,58,0,32,32,45,98,32,32,32,97,114,101,97,32,98,97,115,101,32,97,100,100,114,101,115,115,32,61,32,101,120,112,114,101,115,115,105,111,110,0,32,32,45,103,32,32,32,103,108,111,98,97,108,32,115,121,109,98,111,108,32,61,32,101,120,112,114,101,115,115,105,111,110,0,77,97,112,32,102,111,114,109,97,116,58,0,32,32,45,109,32,32,32,77,97,112,32,111,117,116,112,117,116,32,103,101,110,101,114,97,116,101,100,32,97,115,32,40,111,117,116,41,102,105,108,101,91,46,109,97,112,93,0,32,32,45,119,32,32,32,87,105,100,101,32,108,105,115,116,105,110,103,32,102,111,114,109,97,116,32,102,111,114,32,109,97,112,32,102,105,108,101,0,32,32,45,120,32,32,32,72,101,120,97,100,101,99,105,109,97,108,32,40,100,101,102,97,117,108,116,41,0,32,32,45,100,32,32,32,68,101,99,105,109,97,108,0,32,32,45,113,32,32,32,79,99,116,97,108,0,79,117,116,112,117,116,58,0,32,32,45,105,32,32,32,73,110,116,101,108,32,72,101,120,32,97,115,32,40,111,117,116,41,102,105,108,101,91,46,105,104,120,93,0,32,32,45,115,32,32,32,77,111,116,111,114,111,108,97,32,83,32,82,101,99,111,114,100,32,97,115,32,40,111,117,116,41,102,105,108,101,91,46,115,49,57,93,0,32,32,45,106,32,32,32,78,111,73,67,69,32,68,101,98,117,103,32,111,117,116,112,117,116,32,97,115,32,40,111,117,116,41,102,105,108,101,91,46,110,111,105,93,0,32,32,45,121,32,32,32,83,68,67,68,66,32,68,101,98,117,103,32,111,117,116,112,117,116,32,97,115,32,40,111,117,116,41,102,105,108,101,91,46,99,100,98,93,0,76,105,115,116,58,0,32,32,45,117,32,32,32,85,112,100,97,116,101,32,108,105,115,116,105,110,103,32,102,105,108,101,40,115,41,32,119,105,116,104,32,108,105,110,107,32,100,97,116,97,32,97,115,32,102,105,108,101,40,115,41,91,46,114,115,116,93,0,67,97,115,101,32,83,101,110,115,105,116,105,118,105,116,121,58,0,32,32,45,122,32,32,32,68,105,115,97,98,108,101,32,67,97,115,101,32,83,101,110,115,105,116,105,118,105,116,121,32,102,111,114,32,83,121,109,98,111,108,115,0,69,110,100,58,0,32,32,45,101,32,32,32,111,114,32,110,117,108,108,32,108,105,110,101,32,116,101,114,109,105,110,97,116,101,115,32,105,110,112,117,116,0,77,105,115,99,101,108,108,97,110,101,111,117,115,58,10,32,32,45,73,32,32,32,91,105,114,97,109,45,115,105,122,101,93,32,67,104,101,99,107,32,102,111,114,32,105,110,116,101,114,110,97,108,32,82,65,77,32,111,118,101,114,102,108,111,119,0,32,32,45,88,32,32,32,91,120,114,97,109,45,115,105,122,101,93,32,67,104,101,99,107,32,102,111,114,32,101,120,116,101,114,110,97,108,32,82,65,77,32,111,118,101,114,102,108,111,119,0,32,32,45,67,32,32,32,91,99,111,100,101,45,115,105,122,101,93,32,67,104,101,99,107,32,102,111,114,32,99,111,100,101,32,111,118,101,114,102,108,111,119,0,32,32,45,77,32,32,32,71,101,110,101,114,97,116,101,32,109,101,109,111,114,121,32,117,115,97,103,101,32,115,117,109,109,97,114,121,32,102,105,108,101,91,46,109,101,109,93,0,32,32,45,89,32,32,32,80,97,99,107,32,105,110,116,101,114,110,97,108,32,114,97,109,0,32,32,45,83,32,32,32,91,115,116,97,99,107,45,115,105,122,101,93,32,65,108,108,111,99,97,116,101,32,115,112,97,99,101,32,102,111,114,32,115,116,97,99,107,0,32,32,45,69,32,32,32,69,76,70,32,101,120,101,99,117,116,97,98,108,101,32,97,115,32,102,105,108,101,91,46,101,108,102,93,0,108,95,73,82,65,77,0,63,65,83,108,105,110,107,45,87,97,114,110,105,110,103,45,67,111,110,102,108,105,99,116,105,110,103,32,115,100,99,99,32,111,112,116,105,111,110,115,58,10,32,32,32,34,37,115,34,32,105,110,32,109,111,100,117,108,101,32,34,37,115,34,32,97,110,100,10,32,32,32,34,37,115,34,32,105,110,32,109,111,100,117,108,101,32,34,37,115,34,46,10,0,88,72,0,72,32,67,32,97,114,101,97,115,32,48,32,103,108,111,98,97,108,32,115,121,109,98,111,108,115,0,65,32,95,67,79,68,69,32,115,105,122,101,32,48,32,102,108,97,103,115,32,48,0,65,32,82,69,71,95,66,65,78,75,95,48,32,115,105,122,101,32,48,32,102,108,97,103,115,32,52,0,65,32,82,69,71,95,66,65,78,75,95,49,32,115,105,122,101,32,48,32,102,108,97,103,115,32,52,0,65,32,82,69,71,95,66,65,78,75,95,50,32,115,105,122,101,32,48,32,102,108,97,103,115,32,52,0,65,32,82,69,71,95,66,65,78,75,95,51,32,115,105,122,101,32,48,32,102,108,97,103,115,32,52,0,65,32,66,83,69,71,32,115,105,122,101,32,48,32,102,108,97,103,115,32,56,48,0,65,32,66,83,69,71,95,66,89,84,69,83,32,115,105,122,101,32,48,32,102,108,97,103,115,32,48,0,65,32,66,73,84,95,66,65,78,75,32,115,105,122,101,32,48,32,102,108,97,103,115,32,52,0,65,32,68,83,69,71,32,115,105,122,101,32,48,32,102,108,97,103,115,32,48,0,65,32,79,83,69,71,32,115,105,122,101,32,48,32,102,108,97,103,115,32,52,0,65,32,73,83,69,71,32,115,105,122,101,32,48,32,102,108,97,103,115,32,48,0,65,32,83,83,69,71,32,115,105,122,101,32,48,32,102,108,97,103,115,32,52,0,72,32,55,32,97,114,101,97,115,32,48,32,103,108,111,98,97,108,32,115,121,109,98,111,108,115,0,63,65,83,108,105,110,107,45,69,114,114,111,114,45,83,105,122,101,32,111,102,32,73,78,84,51,50,32,105,115,32,110,111,116,32,51,50,32,98,105,116,115,32,111,114,32,108,97,114,103,101,114,46,10,10,0,45,37,99,0,32,0,65,83,108,105,110,107,32,62,62,32,37,115,10,0,10,87,65,82,78,73,78,71,33,32,83,101,103,109,101,110,116,32,37,115,32,101,120,116,101,110,100,115,32,112,97,115,116,32,116,104,101,32,101,110,100,10,32,32,32,32,32,32,32,32,32,111,102,32,105,110,116,101,114,110,97,108,32,82,65,77,46,32,32,67,104,101,99,107,32,109,97,112,32,102,105,108,101,46,10,0,109,97,112,0,10,70,105,108,101,115,32,76,105,110,107,101,100,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,91,32,109,111,100,117,108,101,40,115,41,32,93,10,10,0,37,115,10,37,52,48,115,32,32,91,32,0,37,45,52,48,46,52,48,115,32,32,91,32,0,44,10,37,52,52,115,0,37,45,46,51,50,115,0,32,93,10,0,10,76,105,98,114,97,114,105,101,115,32,76,105,110,107,101,100,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,91,32,111,98,106,101,99,116,32,102,105,108,101,32,93,10,10,0,37,115,10,37,52,48,115,32,32,91,32,37,45,46,51,50,115,32,93,10,0,37,45,52,48,46,52,48,115,32,32,91,32,37,45,46,51,50,115,32,93,10,0,10,85,115,101,114,32,66,97,115,101,32,65,100,100,114,101,115,115,32,68,101,102,105,110,105,116,105,111,110,115,10,10,0,10,85,115,101,114,32,71,108,111,98,97,108,32,68,101,102,105,110,105,116,105,111,110,115,10,10,0,10,12,0,63,65,83,108,105,110,107,45,69,114,114,111,114,45,60,102,105,108,115,112,99,32,116,111,111,32,108,111,110,103,62,32,58,32,34,37,115,34,10,0,114,0,119,0,119,98,0,99,114,101,97,116,101,0,111,112,101,110,0,63,65,83,108,105,110,107,45,69,114,114,111,114,45,60,99,97,110,110,111,116,32,37,115,62,32,58,32,34,37,115,34,10,0,78,111,32,100,101,102,105,110,105,116,105,111,110,32,111,102,32,115,121,109,98,111,108,32,37,115,10,0,82,101,100,101,102,105,110,105,116,105,111,110,32,111,102,32,115,121,109,98,111,108,32,37,115,10,0,78,111,32,39,61,39,32,105,110,32,103,108,111,98,97,108,32,101,120,112,114,101,115,115,105,111,110,0,65,83,120,120,120,120,0,10,37,115,32,76,105,110,107,101,114,32,37,115,10,10,0,86,48,51,46,48,48,32,43,32,78,111,73,67,69,32,43,32,115,100,108,100,0,85,110,107,110,111,119,110,32,111,112,116,105,111,110,32,45,37,99,32,105,103,110,111,114,101,100,10,0,73,110,118,97,108,105,100,32,105,110,112,117,116,10,0,109,101,109,0,82,69,71,95,66,65,78,75,95,48,0,82,69,71,95,66,65,78,75,95,49,0,82,69,71,95,66,65,78,75,95,50,0,82,69,71,95,66,65,78,75,95,51,0,66,83,69,71,95,66,89,84,69,83,0,83,83,69,71,0,73,83,69,71,0,66,73,84,95,66,65,78,75,0,68,83,69,71,0,79,83,69,71,0,67,83,69,71,0,71,83,73,78,73,84,0,71,83,70,73,78,65,76,0,72,79,77,69,0,88,83,69,71,0,88,73,83,69,71,0,68,105,114,101,99,116,32,73,110,116,101,114,110,97,108,32,82,65,77,58,10,0,78,97,109,101,0,83,116,97,114,116,0,69,110,100,0,83,105,122,101,0,77,97,120,0,48,120,37,48,50,108,120,0,37,53,108,117,0,73,110,116,101,114,110,97,108,32,109,101,109,111,114,121,32,111,118,101,114,108,97,112,32,115,116,97,114,116,105,110,103,32,97,116,32,48,120,37,48,50,120,46,10,0,37,115,37,115,0,42,42,42,32,69,82,82,79,82,58,32,0,10,63,65,83,108,105,110,107,45,69,114,114,111,114,45,0,115,0,73,110,115,117,102,102,105,99,105,101,110,116,32,98,105,116,32,97,100,100,114,101,115,115,97,98,108,101,32,109,101,109,111,114,121,46,32,32,37,100,32,98,121,116,101,37,115,32,115,104,111,114,116,46,10,0,37,108,100,32,98,121,116,101,115,32,105,110,32,100,97,116,97,32,109,101,109,111,114,121,32,119,97,115,116,101,100,46,32,32,83,68,67,67,32,108,105,110,107,32,99,111,117,108,100,32,117,115,101,58,32,45,45,100,97,116,97,45,108,111,99,32,48,120,37,48,50,108,120,10,0,42,42,42,32,87,65,82,78,73,78,71,58,32,0,10,63,65,83,108,105,110,107,45,87,97,114,110,105,110,103,45,0,73,110,115,117,102,102,105,99,105,101,110,116,32,115,112,97,99,101,32,105,110,32,100,97,116,97,32,109,101,109,111,114,121,46,32,32,32,37,100,32,98,121,116,101,37,115,32,115,104,111,114,116,46,10,0,49,54,32,98,105,116,32,109,111,100,101,32,105,110,105,116,105,97,108,32,115,0,83,0,10,37,115,116,97,99,107,32,115,116,97,114,116,115,32,97,116,58,32,48,120,37,48,50,108,120,32,40,115,112,32,115,101,116,32,116,111,32,48,120,37,48,50,108,120,41,0,46,10,0,83,116,97,99,107,32,115,101,116,32,116,111,32,117,110,97,118,97,105,108,97,98,108,101,32,109,101,109,111,114,121,46,10,0,83,116,97,99,107,32,111,118,101,114,108,97,112,115,32,97,114,101,97,32,0,39,37,115,39,10,0,32,119,105,116,104,32,37,100,32,98,121,116,101,115,32,97,118,97,105,108,97,98,108,101,10,0,79,110,108,121,32,37,100,32,98,121,116,101,37,115,32,97,118,97,105,108,97,98,108,101,32,102,111,114,32,115,116,97,99,107,46,10,0,10,79,116,104,101,114,32,109,101,109,111,114,121,58,10,0,48,120,37,48,52,108,120,0,73,110,115,117,102,102,105,99,105,101,110,116,32,73,78,68,73,82,69,67,84,32,82,65,77,32,109,101,109,111,114,121,46,10,0,73,110,115,117,102,102,105,99,105,101,110,116,32,69,88,84,69,82,78,65,76,32,82,65,77,32,109,101,109,111,114,121,46,10,0,73,110,115,117,102,102,105,99,105,101,110,116,32,82,79,77,47,69,80,82,79,77,47,70,76,65,83,72,32,109,101,109,111,114,121,46,10,0,48,0,108,107,109,101,109,46,99,0,115,117,109,109,97,114,121,0,32,32,32,37,45,49,54,46,49,54,115,32,37,45,56,46,56,115,32,37,45,56,46,56,115,32,37,45,56,46,56,115,32,37,45,56,46,56,115,10,0,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,0,80,83,69,71,0,88,83,84,75,0,73,110,116,101,114,110,97,108,32,82,65,77,32,108,97,121,111,117,116,58,10,0,32,32,32,32,32,32,48,32,49,32,50,32,51,32,52,32,53,32,54,32,55,32,56,32,57,32,65,32,66,32,67,32,68,32,69,32,70,0,10,48,120,37,48,50,120,58,124,0,37,99,124,0,10,48,45,51,58,82,101,103,32,66,97,110,107,115,44,32,84,58,66,105,116,32,114,101,103,115,44,32,97,45,122,58,68,97,116,97,44,32,66,58,66,105,116,115,44,32,81,58,79,118,101,114,108,97,121,44,32,73,58,105,68,97,116,97,44,32,83,58,83,116,97,99,107,44,32,65,58,65,98,115,111,108,117,116,101,10,0,10,69,82,82,79,82,58,32,67,111,117,108,100,110,39,116,32,103,101,116,32,37,100,32,98,121,116,101,37,115,32,97,108,108,111,99,97,116,101,100,32,105,110,32,105,110,116,101,114,110,97,108,32,82,65,77,32,102,111,114,32,97,114,101,97,32,37,115,46,0,49,54,32,98,105,116,32,109,111,100,101,32,105,110,105,116,105,97,108,32,115,116,97,99,107,0,83,116,97,99,107,0,10,37,115,32,115,116,97,114,116,115,32,97,116,58,32,48,120,37,48,50,108,120,32,40,115,112,32,115,101,116,32,116,111,32,48,120,37,48,50,108,120,41,32,119,105,116,104,32,37,108,100,32,98,121,116,101,115,32,97,118,97,105,108,97,98,108,101,46,0,10,78,111,32,99,108,117,101,32,97,116,32,119,104,101,114,101,32,116,104,101,32,115,116,97,99,107,32,98,101,103,105,110,115,32,97,110,100,32,101,110,100,115,33,0,10,84,104,101,32,108,97,114,103,101,115,116,32,115,112,97,114,101,32,105,110,116,101,114,110,97,108,32,82,65,77,32,115,112,97,99,101,32,115,116,97,114,116,115,32,97,116,32,48,120,37,120,32,119,105,116,104,32,37,100,32,98,121,116,101,37,115,32,97,118,97,105,108,97,98,108,101,46,0,10,78,111,32,115,112,97,114,101,32,105,110,116,101,114,110,97,108,32,82,65,77,32,115,112,97,99,101,32,108,101,102,116,46,0,10,88,115,116,97,99,107,32,115,116,97,114,116,115,32,97,116,58,32,48,120,37,48,52,108,120,32,119,105,116,104,32,37,108,100,32,98,121,116,101,115,32,97,118,97,105,108,97,98,108,101,46,0,10,10,79,116,104,101,114,32,109,101,109,111,114,121,58,10,0,115,117,109,109,97,114,121,50,0,110,111,105,0,37,115,10,0,59,33,70,73,76,69,0,37,91,94,46,93,37,99,37,91,94,46,93,37,99,37,115,0,46,70,78,0,46,83,70,78,0,46,69,70,78,0,37,91,94,46,93,37,99,37,117,0,95,37,117,0,68,69,70,32,37,115,32,0,37,88,58,48,120,37,88,10,0,48,120,37,88,10,0,76,73,78,69,32,37,117,32,0,68,69,70,83,32,37,115,32,0,69,78,68,70,32,0,69,78,68,70,10,0,83,70,85,78,67,32,37,115,32,0,83,70,85,78,67,32,37,115,10,0,70,85,78,67,32,37,115,32,0,70,85,78,67,32,37,115,10,0,70,73,76,69,32,37,115,32,0,70,73,76,69,32,37,115,10,0,58,48,52,48,48,48,48,48,53,37,48,56,88,37,48,50,88,10,0,58,48,48,48,48,48,48,48,49,70,70,10,0,58,48,50,48,48,48,48,48,52,37,48,52,88,37,48,50,88,10,0,58,37,48,50,88,37,48,52,88,48,48,0,33,70,73,76,69,32,0,60,47,82,69,76,62,0,102,117,110,99,32,33,61,32,78,85,76,76,0,108,107,114,101,108,46,99,0,101,110,117,109,95,115,121,109,98,111,108,115,0,83,32,37,115,32,37,99,0,73,110,116,101,114,110,97,108,32,86,101,114,115,105,111,110,32,69,114,114,111,114,0,32,32,32,32,32,32,32,37,48,52,88,10,0,32,32,32,32,32,37,48,54,88,10,0,32,32,32,37,48,56,88,10,0,32,32,32,32,32,37,48,54,111,10,0,32,32,32,37,48,56,111,10,0,37,48,49,49,111,10,0,32,32,32,32,32,32,37,48,53,117,10,0,32,32,32,37,48,56,117,10,0,32,37,48,49,48,117,10,0,76,75,82,76,79,67,51,32,69,114,114,111,114,32,76,105,115,116,0,85,110,115,105,103,110,101,100,32,66,121,116,101,32,101,114,114,111,114,0,66,121,116,101,32,80,67,82,32,114,101,108,111,99,97,116,105,111,110,32,101,114,114,111,114,0,80,97,103,101,48,32,114,101,108,111,99,97,116,105,111,110,32,101,114,114,111,114,0,80,97,103,101,32,77,111,100,101,32,114,101,108,111,99,97,116,105,111,110,32,101,114,114,111,114,0,50,75,32,80,97,103,101,32,114,101,108,111,99,97,116,105,111,110,32,101,114,114,111,114,0,53,49,50,75,32,80,97,103,101,32,114,101,108,111,99,97,116,105,111,110,32,101,114,114,111,114,0,66,105,116,45,97,100,100,114,101,115,115,97,98,108,101,32,114,101,108,111,99,97,116,105,111,110,32,101,114,114,111,114,0,60,109,105,115,115,105,110,103,62,0,85,110,100,101,102,105,110,101,100,32,82,101,108,111,99,97,116,105,111,110,32,79,112,101,114,97,116,105,111,110,10,0,80,32,105,110,112,117,116,32,101,114,114,111,114,10,0,80,32,97,114,101,97,32,101,114,114,111,114,10,0,80,32,115,121,109,98,111,108,32,101,114,114,111,114,10,0,80,97,103,101,32,68,101,102,105,110,105,116,105,111,110,32,66,111,117,110,100,97,114,121,32,69,114,114,111,114,0,10,63,65,83,108,105,110,107,45,87,97,114,110,105,110,103,45,37,115,10,0,32,32,32,32,32,32,32,32,32,102,105,108,101,32,32,32,32,32,32,32,32,32,32,32,32,32,32,109,111,100,117,108,101,32,32,32,32,32,32,32,32,32,32,32,32,112,103,97,114,101,97,32,32,32,32,32,32,32,32,32,32,32,32,112,103,111,102,102,115,101,116,10,0,32,32,80,103,68,101,102,32,32,37,45,49,52,46,49,52,115,32,32,32,32,37,45,49,52,46,49,52,115,32,32,32,32,37,45,49,52,46,49,52,115,32,32,32,32,0,82,32,105,110,112,117,116,32,101,114,114,111,114,10,0,82,32,97,114,101,97,32,101,114,114,111,114,10,0,82,32,115,121,109,98,111,108,32,101,114,114,111,114,10,0,10,63,65,83,108,105,110,107,45,87,97,114,110,105,110,103,45,37,115,0,32,102,111,114,32,115,121,109,98,111,108,32,32,37,115,10,0,10,0,32,32,32,32,32,32,32,32,32,102,105,108,101,32,32,32,32,32,32,32,32,32,32,32,32,32,32,109,111,100,117,108,101,32,32,32,32,32,32,32,32,32,32,32,32,97,114,101,97,32,32,32,32,32,32,32,32,32,32,32,32,32,32,111,102,102,115,101,116,10,0,32,32,82,101,102,98,121,32,32,37,45,49,52,46,49,52,115,32,32,32,32,37,45,49,52,46,49,52,115,32,32,32,32,37,45,49,52,46,49,52,115,32,32,32,32,0,32,32,68,101,102,105,110,32,32,37,45,49,52,46,49,52,115,32,32,32,32,37,45,49,52,46,49,52,115,32,32,32,32,37,45,49,52,46,49,52,115,32,32,32,32,0,83,57,48,51,48,48,48,48,70,67,10,0,83,49,37,48,50,88,37,48,52,88,0,37,48,50,88,0,37,48,50,88,10,0,114,98,0,63,65,83,108,105,110,107,45,69,114,114,111,114,45,66,97,100,32,111,102,102,115,101,116,32,105,110,32,108,105,98,114,97,114,121,32,102,105,108,101,32,37,115,40,37,115,41,10,0,63,65,83,108,105,110,107,45,69,114,114,111,114,45,79,112,101,110,105,110,103,32,108,105,98,114,97,114,121,32,39,37,115,39,10,0,60,70,73,76,69,62,0,60,82,69,76,62,0,60,73,78,68,69,88,62,0,60,77,79,68,85,76,69,62,0,37,115,32,37,108,100,0,37,115,37,115,37,99,37,115,0,114,101,108,0,60,47,73,78,68,69,88,62,0,60,47,77,79,68,85,76,69,62,0,60,83,68,67,67,76,73,66,62,0,78,111,32,104,101,97,100,101,114,32,100,101,102,105,110,101,100,10,0,78,111,110,32,122,101,114,111,32,83,95,82,69,70,10,0,77,117,108,116,105,112,108,101,32,100,101,102,105,110,105,116,105,111,110,32,111,102,32,37,115,10,0,73,110,118,97,108,105,100,32,115,121,109,98,111,108,32,116,121,112,101,32,37,99,32,102,111,114,32,37,115,10,0,72,101,97,100,101,114,32,115,121,109,98,111,108,32,108,105,115,116,32,111,118,101,114,102,108,111,119,10,0,79,117,116,32,111,102,32,115,112,97,99,101,33,10,0,10,63,65,83,108,105,110,107,45,87,97,114,110,105,110,103,45,85,110,100,101,102,105,110,101,100,32,71,108,111,98,97,108,32,39,37,115,39,32,0,114,101,102,101,114,101,110,99,101,100,32,98,121,32,109,111,100,117,108,101,32,39,37,115,39,10,0,115,100,108,100,0,83,68,76,68,95,68,73,65,71,0,115,100,108,100,32,112,97,116,104,58,32,37,115,10,0,105,115,32,115,100,108,100,58,32,37,100,10,0,56,48,53,49,0,115,100,108,100,32,116,97,114,103,101,116,58,32,37,115,10,0,103,98,0,122,56,48,0,122,49,56,48,0,54,56,48,56,0,115,116,109,56,0,115,100,108,100,95,105,110,105,116,32,110,111,116,32,99,97,108,108,101,100,33,10,0,99,100,98,0,97,100,98,0,76,58,37,115,58,37,88,10,0,10,63,65,83,108,105,110,107,45,87,97,114,110,105,110,103,45,83,105,122,101,32,108,105,109,105,116,32,101,120,99,101,101,100,101,100,32,105,110,32,98,97,110,107,32,37,115,10,0,46,95,95,46,69,78,68,46,0,105,104,120,0,115,49,57,0,98,105,110,0,98,105,51,0,98,105,52,0,101,108,102,0,76,79,65,68,32,37,115,10,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,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,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,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,12,0,0,0,0,0,0,0,0,0,0,0,12],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+103585);allocate([12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,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,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,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,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,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,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,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,0,114,119,97,0,105,110,102,105,110,105,116,121,0,110,97,110,0,46,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+113825);var tempDoublePtr=STATICTOP;STATICTOP+=16;Module["_i64Subtract"]=_i64Subtract;function ___assert_fail(condition,filename,line,func){ABORT=true;throw"Assertion failed: "+Pointer_stringify(condition)+", at: "+[filename?Pointer_stringify(filename):"unknown filename",line,func?Pointer_stringify(func):"unknown function"]+" at "+stackTrace()}Module["_memset"]=_memset;function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_pthread_cleanup_push.level=__ATEXIT__.length}Module["_bitshift64Lshr"]=_bitshift64Lshr;var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}Module["_bitshift64Shl"]=_bitshift64Shl;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 _abort(){Module["abort"]()}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 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"};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),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"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;inode.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.lengthnewSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{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])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;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:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"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},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdirTree:(function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){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){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len}),doAccess:(function(path,amode){if(amode&~7){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&&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>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>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 ___syscall195(which,varargs){SYSCALLS.varargs=varargs;try{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 ___syscall197(which,varargs){SYSCALLS.varargs=varargs;try{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 ___syscall85(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get(),bufsize=SYSCALLS.get();return SYSCALLS.doReadlink(path,buf,bufsize)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();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 ___lock(){}function ___unlock(){}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_i64Add"]=_i64Add;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_STATIC);Module["_llvm_cttz_i32"]=_llvm_cttz_i32;Module["___udivmoddi4"]=___udivmoddi4;Module["___udivdi3"]=___udivdi3;Module["___muldsi3"]=___muldsi3;Module["___muldi3"]=___muldi3;Module["_sbrk"]=_sbrk;Module["___uremdi3"]=___uremdi3;function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}Module["_pthread_self"]=_pthread_self;function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{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;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{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 ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{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};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};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{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;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;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}___buildEnvironment(ENV);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()}DYNAMICTOP_PTR=allocate(1,"i32",ALLOC_STATIC);STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=Runtime.alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){try{return Module["dynCall_iiiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}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,"enlargeMemory":enlargeMemory,"getTotalMemory":getTotalMemory,"abortOnCannotGrowMemory":abortOnCannotGrowMemory,"invoke_ii":invoke_ii,"invoke_iiii":invoke_iiii,"invoke_iii":invoke_iii,"invoke_iiiii":invoke_iiiii,"invoke_vi":invoke_vi,"_pthread_cleanup_pop":_pthread_cleanup_pop,"___syscall85":___syscall85,"___syscall6":___syscall6,"___syscall5":___syscall5,"___assert_fail":___assert_fail,"___buildEnvironment":___buildEnvironment,"___setErrNo":___setErrNo,"___syscall197":___syscall197,"___syscall195":___syscall195,"__exit":__exit,"_emscripten_memcpy_big":_emscripten_memcpy_big,"___syscall221":___syscall221,"_getenv":_getenv,"___syscall54":___syscall54,"___unlock":___unlock,"___lock":___lock,"_abort":_abort,"_pthread_cleanup_push":_pthread_cleanup_push,"___syscall140":___syscall140,"_exit":_exit,"___syscall145":___syscall145,"___syscall146":___syscall146,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"DYNAMICTOP_PTR":DYNAMICTOP_PTR,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM +var asm=(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.DYNAMICTOP_PTR|0;var l=env.tempDoublePtr|0;var m=env.ABORT|0;var n=env.cttz_i8|0;var o=0;var p=0;var q=0;var r=0;var s=global.NaN,t=global.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=global.Math.floor;var F=global.Math.abs;var G=global.Math.sqrt;var H=global.Math.pow;var I=global.Math.cos;var J=global.Math.sin;var K=global.Math.tan;var L=global.Math.acos;var M=global.Math.asin;var N=global.Math.atan;var O=global.Math.atan2;var P=global.Math.exp;var Q=global.Math.log;var R=global.Math.ceil;var S=global.Math.imul;var T=global.Math.min;var U=global.Math.max;var V=global.Math.clz32;var W=env.abort;var X=env.assert;var Y=env.enlargeMemory;var Z=env.getTotalMemory;var _=env.abortOnCannotGrowMemory;var $=env.invoke_ii;var aa=env.invoke_iiii;var ba=env.invoke_iii;var ca=env.invoke_iiiii;var da=env.invoke_vi;var ea=env._pthread_cleanup_pop;var fa=env.___syscall85;var ga=env.___syscall6;var ha=env.___syscall5;var ia=env.___assert_fail;var ja=env.___buildEnvironment;var ka=env.___setErrNo;var la=env.___syscall197;var ma=env.___syscall195;var na=env.__exit;var oa=env._emscripten_memcpy_big;var pa=env.___syscall221;var qa=env._getenv;var ra=env.___syscall54;var sa=env.___unlock;var ta=env.___lock;var ua=env._abort;var va=env._pthread_cleanup_push;var wa=env.___syscall140;var xa=env._exit;var ya=env.___syscall145;var za=env.___syscall146;var Aa=0.0; +// EMSCRIPTEN_START_FUNCS +function Ga(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function Ha(){return i|0}function Ia(a){a=a|0;i=a}function Ja(a,b){a=a|0;b=b|0;i=a;j=b}function Ka(a,b){a=a|0;b=b|0;if(!o){o=a;p=b}}function La(a){a=a|0;D=a}function Ma(){return D|0}function Na(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;f=i;i=i+32|0;g=f+20|0;h=f+16|0;j=f+12|0;k=f+8|0;l=f+4|0;m=f;n=f+24|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=0;if(a[2747748]|0){a[2747748]=0;c[g>>2]=0;o=c[g>>2]|0;i=f;return o|0}c[m>>2]=c[h>>2];c[j>>2]=(c[j>>2]|0)+-1;while(1){if((c[j>>2]|0)<=0)break;a[n>>0]=c[l>>2];e=lg(c[k>>2]|0)|0;c[l>>2]=e;if((e|0)==10|(c[l>>2]|0)==-1)break;if((a[n>>0]|0)==13?(e=a[n>>0]|0,d=c[h>>2]|0,c[h>>2]=d+1,a[d>>0]=e,e=(c[j>>2]|0)+-1|0,c[j>>2]=e,(e|0)<=0):0)break;if((c[l>>2]|0)==13)continue;e=c[l>>2]&255;d=c[h>>2]|0;c[h>>2]=d+1;a[d>>0]=e;c[j>>2]=(c[j>>2]|0)+-1}a[c[h>>2]>>0]=0;while(1){if(!((c[l>>2]|0)!=10?(c[l>>2]|0)!=-1:0))break;c[l>>2]=lg(c[k>>2]|0)|0}do if((c[l>>2]|0)==-1){if((c[h>>2]|0)!=(c[m>>2]|0)){a[2747748]=1;break}c[g>>2]=0;o=c[g>>2]|0;i=f;return o|0}while(0);c[g>>2]=c[m>>2];o=c[g>>2]|0;i=f;return o|0}function Oa(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+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=b;c[g>>2]=d;c[h>>2]=kf(c[f>>2]|0)|0;while(1){if((c[h>>2]|0)<=0)break;if((a[(c[f>>2]|0)+((c[h>>2]|0)-1)>>0]|0)==47)break;if((a[(c[f>>2]|0)+((c[h>>2]|0)-1)>>0]|0)==92)break;c[h>>2]=(c[h>>2]|0)+-1}c[j>>2]=0;while(1){if(!(a[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0)){k=10;break}if((a[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0)==46){k=10;break}a[(c[g>>2]|0)+(c[j>>2]|0)>>0]=a[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0;c[h>>2]=(c[h>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+1}if((k|0)==10){a[(c[g>>2]|0)+(c[j>>2]|0)>>0]=0;i=e;return c[h>>2]|0}return 0}function Pa(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[e>>2]=b;if((c[686622]|0)==0|(c[686696]|0)!=0){i=d;return}c[29034]=sg(c[29034]|0,(c[29033]|0)+1<<13)|0;c[g>>2]=Oa(c[e>>2]|0,(c[29034]|0)+(c[29033]<<13)+4096|0)|0;lf((c[29034]|0)+(c[29033]<<13)|0,c[e>>2]|0)|0;if((a[(c[29034]|0)+(c[29033]<<13)+(c[g>>2]|0)>>0]|0)==46)a[(c[29034]|0)+(c[29033]<<13)+(c[g>>2]|0)>>0]=0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[29033]|0))break;if(!(Ie((c[29034]|0)+(c[29033]<<13)|0,(c[29034]|0)+(c[f>>2]<<13)|0)|0))break;c[f>>2]=(c[f>>2]|0)+1}if((c[f>>2]|0)!=(c[29033]|0)){i=d;return}c[29033]=(c[29033]|0)+1;i=d;return}function Qa(){if(c[29034]|0){qg(c[29034]|0);c[29033]=0;c[29034]=0}if(c[29036]|0){qg(c[29036]|0);c[29035]=0;c[29036]=0}if(c[29038]|0){qg(c[29038]|0);c[29037]=0;c[29038]=0}if(c[29040]|0){qg(c[29040]|0);c[29039]=0;c[29040]=0}if(!(c[29041]|0))return;qg(c[29041]|0);c[29041]=0;return}function Ra(b){b=b|0;var e=0,f=0;e=i;i=i+16|0;f=e;a[f>>0]=b;c[29042]=(c[29042]|0)+(d[f>>0]|0);Rf(f,1,1,c[29043]|0)|0;i=e;return}function Sa(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Ra(((c[d>>2]|0)%256|0)&255);Ra(((c[d>>2]|0)/256|0)&255);i=b;return}function Ta(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;Ra((kf(c[e>>2]|0)|0)&255);c[f>>2]=0;while(1){if(!(a[(c[e>>2]|0)+(c[f>>2]|0)>>0]|0))break;b=a[(c[e>>2]|0)+(c[f>>2]|0)>>0]|0;if(c[686628]|0)Ra((we(b<<24>>24)|0)&255);else Ra(b);c[f>>2]=(c[f>>2]|0)+1}i=d;return}function Ua(){Ra(256-((c[29042]|0)%256|0)&255);c[29042]=0;return}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,m=0,n=0,o=0;e=i;i=i+1104|0;f=e;g=e+56|0;h=e+52|0;j=e+1088|0;k=e+48|0;l=e+64|0;m=e+32|0;n=e+28|0;c[g>>2]=b;c[h>>2]=d;d=c[h>>2]|0;c[f>>2]=l;c[f+4>>2]=j;c[f+8>>2]=l+4;c[f+12>>2]=j;c[f+16>>2]=l+8;c[f+20>>2]=j;c[f+24>>2]=l+12;c[n>>2]=_f(d,104437,f)|0;c[n>>2]=((c[n>>2]|0)+1|0)/2|0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[n>>2]|0))break;if((a[l+(c[k>>2]<<2)>>0]|0)==114?He(a[l+(c[k>>2]<<2)+1>>0]|0)|0:0)c[m+(c[k>>2]<<2)>>2]=(a[l+(c[k>>2]<<2)+1>>0]|0)-48;c[k>>2]=(c[k>>2]|0)+1}c[k>>2]=1;while(1){if((c[k>>2]|0)>=(c[n>>2]|0))break;if((c[m+(c[k>>2]<<2)>>2]|0)!=((c[m+((c[k>>2]|0)-1<<2)>>2]|0)+1|0)){o=14;break}c[k>>2]=(c[k>>2]|0)+1}if((o|0)==14){i=e;return}if(0>(c[(c[g>>2]|0)+260>>2]|0)){i=e;return}if((c[(c[g>>2]|0)+260>>2]|0)>=(c[29037]|0)){i=e;return}c[(c[g>>2]|0)+268>>2]=(c[m>>2]|0)+(c[(c[29038]|0)+((c[(c[g>>2]|0)+260>>2]|0)*272|0)+268>>2]<<3);i=e;return}function Wa(){var a=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;a=i;i=i+4640|0;d=a;e=a+16|0;f=a+12|0;g=a+8|0;h=a+4|0;j=a+4376|0;k=a+4120|0;l=a+24|0;lf(l,c[29034]|0)|0;xf(l,104474)|0;c[29043]=Af(l,109991)|0;if(!(c[29043]|0)){c[d>>2]=l;Zf(104412,d)|0;i=a;return}Oa(c[29034]|0,j)|0;c[29042]=0;Ra(2);Sa((kf(j)|0)+1+3|0);Ta(j);Ra(-1);Ra(0);Ua();c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[29033]|0))break;Oa((c[29034]|0)+(c[f>>2]<<13)|0,k)|0;Ra(16);Sa((kf(k)|0)+1+2|0);Ra(0);Ta(k);Ua();c[h>>2]=2;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[29035]|0))break;if((((c[(c[29036]|0)+((c[g>>2]|0)*276|0)+256>>2]|0)==(c[f>>2]|0)?(c[(c[29036]|0)+((c[g>>2]|0)*276|0)+268>>2]|0)!=-1:0)?(c[(c[29036]|0)+((c[g>>2]|0)*276|0)+260>>2]|0)==-1:0)?(c[(c[29036]|0)+((c[g>>2]|0)*276|0)+264>>2]|0)==-1:0){d=(kf((c[29036]|0)+((c[g>>2]|0)*276|0)|0)|0)+1+5|0;c[h>>2]=(c[h>>2]|0)+d}c[g>>2]=(c[g>>2]|0)+1}if((c[h>>2]|0)>2){Ra(18);Sa(c[h>>2]|0);Ra(1);c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[29035]|0))break;if((((c[(c[29036]|0)+((c[g>>2]|0)*276|0)+256>>2]|0)==(c[f>>2]|0)?(c[(c[29036]|0)+((c[g>>2]|0)*276|0)+268>>2]|0)!=-1:0)?(c[(c[29036]|0)+((c[g>>2]|0)*276|0)+260>>2]|0)==-1:0)?(c[(c[29036]|0)+((c[g>>2]|0)*276|0)+264>>2]|0)==-1:0){Ra(0);Ra(c[(c[29036]|0)+((c[g>>2]|0)*276|0)+272>>2]&255);Sa(c[(c[29036]|0)+((c[g>>2]|0)*276|0)+268>>2]|0);Ra(0);Ta((c[29036]|0)+((c[g>>2]|0)*276|0)|0)}c[g>>2]=(c[g>>2]|0)+1}Ua()}c[h>>2]=2;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[29035]|0))break;if((((c[(c[29036]|0)+((c[g>>2]|0)*276|0)+256>>2]|0)==(c[f>>2]|0)?(c[(c[29036]|0)+((c[g>>2]|0)*276|0)+268>>2]|0)!=-1:0)?(c[(c[29036]|0)+((c[g>>2]|0)*276|0)+260>>2]|0)==-1:0)?(c[(c[29036]|0)+((c[g>>2]|0)*276|0)+264>>2]|0)==(c[f>>2]|0):0){d=(kf((c[29036]|0)+((c[g>>2]|0)*276|0)|0)|0)+1+5|0;c[h>>2]=(c[h>>2]|0)+d}c[g>>2]=(c[g>>2]|0)+1}if((c[h>>2]|0)>2){Ra(18);Sa(c[h>>2]|0);Ra(0);c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[29035]|0))break;if((((c[(c[29036]|0)+((c[g>>2]|0)*276|0)+256>>2]|0)==(c[f>>2]|0)?(c[(c[29036]|0)+((c[g>>2]|0)*276|0)+268>>2]|0)!=-1:0)?(c[(c[29036]|0)+((c[g>>2]|0)*276|0)+260>>2]|0)==-1:0)?(c[(c[29036]|0)+((c[g>>2]|0)*276|0)+264>>2]|0)==(c[f>>2]|0):0){Ra(0);Ra(c[(c[29036]|0)+((c[g>>2]|0)*276|0)+272>>2]&255);Sa(c[(c[29036]|0)+((c[g>>2]|0)*276|0)+268>>2]|0);Ra(0);Ta((c[29036]|0)+((c[g>>2]|0)*276|0)|0)}c[g>>2]=(c[g>>2]|0)+1}Ua()}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[29037]|0))break;if((c[(c[29038]|0)+((c[g>>2]|0)*272|0)+256>>2]|0)==(c[f>>2]|0)){Ra(16);Sa((kf((c[29038]|0)+((c[g>>2]|0)*272|0)|0)|0)+1+2|0);Ra(2);Ta((c[29038]|0)+((c[g>>2]|0)*272|0)|0);Ua();Ra(6);if((c[(c[29038]|0)+((c[g>>2]|0)*272|0)+264>>2]|0)==-1)c[(c[29038]|0)+((c[g>>2]|0)*272|0)+264>>2]=c[29044];c[h>>2]=(c[(c[29038]|0)+((c[g>>2]|0)*272|0)+264>>2]|0)-(c[(c[29038]|0)+((c[g>>2]|0)*272|0)+260>>2]|0)+1+4;Sa(c[h>>2]|0);Ra(0);Sa(c[(c[29038]|0)+((c[g>>2]|0)*272|0)+260>>2]|0);c[e>>2]=c[(c[29038]|0)+((c[g>>2]|0)*272|0)+260>>2];while(1){if((c[e>>2]|0)>(c[(c[29038]|0)+((c[g>>2]|0)*272|0)+264>>2]|0))break;if(!((c[e>>2]|0)<0|16777216<=(c[e>>2]|0))){Ra(b[(c[29041]|0)+(c[e>>2]<<1)>>1]&255);d=(c[29041]|0)+(c[e>>2]<<1)|0;b[d>>1]=(b[d>>1]|0)-512}c[e>>2]=(c[e>>2]|0)+1}Ua();c[h>>2]=2;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[29035]|0))break;if((c[(c[29036]|0)+((c[e>>2]|0)*276|0)+260>>2]|0)==(c[g>>2]|0)?(c[(c[29036]|0)+((c[e>>2]|0)*276|0)+268>>2]|0)!=-1:0){d=(kf((c[29036]|0)+((c[e>>2]|0)*276|0)|0)|0)+1+5|0;c[h>>2]=(c[h>>2]|0)+d}c[e>>2]=(c[e>>2]|0)+1}if((c[h>>2]|0)>2){Ra(18);Sa(c[h>>2]|0);Ra(0);c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[29035]|0))break;if((c[(c[29036]|0)+((c[e>>2]|0)*276|0)+260>>2]|0)==(c[g>>2]|0)?(c[(c[29036]|0)+((c[e>>2]|0)*276|0)+268>>2]|0)!=-1:0){Ra(0);Ra(c[(c[29036]|0)+((c[e>>2]|0)*276|0)+272>>2]&255);Sa(c[(c[29036]|0)+((c[e>>2]|0)*276|0)+268>>2]|0);Ra(0);Ta((c[29036]|0)+((c[e>>2]|0)*276|0)|0)}c[e>>2]=(c[e>>2]|0)+1}Ua()}c[h>>2]=2;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[29039]|0))break;if((c[(c[29040]|0)+(c[e>>2]<<4)+8>>2]|0)==(c[g>>2]|0))c[h>>2]=(c[h>>2]|0)+5;c[e>>2]=(c[e>>2]|0)+1}if((c[h>>2]|0)>2){Ra(18);Sa(c[h>>2]|0);Ra(3);c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[29039]|0))break;if((c[(c[29040]|0)+(c[e>>2]<<4)+8>>2]|0)==(c[g>>2]|0)){Ra(0);Sa(c[(c[29040]|0)+(c[e>>2]<<4)+4>>2]|0);Sa(c[(c[29040]|0)+(c[e>>2]<<4)>>2]|0)}c[e>>2]=(c[e>>2]|0)+1}Ua()}Ra(16);Sa((kf((c[29038]|0)+((c[g>>2]|0)*272|0)|0)|0)+1+2|0);Ra(5);Ta((c[29038]|0)+((c[g>>2]|0)*272|0)|0);Ua()}c[g>>2]=(c[g>>2]|0)+1}Ra(16);Sa((kf(k)|0)+1+2|0);Ra(3);Ta(k);Ua();c[f>>2]=(c[f>>2]|0)+1}lf(k,104479)|0;Ra(16);Sa((kf(k)|0)+1+2|0);Ra(0);Ta(k);Ua();c[e>>2]=c[2];a:while(1){if((c[e>>2]|0)>=(c[29044]|0))break;c[g>>2]=c[e>>2];while(1){if((c[g>>2]|0)>=(c[29044]|0))break;if((b[(c[29041]|0)+(c[g>>2]<<1)>>1]|0)<0)break;c[g>>2]=(c[g>>2]|0)+1}if((c[g>>2]|0)>(c[e>>2]|0)){Ra(6);Sa((c[g>>2]|0)-(c[e>>2]|0)+4|0);Ra(0);Sa(c[e>>2]|0);while(1){if((c[e>>2]|0)>=(c[g>>2]|0))break;Ra(b[(c[29041]|0)+(c[e>>2]<<1)>>1]&255);f=(c[29041]|0)+(c[e>>2]<<1)|0;b[f>>1]=(b[f>>1]|0)-512;c[e>>2]=(c[e>>2]|0)+1}Ua()}while(1){if((c[e>>2]|0)>=(c[29044]|0))continue a;if((b[(c[29041]|0)+(c[e>>2]<<1)>>1]|0)>=0)continue a;c[e>>2]=(c[e>>2]|0)+1}}Ra(16);Sa((kf(k)|0)+1+2|0);Ra(3);Ta(k);Ua();Ra(4);Sa((kf(j)|0)+1+5|0);Ta(j);Sa(0);Ra(15);Ra(0);Ua();Yf(c[29043]|0)|0;i=a;return}function Xa(){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,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;b=i;i=i+10432|0;d=b+328|0;e=b+296|0;f=b+256|0;g=b+224|0;h=b+192|0;j=b+136|0;k=b+104|0;l=b+96|0;m=b+56|0;n=b+24|0;o=b+16|0;p=b+8|0;q=b;r=b+404|0;s=b+400|0;t=b+396|0;u=b+392|0;v=b+388|0;w=b+6336|0;x=b+2240|0;y=b+2210|0;z=b+2208|0;A=b+1952|0;B=b+1696|0;C=b+1440|0;D=b+1184|0;E=b+928|0;F=b+672|0;G=b+664|0;H=b+384|0;I=b+380|0;J=b+376|0;K=b+372|0;L=b+368|0;M=b+408|0;N=b+364|0;O=b+360|0;P=b+356|0;Q=y;R=104666;S=Q+30|0;do{a[Q>>0]=a[R>>0]|0;Q=Q+1|0;R=R+1|0}while((Q|0)<(S|0));if(!(c[29033]|0)){i=b;return}if(c[686610]|0){Yf(c[686610]|0)|0;c[686610]=0}lf(x,c[29034]|0)|0;xf(x,104496)|0;c[v>>2]=Af(x,109987)|0;if(!(c[v>>2]|0)){c[q>>2]=x;Zf(104501,q)|0;Gc(1)}c[u>>2]=0;a:while(1){if(!((ig(c[v>>2]|0)|0)!=0^1))break;do if(!(Xf(w,4095,c[v>>2]|0)|0)){if(Ef(c[v>>2]|0)|0){jg(104526);Gc(1);break}if(!(ig(c[v>>2]|0)|0)){q=c[25955]|0;c[p>>2]=x;Sf(q,104542,p)|0;Gc(1)}}while(0);if(ig(c[v>>2]|0)|0)continue;switch(a[w>>0]|0){case 77:{c[o>>2]=C;_f(w+2|0,107459,o)|0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[29033]|0))break;if(!(Ie((c[29034]|0)+(c[s>>2]<<13)+4096|0,C)|0))break;c[s>>2]=(c[s>>2]|0)+1}if((c[s>>2]|0)>=(c[29033]|0))continue a;c[u>>2]=c[s>>2];continue a;break}case 83:{c[n>>2]=B;c[n+4>>2]=z;c[n+8>>2]=C;c[n+12>>2]=z;c[n+16>>2]=D;c[n+20>>2]=z;c[n+24>>2]=E;_f(w,y,n)|0;c[m>>2]=F;c[m+4>>2]=z;c[m+8>>2]=z;c[m+12>>2]=G;c[m+16>>2]=z;c[m+20>>2]=H;c[m+24>>2]=z;c[m+28>>2]=I;c[m+32>>2]=z;c[m+36>>2]=M;_f(E,104581,m)|0;c[r>>2]=-1;c[t>>2]=-1;b:do switch(a[B+2>>0]|0){case 76:{c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[29037]|0))break b;c[P>>2]=kf((c[29034]|0)+(c[(c[29038]|0)+((c[s>>2]|0)*272|0)+256>>2]<<13)+4096|0)|0;if(((Ke(B+3|0,(c[29034]|0)+(c[(c[29038]|0)+((c[s>>2]|0)*272|0)+256>>2]<<13)+4096|0,c[P>>2]|0)|0)==0?(a[B+((c[P>>2]|0)+3)>>0]|0)==46:0)?(Ie(B+((c[P>>2]|0)+4)|0,(c[29038]|0)+((c[s>>2]|0)*272|0)|0)|0)==0:0)break;c[s>>2]=(c[s>>2]|0)+1}c[t>>2]=c[s>>2];break}case 70:{c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[29033]|0))break b;q=(Ie(B+3|0,(c[29034]|0)+(c[s>>2]<<13)+4096|0)|0)!=0;T=c[s>>2]|0;if(!q)break;c[s>>2]=T+1}c[r>>2]=T;break}default:{}}while(0);c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[29035]|0))break;if(((Ie(C,(c[29036]|0)+((c[s>>2]|0)*276|0)|0)|0)==0?(c[(c[29036]|0)+((c[s>>2]|0)*276|0)+260>>2]|0)==(c[t>>2]|0):0)?(c[(c[29036]|0)+((c[s>>2]|0)*276|0)+264>>2]|0)==(c[r>>2]|0):0)break;c[s>>2]=(c[s>>2]|0)+1}if((c[s>>2]|0)!=(c[29035]|0))continue a;c[29036]=sg(c[29036]|0,((c[29035]|0)+1|0)*276|0)|0;c[(c[29036]|0)+((c[29035]|0)*276|0)+256>>2]=c[u>>2];lf((c[29036]|0)+((c[29035]|0)*276|0)|0,C)|0;c[(c[29036]|0)+((c[29035]|0)*276|0)+260>>2]=c[t>>2];c[(c[29036]|0)+((c[29035]|0)*276|0)+264>>2]=c[r>>2];c[(c[29036]|0)+((c[29035]|0)*276|0)+268>>2]=-1;switch(a[G>>0]|0){case 90:case 68:case 67:{c[(c[29036]|0)+((c[29035]|0)*276|0)+272>>2]=64;break}case 80:case 65:case 70:{c[(c[29036]|0)+((c[29035]|0)*276|0)+272>>2]=65;break}case 73:case 69:{c[(c[29036]|0)+((c[29035]|0)*276|0)+272>>2]=66;break}case 82:{Va((c[29036]|0)+((c[29035]|0)*276|0)|0,M);c[(c[29036]|0)+((c[29035]|0)*276|0)+272>>2]=66;break}case 71:case 66:{c[(c[29036]|0)+((c[29035]|0)*276|0)+272>>2]=67;break}case 74:case 72:{c[(c[29036]|0)+((c[29035]|0)*276|0)+272>>2]=68;break}default:{q=a[G>>0]|0;c[l>>2]=(c[29036]|0)+((c[29035]|0)*276|0);c[l+4>>2]=q;Zf(104614,l)|0}}c[29035]=(c[29035]|0)+1;continue a;break}case 70:{c[k>>2]=B;c[k+4>>2]=z;c[k+8>>2]=C;c[k+12>>2]=z;c[k+16>>2]=D;c[k+20>>2]=z;c[k+24>>2]=E;_f(w,104666,k)|0;c[j>>2]=F;c[j+4>>2]=z;c[j+8>>2]=z;c[j+12>>2]=G;c[j+16>>2]=z;c[j+20>>2]=H;c[j+24>>2]=z;c[j+28>>2]=I;c[j+32>>2]=z;c[j+36>>2]=J;c[j+40>>2]=z;c[j+44>>2]=K;c[j+48>>2]=z;c[j+52>>2]=L;_f(E,104696,j)|0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[29037]|0))break;if((Ie(C,(c[29038]|0)+((c[s>>2]|0)*272|0)|0)|0)==0?(c[(c[29038]|0)+((c[s>>2]|0)*272|0)+256>>2]|0)==(c[u>>2]|0):0)break;c[s>>2]=(c[s>>2]|0)+1}if((c[s>>2]|0)==(c[29037]|0)){c[29038]=sg(c[29038]|0,((c[29037]|0)+1|0)*272|0)|0;lf((c[29038]|0)+((c[29037]|0)*272|0)|0,C)|0;c[(c[29038]|0)+((c[29037]|0)*272|0)+256>>2]=c[u>>2];c[(c[29038]|0)+((c[29037]|0)*272|0)+260>>2]=-1;c[(c[29038]|0)+((c[29037]|0)*272|0)+264>>2]=-1;c[(c[29038]|0)+((c[29037]|0)*272|0)+268>>2]=c[L>>2];c[29037]=(c[29037]|0)+1}c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[29035]|0))break;if(((Ie(C,(c[29036]|0)+((c[s>>2]|0)*276|0)|0)|0)==0?(c[(c[29036]|0)+((c[s>>2]|0)*276|0)+260>>2]|0)==-1:0)?(c[(c[29036]|0)+((c[s>>2]|0)*276|0)+256>>2]|0)==(c[u>>2]|0):0)break;c[s>>2]=(c[s>>2]|0)+1}if((c[s>>2]|0)!=(c[29035]|0))continue a;c[29036]=sg(c[29036]|0,((c[29035]|0)+1|0)*276|0)|0;c[(c[29036]|0)+((c[29035]|0)*276|0)+256>>2]=c[u>>2];lf((c[29036]|0)+((c[29035]|0)*276|0)|0,C)|0;c[(c[29036]|0)+((c[29035]|0)*276|0)+272>>2]=0;c[(c[29036]|0)+((c[29035]|0)*276|0)+260>>2]=-1;c[(c[29036]|0)+((c[29035]|0)*276|0)+268>>2]=-1;c[(c[29036]|0)+((c[29035]|0)*276|0)+264>>2]=(a[w+2>>0]|0)==70?c[u>>2]|0:-1;c[29035]=(c[29035]|0)+1;continue a;break}case 76:{switch(a[w+2>>0]|0){case 71:{c[h>>2]=B;c[h+4>>2]=z;c[h+8>>2]=C;c[h+12>>2]=z;c[h+16>>2]=D;c[h+20>>2]=z;c[h+24>>2]=N;_f(w,104741,h)|0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[29035]|0))continue a;q=(Ie((c[29036]|0)+((c[s>>2]|0)*276|0)|0,C)|0)!=0;U=c[s>>2]|0;if(!q)break;c[s>>2]=U+1}if((c[(c[29036]|0)+(U*276|0)+268>>2]|0)==-1?(c[(c[29036]|0)+((c[s>>2]|0)*276|0)+260>>2]|0)==-1:0)c[(c[29036]|0)+((c[s>>2]|0)*276|0)+268>>2]=c[N>>2];if(c[(c[29036]|0)+((c[s>>2]|0)*276|0)+272>>2]&15|0)continue a;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[29037]|0))continue a;q=(Ie((c[29036]|0)+((c[s>>2]|0)*276|0)|0,(c[29038]|0)+((c[t>>2]|0)*272|0)|0)|0)!=0;V=c[t>>2]|0;if(!q)break;c[t>>2]=V+1}if((c[(c[29038]|0)+(V*272|0)+260>>2]|0)!=-1)continue a;c[(c[29038]|0)+((c[t>>2]|0)*272|0)+260>>2]=c[N>>2];continue a;break}case 70:{c[g>>2]=B;c[g+4>>2]=z;c[g+8>>2]=C;c[g+12>>2]=z;c[g+16>>2]=D;c[g+20>>2]=z;c[g+24>>2]=N;_f(w+3|0,104741,g)|0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[29035]|0))break;if((Ie((c[29036]|0)+((c[s>>2]|0)*276|0)|0,C)|0)==0?(Ie((c[29034]|0)+(c[(c[29036]|0)+((c[s>>2]|0)*276|0)+256>>2]<<13)+4096|0,B)|0)==0:0){W=84;break}c[s>>2]=(c[s>>2]|0)+1}if((W|0)==84?(W=0,(c[(c[29036]|0)+((c[s>>2]|0)*276|0)+268>>2]|0)==-1):0)c[(c[29036]|0)+((c[s>>2]|0)*276|0)+268>>2]=c[N>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[29037]|0))continue a;if((Ie((c[29038]|0)+((c[s>>2]|0)*272|0)|0,C)|0)==0?(Ie((c[29034]|0)+(c[(c[29038]|0)+((c[s>>2]|0)*272|0)+256>>2]<<13)+4096|0,B)|0)==0:0)break;c[s>>2]=(c[s>>2]|0)+1}if((c[(c[29038]|0)+((c[s>>2]|0)*272|0)+260>>2]|0)!=-1)continue a;c[(c[29038]|0)+((c[s>>2]|0)*272|0)+260>>2]=c[N>>2];continue a;break}case 76:{c[f>>2]=A;c[f+4>>2]=z;c[f+8>>2]=B;c[f+12>>2]=z;c[f+16>>2]=C;c[f+20>>2]=z;c[f+24>>2]=D;c[f+28>>2]=z;c[f+32>>2]=N;_f(w+3|0,104771,f)|0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[29037]|0))continue a;if((Ie((c[29038]|0)+((c[t>>2]|0)*272|0)|0,B)|0)==0?(Ie((c[29034]|0)+(c[(c[29038]|0)+((c[t>>2]|0)*272|0)+256>>2]<<13)+4096|0,A)|0)==0:0){c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[29035]|0))break;if(((c[(c[29036]|0)+((c[s>>2]|0)*276|0)+256>>2]|0)==(c[(c[29038]|0)+((c[t>>2]|0)*272|0)+256>>2]|0)?(c[(c[29036]|0)+((c[s>>2]|0)*276|0)+260>>2]|0)==(c[t>>2]|0):0)?(Ie((c[29036]|0)+((c[s>>2]|0)*276|0)|0,C)|0)==0:0){W=103;break}c[s>>2]=(c[s>>2]|0)+1}if((W|0)==103?(W=0,(c[(c[29036]|0)+((c[s>>2]|0)*276|0)+268>>2]|0)==-1):0)c[(c[29036]|0)+((c[s>>2]|0)*276|0)+268>>2]=c[N>>2];if((c[s>>2]|0)<(c[29035]|0))continue a}c[t>>2]=(c[t>>2]|0)+1}break}case 67:{c[e>>2]=C;c[e+4>>2]=D;c[e+8>>2]=z;c[e+12>>2]=O;c[e+16>>2]=D;c[e+20>>2]=z;c[e+24>>2]=N;_f(w+4|0,104810,e)|0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[29033]|0))break;if(!(Ie((c[29034]|0)+(c[s>>2]<<13)+4096|0,C)|0))break;c[s>>2]=(c[s>>2]|0)+1}if((c[s>>2]|0)>=(c[29033]|0))continue a;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[29039]|0))break;if((c[(c[29040]|0)+(c[t>>2]<<4)>>2]|0)==(c[O>>2]|0)?(c[(c[29040]|0)+(c[t>>2]<<4)+12>>2]|0)==(c[s>>2]|0):0)break;c[t>>2]=(c[t>>2]|0)+1}if((c[t>>2]|0)!=(c[29039]|0))continue a;c[29040]=sg(c[29040]|0,(c[29039]|0)+1<<4)|0;c[(c[29040]|0)+(c[29039]<<4)>>2]=c[O>>2];c[(c[29040]|0)+(c[29039]<<4)+12>>2]=c[s>>2];c[(c[29040]|0)+(c[29039]<<4)+8>>2]=-1;c[(c[29040]|0)+(c[29039]<<4)+4>>2]=c[N>>2];c[29039]=(c[29039]|0)+1;continue a;break}case 88:{c[d>>2]=B;c[d+4>>2]=z;c[d+8>>2]=C;c[d+12>>2]=z;c[d+16>>2]=D;c[d+20>>2]=z;c[d+24>>2]=N;_f(w+3|0,104741,d)|0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[29037]|0))continue a;if(!(Ie((c[29038]|0)+((c[t>>2]|0)*272|0)|0,C)|0)){if((a[B>>0]|0)==71)break;if(!(Ie((c[29034]|0)+(c[(c[29038]|0)+((c[t>>2]|0)*272|0)+256>>2]<<13)+4096|0,B+1|0)|0))break}c[t>>2]=(c[t>>2]|0)+1}if((c[(c[29038]|0)+((c[t>>2]|0)*272|0)+264>>2]|0)!=-1)continue a;c[(c[29038]|0)+((c[t>>2]|0)*272|0)+264>>2]=c[N>>2];continue a;break}default:continue a}break}default:continue a}}c[t>>2]=0;while(1){if((c[t>>2]|0)>=((c[29037]|0)-1|0))break;if((c[(c[29038]|0)+((c[t>>2]|0)*272|0)+264>>2]|0)==-1)c[(c[29038]|0)+((c[t>>2]|0)*272|0)+264>>2]=(c[(c[29038]|0)+(((c[t>>2]|0)+1|0)*272|0)+260>>2]|0)-1;c[t>>2]=(c[t>>2]|0)+1}c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[29039]|0))break;c[t>>2]=0;while(1){X=c[s>>2]|0;if((c[t>>2]|0)>=(c[29037]|0))break;if(((c[(c[29040]|0)+(X<<4)+4>>2]|0)>=(c[(c[29038]|0)+((c[t>>2]|0)*272|0)+260>>2]|0)?(c[(c[29040]|0)+(c[s>>2]<<4)+4>>2]|0)<=(c[(c[29038]|0)+((c[t>>2]|0)*272|0)+264>>2]|0):0)?(c[(c[29040]|0)+(c[s>>2]<<4)+12>>2]|0)==(c[(c[29038]|0)+((c[t>>2]|0)*272|0)+256>>2]|0):0)c[(c[29040]|0)+(c[s>>2]<<4)+8>>2]=c[t>>2];c[t>>2]=(c[t>>2]|0)+1}c[s>>2]=X+1}Yf(c[v>>2]|0)|0;i=b;return}function Ya(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e;g=e+4|0;a[g>>0]=b;b=(He(d[g>>0]|0)|0)!=0;h=d[g>>0]|0;if(b){c[f>>2]=h-48;j=c[f>>2]|0;i=e;return j|0}else{c[f>>2]=(we(h)|0)-65+10;j=c[f>>2]|0;i=e;return j|0}return 0}function Za(b){b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d;c[e>>2]=b;b=(Ya(a[c[e>>2]>>0]|0)|0)<<4;f=b+(Ya(a[(c[e>>2]|0)+1>>0]|0)|0)&255;i=d;return f|0}function _a(b){b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d;c[e>>2]=b;b=(Ya(a[c[e>>2]>>0]|0)|0)<<12;f=b+((Ya(a[(c[e>>2]|0)+1>>0]|0)|0)<<8)|0;b=f+((Ya(a[(c[e>>2]|0)+2>>0]|0)|0)<<4)|0;f=b+(Ya(a[(c[e>>2]|0)+3>>0]|0)|0)&65535;i=d;return f|0}function $a(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;f=i;i=i+5184|0;g=f+24|0;h=f+16|0;j=f;k=f+56|0;l=f+52|0;m=f+1088|0;n=f+64|0;o=f+48|0;p=f+44|0;q=f+63|0;r=f+62|0;s=f+61|0;t=f+60|0;u=f+40|0;v=f+36|0;w=f+32|0;x=f+28|0;c[l>>2]=e;c[v>>2]=0;c[w>>2]=0;if(c[686608]|0){Yf(c[686608]|0)|0;c[686608]=0}lf(m,c[29034]|0)|0;xf(m,104840)|0;e=Af(m,109987)|0;c[o>>2]=e;if(!e){c[j>>2]=m;Zf(104845,j)|0;c[k>>2]=0;y=c[k>>2]|0;i=f;return y|0}c[29041]=rg(16777216,2)|0;if(!(c[29041]|0)){Zf(104876,f+8|0)|0;Yf(c[o>>2]|0)|0;c[k>>2]=-1;y=c[k>>2]|0;i=f;return y|0}c[p>>2]=0;while(1){if((c[p>>2]|0)>=16777216)break;b[(c[29041]|0)+(c[p>>2]<<1)>>1]=-1;c[p>>2]=(c[p>>2]|0)+1}while(1){if(!(Xf(n,1024,c[o>>2]|0)|0)){z=11;break}if((a[n>>0]|0)!=58)continue;a[q>>0]=Za(n+1|0)|0;j=c[v>>2]|0;c[u>>2]=j|(_a(n+3|0)|0)&65535;a[r>>0]=Za(n+7|0)|0;a[s>>0]=Za(n+9+(d[q>>0]<<1)|0)|0;c[x>>2]=(d[q>>0]|0)+((c[u>>2]|0)/256|0)+((c[u>>2]|0)%256|0)+(d[r>>0]|0)+(d[s>>0]|0);switch(d[r>>0]|0){case 0:{c[p>>2]=0;while(1){if((c[p>>2]|0)>=(d[q>>0]|0))break;a[t>>0]=Za(n+9+(c[p>>2]<<1)|0)|0;c[x>>2]=(c[x>>2]|0)+(d[t>>0]|0);b[(c[29041]|0)+((c[u>>2]|0)+(c[p>>2]|0)<<1)>>1]=d[t>>0]|0;c[p>>2]=(c[p>>2]|0)+1}if((c[w>>2]|0)<((c[u>>2]|0)+(d[q>>0]|0)-1|0))c[w>>2]=(c[u>>2]|0)+(d[q>>0]|0)-1;if((c[u>>2]|0)<(c[c[l>>2]>>2]|0))c[c[l>>2]>>2]=c[u>>2];break}case 4:{c[v>>2]=((_a(n+9|0)|0)&65535)<<16&16777215;break}default:{}}if((c[x>>2]|0)%256|0|0){z=23;break}if((d[r>>0]|0)==1)break}if((z|0)==11){c[h>>2]=m;Zf(104897,h)|0}else if((z|0)==23){c[g>>2]=m;Zf(104922,g)|0;Yf(c[o>>2]|0)|0;c[k>>2]=-1;y=c[k>>2]|0;i=f;return y|0}Yf(c[o>>2]|0)|0;c[k>>2]=c[w>>2];y=c[k>>2]|0;i=f;return y|0}function ab(){if((c[686622]|0)==0|(c[686696]|0)!=0)return;Xa();c[29044]=($a(8)|0)+1;Wa();Qa();return}function bb(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+4|0;e=b+8|0;f=b;c[d>>2]=a;if((cg(e,1,8,c[d>>2]|0)|0)==8)g=(Je(e,105153,8)|0)==0;else g=0;c[f>>2]=g&1;if(g){h=c[f>>2]|0;i=b;return h|0}hg(c[d>>2]|0);h=c[f>>2]|0;i=b;return h|0}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,o=0,p=0,q=0,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;h=i;i=i+176|0;j=h+160|0;k=h+156|0;l=h+152|0;m=h+148|0;n=h+144|0;o=h+104|0;p=h+100|0;q=h+96|0;r=h+92|0;s=h+88|0;t=h+84|0;u=h+80|0;v=h+76|0;w=h+72|0;x=h+68|0;y=h+64|0;z=h+60|0;A=h+56|0;B=h+52|0;C=h+48|0;D=h+44|0;E=h+40|0;F=h+36|0;G=h+32|0;H=h+28|0;I=h+24|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]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[r>>2]=0;a:while(1){g=eb(o,c[l>>2]|0,p)|0;c[q>>2]=g;if(!g){P=62;break}c[s>>2]=Wf(c[l>>2]|0)|0;do if(!(Ie(c[p>>2]|0,105024)|0)){if(c[r>>2]|0){P=5;break a}qg(c[p>>2]|0);c[t>>2]=Ud(c[o+36>>2]|0)|0;g=cg(c[t>>2]|0,1,c[o+36>>2]|0,c[l>>2]|0)|0;Q=c[t>>2]|0;if((g|0)!=(c[o+36>>2]|0)){P=7;break a}c[x>>2]=(((d[Q>>0]<<8)+(d[(c[t>>2]|0)+1>>0]|0)<<8)+(d[(c[t>>2]|0)+2>>0]|0)<<8)+(d[(c[t>>2]|0)+3>>0]|0);c[u>>2]=(c[t>>2]|0)+4;c[v>>2]=(c[u>>2]|0)+(c[x>>2]<<2);c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[x>>2]|0))break;c[A>>2]=(((d[c[u>>2]>>0]<<8)+(d[(c[u>>2]|0)+1>>0]|0)<<8)+(d[(c[u>>2]|0)+2>>0]|0)<<8)+(d[(c[u>>2]|0)+3>>0]|0);c[u>>2]=(c[u>>2]|0)+4;c[z>>2]=tf(c[v>>2]|0)|0;g=(kf(c[v>>2]|0)|0)+1|0;c[v>>2]=(c[v>>2]|0)+g;g=hb(c[(c[k>>2]|0)+12>>2]|0,c[A>>2]|0)|0;c[B>>2]=g;b:do if(g|0){c[y>>2]=c[(c[B>>2]|0)+24>>2];while(1){if(!(c[(c[y>>2]|0)+4>>2]|0))break b;c[y>>2]=c[(c[y>>2]|0)+4>>2]}}else{if(!(c[m>>2]|0)){if(c[686794]|0){P=16;break a}f=Ud(32)|0;c[m>>2]=f;c[686794]=f}else{f=Ud(32)|0;c[(c[m>>2]|0)+28>>2]=f;c[m>>2]=c[(c[m>>2]|0)+28>>2]}c[(c[m>>2]|0)+28>>2]=0;c[c[m>>2]>>2]=0;c[(c[m>>2]|0)+4>>2]=c[(c[k>>2]|0)+12>>2];c[(c[m>>2]|0)+16>>2]=c[A>>2];f=ib(c[l>>2]|0,c[A>>2]|0)|0;c[(c[m>>2]|0)+8>>2]=f;f=tf(c[(c[m>>2]|0)+8>>2]|0)|0;c[(c[m>>2]|0)+12>>2]=f;c[(c[m>>2]|0)+20>>2]=c[n>>2];c[y>>2]=0;c[(c[m>>2]|0)+24>>2]=0}while(0);g=(c[y>>2]|0)==0;f=Ud(8)|0;if(g){c[(c[m>>2]|0)+24>>2]=f;c[y>>2]=f}else{c[(c[y>>2]|0)+4>>2]=f;c[y>>2]=c[(c[y>>2]|0)+4>>2]}c[(c[y>>2]|0)+4>>2]=0;c[c[y>>2]>>2]=c[z>>2];c[w>>2]=(c[w>>2]|0)+1}qg(c[t>>2]|0);c[r>>2]=1;if(c[29045]|0){P=62;break a}}else{if(0!=(Ie(c[p>>2]|0,105086)|0)?0!=(Ie(c[p>>2]|0,105103)|0):0){if(!(Ie(c[p>>2]|0,105120)|0)){qg(c[p>>2]|0);if(c[29045]|0){P=50;break a}c[29045]=Ud(c[o+36>>2]|0)|0;f=cg(c[29045]|0,1,c[o+36>>2]|0,c[l>>2]|0)|0;if((f|0)!=(c[o+36>>2]|0)){P=52;break a}c[29046]=c[o+36>>2];if(c[r>>2]|0){P=62;break a}else break}if(c[686794]|0)break;if(!(c[m>>2]|0)){if(c[686794]|0){P=57;break a}f=Ud(32)|0;c[m>>2]=f;c[686794]=f}else{f=Ud(32)|0;c[(c[m>>2]|0)+28>>2]=f;c[m>>2]=c[(c[m>>2]|0)+28>>2]}c[(c[m>>2]|0)+28>>2]=0;c[c[m>>2]>>2]=-1;c[(c[m>>2]|0)+4>>2]=c[(c[k>>2]|0)+12>>2];c[(c[m>>2]|0)+16>>2]=(c[s>>2]|0)-(c[q>>2]|0);c[(c[m>>2]|0)+8>>2]=c[p>>2];f=tf(c[(c[m>>2]|0)+8>>2]|0)|0;c[(c[m>>2]|0)+12>>2]=f;c[(c[m>>2]|0)+20>>2]=c[n>>2];c[(c[m>>2]|0)+24>>2]=0;lc(c[l>>2]|0,c[o+36>>2]|0,c[m>>2]|0)|0;break}if(c[r>>2]|0){P=28;break a}qg(c[p>>2]|0);c[C>>2]=Ud(c[o+36>>2]|0)|0;f=cg(c[C>>2]|0,1,c[o+36>>2]|0,c[l>>2]|0)|0;R=c[C>>2]|0;if((f|0)!=(c[o+36>>2]|0)){P=30;break a}c[H>>2]=(((d[R>>0]<<8)+(d[(c[C>>2]|0)+1>>0]|0)<<8)+(d[(c[C>>2]|0)+2>>0]|0)<<8)+(d[(c[C>>2]|0)+3>>0]|0);c[G>>2]=(c[H>>2]|0)/8|0;c[D>>2]=(c[C>>2]|0)+4;c[E>>2]=(c[D>>2]|0)+(c[H>>2]|0)+4;c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[G>>2]|0))break;c[J>>2]=(c[E>>2]|0)+((((d[c[D>>2]>>0]<<8)+(d[(c[D>>2]|0)+1>>0]|0)<<8)+(d[(c[D>>2]|0)+2>>0]|0)<<8)+(d[(c[D>>2]|0)+3>>0]|0));c[D>>2]=(c[D>>2]|0)+4;c[K>>2]=(((d[c[D>>2]>>0]<<8)+(d[(c[D>>2]|0)+1>>0]|0)<<8)+(d[(c[D>>2]|0)+2>>0]|0)<<8)+(d[(c[D>>2]|0)+3>>0]|0);c[D>>2]=(c[D>>2]|0)+4;c[J>>2]=tf(c[E>>2]|0)|0;f=hb(c[(c[k>>2]|0)+12>>2]|0,c[K>>2]|0)|0;c[L>>2]=f;c:do if(f|0){c[I>>2]=c[(c[L>>2]|0)+24>>2];while(1){if(!(c[(c[I>>2]|0)+4>>2]|0))break c;c[I>>2]=c[(c[I>>2]|0)+4>>2]}}else{if(!(c[m>>2]|0)){if(c[686794]|0){P=39;break a}g=Ud(32)|0;c[m>>2]=g;c[686794]=g}else{g=Ud(32)|0;c[(c[m>>2]|0)+28>>2]=g;c[m>>2]=c[(c[m>>2]|0)+28>>2]}c[(c[m>>2]|0)+28>>2]=0;c[c[m>>2]>>2]=0;c[(c[m>>2]|0)+4>>2]=c[(c[k>>2]|0)+12>>2];c[(c[m>>2]|0)+16>>2]=c[K>>2];g=ib(c[l>>2]|0,c[K>>2]|0)|0;c[(c[m>>2]|0)+8>>2]=g;g=tf(c[(c[m>>2]|0)+8>>2]|0)|0;c[(c[m>>2]|0)+12>>2]=g;c[(c[m>>2]|0)+20>>2]=c[n>>2];c[I>>2]=0;c[(c[m>>2]|0)+24>>2]=0}while(0);f=(c[I>>2]|0)==0;g=Ud(8)|0;if(f){c[(c[m>>2]|0)+24>>2]=g;c[I>>2]=g}else{c[(c[I>>2]|0)+4>>2]=g;c[I>>2]=c[(c[I>>2]|0)+4>>2]}c[(c[I>>2]|0)+4>>2]=0;c[c[I>>2]>>2]=c[J>>2];c[F>>2]=(c[F>>2]|0)+1}qg(c[C>>2]|0);c[r>>2]=1;if(c[29045]|0){P=62;break a}}while(0);gg(c[l>>2]|0,(c[s>>2]|0)+(c[o+36>>2]|0)+(c[o+36>>2]&1)|0,0)|0}switch(P|0){case 5:{ia(105041,104976,286,105052);break}case 7:{qg(Q);c[j>>2]=c[m>>2];S=c[j>>2]|0;i=h;return S|0}case 16:{ia(105073,104976,326,105052);break}case 28:{ia(105041,104976,371,105052);break}case 30:{qg(R);c[j>>2]=c[m>>2];S=c[j>>2]|0;i=h;return S|0}case 39:{ia(105073,104976,414,105052);break}case 50:{ia(105137,104976,457,105052);break}case 52:{qg(c[29045]|0);c[29046]=0;c[j>>2]=c[m>>2];S=c[j>>2]|0;i=h;return S|0}case 57:{ia(105073,104976,480,105052);break}case 62:{if(c[29045]|0){c[M>>2]=c[686794];while(1){if(!(c[M>>2]|0))break;c[N>>2]=c[(c[M>>2]|0)+8>>2];if((a[c[N>>2]>>0]|0)==47?(c[O>>2]=gb(c[N>>2]|0)|0,0!=(c[O>>2]|0)):0){qg(c[(c[M>>2]|0)+8>>2]|0);c[(c[M>>2]|0)+8>>2]=c[O>>2];qg(c[(c[M>>2]|0)+12>>2]|0);R=tf(c[O>>2]|0)|0;c[(c[M>>2]|0)+12>>2]=R}c[M>>2]=c[(c[M>>2]|0)+28>>2]}qg(c[29045]|0);c[29045]=0;c[29046]=0}c[j>>2]=c[m>>2];S=c[j>>2]|0;i=h;return S|0}}return 0}function db(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+64|0;d=b+8|0;e=b;f=b+60|0;g=b+56|0;h=b+16|0;c[f>>2]=a;c[g>>2]=Af(c[(c[f>>2]|0)+4>>2]|0,112822)|0;if(!(c[g>>2]|0)){a=c[25955]|0;c[d>>2]=c[(c[f>>2]|0)+4>>2];Sf(a,112874,d)|0;Gc(1);i=b;return}gg(c[g>>2]|0,c[(c[f>>2]|0)+20>>2]|0,0)|0;if(eb(h,c[g>>2]|0,0)|0){jd(c[g>>2]|0,c[h+36>>2]|0)|0;Yf(c[g>>2]|0)|0;i=b;return}else{h=c[25955]|0;d=c[(c[f>>2]|0)+8>>2]|0;c[e>>2]=c[(c[f>>2]|0)+4>>2];c[e+4>>2]=d;Sf(h,112825,e)|0;Yf(c[g>>2]|0)|0;Gc(1);i=b;return}}function eb(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;f=i;i=i+112|0;g=f+20|0;h=f+16|0;j=f+12|0;k=f+8|0;l=f+40|0;m=f+24|0;n=f+4|0;o=f;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;if((cg(l,1,60,c[j>>2]|0)|0)==60?(Je(l+58|0,104954,2)|0)==0:0){e=c[h>>2]|0;d=l;b=e+16|0;do{a[e>>0]=a[d>>0]|0;e=e+1|0;d=d+1|0}while((e|0)<(b|0));a[(c[h>>2]|0)+16>>0]=0;e=m;d=l+16|0;b=e+12|0;do{a[e>>0]=a[d>>0]|0;e=e+1|0;d=d+1|0}while((e|0)<(b|0));a[m+12>>0]=0;p=Ge(m,0,0)|0;c[(c[h>>2]|0)+20>>2]=p;p=l+28|0;a[m>>0]=a[p>>0]|0;a[m+1>>0]=a[p+1>>0]|0;a[m+2>>0]=a[p+2>>0]|0;a[m+3>>0]=a[p+3>>0]|0;a[m+4>>0]=a[p+4>>0]|0;a[m+5>>0]=a[p+5>>0]|0;a[m+6>>0]=0;p=Ge(m,0,0)|0;c[(c[h>>2]|0)+24>>2]=p;e=m;d=l+34|0;b=e+12|0;do{a[e>>0]=a[d>>0]|0;e=e+1|0;d=d+1|0}while((e|0)<(b|0));a[m+12>>0]=0;p=Ge(m,0,0)|0;c[(c[h>>2]|0)+28>>2]=p;p=l+40|0;a[m>>0]=a[p>>0]|0;a[m+1>>0]=a[p+1>>0]|0;a[m+2>>0]=a[p+2>>0]|0;a[m+3>>0]=a[p+3>>0]|0;a[m+4>>0]=a[p+4>>0]|0;a[m+5>>0]=a[p+5>>0]|0;a[m+6>>0]=a[p+6>>0]|0;a[m+7>>0]=a[p+7>>0]|0;a[m+8>>0]=0;p=Fe(m,0,0)|0;c[(c[h>>2]|0)+32>>2]=p;e=m;d=l+48|0;b=e+10|0;do{a[e>>0]=a[d>>0]|0;e=e+1|0;d=d+1|0}while((e|0)<(b|0));a[m+10>>0]=0;d=Ge(m,0,0)|0;c[(c[h>>2]|0)+36>>2]=d;c[n>>2]=fb(c[h>>2]|0,o,(c[k>>2]|0)!=0&1,c[j>>2]|0)|0;if(c[k>>2]|0)c[c[k>>2]>>2]=c[n>>2];n=(c[h>>2]|0)+36|0;c[n>>2]=(c[n>>2]|0)-(c[o>>2]|0);c[g>>2]=(c[o>>2]|0)+60;q=c[g>>2]|0;i=f;return q|0}c[g>>2]=0;q=c[g>>2]|0;i=f;return q|0}function fb(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;g=i;i=i+48|0;h=g+40|0;j=g+36|0;k=g+32|0;l=g+28|0;m=g+24|0;n=g+20|0;o=g+16|0;p=g+12|0;q=g+8|0;r=g+4|0;s=g;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;if(c[k>>2]|0)c[c[k>>2]>>2]=0;if(!(Je(c[j>>2]|0,104957,3)|0)){c[o>>2]=Fe((c[j>>2]|0)+3|0,n,10)|0;if((c[n>>2]|0)>>>0<=((c[j>>2]|0)+3|0)>>>0){c[h>>2]=0;t=c[h>>2]|0;i=g;return t|0}if(c[k>>2]|0)c[c[k>>2]>>2]=c[o>>2];if(!(c[l>>2]|0)){gg(c[m>>2]|0,c[o>>2]|0,1)|0;c[h>>2]=0;t=c[h>>2]|0;i=g;return t|0}c[p>>2]=pg(c[o>>2]|0)|0;k=cg(c[p>>2]|0,1,c[o>>2]|0,c[m>>2]|0)|0;m=c[p>>2]|0;if((k|0)!=(c[o>>2]|0)){qg(m);c[h>>2]=0;t=c[h>>2]|0;i=g;return t|0}else{c[h>>2]=m;t=c[h>>2]|0;i=g;return t|0}}if(!(c[l>>2]|0)){c[h>>2]=0;t=c[h>>2]|0;i=g;return t|0}l=c[j>>2]|0;do if((a[c[j>>2]>>0]|0)==47){c[q>>2]=gb(l)|0;if(c[q>>2]|0){c[h>>2]=c[q>>2];t=c[h>>2]|0;i=g;return t|0}}else{c[r>>2]=uf(l+1|0,47)|0;if(c[r>>2]|0){c[s>>2]=(c[r>>2]|0)-(c[j>>2]|0);do{m=(c[s>>2]|0)+1|0;c[s>>2]=m}while((a[(c[j>>2]|0)+m>>0]|0)==32);if((c[s>>2]|0)!=16)break;c[h>>2]=wf(c[j>>2]|0,(c[r>>2]|0)-(c[j>>2]|0)|0)|0;t=c[h>>2]|0;i=g;return t|0}else{c[r>>2]=(c[j>>2]|0)+16;do{m=(c[r>>2]|0)+-1|0;c[r>>2]=m;if((a[m>>0]|0)!=32)break}while((c[r>>2]|0)>>>0>=(c[j>>2]|0)>>>0);c[h>>2]=wf(c[j>>2]|0,(c[r>>2]|0)-(c[j>>2]|0)+1|0)|0;t=c[h>>2]|0;i=g;return t|0}}while(0);c[h>>2]=tf(c[j>>2]|0)|0;t=c[h>>2]|0;i=g;return t|0}function gb(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;d=i;i=i+32|0;e=d+20|0;f=d+16|0;g=d+12|0;h=d+8|0;j=d+4|0;k=d;c[f>>2]=b;if(47!=(a[c[f>>2]>>0]|0))ia(104961,104976,78,104983);if((0!=(c[29045]|0)?(b=(c[f>>2]|0)+1|0,c[f>>2]=b,c[h>>2]=Ge(b,g,0)|0,(c[g>>2]|0)!=(c[f>>2]|0)):0)?(c[h>>2]|0)<(c[29046]|0):0){c[j>>2]=(c[g>>2]|0)-(c[f>>2]|0)+1;if((c[j>>2]|0)<16)do{g=c[j>>2]|0;c[j>>2]=g+1}while((c[j>>2]|0)<16?(a[(c[f>>2]|0)+g>>0]|0)==32:0);if((c[j>>2]|0)==16){c[f>>2]=(c[29045]|0)+(c[h>>2]|0);c[k>>2]=c[f>>2];while(1){if((a[c[k>>2]>>0]|0)!=47)l=(a[c[k>>2]>>0]|0)!=10;else l=0;m=c[k>>2]|0;if(!l)break;if(m>>>0>=((c[29045]|0)+(c[29046]|0)|0)>>>0){n=14;break}c[k>>2]=(c[k>>2]|0)+1}if((n|0)==14)ia(104997,104976,97,104983);if(!((a[m>>0]|0)==47?(a[(c[k>>2]|0)+1>>0]|0)==10:0))n=18;a:do if((n|0)==18){while(1){n=0;m=(c[k>>2]|0)+1|0;c[k>>2]=m;if((a[m>>0]|0)==10)break a;if((c[k>>2]|0)>>>0>=((c[29045]|0)+(c[29046]|0)|0)>>>0)break;n=18}ia(104997,104976,101,104983)}while(0);c[e>>2]=wf(c[f>>2]|0,(c[k>>2]|0)-(c[f>>2]|0)|0)|0;o=c[e>>2]|0;i=d;return o|0}}c[e>>2]=0;o=c[e>>2]|0;i=d;return o|0}function hb(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;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]=c[686794];while(1){if(!(c[h>>2]|0)){j=7;break}if(0==(Ie(c[f>>2]|0,c[(c[h>>2]|0)+4>>2]|0)|0)?(c[(c[h>>2]|0)+16>>2]|0)==(c[g>>2]|0):0){j=5;break}c[h>>2]=c[(c[h>>2]|0)+28>>2]}if((j|0)==5){c[e>>2]=c[h>>2];k=c[e>>2]|0;i=d;return k|0}else if((j|0)==7){c[e>>2]=0;k=c[e>>2]|0;i=d;return k|0}return 0}function ib(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+64|0;e=d+52|0;f=d+48|0;g=d;c[e>>2]=a;c[f>>2]=b;gg(c[e>>2]|0,c[f>>2]|0,0)|0;f=(eb(d+8|0,c[e>>2]|0,g)|0)!=0;i=d;return (f?c[g>>2]|0:0)|0}function jb(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;a=i;i=i+4144|0;b=a+16|0;d=a+8|0;e=a+36|0;f=a+32|0;g=a+28|0;h=a+24|0;j=a+20|0;k=a+40|0;if(!(c[686703]|0)){Sf(c[25955]|0,112989,a)|0;Gc(3)}Rb(k,-1);kb(k);Xb(-1);l=Kb()|0;c[(c[686708]|0)+16>>2]=l;Xb(-1);c[e>>2]=0;c[h>>2]=c[(c[686707]|0)+4>>2];while(1){m=c[e>>2]|0;if(!(c[c[h>>2]>>2]|0))break;c[e>>2]=m+1;c[h>>2]=c[c[h>>2]>>2]}l=Kb()|0;do if(m){c[e>>2]=l;if(($d()|0?(be()|0)!=2:0)?(be()|0)!=3:0){n=(be()|0)==1;if(!(n&(c[e>>2]|0)!=0))break}else o=12;if((o|0)==12?(c[e>>2]|0)==0:0)break;if((c[(c[686707]|0)+32>>2]|0)!=(c[e>>2]|0)){n=c[25955]|0;c[d>>2]=k;Sf(n,105162,d)|0;c[686616]=(c[686616]|0)+1}}else c[(c[686707]|0)+32>>2]=l;while(0);if((($d()|0?(be()|0)!=2:0)?(be()|0)!=3:0)?(be()|0)!=1:0){Xb(-1);l=Kb()|0;c[(c[686708]|0)+12>>2]=l}c[g>>2]=c[(c[686704]|0)+8>>2];c[j>>2]=c[(c[686704]|0)+12>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[g>>2]|0)){o=25;break}if(!(c[(c[j>>2]|0)+(c[f>>2]<<2)>>2]|0)){o=23;break}c[f>>2]=(c[f>>2]|0)+1}if((o|0)==23){c[(c[j>>2]|0)+(c[f>>2]<<2)>>2]=c[h>>2];i=a;return}else if((o|0)==25){Sf(c[25955]|0,105193,b)|0;Gc(3);i=a;return}}function kb(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+8|0;e=b+4|0;f=b;c[d>>2]=a;c[686707]=c[686706];c[686708]=Ud(20)|0;if((($d()|0?(be()|0)!=2:0)?(be()|0)!=3:0)?(be()|0)!=1:0)c[(c[686708]|0)+12>>2]=-1;while(1){if(!(c[686707]|0))break;a=(Td(c[d>>2]|0,c[(c[686707]|0)+36>>2]|0,1)|0)!=0;g=c[686707]|0;if(a){h=8;break}c[686707]=c[g>>2]}if((h|0)==8){c[f>>2]=c[g+4>>2];while(1){if(!(c[c[f>>2]>>2]|0))break;c[f>>2]=c[c[f>>2]>>2]}c[c[f>>2]>>2]=c[686708];c[(c[686708]|0)+4>>2]=c[686707];c[(c[686708]|0)+8>>2]=c[686704];i=b;return}c[686707]=Ud(52)|0;if(!(c[686706]|0))c[686706]=c[686707];else{c[e>>2]=c[686706];while(1){if(!(c[c[e>>2]>>2]|0))break;c[e>>2]=c[c[e>>2]>>2]}c[c[e>>2]>>2]=c[686707]}c[(c[686707]|0)+4>>2]=c[686708];c[(c[686708]|0)+4>>2]=c[686707];c[(c[686708]|0)+8>>2]=c[686704];e=Vd(c[d>>2]|0)|0;c[(c[686707]|0)+36>>2]=e;if(!($d()|0)){i=b;return}if((be()|0)==2){i=b;return}if((be()|0)==3){i=b;return}if((be()|0)==1){i=b;return}c[(c[686707]|0)+16>>2]=0;i=b;return}function lb(){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;b=i;i=i+4176|0;d=b+48|0;e=b+40|0;f=b+20|0;g=b+16|0;h=b+12|0;j=b+8|0;k=b+4|0;l=b+64|0;m=b;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h>>2]=0;c[j>>2]=0;c[k>>2]=0;if((be()|0)==5){xg(116188,0,8192)|0;c[686707]=c[686706];while(1){if(!(c[686707]|0))break;if(!(c[c[686707]>>2]|0))break;n=c[c[686707]>>2]|0;if(c[(c[c[686707]>>2]|0)+32>>2]&8|0){c[j>>2]=n;c[c[686707]>>2]=c[c[j>>2]>>2];c[c[j>>2]>>2]=c[686706];c[686706]=c[j>>2];continue}else{c[686707]=n;continue}}c[686707]=c[686706];while(1){if(!(c[686707]|0))break;if(!(Ke(c[(c[686707]|0)+36>>2]|0,105220,2)|0)){a:do if(!(c[(c[686707]|0)+20>>2]|0)){c[686708]=c[(c[686707]|0)+4>>2];while(1){if(!(c[686708]|0))break a;j=(c[686707]|0)+20|0;c[j>>2]=(c[j>>2]|0)+(c[(c[686708]|0)+16>>2]|0);c[686708]=c[c[686708]>>2]}}while(0);c[h>>2]=(c[h>>2]|0)+(c[(c[686707]|0)+20>>2]|0);if(!(Ie(c[(c[686707]|0)+36>>2]|0,105223)|0))c[k>>2]=c[686707]}c[686707]=c[c[686707]>>2]}if(c[k>>2]|0)c[(c[k>>2]|0)+20>>2]=c[h>>2]}c[686707]=c[686706];while(1){if(!(c[686707]|0))break;if(c[(c[686707]|0)+32>>2]&8|0)mb(c[686707]|0);else{c[e>>2]=0;if((be()|0)==4){if(c[(c[686707]|0)+32>>2]&32|0)c[e>>2]=1;if(c[(c[686707]|0)+32>>2]&64|0)c[e>>2]=2;if(c[(c[686707]|0)+32>>2]&128|0)c[e>>2]=3}if((($d()|0?(be()|0)!=2:0)?(be()|0)!=3:0)?(be()|0)!=1:0){if(!(c[(c[686707]|0)+24>>2]|0)){if((be()|0)!=5?(be()|0)!=6:0)o=42;else if(c[(c[686707]|0)+32>>2]&256|0){c[e>>2]=2;c[(c[686707]|0)+16>>2]=0}else o=42;if((o|0)==42){o=0;c[(c[686707]|0)+16>>2]=c[d+(c[e>>2]<<2)>>2]}c[(c[686707]|0)+24>>2]=1}}else o=35;if((o|0)==35?(o=0,(c[(c[686707]|0)+16>>2]|0)==0):0)c[(c[686707]|0)+16>>2]=c[d+(c[e>>2]<<2)>>2];mb(c[686707]|0);c[d+(c[e>>2]<<2)>>2]=(c[(c[686707]|0)+16>>2]|0)+(c[(c[686707]|0)+20>>2]|0)}if(!(Td(c[(c[686707]|0)+36>>2]|0,c[6]|0,1)|0)){lf(l+2|0,c[(c[686707]|0)+36>>2]|0)|0;a[l+1>>0]=95;a[l>>0]=115;c[m>>2]=Rd(l,1)|0;c[(c[m>>2]|0)+12>>2]=c[(c[686707]|0)+16>>2];if(!((($d()|0?(be()|0)!=2:0)?(be()|0)!=3:0)?(be()|0)!=1:0))c[(c[m>>2]|0)+4>>2]=0;h=(c[m>>2]|0)+8|0;a[h>>0]=a[h>>0]|2;a[l>>0]=108;c[m>>2]=Rd(l,1)|0;c[(c[m>>2]|0)+12>>2]=c[(c[686707]|0)+20>>2];c[(c[m>>2]|0)+4>>2]=0;h=(c[m>>2]|0)+8|0;a[h>>0]=a[h>>0]|2}b:do if((($d()|0?(be()|0)!=2:0)?(be()|0)!=3:0)?(be()|0)!=1:0){if(!(Ie(c[(c[686707]|0)+36>>2]|0,105231)|0)){h=(be()|0)==4;k=c[(c[686707]|0)+16>>2]|0;if(h){h=(c[(c[c[686707]>>2]|0)+4>>2]|0)+16|0;c[h>>2]=(c[h>>2]|0)+(((k+(c[(c[686707]|0)+20>>2]|0)+7|0)>>>0)/8|0);break}else{c[(c[(c[c[686707]>>2]|0)+4>>2]|0)+16>>2]=((k>>>0)/8|0)+((((c[(c[686707]|0)+20>>2]|0)+7|0)>>>0)/8|0);break}}k=(Ie(c[(c[686707]|0)+36>>2]|0,110215)|0)!=0;h=c[686707]|0;if(!k){c[f>>2]=h;break}k=(Ie(c[h+36>>2]|0,110226)|0)!=0;h=c[686707]|0;if(!k){c[f+4>>2]=h;break}k=(Ie(c[h+36>>2]|0,110237)|0)!=0;h=c[686707]|0;if(!k){c[f+8>>2]=h;break}k=(Ie(c[h+36>>2]|0,110248)|0)!=0;h=c[686707]|0;if(!k){c[f+12>>2]=h;break}if(!(Ie(c[h+36>>2]|0,110259)|0)){c[f+16>>2]=c[686707];c[g>>2]=4;while(1){if((c[g>>2]|0)<=1)break b;if(c[(c[f+(c[g>>2]<<2)>>2]|0)+20>>2]|0)break b;if(c[(c[f+((c[g>>2]|0)-1<<2)>>2]|0)+20>>2]|0)break b;c[d>>2]=(c[d>>2]|0)-8;c[g>>2]=(c[g>>2]|0)+-1}}}while(0);c[686707]=c[c[686707]>>2]}i=b;return}function mb(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;d=b+8|0;e=b;f=b+24|0;g=b+20|0;h=b+16|0;j=b+12|0;c[f>>2]=a;c[g>>2]=0;c[h>>2]=c[(c[f>>2]|0)+16>>2];c[j>>2]=c[(c[f>>2]|0)+4>>2];a:do if(c[(c[f>>2]|0)+32>>2]&4|0)while(1){if(!(c[j>>2]|0))break a;c[(c[j>>2]|0)+12>>2]=c[h>>2];if((c[(c[j>>2]|0)+16>>2]|0)>>>0>(c[g>>2]|0)>>>0)c[g>>2]=c[(c[j>>2]|0)+16>>2];c[j>>2]=c[c[j>>2]>>2]}else{if((be()|0)==5?c[(c[f>>2]|0)+32>>2]&8|0:0)while(1){if(!(c[j>>2]|0))break a;nb(c[(c[j>>2]|0)+12>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+36>>2]|0,116188,8192)|0;c[(c[j>>2]|0)+12>>2]=0;c[g>>2]=(c[g>>2]|0)+(c[(c[j>>2]|0)+16>>2]|0);c[j>>2]=c[c[j>>2]>>2]}if(((be()|0)==5?c[(c[f>>2]|0)+20>>2]|0:0)?(c[(c[686707]|0)+32>>2]&256|0)==0:0)c[h>>2]=ob(c[h>>2]|0,c[(c[f>>2]|0)+20>>2]|0,c[(c[f>>2]|0)+36>>2]|0,116188,8192)|0;while(1){if(!(c[j>>2]|0))break a;if(((be()|0)==5?c[(c[j>>2]|0)+16>>2]|0:0)?(c[(c[686707]|0)+32>>2]&256|0)==0:0){c[h>>2]=ob(c[h>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+36>>2]|0,116188,8192)|0;nb(c[h>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+36>>2]|0,116188,8192)|0}c[(c[j>>2]|0)+12>>2]=c[h>>2];c[h>>2]=(c[h>>2]|0)+(c[(c[j>>2]|0)+16>>2]|0);c[g>>2]=(c[g>>2]|0)+(c[(c[j>>2]|0)+16>>2]|0);c[j>>2]=c[c[j>>2]>>2]}}while(0);c[(c[f>>2]|0)+20>>2]=c[g>>2];c[(c[f>>2]|0)+16>>2]=c[(c[(c[f>>2]|0)+4>>2]|0)+12>>2];c[j>>2]=c[(c[f>>2]|0)+4>>2];while(1){if(!(c[j>>2]|0))break;if(!((c[(c[j>>2]|0)+16>>2]|0)!=0^1))break;c[j>>2]=c[c[j>>2]>>2]}if(c[j>>2]|0)c[(c[f>>2]|0)+16>>2]=c[(c[j>>2]|0)+12>>2];if((c[g>>2]|0)>>>0>256?(c[(c[f>>2]|0)+32>>2]&16|0)!=0:0){g=c[25955]|0;c[e>>2]=c[(c[f>>2]|0)+36>>2];Sf(g,105236,e)|0;c[686616]=(c[686616]|0)+1}if((be()|0)!=4){i=b;return}if(!(c[(c[f>>2]|0)+32>>2]&16)){i=b;return}if(!(c[(c[f>>2]|0)+20>>2]|0)){i=b;return}if((c[(c[f>>2]|0)+16>>2]&-256|0)==((c[h>>2]|0)-1&-256|0)){i=b;return}h=c[25955]|0;c[d>>2]=c[(c[f>>2]|0)+36>>2];Sf(h,105281,d)|0;c[686616]=(c[686616]|0)+1;i=b;return}function nb(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;g=i;i=i+80|0;h=g+24|0;j=g+16|0;k=g;l=g+64|0;m=g+60|0;n=g+56|0;o=g+52|0;p=g+48|0;q=g+44|0;r=g+40|0;s=g+36|0;t=g+32|0;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[t>>2]=c[l>>2];c[q>>2]=(c[l>>2]|0)>>>5;c[r>>2]=((c[l>>2]|0)+(c[m>>2]|0)|0)>>>5;c[s>>2]=0-(1<<(c[l>>2]&31));c[p>>2]=((c[p>>2]|0)>>>0)/4|0;if((c[r>>2]|0)>>>0>(c[p>>2]|0)>>>0){f=c[25955]|0;e=c[p>>2]<<5;d=(c[l>>2]|0)+(c[m>>2]|0)-1|0;c[k>>2]=c[n>>2];c[k+4>>2]=e;c[k+8>>2]=d;Sf(f,105328,k)|0;u=c[l>>2]|0;i=g;return u|0}while(1){if((c[q>>2]|0)>>>0>=(c[r>>2]|0)>>>0)break;if(c[(c[o>>2]|0)+(c[q>>2]<<2)>>2]&c[s>>2]|0){k=c[25955]|0;f=c[n>>2]|0;c[j>>2]=c[t>>2];c[j+4>>2]=f;Sf(k,105410,j)|0}k=c[s>>2]|0;f=c[q>>2]|0;c[q>>2]=f+1;d=(c[o>>2]|0)+(f<<2)|0;c[d>>2]=c[d>>2]|k;c[s>>2]=-1;c[t>>2]=(c[t>>2]|0)+32}c[s>>2]=c[s>>2]&(1<<((c[l>>2]|0)+(c[m>>2]|0)&31))-1;if((c[q>>2]|0)>>>0<(c[p>>2]|0)>>>0?c[(c[o>>2]|0)+(c[q>>2]<<2)>>2]&c[s>>2]|0:0){p=c[25955]|0;m=c[n>>2]|0;c[h>>2]=c[t>>2];c[h+4>>2]=m;Sf(p,105410,h)|0}h=(c[o>>2]|0)+(c[q>>2]<<2)|0;c[h>>2]=c[h>>2]|c[s>>2];u=c[l>>2]|0;i=g;return u|0}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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;g=i;i=i+64|0;h=g;j=g+52|0;k=g+48|0;l=g+44|0;m=g+40|0;n=g+36|0;o=g+32|0;p=g+28|0;q=g+24|0;r=g+20|0;s=g+16|0;t=g+12|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[n>>2]=((c[n>>2]|0)>>>0)/4|0;while(1){c[t>>2]=c[j>>2];c[o>>2]=(c[j>>2]|0)>>>5;c[p>>2]=((c[j>>2]|0)+(c[k>>2]|0)|0)>>>5;c[r>>2]=0-(1<<(c[j>>2]&31));if((c[p>>2]|0)>>>0>(c[n>>2]|0)>>>0)break;while(1){if((c[o>>2]|0)>>>0>=(c[p>>2]|0)>>>0)break;if(c[(c[m>>2]|0)+(c[o>>2]<<2)>>2]&c[r>>2]|0){u=6;break}c[o>>2]=(c[o>>2]|0)+1;c[r>>2]=-1;c[t>>2]=(c[t>>2]|0)+32}if((u|0)==6){u=0;c[q>>2]=32;c[s>>2]=-2147483648;while(1){if(!(c[s>>2]|0))break;if(c[(c[m>>2]|0)+(c[o>>2]<<2)>>2]&c[s>>2]|0)break;c[s>>2]=(c[s>>2]|0)>>>1;c[q>>2]=(c[q>>2]|0)+-1}c[j>>2]=(c[t>>2]|0)+(c[q>>2]|0)}if((c[j>>2]|0)>>>0>(c[t>>2]|0)>>>0)continue;c[r>>2]=c[r>>2]&(1<<((c[j>>2]|0)+(c[k>>2]|0)&31))-1;if((c[o>>2]|0)>>>0<(c[n>>2]|0)>>>0?c[(c[m>>2]|0)+(c[o>>2]<<2)>>2]&c[r>>2]|0:0){c[q>>2]=32;c[s>>2]=-2147483648;while(1){if(!(c[s>>2]|0))break;if(c[(c[m>>2]|0)+(c[o>>2]<<2)>>2]&c[s>>2]|0)break;c[s>>2]=(c[s>>2]|0)>>>1;c[q>>2]=(c[q>>2]|0)+-1}c[j>>2]=(c[t>>2]&-32)+(c[q>>2]|0)}if((c[j>>2]|0)>>>0<=(c[t>>2]|0)>>>0){u=21;break}}if((u|0)==21){v=c[j>>2]|0;i=g;return v|0}u=c[25955]|0;t=c[n>>2]<<5;n=(c[j>>2]|0)+(c[k>>2]|0)-1|0;c[h>>2]=c[l>>2];c[h+4>>2]=t;c[h+8>>2]=n;Sf(u,105328,h)|0;v=c[j>>2]|0;i=g;return v|0}function pb(){var a=0,b=0,d=0,e=0,f=0,g=0;a=i;i=i+4112|0;b=a+8|0;d=a;e=a+12|0;f=a+16|0;c[686774]=c[686773];while(1){if(!(c[686774]|0))break;c[686617]=c[(c[686774]|0)+4>>2];Rb(f,-1);do if((Sb()|0)==61){c[e>>2]=Mb(0)|0;c[686707]=c[686706];while(1){if(!(c[686707]|0))break;if(Td(f,c[(c[686707]|0)+36>>2]|0,1)|0)break;c[686707]=c[c[686707]>>2]}if(!(c[686707]|0)){g=c[25955]|0;c[d>>2]=f;Sf(g,105443,d)|0;c[686616]=(c[686616]|0)+1;break}else{c[(c[686707]|0)+16>>2]=c[e>>2];c[(c[686707]|0)+24>>2]=1;break}}else{Sf(c[25955]|0,105484,b)|0;c[686616]=(c[686616]|0)+1}while(0);c[686774]=c[c[686774]>>2]}i=a;return}function qb(){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;b=i;i=i+4160|0;d=b+40|0;e=b+32|0;f=b+28|0;g=b+56|0;h=b+24|0;j=b+20|0;k=b+16|0;l=b+12|0;m=b+8|0;n=b+4|0;o=b;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[e>>2]=0;c[k>>2]=0;c[l>>2]=0;c[m>>2]=0;c[n>>2]=0;c[o>>2]=0;xg(2760115,32,256)|0;xg(124392,0,2097152)|0;xg(2221544,0,524864)|0;c[686707]=c[686706];while(1){if(!(c[686707]|0))break;if(!(c[c[686707]>>2]|0))break;p=c[c[686707]>>2]|0;if(c[(c[c[686707]>>2]|0)+32>>2]&8|0){c[l>>2]=p;c[c[686707]>>2]=c[c[l>>2]>>2];c[c[l>>2]>>2]=c[686706];c[686706]=c[l>>2];continue}else{c[686707]=p;continue}}c[686707]=c[686706];c[l>>2]=c[686706];while(1){if(!(c[686707]|0))break;if(c[(c[686707]|0)+32>>2]&8|0)c[l>>2]=c[686707];p=(Ke(c[(c[686707]|0)+36>>2]|0,105220,2)|0)!=0;q=c[686707]|0;do if(p){r=(Ie(c[q+36>>2]|0,105231)|0)!=0;s=c[686707]|0;if(r){r=(Ie(c[s+36>>2]|0,110289)|0)!=0;t=c[686707]|0;if(!r){c[31095]=t;c[31096]=c[(c[686707]|0)+16>>2];break}if(Ie(c[t+36>>2]|0,110275)|0)break;c[31097]=c[(c[686707]|0)+16>>2];break}else{c[k>>2]=c[s>>2];c[686708]=c[(c[686707]|0)+4>>2];while(1){if(!(c[686708]|0))break;s=(c[686707]|0)+20|0;c[s>>2]=(c[s>>2]|0)+(c[(c[686708]|0)+16>>2]|0);c[686708]=c[c[686708]>>2]}c[(c[(c[k>>2]|0)+4>>2]|0)+16>>2]=(((c[(c[686707]|0)+16>>2]|0)+(c[(c[686707]|0)+20>>2]|0)+7|0)>>>0)/8|0;c[c[686707]>>2]=c[c[k>>2]>>2];c[c[k>>2]>>2]=c[c[l>>2]>>2];c[c[l>>2]>>2]=c[k>>2];c[k>>2]=c[686707];break}}else{a:do if(!(c[q+20>>2]|0)){c[686708]=c[(c[686707]|0)+4>>2];while(1){if(!(c[686708]|0))break a;s=(c[686707]|0)+20|0;c[s>>2]=(c[s>>2]|0)+(c[(c[686708]|0)+16>>2]|0);c[686708]=c[c[686708]>>2]}}while(0);c[e>>2]=(c[e>>2]|0)+(c[(c[686707]|0)+20>>2]|0);if(!(Ie(c[(c[686707]|0)+36>>2]|0,105223)|0))c[m>>2]=c[686707]}while(0);c[686707]=c[c[686707]>>2]}if(c[m>>2]|0)c[(c[m>>2]|0)+20>>2]=c[e>>2];c[686707]=c[686706];while(1){if(!(c[686707]|0))break;do if(!(c[(c[686707]|0)+32>>2]&32|0)){if(c[(c[686707]|0)+32>>2]&64|0){c[f>>2]=2;break}if(c[(c[686707]|0)+32>>2]&128|0){c[f>>2]=3;break}else{c[f>>2]=0;break}}else c[f>>2]=1;while(0);e=c[686707]|0;if(c[(c[686707]|0)+32>>2]&8|0)rb(e,c[f>>2]|0)|0;else{if(!(c[e+24>>2]|0)){c[(c[686707]|0)+16>>2]=c[d+(c[f>>2]<<2)>>2];c[(c[686707]|0)+24>>2]=1}e=rb(c[686707]|0,c[f>>2]|0)|0;c[d+(c[f>>2]<<2)>>2]=e}if((Ie(c[(c[686707]|0)+36>>2]|0,110259)|0)==0?(c[(c[(c[686707]|0)+4>>2]|0)+12>>2]|0)>>>0>=32:0){e=(c[k>>2]|0)+16|0;c[e>>2]=(c[e>>2]|0)+((c[(c[(c[686707]|0)+4>>2]|0)+12>>2]|0)-32<<3)}if(!(Td(c[(c[686707]|0)+36>>2]|0,c[6]|0,1)|0)){lf(g+2|0,c[(c[686707]|0)+36>>2]|0)|0;a[g+1>>0]=95;a[g>>0]=115;c[h>>2]=Rd(g,1)|0;c[(c[h>>2]|0)+12>>2]=c[(c[686707]|0)+16>>2];e=(c[h>>2]|0)+8|0;a[e>>0]=a[e>>0]|2;if(!(Ie(c[(c[686707]|0)+36>>2]|0,110289)|0))c[n>>2]=c[h>>2];a[g>>0]=108;c[h>>2]=Rd(g,1)|0;c[(c[h>>2]|0)+12>>2]=c[(c[686707]|0)+20>>2];c[(c[h>>2]|0)+4>>2]=0;e=(c[h>>2]|0)+8|0;a[e>>0]=a[e>>0]|2;if(!(Ie(c[(c[686707]|0)+36>>2]|0,110289)|0))c[o>>2]=c[h>>2]}c[686707]=c[c[686707]>>2]}b:do if(c[31095]|0){c[(c[31095]|0)+16>>2]=0;c[(c[31095]|0)+20>>2]=0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=128)break b;if((a[2760115+(c[j>>2]|0)>>0]|0)!=32){h=(c[31095]|0)+20|0;c[h>>2]=(c[h>>2]|0)+1}c[j>>2]=(c[j>>2]|0)+1}}while(0);if(c[n>>2]|0)c[(c[n>>2]|0)+12>>2]=0;if(!(c[o>>2]|0)){i=b;return}c[(c[o>>2]|0)+12>>2]=c[(c[31095]|0)+20>>2];i=b;return}function rb(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,v=0,w=0,x=0,y=0,z=0,A=0,B=0;e=i;i=i+208|0;f=e+80|0;g=e+72|0;h=e+56|0;j=e+40|0;k=e+32|0;l=e+16|0;m=e;n=e+116|0;o=e+112|0;p=e+108|0;q=e+104|0;r=e+100|0;s=e+96|0;t=e+92|0;u=e+88|0;v=e+84|0;w=e+201|0;x=e+200|0;y=e+120|0;c[n>>2]=b;c[o>>2]=d;a[w>>0]=32;a[x>>0]=97;d=y;b=105525;z=d+80|0;do{a[d>>0]=a[b>>0]|0;d=d+1|0;b=b+1|0}while((d|0)<(z|0));c[(c[n>>2]|0)+28>>2]=0;do if(Ie(c[(c[n>>2]|0)+36>>2]|0,110275)|0?Ie(c[(c[n>>2]|0)+36>>2]|0,110270)|0:0){c[v>>2]=c[31096];if((c[686697]|0)>>>0>0?((c[v>>2]|0)+(c[686697]|0)|0)>>>0<=128:0){c[u>>2]=(c[v>>2]|0)+(c[686697]|0);break}c[u>>2]=128}else A=3;while(0);do if((A|0)==3){c[v>>2]=c[31097];if((c[686697]|0)>>>0>0?((c[v>>2]|0)+(c[686697]|0)|0)>>>0<=256:0){c[u>>2]=(c[v>>2]|0)+(c[686697]|0);break}c[u>>2]=256}while(0);c[p>>2]=0;c[q>>2]=c[(c[n>>2]|0)+16>>2];c[r>>2]=c[(c[n>>2]|0)+4>>2];do if(!(c[o>>2]|0)){if(!(Ie(c[(c[n>>2]|0)+36>>2]|0,110289)|0)){a[w>>0]=68;break}if(!(Ie(c[(c[n>>2]|0)+36>>2]|0,110275)|0)){a[w>>0]=73;break}if(!(Ie(c[(c[n>>2]|0)+36>>2]|0,110270)|0)){a[w>>0]=83;break}if(!(Ie(c[(c[n>>2]|0)+36>>2]|0,110294)|0)){a[w>>0]=81;break}if(!(Ie(c[(c[n>>2]|0)+36>>2]|0,110215)|0)){a[w>>0]=48;break}if(!(Ie(c[(c[n>>2]|0)+36>>2]|0,110226)|0)){a[w>>0]=49;break}if(!(Ie(c[(c[n>>2]|0)+36>>2]|0,110237)|0)){a[w>>0]=50;break}if(!(Ie(c[(c[n>>2]|0)+36>>2]|0,110248)|0)){a[w>>0]=51;break}if(!(Ie(c[(c[n>>2]|0)+36>>2]|0,110259)|0)){a[w>>0]=66;break}if(Ie(c[(c[n>>2]|0)+36>>2]|0,110280)|0){a[w>>0]=32;break}else{a[w>>0]=84;break}}else{if((c[o>>2]|0)==1){if(Ie(c[(c[n>>2]|0)+36>>2]|0,110304)|0)break;a[w>>0]=71;break}if((c[o>>2]|0)==2?(Ie(c[(c[n>>2]|0)+36>>2]|0,111108)|0)==0:0)a[w>>0]=75}while(0);a:do if(c[(c[n>>2]|0)+32>>2]&4|0){b:while(1){if(!(c[r>>2]|0))break;if(!(c[(c[r>>2]|0)+16>>2]|0)){c[r>>2]=c[c[r>>2]>>2];continue}c:do if((((a[w>>0]|0)!=48?(a[w>>0]|0)!=49:0)?(a[w>>0]|0)!=50:0)?(a[w>>0]|0)!=51:0){if((a[w>>0]|0)!=83?(a[w>>0]|0)!=81:0){if((a[w>>0]|0)!=84){c[(c[r>>2]|0)+12>>2]=c[q>>2];if((c[(c[r>>2]|0)+16>>2]|0)>>>0<=(c[p>>2]|0)>>>0)break;c[p>>2]=c[(c[r>>2]|0)+16>>2];break}if((c[(c[r>>2]|0)+16>>2]|0)>>>0<=(c[p>>2]|0)>>>0)break;c[p>>2]=c[(c[r>>2]|0)+16>>2];c[s>>2]=32;while(1){if((c[s>>2]|0)>=48)break;if((a[2760115+(c[s>>2]|0)>>0]|0)==(a[w>>0]|0))a[2760115+(c[s>>2]|0)>>0]=32;c[s>>2]=(c[s>>2]|0)+1}c[s>>2]=32;c[t>>2]=0;while(1){if((c[s>>2]|0)>=48)break;if((a[2760115+(c[s>>2]|0)>>0]|0)==32)c[t>>2]=(c[t>>2]|0)+1;else c[t>>2]=0;if((c[t>>2]|0)==(c[(c[r>>2]|0)+16>>2]|0))break;c[s>>2]=(c[s>>2]|0)+1}if((c[t>>2]|0)!=(c[p>>2]|0)){c[(c[n>>2]|0)+28>>2]=c[(c[r>>2]|0)+16>>2];b=c[25955]|0;d=(c[(c[r>>2]|0)+16>>2]|0)>>>0>1?110472:2768565;z=c[(c[n>>2]|0)+36>>2]|0;c[l>>2]=c[(c[r>>2]|0)+16>>2];c[l+4>>2]=d;c[l+8>>2]=z;Sf(b,y,l)|0;c[686616]=(c[686616]|0)+1;break}c[q>>2]=(c[s>>2]|0)-(c[t>>2]|0)+1;c[s>>2]=c[q>>2];while(1){if((c[s>>2]|0)>=((c[q>>2]|0)+(c[p>>2]|0)|0))break c;a[2760115+(c[s>>2]|0)>>0]=a[w>>0]|0;c[s>>2]=(c[s>>2]|0)+1}}c[s>>2]=c[v>>2];c[p>>2]=0;while(1){if((c[s>>2]|0)>=(c[u>>2]|0))break;if((a[2760115+(c[s>>2]|0)>>0]|0)==(a[w>>0]|0))c[p>>2]=(c[p>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+1}if((a[w>>0]|0)==83&(c[686607]|0)==0){c[s>>2]=c[v>>2];c[t>>2]=0;c[(c[r>>2]|0)+16>>2]=0;while(1){if((c[s>>2]|0)>=(c[u>>2]|0))break;if((a[2760115+(c[s>>2]|0)>>0]|0)==32){b=(c[t>>2]|0)+1|0;c[t>>2]=b;if((b|0)>(c[(c[r>>2]|0)+16>>2]|0))c[(c[r>>2]|0)+16>>2]=c[t>>2]}else c[t>>2]=0;c[s>>2]=(c[s>>2]|0)+1}c[686607]=c[(c[r>>2]|0)+16>>2]}if((c[(c[r>>2]|0)+16>>2]|0)>>>0>(c[p>>2]|0)>>>0){c[p>>2]=c[(c[r>>2]|0)+16>>2];c[s>>2]=c[v>>2];while(1){if((c[s>>2]|0)>=(c[u>>2]|0))break;if((a[2760115+(c[s>>2]|0)>>0]|0)==(a[w>>0]|0))a[2760115+(c[s>>2]|0)>>0]=32;c[s>>2]=(c[s>>2]|0)+1}c[s>>2]=c[v>>2];c[t>>2]=0;while(1){if((c[s>>2]|0)>=(c[u>>2]|0))break;if((a[2760115+(c[s>>2]|0)>>0]|0)==32)c[t>>2]=(c[t>>2]|0)+1;else c[t>>2]=0;if((c[t>>2]|0)==(c[(c[r>>2]|0)+16>>2]|0))break;c[s>>2]=(c[s>>2]|0)+1}d:do if((c[t>>2]|0)==(c[(c[r>>2]|0)+16>>2]|0)){c[q>>2]=(c[s>>2]|0)-(c[t>>2]|0)+1;c[s>>2]=c[q>>2];while(1){if((c[s>>2]|0)>=((c[q>>2]|0)+(c[p>>2]|0)|0))break d;a[2760115+(c[s>>2]|0)>>0]=a[w>>0]|0;c[s>>2]=(c[s>>2]|0)+1}}else{c[(c[n>>2]|0)+28>>2]=c[(c[r>>2]|0)+16>>2];b=c[25955]|0;z=(c[(c[r>>2]|0)+16>>2]|0)>>>0>1?110472:2768565;d=c[(c[n>>2]|0)+36>>2]|0;c[m>>2]=c[(c[r>>2]|0)+16>>2];c[m+4>>2]=z;c[m+8>>2]=d;Sf(b,y,m)|0;c[686616]=(c[686616]|0)+1}while(0);if((a[w>>0]|0)==83)break b}}else A=47;while(0);e:do if((A|0)==47){A=0;c[q>>2]=(a[w>>0]|0)-48<<3;c[(c[r>>2]|0)+12>>2]=c[q>>2];c[p>>2]=c[(c[r>>2]|0)+16>>2];c[s>>2]=c[q>>2];while(1){if((c[s>>2]|0)>=((c[q>>2]|0)+(c[p>>2]|0)|0))break e;if((c[s>>2]|0)>=(c[u>>2]|0))break e;a[2760115+(c[s>>2]|0)>>0]=a[w>>0]|0;c[s>>2]=(c[s>>2]|0)+1}}while(0);c[r>>2]=c[c[r>>2]>>2]}c[r>>2]=c[(c[n>>2]|0)+4>>2];while(1){if(!(c[r>>2]|0))break a;c[(c[r>>2]|0)+12>>2]=c[q>>2];c[r>>2]=c[c[r>>2]>>2]}}else{if(c[(c[n>>2]|0)+32>>2]&8|0)while(1){if(!(c[r>>2]|0))break a;f:do if(c[o>>2]|0){if((c[o>>2]|0)==1){nb(c[(c[r>>2]|0)+12>>2]|0,c[(c[r>>2]|0)+16>>2]|0,c[(c[n>>2]|0)+36>>2]|0,124392,2097152)|0;break}if((c[o>>2]|0)==2)nb(c[(c[r>>2]|0)+12>>2]|0,c[(c[r>>2]|0)+16>>2]|0,c[(c[n>>2]|0)+36>>2]|0,2221544,524864)|0}else{c[s>>2]=c[(c[r>>2]|0)+12>>2];while(1){if(!((c[s>>2]|0)<((c[(c[r>>2]|0)+12>>2]|0)+(c[(c[r>>2]|0)+16>>2]|0)|0)?(c[s>>2]|0)<256:0))break f;if((a[2760115+(c[s>>2]|0)>>0]|0)==32)a[2760115+(c[s>>2]|0)>>0]=65;else{b=c[25955]|0;d=c[(c[n>>2]|0)+36>>2]|0;c[k>>2]=c[s>>2];c[k+4>>2]=d;Sf(b,105605,k)|0}c[s>>2]=(c[s>>2]|0)+1}}while(0);c[(c[r>>2]|0)+12>>2]=0;c[p>>2]=(c[p>>2]|0)+(c[(c[r>>2]|0)+16>>2]|0);c[r>>2]=c[c[r>>2]>>2]}if((c[o>>2]|0)==1?c[(c[n>>2]|0)+20>>2]|0:0)c[q>>2]=ob(c[q>>2]|0,c[(c[n>>2]|0)+20>>2]|0,c[(c[n>>2]|0)+36>>2]|0,124392,2097152)|0;if((c[o>>2]|0)==2?c[(c[n>>2]|0)+20>>2]|0:0)c[q>>2]=ob(c[q>>2]|0,c[(c[n>>2]|0)+20>>2]|0,c[(c[n>>2]|0)+36>>2]|0,2221544,524864)|0;while(1){if(!(c[r>>2]|0))break a;do if(c[(c[r>>2]|0)+16>>2]|0){if((a[w>>0]|0)!=68?(a[w>>0]|0)!=73:0){if((a[w>>0]|0)!=66){if((a[w>>0]|0)==75?(c[(c[r>>2]|0)+16>>2]|0)==1:0)c[(c[r>>2]|0)+16>>2]=256-(c[q>>2]&255);if((c[o>>2]|0)==1){c[q>>2]=ob(c[q>>2]|0,c[(c[r>>2]|0)+16>>2]|0,c[(c[n>>2]|0)+36>>2]|0,124392,2097152)|0;nb(c[q>>2]|0,c[(c[r>>2]|0)+16>>2]|0,c[(c[n>>2]|0)+36>>2]|0,124392,2097152)|0}if((c[o>>2]|0)==2){c[q>>2]=ob(c[q>>2]|0,c[(c[r>>2]|0)+16>>2]|0,c[(c[n>>2]|0)+36>>2]|0,2221544,524864)|0;nb(c[q>>2]|0,c[(c[r>>2]|0)+16>>2]|0,c[(c[n>>2]|0)+36>>2]|0,2221544,524864)|0}c[(c[r>>2]|0)+12>>2]=c[q>>2];c[q>>2]=(c[q>>2]|0)+(c[(c[r>>2]|0)+16>>2]|0);c[p>>2]=(c[p>>2]|0)+(c[(c[r>>2]|0)+16>>2]|0);break}c[s>>2]=32;c[t>>2]=0;while(1){if((c[s>>2]|0)>=48)break;if((a[2760115+(c[s>>2]|0)>>0]|0)==32)c[t>>2]=(c[t>>2]|0)+1;else c[t>>2]=0;if((c[t>>2]|0)==(c[(c[r>>2]|0)+16>>2]|0))break;c[s>>2]=(c[s>>2]|0)+1}g:do if((c[t>>2]|0)==(c[(c[r>>2]|0)+16>>2]|0)){c[(c[r>>2]|0)+12>>2]=(c[s>>2]|0)-(c[t>>2]|0)+1;c[s>>2]=c[(c[r>>2]|0)+12>>2];while(1){if(!((c[s>>2]|0)<((c[(c[r>>2]|0)+12>>2]|0)+(c[(c[r>>2]|0)+16>>2]|0)|0)?(c[s>>2]|0)<48:0))break g;a[2760115+(c[s>>2]|0)>>0]=a[w>>0]|0;c[s>>2]=(c[s>>2]|0)+1}}else{c[(c[n>>2]|0)+28>>2]=c[(c[r>>2]|0)+16>>2];b=c[25955]|0;d=(c[(c[r>>2]|0)+16>>2]|0)>>>0>1?110472:2768565;z=c[(c[n>>2]|0)+36>>2]|0;c[h>>2]=c[(c[r>>2]|0)+16>>2];c[h+4>>2]=d;c[h+8>>2]=z;Sf(b,y,h)|0;c[686616]=(c[686616]|0)+1}while(0);c[p>>2]=(c[p>>2]|0)+(c[(c[r>>2]|0)+16>>2]|0);break}c[s>>2]=c[v>>2];c[t>>2]=0;while(1){if((c[s>>2]|0)>=(c[u>>2]|0))break;if((a[2760115+(c[s>>2]|0)>>0]|0)==32)c[t>>2]=(c[t>>2]|0)+1;else c[t>>2]=0;if((c[t>>2]|0)==(c[(c[r>>2]|0)+16>>2]|0))break;c[s>>2]=(c[s>>2]|0)+1}if((c[t>>2]|0)!=(c[(c[r>>2]|0)+16>>2]|0)){c[(c[r>>2]|0)+12>>2]=c[q>>2];c[q>>2]=(c[q>>2]|0)+(c[(c[r>>2]|0)+16>>2]|0);c[p>>2]=(c[p>>2]|0)+(c[(c[r>>2]|0)+16>>2]|0);b=(c[n>>2]|0)+28|0;c[b>>2]=(c[b>>2]|0)+(c[(c[r>>2]|0)+16>>2]|0);b=c[25955]|0;z=(c[(c[r>>2]|0)+16>>2]|0)>>>0>1?110472:2768565;d=c[(c[n>>2]|0)+36>>2]|0;c[j>>2]=c[(c[r>>2]|0)+16>>2];c[j+4>>2]=z;c[j+8>>2]=d;Sf(b,y,j)|0;c[686616]=(c[686616]|0)+1;break}c[(c[r>>2]|0)+12>>2]=(c[s>>2]|0)-(c[t>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+(c[(c[r>>2]|0)+16>>2]|0);c[s>>2]=c[(c[r>>2]|0)+12>>2];while(1){if((c[s>>2]|0)>=((c[(c[r>>2]|0)+12>>2]|0)+(c[(c[r>>2]|0)+16>>2]|0)|0))break;if((c[s>>2]|0)>=(c[u>>2]|0))break;a[2760115+(c[s>>2]|0)>>0]=(a[w>>0]|0)==68?a[x>>0]|0:a[w>>0]|0;c[s>>2]=(c[s>>2]|0)+1}if((c[(c[r>>2]|0)+16>>2]|0)>>>0>0?(a[w>>0]|0)==68:0)a[x>>0]=(a[x>>0]|0)+1<<24>>24;if((a[x>>0]|0)>=97?(a[x>>0]|0)<=122:0)break;a[x>>0]=68}else c[(c[r>>2]|0)+12>>2]=c[q>>2];while(0);c[r>>2]=c[c[r>>2]>>2]}}while(0);c[(c[n>>2]|0)+20>>2]=c[p>>2];c[(c[n>>2]|0)+16>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+12>>2];c[r>>2]=c[(c[n>>2]|0)+4>>2];while(1){if(!(c[r>>2]|0))break;if(!((c[(c[r>>2]|0)+16>>2]|0)!=0^1))break;c[r>>2]=c[c[r>>2]>>2]}if(c[r>>2]|0)c[(c[n>>2]|0)+16>>2]=c[(c[r>>2]|0)+12>>2];if((c[p>>2]|0)>>>0>256?(c[(c[n>>2]|0)+32>>2]&16|0)!=0:0){p=c[25955]|0;c[g>>2]=c[(c[n>>2]|0)+36>>2];Sf(p,105236,g)|0;c[686616]=(c[686616]|0)+1}if(!(c[(c[n>>2]|0)+32>>2]&16)){B=c[q>>2]|0;i=e;return B|0}if(!(c[(c[n>>2]|0)+20>>2]|0)){B=c[q>>2]|0;i=e;return B|0}if((c[(c[n>>2]|0)+16>>2]&-256|0)==((c[q>>2]|0)-1&-256|0)){B=c[q>>2]|0;i=e;return B|0}g=c[25955]|0;c[f>>2]=c[(c[n>>2]|0)+36>>2];Sf(g,105281,f)|0;c[686616]=(c[686616]|0)+1;B=c[q>>2]|0;i=e;return B|0}function sb(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;d=i;i=i+48|0;e=d+8|0;f=d;g=d+32|0;h=d+28|0;j=d+24|0;c[g>>2]=b;if(!(c[g>>2]|0)){tb();i=d;return}b=(c[686687]|0)==0;do if((c[686686]|0)==3)if(b){c[h>>2]=(c[686636]|0)+(c[686637]<<8)+(c[686638]<<16);break}else{c[h>>2]=(c[686638]|0)+(c[686637]<<8)+(c[686636]<<16);break}else if(b){c[h>>2]=(c[686636]|0)+(c[686637]<<8);break}else{c[h>>2]=(c[686637]|0)+(c[686636]<<8);break}while(0);if(!(c[(c[686707]|0)+40>>2]|0)){b=c[686707]|0;if(c[(c[686707]|0)+32>>2]&8|0)c[(c[686707]|0)+48>>2]=(c[b+16>>2]|0)+(c[(c[686707]|0)+20>>2]|0);else c[(c[686707]|0)+48>>2]=c[b+20>>2];b=Ud(c[(c[686707]|0)+48>>2]|0)|0;c[(c[686707]|0)+40>>2]=b;if(c[(c[686707]|0)+32>>2]&8|0){b=Ud(c[(c[686707]|0)+48>>2]|0)|0;c[(c[686707]|0)+44>>2]=b}}c[g>>2]=c[686686];while(1){if((c[g>>2]|0)>=(c[686635]|0))break;if(c[2746608+(c[g>>2]<<2)>>2]|0){do if(((c[h>>2]|0)-(c[(c[686707]|0)+16>>2]|0)|0)>>>0>=(c[(c[686707]|0)+48>>2]|0)>>>0){if(!(c[(c[686707]|0)+32>>2]&8)){b=c[25955]|0;k=c[h>>2]|0;l=c[(c[686707]|0)+16>>2]|0;m=(c[(c[686707]|0)+16>>2]|0)+(c[(c[686707]|0)+48>>2]|0)-1|0;c[e>>2]=c[(c[686707]|0)+36>>2];c[e+4>>2]=k;c[e+8>>2]=l;c[e+12>>2]=m;Sf(b,105901,e)|0;Gc(3);break}c[j>>2]=c[(c[686707]|0)+48>>2];while(1){if(((c[h>>2]|0)-(c[(c[686707]|0)+16>>2]|0)|0)>>>0<(c[j>>2]|0)>>>0)break;c[j>>2]=(c[j>>2]&-4096)+4096}b=sg(c[(c[686707]|0)+40>>2]|0,c[j>>2]|0)|0;c[(c[686707]|0)+40>>2]=b;b=sg(c[(c[686707]|0)+44>>2]|0,c[j>>2]|0)|0;c[(c[686707]|0)+44>>2]=b;if(!(c[(c[686707]|0)+40>>2]|0?(c[(c[686707]|0)+44>>2]|0)!=0:0)){Sf(c[25955]|0,113111,f)|0;Gc(3)}xg((c[(c[686707]|0)+40>>2]|0)+(c[(c[686707]|0)+48>>2]|0)|0,0,(c[j>>2]|0)-(c[(c[686707]|0)+48>>2]|0)|0)|0;xg((c[(c[686707]|0)+44>>2]|0)+(c[(c[686707]|0)+48>>2]|0)|0,0,(c[j>>2]|0)-(c[(c[686707]|0)+48>>2]|0)|0)|0;c[(c[686707]|0)+48>>2]=c[j>>2]}while(0);a[(c[(c[686707]|0)+40>>2]|0)+((c[h>>2]|0)-(c[(c[686707]|0)+16>>2]|0))>>0]=c[2746544+(c[g>>2]<<2)>>2];if(c[(c[686707]|0)+44>>2]|0)a[(c[(c[686707]|0)+44>>2]|0)+((c[h>>2]|0)-(c[(c[686707]|0)+16>>2]|0))>>0]=1;if(!(c[(c[686707]|0)+32>>2]&256)){if((c[h>>2]|0)==65534){c[686788]=c[2746544+(c[g>>2]<<2)>>2];a[2760371]=1}if((c[h>>2]|0)==65535){c[686789]=c[2746544+(c[g>>2]<<2)>>2];a[2760372]=1}}c[h>>2]=(c[h>>2]|0)+1}c[g>>2]=(c[g>>2]|0)+1}i=d;return}function tb(){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;d=i;i=i+96|0;e=d+80|0;f=d+76|0;g=d+72|0;h=d+20|0;j=d+16|0;k=d+12|0;l=d+8|0;m=d+4|0;n=d;c[e>>2]=ub()|0;c[f>>2]=ub()|0;c[j>>2]=Ud(40)|0;c[c[j>>2]>>2]=0;c[(c[j>>2]|0)+4>>2]=0;c[(c[j>>2]|0)+8>>2]=0;c[(c[j>>2]|0)+12>>2]=0;c[(c[j>>2]|0)+16>>2]=0;c[(c[j>>2]|0)+20>>2]=0;c[(c[j>>2]|0)+24>>2]=0;c[(c[j>>2]|0)+28>>2]=0;c[(c[j>>2]|0)+32>>2]=0;c[(c[j>>2]|0)+36>>2]=0;vb(c[e>>2]|0,c[j>>2]|0);c[m>>2]=0;while(1){if((c[m>>2]|0)>=16)break;a[h+(c[m>>2]|0)>>0]=0;c[m>>2]=(c[m>>2]|0)+1}a[h>>0]=127;a[h+1>>0]=69;a[h+2>>0]=76;a[h+3>>0]=70;a[h+4>>0]=1;m=h+5|0;if(!(c[686687]|0))a[m>>0]=1;else a[m>>0]=2;a[h+6>>0]=1;a[h+7>>0]=8;b[h+16>>1]=2;m=(be()|0)==6;b[h+18>>1]=m?186:71;b[h+42>>1]=32;b[h+46>>1]=40;b[h+40>>1]=52;b[h+44>>1]=0;b[h+48>>1]=0;b[h+50>>1]=0;c[h+20>>2]=1;c[h+24>>2]=0;if(a[2760371]|0?a[2760372]|0:0)c[h+24>>2]=(c[686788]<<8)+(c[686789]|0);wb(h,c[686608]|0);c[g>>2]=c[686706];while(1){if(!(c[g>>2]|0))break;do if(c[(c[g>>2]|0)+20>>2]|0){m=c[g>>2]|0;o=c[f>>2]|0;p=c[e>>2]|0;if(c[(c[g>>2]|0)+32>>2]&8|0){xb(m,o,p);break}else{yb(m,o,p);break}}while(0);c[g>>2]=c[c[g>>2]>>2]}c[j>>2]=Ud(40)|0;g=zb(2747160,105981)|0;c[c[j>>2]>>2]=g;c[(c[j>>2]|0)+4>>2]=2;c[(c[j>>2]|0)+8>>2]=0;c[(c[j>>2]|0)+12>>2]=0;g=Wf(c[686608]|0)|0;c[(c[j>>2]|0)+16>>2]=g;c[(c[j>>2]|0)+24>>2]=(c[(c[e>>2]|0)+8>>2]|0)+1;c[(c[j>>2]|0)+28>>2]=1;c[(c[j>>2]|0)+32>>2]=0;c[(c[j>>2]|0)+36>>2]=16;c[l>>2]=c[c[e>>2]>>2];Ab(c[686703]|0);g=Wf(c[686608]|0)|0;c[(c[j>>2]|0)+20>>2]=g-(c[(c[j>>2]|0)+16>>2]|0);vb(c[e>>2]|0,c[j>>2]|0);c[j>>2]=Ud(40)|0;g=zb(2747160,105989)|0;c[c[j>>2]>>2]=g;c[(c[j>>2]|0)+4>>2]=3;c[(c[j>>2]|0)+8>>2]=0;c[(c[j>>2]|0)+12>>2]=0;g=Wf(c[686608]|0)|0;c[(c[j>>2]|0)+16>>2]=g;if(c[686793]|0){g=c[(c[686793]|0)+12>>2]|0;q=g+(kf(c[c[686793]>>2]|0)|0)+1|0}else q=0;c[(c[j>>2]|0)+20>>2]=q;c[(c[j>>2]|0)+24>>2]=0;c[(c[j>>2]|0)+28>>2]=0;c[(c[j>>2]|0)+32>>2]=0;c[(c[j>>2]|0)+36>>2]=0;vb(c[e>>2]|0,c[j>>2]|0);Bb(2747168,c[686608]|0);c[j>>2]=Ud(40)|0;q=zb(2747160,105997)|0;c[c[j>>2]>>2]=q;c[(c[j>>2]|0)+4>>2]=3;c[(c[j>>2]|0)+8>>2]=0;c[(c[j>>2]|0)+12>>2]=0;q=Wf(c[686608]|0)|0;c[(c[j>>2]|0)+16>>2]=q;q=c[(c[686791]|0)+12>>2]|0;g=q+(kf(c[c[686791]>>2]|0)|0)+1|0;c[(c[j>>2]|0)+20>>2]=g;c[(c[j>>2]|0)+24>>2]=0;c[(c[j>>2]|0)+28>>2]=0;c[(c[j>>2]|0)+32>>2]=0;c[(c[j>>2]|0)+36>>2]=0;vb(c[e>>2]|0,c[j>>2]|0);Bb(2747160,c[686608]|0);b[h+50>>1]=0;c[n>>2]=c[c[j>>2]>>2];c[l>>2]=c[c[e>>2]>>2];while(1){if(!(c[l>>2]|0))break;c[j>>2]=c[c[l>>2]>>2];if((c[c[j>>2]>>2]|0)==(c[n>>2]|0))break;g=h+50|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;c[l>>2]=c[(c[l>>2]|0)+8>>2]}b[h+44>>1]=c[(c[f>>2]|0)+8>>2];c[h+28>>2]=Wf(c[686608]|0)|0;c[l>>2]=c[c[f>>2]>>2];while(1){if(!(c[l>>2]|0))break;c[k>>2]=c[c[l>>2]>>2];Cb(c[k>>2]|0,c[686608]|0);c[l>>2]=c[(c[l>>2]|0)+8>>2]}b[h+48>>1]=c[(c[e>>2]|0)+8>>2];c[h+32>>2]=Wf(c[686608]|0)|0;c[l>>2]=c[c[e>>2]>>2];while(1){if(!(c[l>>2]|0))break;c[j>>2]=c[c[l>>2]>>2];Db(c[j>>2]|0,c[686608]|0);c[l>>2]=c[(c[l>>2]|0)+8>>2]}gg(c[686608]|0,0,0)|0;wb(h,c[686608]|0);gg(c[686608]|0,0,2)|0;i=d;return}function ub(){var a=0,b=0;a=i;i=i+16|0;b=a;c[b>>2]=Ud(12)|0;i=a;return c[b>>2]|0}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,l=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]=Ud(12)|0;c[c[g>>2]>>2]=c[f>>2];c[(c[g>>2]|0)+4>>2]=c[(c[e>>2]|0)+4>>2];if(c[(c[g>>2]|0)+4>>2]|0)c[(c[(c[g>>2]|0)+4>>2]|0)+8>>2]=c[g>>2];c[(c[e>>2]|0)+4>>2]=c[g>>2];if(c[c[e>>2]>>2]|0){h=c[e>>2]|0;j=h+8|0;k=c[j>>2]|0;l=k+1|0;c[j>>2]=l;i=d;return}c[c[e>>2]>>2]=c[g>>2];h=c[e>>2]|0;j=h+8|0;k=c[j>>2]|0;l=k+1|0;c[j>>2]=l;i=d;return}function wb(a,e){a=a|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]=a;c[h>>2]=e;c[j>>2]=0;while(1){if((c[j>>2]|0)>=16)break;Tf(d[(c[g>>2]|0)+(c[j>>2]|0)>>0]|0,c[h>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+1}Jb(b[(c[g>>2]|0)+16>>1]|0,c[h>>2]|0);Jb(b[(c[g>>2]|0)+18>>1]|0,c[h>>2]|0);Eb(c[(c[g>>2]|0)+20>>2]|0,c[h>>2]|0);Fb(c[(c[g>>2]|0)+24>>2]|0,c[h>>2]|0);Gb(c[(c[g>>2]|0)+28>>2]|0,c[h>>2]|0);Gb(c[(c[g>>2]|0)+32>>2]|0,c[h>>2]|0);Eb(c[(c[g>>2]|0)+36>>2]|0,c[h>>2]|0);Jb(b[(c[g>>2]|0)+40>>1]|0,c[h>>2]|0);Jb(b[(c[g>>2]|0)+42>>1]|0,c[h>>2]|0);Jb(b[(c[g>>2]|0)+44>>1]|0,c[h>>2]|0);Jb(b[(c[g>>2]|0)+46>>1]|0,c[h>>2]|0);Jb(b[(c[g>>2]|0)+48>>1]|0,c[h>>2]|0);Jb(b[(c[g>>2]|0)+50>>1]|0,c[h>>2]|0);i=f;return}function xb(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;f=i;i=i+32|0;g=f+28|0;h=f+24|0;j=f+20|0;k=f+16|0;l=f+12|0;m=f+8|0;n=f+4|0;o=f;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(!(c[(c[g>>2]|0)+40>>2]|0)){i=f;return}c[k>>2]=0;while(1){while(1){if((c[k>>2]|0)>>>0<(c[(c[g>>2]|0)+48>>2]|0)>>>0)p=(a[(c[(c[g>>2]|0)+44>>2]|0)+(c[k>>2]|0)>>0]|0)!=0^1;else p=0;q=c[k>>2]|0;if(!p)break;c[k>>2]=q+1}if(q>>>0>=(c[(c[g>>2]|0)+48>>2]|0)>>>0)break;c[l>>2]=(c[(c[g>>2]|0)+16>>2]|0)+(c[k>>2]|0);while(1){if((c[k>>2]|0)>>>0>=(c[(c[g>>2]|0)+48>>2]|0)>>>0)break;if(!(a[(c[(c[g>>2]|0)+44>>2]|0)+(c[k>>2]|0)>>0]|0))break;c[k>>2]=(c[k>>2]|0)+1}c[m>>2]=(c[(c[g>>2]|0)+16>>2]|0)+(c[k>>2]|0)-(c[l>>2]|0);if(!(c[(c[g>>2]|0)+32>>2]&256)){c[n>>2]=Ud(32)|0;c[c[n>>2]>>2]=1;e=Wf(c[686608]|0)|0;c[(c[n>>2]|0)+4>>2]=e;c[(c[n>>2]|0)+8>>2]=c[l>>2];c[(c[n>>2]|0)+12>>2]=c[l>>2];c[(c[n>>2]|0)+16>>2]=c[m>>2];c[(c[n>>2]|0)+20>>2]=c[m>>2];c[(c[n>>2]|0)+24>>2]=4;if(c[(c[g>>2]|0)+32>>2]&32|0){e=(c[n>>2]|0)+24|0;c[e>>2]=c[e>>2]|1}c[(c[n>>2]|0)+28>>2]=1;vb(c[h>>2]|0,c[n>>2]|0)}c[o>>2]=Ud(40)|0;e=zb(2747160,c[(c[g>>2]|0)+36>>2]|0)|0;c[c[o>>2]>>2]=e;c[(c[o>>2]|0)+4>>2]=1;c[(c[o>>2]|0)+8>>2]=0;if(!(c[(c[g>>2]|0)+32>>2]&256)){e=(c[o>>2]|0)+8|0;c[e>>2]=c[e>>2]|2}if(c[(c[g>>2]|0)+32>>2]&32|0){e=(c[o>>2]|0)+8|0;c[e>>2]=c[e>>2]|4}c[(c[o>>2]|0)+12>>2]=c[l>>2];e=Wf(c[686608]|0)|0;c[(c[o>>2]|0)+16>>2]=e;c[(c[o>>2]|0)+20>>2]=c[m>>2];c[(c[o>>2]|0)+24>>2]=0;c[(c[o>>2]|0)+28>>2]=0;c[(c[o>>2]|0)+32>>2]=0;c[(c[o>>2]|0)+36>>2]=0;vb(c[j>>2]|0,c[o>>2]|0);Rf((c[(c[g>>2]|0)+40>>2]|0)+((c[l>>2]|0)-(c[(c[g>>2]|0)+16>>2]|0))|0,1,c[m>>2]|0,c[686608]|0)|0}i=f;return}function yb(a,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;h=e+8|0;j=e+4|0;k=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(!(c[(c[f>>2]|0)+40>>2]|0)){i=e;return}if(!(c[(c[f>>2]|0)+32>>2]&256)){c[j>>2]=Ud(32)|0;c[c[j>>2]>>2]=1;d=Wf(c[686608]|0)|0;c[(c[j>>2]|0)+4>>2]=d;c[(c[j>>2]|0)+8>>2]=c[(c[f>>2]|0)+16>>2];c[(c[j>>2]|0)+12>>2]=c[(c[f>>2]|0)+16>>2];c[(c[j>>2]|0)+16>>2]=c[(c[f>>2]|0)+20>>2];c[(c[j>>2]|0)+20>>2]=c[(c[f>>2]|0)+20>>2];c[(c[j>>2]|0)+24>>2]=4;if(c[(c[f>>2]|0)+32>>2]&32|0){d=(c[j>>2]|0)+24|0;c[d>>2]=c[d>>2]|1}c[(c[j>>2]|0)+28>>2]=1;vb(c[g>>2]|0,c[j>>2]|0)}c[k>>2]=Ud(40)|0;j=zb(2747160,c[(c[f>>2]|0)+36>>2]|0)|0;c[c[k>>2]>>2]=j;c[(c[k>>2]|0)+4>>2]=1;c[(c[k>>2]|0)+8>>2]=0;if(!(c[(c[f>>2]|0)+32>>2]&256)){j=(c[k>>2]|0)+8|0;c[j>>2]=c[j>>2]|2}if(c[(c[f>>2]|0)+32>>2]&32|0){j=(c[k>>2]|0)+8|0;c[j>>2]=c[j>>2]|4}c[(c[k>>2]|0)+12>>2]=c[(c[f>>2]|0)+16>>2];j=Wf(c[686608]|0)|0;c[(c[k>>2]|0)+16>>2]=j;c[(c[k>>2]|0)+20>>2]=c[(c[f>>2]|0)+20>>2];c[(c[k>>2]|0)+24>>2]=0;c[(c[k>>2]|0)+28>>2]=0;c[(c[k>>2]|0)+32>>2]=0;c[(c[k>>2]|0)+36>>2]=0;vb(c[h>>2]|0,c[k>>2]|0);Rf(c[(c[f>>2]|0)+40>>2]|0,1,c[(c[f>>2]|0)+20>>2]|0,c[686608]|0)|0;i=e;return}function zb(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+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]=c[c[f>>2]>>2];while(1){if(!(c[h>>2]|0))break;b=(Ie(c[g>>2]|0,c[c[h>>2]>>2]|0)|0)!=0;j=c[h>>2]|0;if(!b){k=4;break}c[h>>2]=c[j+8>>2]}if((k|0)==4){c[e>>2]=c[j+12>>2];l=c[e>>2]|0;i=d;return l|0}c[h>>2]=Ud(16)|0;if(c[(c[f>>2]|0)+4>>2]|0){j=(c[(c[(c[f>>2]|0)+4>>2]|0)+12>>2]|0)+1|0;k=j+(kf(c[c[(c[f>>2]|0)+4>>2]>>2]|0)|0)|0;c[(c[h>>2]|0)+12>>2]=k}else c[(c[h>>2]|0)+12>>2]=1;k=Ud(1+(kf(c[g>>2]|0)|0)|0)|0;c[c[h>>2]>>2]=k;lf(c[c[h>>2]>>2]|0,c[g>>2]|0)|0;c[(c[h>>2]|0)+4>>2]=c[(c[f>>2]|0)+4>>2];if(c[(c[h>>2]|0)+4>>2]|0)c[(c[(c[h>>2]|0)+4>>2]|0)+8>>2]=c[h>>2];c[(c[f>>2]|0)+4>>2]=c[h>>2];if(!(c[c[f>>2]>>2]|0))c[c[f>>2]>>2]=c[h>>2];c[e>>2]=c[(c[h>>2]|0)+12>>2];l=c[e>>2]|0;i=d;return l|0}function Ab(d){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]=d;c[j>>2]=Ud(16)|0;Hb(c[j>>2]|0,c[686608]|0);while(1){if(!(c[f>>2]|0))break;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+16>>2]|0))break;c[h>>2]=c[(c[(c[f>>2]|0)+20>>2]|0)+(c[g>>2]<<2)>>2];if(c[(c[h>>2]|0)+16>>2]|0){c[j>>2]=Ud(16)|0;d=zb(2747168,c[(c[h>>2]|0)+16>>2]|0)|0;c[c[j>>2]>>2]=d;c[(c[j>>2]|0)+4>>2]=(c[(c[h>>2]|0)+12>>2]|0)+(c[(c[(c[h>>2]|0)+4>>2]|0)+12>>2]|0);d=Ib(2747160,c[(c[(c[(c[h>>2]|0)+4>>2]|0)+4>>2]|0)+36>>2]|0)|0;b[(c[j>>2]|0)+14>>1]=d;a[(c[j>>2]|0)+12>>0]=18;if(!(b[(c[j>>2]|0)+14>>1]|0))b[(c[j>>2]|0)+14>>1]=-15;Hb(c[j>>2]|0,c[686608]|0)}c[g>>2]=(c[g>>2]|0)+1}c[f>>2]=c[c[f>>2]>>2]}i=e;return}function Bb(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;Tf(0,c[f>>2]|0)|0;c[g>>2]=c[c[e>>2]>>2];while(1){if(!(c[g>>2]|0))break;Qf(c[c[g>>2]>>2]|0,c[f>>2]|0)|0;Tf(0,c[f>>2]|0)|0;c[g>>2]=c[(c[g>>2]|0)+8>>2]}i=d;return}function Cb(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;Eb(c[c[e>>2]>>2]|0,c[f>>2]|0);Gb(c[(c[e>>2]|0)+4>>2]|0,c[f>>2]|0);Fb(c[(c[e>>2]|0)+8>>2]|0,c[f>>2]|0);Fb(c[(c[e>>2]|0)+12>>2]|0,c[f>>2]|0);Eb(c[(c[e>>2]|0)+16>>2]|0,c[f>>2]|0);Eb(c[(c[e>>2]|0)+20>>2]|0,c[f>>2]|0);Eb(c[(c[e>>2]|0)+24>>2]|0,c[f>>2]|0);Eb(c[(c[e>>2]|0)+28>>2]|0,c[f>>2]|0);i=d;return}function Db(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;Eb(c[c[e>>2]>>2]|0,c[f>>2]|0);Eb(c[(c[e>>2]|0)+4>>2]|0,c[f>>2]|0);Eb(c[(c[e>>2]|0)+8>>2]|0,c[f>>2]|0);Fb(c[(c[e>>2]|0)+12>>2]|0,c[f>>2]|0);Gb(c[(c[e>>2]|0)+16>>2]|0,c[f>>2]|0);Eb(c[(c[e>>2]|0)+20>>2]|0,c[f>>2]|0);Eb(c[(c[e>>2]|0)+24>>2]|0,c[f>>2]|0);Eb(c[(c[e>>2]|0)+28>>2]|0,c[f>>2]|0);Eb(c[(c[e>>2]|0)+32>>2]|0,c[f>>2]|0);Eb(c[(c[e>>2]|0)+36>>2]|0,c[f>>2]|0);i=d;return}function Eb(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[686687]|0)){Tf(b&255,c[f>>2]|0)|0;Tf((c[e>>2]|0)>>>8&255,c[f>>2]|0)|0;Tf((c[e>>2]|0)>>>16&255,c[f>>2]|0)|0;Tf((c[e>>2]|0)>>>24&255,c[f>>2]|0)|0;i=d;return}else{Tf(b>>>24&255,c[f>>2]|0)|0;Tf((c[e>>2]|0)>>>16&255,c[f>>2]|0)|0;Tf((c[e>>2]|0)>>>8&255,c[f>>2]|0)|0;Tf(c[e>>2]&255,c[f>>2]|0)|0;i=d;return}}function Fb(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[686687]|0)){Tf(b&255,c[f>>2]|0)|0;Tf((c[e>>2]|0)>>>8&255,c[f>>2]|0)|0;Tf((c[e>>2]|0)>>>16&255,c[f>>2]|0)|0;Tf((c[e>>2]|0)>>>24&255,c[f>>2]|0)|0;i=d;return}else{Tf(b>>>24&255,c[f>>2]|0)|0;Tf((c[e>>2]|0)>>>16&255,c[f>>2]|0)|0;Tf((c[e>>2]|0)>>>8&255,c[f>>2]|0)|0;Tf(c[e>>2]&255,c[f>>2]|0)|0;i=d;return}}function Gb(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[686687]|0)){Tf(b&255,c[f>>2]|0)|0;Tf((c[e>>2]|0)>>>8&255,c[f>>2]|0)|0;Tf((c[e>>2]|0)>>>16&255,c[f>>2]|0)|0;Tf((c[e>>2]|0)>>>24&255,c[f>>2]|0)|0;i=d;return}else{Tf(b>>>24&255,c[f>>2]|0)|0;Tf((c[e>>2]|0)>>>16&255,c[f>>2]|0)|0;Tf((c[e>>2]|0)>>>8&255,c[f>>2]|0)|0;Tf(c[e>>2]&255,c[f>>2]|0)|0;i=d;return}}function Hb(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;Eb(c[c[g>>2]>>2]|0,c[h>>2]|0);Fb(c[(c[g>>2]|0)+4>>2]|0,c[h>>2]|0);Eb(c[(c[g>>2]|0)+8>>2]|0,c[h>>2]|0);Tf(d[(c[g>>2]|0)+12>>0]|0,c[h>>2]|0)|0;Tf(d[(c[g>>2]|0)+13>>0]|0,c[h>>2]|0)|0;Jb(b[(c[g>>2]|0)+14>>1]|0,c[h>>2]|0);i=f;return}function Ib(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;e=i;i=i+16|0;f=e+14|0;g=e+8|0;h=e+4|0;j=e;k=e+12|0;c[g>>2]=a;c[h>>2]=d;b[k>>1]=0;c[j>>2]=c[c[g>>2]>>2];while(1){if(!(c[j>>2]|0)){l=6;break}g=(Ie(c[h>>2]|0,c[c[j>>2]>>2]|0)|0)!=0;m=b[k>>1]|0;if(!g){l=4;break}b[k>>1]=m+1<<16>>16;c[j>>2]=c[(c[j>>2]|0)+8>>2]}if((l|0)==4){b[f>>1]=m;n=b[f>>1]|0;i=e;return n|0}else if((l|0)==6){b[f>>1]=0;n=b[f>>1]|0;i=e;return n|0}return 0}function Jb(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;b[f>>1]=a;c[g>>2]=d;d=b[f>>1]|0;if(!(c[686687]|0)){Tf(d&255,c[g>>2]|0)|0;Tf(b[f>>1]>>8&255,c[g>>2]|0)|0;i=e;return}else{Tf(d>>8&255,c[g>>2]|0)|0;Tf(b[f>>1]&255,c[g>>2]|0)|0;i=e;return}}function Kb(){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;c[b>>2]=Sb()|0;c[e>>2]=0;while(1){f=Lb(c[b>>2]|0,c[686629]|0)|0;c[d>>2]=f;if((f|0)<0)break;f=S(c[e>>2]|0,c[686629]|0)|0;c[e>>2]=f+(c[d>>2]|0);c[b>>2]=Tb()|0}Ub(c[b>>2]|0);i=a;return c[e>>2]&c[686688]|0}function Lb(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+8|0;g=e+4|0;h=e;c[g>>2]=b;c[h>>2]=d;do if((c[h>>2]|0)==16)if(a[105645+(c[g>>2]|0)>>0]&64|0){d=c[g>>2]|0;if((c[g>>2]|0)>=65&(c[g>>2]|0)<=70){c[f>>2]=d-65+10;break}b=c[g>>2]|0;if((d|0)>=97&(c[g>>2]|0)<=102){c[f>>2]=b-97+10;break}else{c[f>>2]=b-48;break}}else j=17;else{if((c[h>>2]|0)==10){if(!(a[105645+(c[g>>2]|0)>>0]&32)){j=17;break}c[f>>2]=(c[g>>2]|0)-48;break}if((c[h>>2]|0)==8){if(!(a[105645+(c[g>>2]|0)>>0]&16)){j=17;break}c[f>>2]=(c[g>>2]|0)-48;break}if((c[h>>2]|0)==2?a[105645+(c[g>>2]|0)>>0]&8|0:0)c[f>>2]=(c[g>>2]|0)-48;else j=17}while(0);if((j|0)==17)c[f>>2]=-1;i=e;return c[f>>2]|0}function Mb(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;d=i;i=i+32|0;e=d;f=d+24|0;g=d+20|0;h=d+16|0;j=d+12|0;k=d+8|0;l=d+4|0;c[g>>2]=b;c[k>>2]=Nb()|0;while(1){b=Sb()|0;c[h>>2]=b;if(!(a[105645+b>>0]&4)){m=25;break}b=Ob(c[h>>2]|0)|0;c[j>>2]=b;if((b|0)<=(c[g>>2]|0)){m=25;break}if((c[h>>2]|0)==62|(c[h>>2]|0)==60?(b=c[h>>2]|0,(b|0)!=(Tb()|0)):0){m=6;break}c[l>>2]=Mb(c[j>>2]|0)|0;c[k>>2]=c[k>>2]&c[686688];c[l>>2]=c[l>>2]&c[686688];a:do if((c[h>>2]|0)==43)c[k>>2]=(c[k>>2]|0)+(c[l>>2]|0);else{if((c[h>>2]|0)==45){c[k>>2]=(c[k>>2]|0)-(c[l>>2]|0);break}switch(c[h>>2]|0){case 42:{c[k>>2]=S(c[k>>2]|0,c[l>>2]|0)|0;break a;break}case 47:{if(!(c[l>>2]|0)){c[k>>2]=0;break a}else{c[k>>2]=((c[k>>2]|0)>>>0)/((c[l>>2]|0)>>>0)|0;break a}break}case 38:{c[k>>2]=c[k>>2]&c[l>>2];break a;break}case 124:{c[k>>2]=c[k>>2]|c[l>>2];break a;break}case 37:{if(!(c[l>>2]|0)){c[k>>2]=0;break a}else{c[k>>2]=((c[k>>2]|0)>>>0)%((c[l>>2]|0)>>>0)|0;break a}break}case 94:{c[k>>2]=c[k>>2]^c[l>>2];break a;break}case 60:{c[k>>2]=c[k>>2]<>2];break a;break}case 62:{c[k>>2]=(c[k>>2]|0)>>>(c[l>>2]|0);break a;break}default:break a}}while(0);c[k>>2]=c[k>>2]&c[686688]}if((m|0)==6){Sf(c[25955]|0,106007,e)|0;c[686616]=(c[686616]|0)+1;c[f>>2]=c[k>>2];n=c[f>>2]|0;i=d;return n|0}else if((m|0)==25){Ub(c[h>>2]|0);c[f>>2]=c[k>>2];n=c[f>>2]|0;i=d;return n|0}return 0}function Nb(){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;b=i;i=i+4144|0;d=b+16|0;e=b+8|0;f=b;g=b+40|0;h=b+36|0;j=b+32|0;k=b+28|0;l=b+24|0;m=b+20|0;n=b+48|0;c[h>>2]=Sb()|0;if((c[h>>2]|0)==35)c[h>>2]=Sb()|0;if((c[h>>2]|0)==40){c[l>>2]=Mb(0)|0;if((Sb()|0)!=41){Sf(c[25955]|0,106026,f)|0;c[686616]=(c[686616]|0)+1}c[g>>2]=c[l>>2];o=c[g>>2]|0;i=b;return o|0}if((c[h>>2]|0)==45){c[g>>2]=~(Mb(100)|0)+1;o=c[g>>2]|0;i=b;return o|0}if((c[h>>2]|0)==126){c[g>>2]=~(Mb(100)|0);o=c[g>>2]|0;i=b;return o|0}if((c[h>>2]|0)==39){c[l>>2]=(Yb(-1)|0)&255;c[h>>2]=Tb()|0;if((c[h>>2]|0)!=39)Ub(c[h>>2]|0);c[g>>2]=c[l>>2];o=c[g>>2]|0;i=b;return o|0}if((c[h>>2]|0)==34){f=(c[686687]|0)!=0;p=(Yb(-1)|0)&255;if(f){c[l>>2]=p<<8;f=(Yb(-1)|0)&255;c[l>>2]=c[l>>2]|f}else{c[l>>2]=p;p=((Yb(-1)|0)&255)<<8;c[l>>2]=c[l>>2]|p}c[h>>2]=Tb()|0;if((c[h>>2]|0)!=34)Ub(c[h>>2]|0);c[g>>2]=c[l>>2]&c[686688];o=c[g>>2]|0;i=b;return o|0}if((c[h>>2]|0)==62|(c[h>>2]|0)==60){c[l>>2]=Mb(100)|0;if((c[h>>2]|0)==62)c[l>>2]=(c[l>>2]|0)>>>8;c[g>>2]=c[l>>2]&255;o=c[g>>2]|0;i=b;return o|0}if(!(a[105645+(c[h>>2]|0)>>0]&2)){if(!(a[105645+(c[h>>2]|0)>>0]&1)){p=c[25955]|0;c[d>>2]=c[h>>2];Sf(p,106065,d)|0;c[686616]=(c[686616]|0)+1;c[g>>2]=0;o=c[g>>2]|0;i=b;return o|0}Rb(n,c[h>>2]|0);d=Rd(n,0)|0;c[m>>2]=d;if(!d){d=c[25955]|0;c[e>>2]=n;Sf(d,106044,e)|0;c[686616]=(c[686616]|0)+1;c[g>>2]=0;o=c[g>>2]|0;i=b;return o|0}else{c[g>>2]=Wd(c[m>>2]|0)|0;o=c[g>>2]|0;i=b;return o|0}}c[j>>2]=10;a:do if((c[h>>2]|0)==48){c[h>>2]=Tb()|0;switch(c[h>>2]|0){case 66:case 98:{c[j>>2]=2;c[h>>2]=Tb()|0;break a;break}case 81:case 113:case 79:case 111:case 64:{c[j>>2]=8;c[h>>2]=Tb()|0;break a;break}case 68:case 100:{c[j>>2]=10;c[h>>2]=Tb()|0;break a;break}case 88:case 120:case 72:case 104:{c[j>>2]=16;c[h>>2]=Tb()|0;break a;break}default:break a}}while(0);c[l>>2]=0;while(1){m=Lb(c[h>>2]|0,c[j>>2]|0)|0;c[k>>2]=m;if((m|0)<0)break;m=S(c[j>>2]|0,c[l>>2]|0)|0;c[l>>2]=m+(c[k>>2]|0);c[h>>2]=Tb()|0}Ub(c[h>>2]|0);c[g>>2]=c[l>>2]&c[686688];o=c[g>>2]|0;i=b;return o|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;do if(!((c[e>>2]|0)==42|(c[e>>2]|0)==47|(c[e>>2]|0)==37)){if((c[e>>2]|0)==43|(c[e>>2]|0)==45){c[d>>2]=7;break}if((c[e>>2]|0)==60|(c[e>>2]|0)==62){c[d>>2]=5;break}if((c[e>>2]|0)==94){c[d>>2]=4;break}if((c[e>>2]|0)==38){c[d>>2]=3;break}if((c[e>>2]|0)==124){c[d>>2]=1;break}else{c[d>>2]=0;break}}else c[d>>2]=10;while(0);i=b;return c[d>>2]|0}function Pb(){var a=0,b=0,d=0,e=0;a=i;i=i+4112|0;b=a+4|0;d=a+8|0;e=a;c[686704]=Ud(44)|0;if(!(c[686703]|0))c[686703]=c[686704];else{c[e>>2]=c[686703];while(1){if(!(c[c[e>>2]>>2]|0))break;c[e>>2]=c[c[e>>2]>>2]}c[c[e>>2]>>2]=c[686704]}c[(c[686704]|0)+4>>2]=c[686699];c[(c[686704]|0)+40>>2]=2768565;while(1){if(!($b()|0))break;c[b>>2]=Kb()|0;Rb(d,-1);if(Td(106086,d,1)|0){c[(c[686704]|0)+8>>2]=c[b>>2];if(!(c[b>>2]|0))continue;e=Ud(c[b>>2]<<2)|0;c[(c[686704]|0)+12>>2]=e;continue}if(Td(106092,d,1)|0){c[(c[686704]|0)+16>>2]=c[b>>2];if(c[b>>2]|0){e=Ud(c[b>>2]<<2)|0;c[(c[686704]|0)+20>>2]=e}Xb(-1);continue}if(Td(106099,d,1)|0){c[(c[686704]|0)+24>>2]=c[b>>2];if(!(c[b>>2]|0))continue;e=Ud(c[b>>2]<<2)|0;c[(c[686704]|0)+28>>2]=e;continue}if(!(Td(106105,d,1)|0))continue;c[(c[686704]|0)+32>>2]=c[b>>2];if(!(c[b>>2]|0))continue;e=Ud(c[b>>2]<<2)|0;c[(c[686704]|0)+36>>2]=e}kb(c[6]|0);c[(c[686707]|0)+32>>2]=8;c[(c[686708]|0)+12>>2]=0;i=a;return}function Qb(){var a=0,b=0,d=0;a=i;i=i+4112|0;b=a+8|0;if(c[686703]|0){Rb(b,-1);d=Vd(b)|0;c[(c[686704]|0)+40>>2]=d;i=a;return}else{Sf(c[25955]|0,112989,a)|0;c[686616]=(c[686616]|0)+1;i=a;return}}function Rb(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;g=e+4|0;h=e;c[f>>2]=b;c[g>>2]=d;if((c[g>>2]|0)<0)c[g>>2]=Sb()|0;c[h>>2]=c[f>>2];do{if((c[h>>2]|0)>>>0<((c[f>>2]|0)+4095|0)>>>0){d=c[g>>2]&255;b=c[h>>2]|0;c[h>>2]=b+1;a[b>>0]=d}d=Tb()|0;c[g>>2]=d}while((a[105645+d>>0]&3|0)!=0);Ub(c[g>>2]|0);g=c[h>>2]|0;c[h>>2]=g+1;a[g>>0]=0;i=e;return}function Sb(){var a=0,b=0,d=0;a=i;i=i+16|0;b=a;do{d=Tb()|0;c[b>>2]=d}while((d|0)==32?1:(c[b>>2]|0)==9);i=a;return c[b>>2]|0}function Tb(){var b=0,d=0,e=0;b=i;i=i+16|0;d=b;e=a[c[686617]>>0]|0;c[d>>2]=e;if(e|0)c[686617]=(c[686617]|0)+1;i=b;return c[d>>2]&255|0}function Ub(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}c[686617]=(c[686617]|0)+-1;i=b;return}function Vb(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[e>>2]=b;c[f>>2]=Sb()|0;c[g>>2]=c[e>>2];do{if((c[g>>2]|0)>>>0<((c[e>>2]|0)+4095|0)>>>0){b=c[f>>2]&255;h=c[g>>2]|0;c[g>>2]=h+1;a[h>>0]=b}c[f>>2]=Tb()|0}while((c[f>>2]|0)!=0&(c[f>>2]|0)!=32&(c[f>>2]|0)!=9);Ub(c[f>>2]|0);f=c[g>>2]|0;c[g>>2]=f+1;a[f>>0]=0;i=d;return}function Wb(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[f>>2];if(!($d()|0)){do{if((c[h>>2]|0)>>>0<((c[f>>2]|0)+4095|0)>>>0){d=c[g>>2]&255;b=c[h>>2]|0;c[h>>2]=b+1;a[b>>0]=d}c[g>>2]=Tb()|0}while((c[g>>2]|0)!=0&(c[g>>2]|0)!=32&(c[g>>2]|0)!=9);d=c[h>>2]|0;c[h>>2]=d+1;a[d>>0]=0;i=e;return}do{if((c[h>>2]|0)>>>0<((c[f>>2]|0)+4095|0)>>>0){d=c[g>>2]&255;b=c[h>>2]|0;c[h>>2]=b+1;a[b>>0]=d}c[g>>2]=Tb()|0;if((c[g>>2]|0)==59&(c[g>>2]|0)!=0)do c[g>>2]=Tb()|0;while((c[g>>2]|0)!=0)}while((c[g>>2]|0)!=0);c[h>>2]=(c[h>>2]|0)+-1;while(1){if((c[h>>2]|0)>>>0>=(c[f>>2]|0)>>>0)j=(a[105645+(a[c[h>>2]>>0]&127)>>0]|0)==0;else j=0;k=c[h>>2]|0;if(!j)break;c[h>>2]=k+-1}j=k+1|0;c[h>>2]=j;a[j>>0]=0;i=e;return}function Xb(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;if((c[e>>2]|0)<0)c[e>>2]=Sb()|0;do{b=Tb()|0;c[e>>2]=b}while((a[105645+b>>0]&3|0)!=0);Ub(c[e>>2]|0);i=d;return}function Yb(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;d=b+16|0;e=b+12|0;f=b+8|0;g=b+4|0;h=b;c[e>>2]=a;a=Tb()|0;c[f>>2]=a;if(!a){c[d>>2]=-1;j=c[d>>2]|0;i=b;return j|0}if((c[f>>2]|0)==(c[e>>2]|0)){c[d>>2]=-1;j=c[d>>2]|0;i=b;return j|0}a:do if((c[f>>2]|0)==92){c[f>>2]=Tb()|0;switch(c[f>>2]|0){case 98:{c[f>>2]=8;break a;break}case 102:{c[f>>2]=12;break a;break}case 110:{c[f>>2]=10;break a;break}case 114:{c[f>>2]=13;break a;break}case 116:{c[f>>2]=9;break a;break}case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{c[g>>2]=0;c[h>>2]=0;while(1){e=(c[g>>2]|0)+1|0;c[g>>2]=e;if(!((e|0)<=3&(c[f>>2]|0)>=48&(c[f>>2]|0)<=55))break;c[h>>2]=(c[h>>2]<<3)+(c[f>>2]|0)-48;c[f>>2]=Tb()|0}Ub(c[f>>2]|0);c[f>>2]=c[h>>2];break a;break}default:break a}}while(0);c[d>>2]=c[f>>2];j=c[d>>2]|0;i=b;return j|0}function Zb(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;a=i;i=i+32|0;b=a+8|0;d=a;e=a+20|0;f=a+16|0;g=a+12|0;while(1){if((c[686625]|0)!=0&(c[686699]|0)!=0?(c[(c[686699]|0)+4>>2]|0)==1:0)Sf(c[25984]|0,106111,d)|0;if(c[686613]|0?Xf(2751845,4096,c[686613]|0)|0:0){h=34;break}c[686605]=0;if(c[686613]|0){if((c[686613]|0)!=(c[25926]|0))Yf(c[686613]|0)|0;c[686613]=0;uc(0)}if(!(c[686699]|0))c[686699]=c[686698];else c[686699]=c[c[686699]>>2];if(!(c[686699]|0)){h=33;break}c[f>>2]=c[(c[686699]|0)+4>>2];c[g>>2]=c[(c[686699]|0)+8>>2];do if((c[f>>2]|0)==1)c[686613]=c[25926];else{if((c[f>>2]|0)==2){j=c[g>>2]|0;k=(uf(c[g>>2]|0,46)|0)!=0;c[686613]=Ic(j,k?2768565:106122,0)|0;break}if((c[f>>2]|0)!=3){Sf(c[25955]|0,106134,b)|0;Gc(3);break}c[686605]=c[(c[686699]|0)+16>>2];c[686613]=Ic(c[g>>2]|0,2768565,0)|0;if((c[686613]|0)!=0&(c[686605]|0)==0?(c[686626]|0)!=0&(c[686632]|0)!=0:0){if($d()|0)Pa(c[g>>2]|0);k=Ic(c[g>>2]|0,106126,0)|0;c[686614]=k;if(k|0?(k=Ic(c[g>>2]|0,106130,1)|0,c[686612]=k,(k|0)==0):0){Yf(c[686614]|0)|0;c[686614]=0}}if((c[686613]|0)!=0&(c[686632]|0)==0)de(c[g>>2]|0);c[686691]=1}while(0);if(c[686613]|0)continue;Gc(3)}if((h|0)==33){c[686698]=0;c[e>>2]=0;l=c[e>>2]|0;i=a;return l|0}else if((h|0)==34){_b(2751845);c[e>>2]=1;l=c[e>>2]|0;i=a;return l|0}return 0}function _b(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]=kf(c[e>>2]|0)|0;if((c[f>>2]|0)>=1?(a[(c[e>>2]|0)+((c[f>>2]|0)-1)>>0]|0)==10:0)a[(c[e>>2]|0)+((c[f>>2]|0)-1)>>0]=0;if((c[f>>2]|0)<2){i=d;return}if((a[(c[e>>2]|0)+((c[f>>2]|0)-2)>>0]|0)!=13){i=d;return}a[(c[e>>2]|0)+((c[f>>2]|0)-2)>>0]=0;i=d;return}function $b(){var a=0,b=0;a=i;i=i+16|0;b=a;c[b>>2]=Sb()|0;if((c[b>>2]|0)!=0&(c[b>>2]|0)!=59?(ac(c[b>>2]|0)|0)==0:0)Gc(3);Ub(c[b>>2]|0);i=a;return (((c[b>>2]|0)==0?1:(c[b>>2]|0)==59)?0:1)|0}function ac(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;do if(!(48<=(c[e>>2]|0)&(c[e>>2]|0)<=57)){if(65<=(c[e>>2]|0)&(c[e>>2]|0)<=70){c[d>>2]=1;break}if(97<=(c[e>>2]|0)&(c[e>>2]|0)<=102){c[d>>2]=1;break}else{c[d>>2]=0;break}}else c[d>>2]=1;while(0);i=b;return c[d>>2]|0}function bc(){var a=0,b=0;a=i;i=i+16|0;b=a;c[b>>2]=Sb()|0;i=a;return ((c[b>>2]|0)==0|(c[b>>2]|0)==59?0:c[b>>2]|0)&255|0}function cc(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 1}function dc(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;g=i;i=i+8224|0;h=g+8|0;j=g;k=g+28|0;l=g+24|0;m=g+20|0;n=g+16|0;o=g+4128|0;p=g+12|0;q=g+32|0;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;while(1){if(!(Na(o,4096,c[l>>2]|0)|0))break;if(c[(c[k>>2]|0)+4>>2]|0){lf(q,c[(c[k>>2]|0)+4>>2]|0)|0;if((a[q>>0]|0?(a[q+((kf(q)|0)-1)>>0]|0)!=47:0)?(a[q+((kf(q)|0)-1)>>0]|0)!=47:0)xf(q,106249)|0}else a[q>>0]=0;if((a[o>>0]|0)!=47?(a[o>>0]|0)!=47:0)xf(q,o)|0;else xf(q,o+1|0)|0;if(!(nf(o,46)|0)){f=q+(kf(q)|0)|0;c[j>>2]=46;c[j+4>>2]=112956;Le(f,106153,j)|0}f=Af(q,112822)|0;c[p>>2]=f;if(!f){f=c[25955]|0;c[h>>2]=q;Sf(f,106158,h)|0;continue}f=(c[686794]|0)==0;e=Ud(32)|0;if(f){c[m>>2]=e;c[686794]=e}else{c[(c[m>>2]|0)+28>>2]=e;c[m>>2]=c[(c[m>>2]|0)+28>>2]}c[(c[m>>2]|0)+28>>2]=0;c[c[m>>2]>>2]=-1;c[(c[m>>2]|0)+4>>2]=c[(c[k>>2]|0)+12>>2];e=tf(o)|0;c[(c[m>>2]|0)+8>>2]=e;e=tf(q)|0;c[(c[m>>2]|0)+12>>2]=e;c[(c[m>>2]|0)+20>>2]=c[n>>2];c[(c[m>>2]|0)+24>>2]=0;lc(c[p>>2]|0,-1,c[m>>2]|0)|0;Yf(c[p>>2]|0)|0}i=g;return c[m>>2]|0}function ec(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;f=b+4|0;c[e>>2]=a;c[f>>2]=Af(c[(c[e>>2]|0)+12>>2]|0,112822)|0;if(c[f>>2]|0){jd(c[f>>2]|0,-1)|0;Yf(c[f>>2]|0)|0;i=b;return}else{a=c[25955]|0;c[d>>2]=c[(c[e>>2]|0)+12>>2];Sf(a,112874,d)|0;Yf(c[f>>2]|0)|0;Gc(1);i=b;return}}function fc(){var a=0,b=0,d=0;a=i;i=i+16|0;b=a+4|0;d=a;c[b>>2]=Ud(8)|0;if(!(c[686785]|0))c[686785]=c[b>>2];else{c[d>>2]=c[686785];while(1){if(!(c[c[d>>2]>>2]|0))break;c[d>>2]=c[c[d>>2]>>2]}c[c[d>>2]>>2]=c[b>>2]}Ub(Sb()|0);d=tf(c[686617]|0)|0;c[(c[b>>2]|0)+4>>2]=d;i=a;return}function gc(){var a=0,b=0,d=0,e=0,f=0;a=i;i=i+16|0;b=a;d=a+8|0;e=a+4|0;c[e>>2]=0;Ub(Sb()|0);a:do if(!(c[686785]|0))c[e>>2]=hc(0,c[686617]|0)|0;else{c[d>>2]=c[686785];while(1){if(!(c[d>>2]|0))break a;f=hc(c[(c[d>>2]|0)+4>>2]|0,c[686617]|0)|0;c[e>>2]=(c[e>>2]|0)+f;c[d>>2]=c[c[d>>2]>>2]}}while(0);if(c[e>>2]|0){i=a;return}e=c[25955]|0;c[b>>2]=c[686617];Sf(e,106205,b)|0;i=a;return}function hc(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;e=i;i=i+48|0;f=e;g=e+40|0;h=e+36|0;j=e+32|0;k=e+28|0;l=e+24|0;m=e+20|0;n=e+16|0;o=e+12|0;p=e+8|0;q=e+4|0;c[h>>2]=b;c[j>>2]=d;c[p>>2]=0;if(c[h>>2]|0){d=kf(c[h>>2]|0)|0;c[l>>2]=Ud(d+(kf(c[j>>2]|0)|0)+6|0)|0;lf(c[l>>2]|0,c[h>>2]|0)|0;d=c[l>>2]|0;c[m>>2]=d+(kf(c[l>>2]|0)|0)+-1;if((kf(c[l>>2]|0)|0?(a[c[m>>2]>>0]|0)!=47:0)?(a[c[m>>2]>>0]|0)!=47:0)xf(c[l>>2]|0,106249)|0}else c[l>>2]=Ud((kf(c[j>>2]|0)|0)+5|0)|0;if(!((a[c[j>>2]>>0]|0)!=47?(a[c[j>>2]>>0]|0)!=47:0)){c[j>>2]=(c[j>>2]|0)+1;c[p>>2]=1}xf(c[l>>2]|0,c[j>>2]|0)|0;if(!(nf(c[j>>2]|0,46)|0)){m=kf(c[l>>2]|0)|0;d=(c[l>>2]|0)+m|0;c[f>>2]=46;Le(d,106251,f)|0}c[k>>2]=Af(c[l>>2]|0,112822)|0;if(!(c[k>>2]|0)){if(c[p>>2]|0)c[j>>2]=(c[j>>2]|0)+-1;c[k>>2]=Af(c[j>>2]|0,112822)|0;if(c[k>>2]|0){lf(c[l>>2]|0,c[j>>2]|0)|0;c[h>>2]=0}}if(!(c[h>>2]|0)){c[h>>2]=tf(c[l>>2]|0)|0;c[q>>2]=(kf(c[h>>2]|0)|0)-1;while(1){if((c[q>>2]|0)<0)break;if((a[(c[h>>2]|0)+(c[q>>2]|0)>>0]|0)==47){r=22;break}if((a[(c[h>>2]|0)+(c[q>>2]|0)>>0]|0)==47){r=22;break}c[q>>2]=(c[q>>2]|0)+-1}if((r|0)==22){lf(c[j>>2]|0,(c[h>>2]|0)+((c[q>>2]|0)+1)|0)|0;a[(c[h>>2]|0)+((c[q>>2]|0)+1)>>0]=0}if((c[q>>2]|0)<=0)a[c[h>>2]>>0]=0}if(!(c[k>>2]|0)){qg(c[l>>2]|0);c[g>>2]=0;s=c[g>>2]|0;i=e;return s|0}Yf(c[k>>2]|0)|0;c[n>>2]=Ud(20)|0;if(!(c[686786]|0))c[686786]=c[n>>2];else{c[o>>2]=c[686786];while(1){if(!(c[c[o>>2]>>2]|0))break;c[o>>2]=c[c[o>>2]>>2]}c[c[o>>2]>>2]=c[n>>2]}c[(c[n>>2]|0)+4>>2]=c[h>>2];h=tf(c[j>>2]|0)|0;c[(c[n>>2]|0)+8>>2]=h;c[(c[n>>2]|0)+12>>2]=c[l>>2];c[(c[n>>2]|0)+16>>2]=c[686620];c[g>>2]=1;s=c[g>>2]|0;i=e;return s|0}function ic(){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[f>>2]=1;a:while(1){if(!(c[f>>2]|0))break;c[f>>2]=0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=64)continue a;c[d>>2]=c[2746836+(c[e>>2]<<2)>>2];while(1){if(!(c[d>>2]|0))break;if((a[(c[d>>2]|0)+8>>0]&2|0)==0?jc(c[(c[d>>2]|0)+16>>2]|0)|0:0)c[f>>2]=(c[f>>2]|0)+1;c[d>>2]=c[c[d>>2]>>2]}c[e>>2]=(c[e>>2]|0)+1}}i=b;return}function jc(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,p=0,q=0,r=0;d=i;i=i+8256|0;e=d+16|0;f=d+8|0;g=d;h=d+48|0;j=d+44|0;k=d+40|0;l=d+36|0;m=d+32|0;n=d+28|0;o=d+24|0;p=d+4152|0;q=d+56|0;c[h>>2]=b;c[m>>2]=0;c[o>>2]=0;if(!(c[686794]|0))kc()|0;c[n>>2]=c[686794];c[l>>2]=c[686794];while(1){if(!(c[l>>2]|0))break;c[m>>2]=c[(c[l>>2]|0)+24>>2];while(1){if(!(c[m>>2]|0))break;do if(!(Ie(c[c[m>>2]>>2]|0,c[h>>2]|0)|0)){if((c[o>>2]|0)==0?(c[c[l>>2]>>2]|0)==0:0){c[j>>2]=Ud(28)|0;if(!(c[686787]|0))c[686787]=c[j>>2];else{c[k>>2]=c[686787];while(1){if(!(c[c[k>>2]>>2]|0))break;c[k>>2]=c[c[k>>2]>>2]}c[c[k>>2]>>2]=c[j>>2]}c[(c[j>>2]|0)+4>>2]=c[(c[l>>2]|0)+4>>2];c[(c[j>>2]|0)+12>>2]=c[(c[l>>2]|0)+12>>2];b=tf(c[(c[l>>2]|0)+8>>2]|0)|0;c[(c[j>>2]|0)+8>>2]=b;c[(c[j>>2]|0)+20>>2]=c[(c[l>>2]|0)+16>>2];c[(c[j>>2]|0)+24>>2]=c[(c[l>>2]|0)+20>>2];Fa[c[(c[100+(c[(c[j>>2]|0)+24>>2]<<2)>>2]|0)+8>>2]&7](c[j>>2]|0);c[c[l>>2]>>2]=1}if(!(c[o>>2]|0)){c[o>>2]=(c[o>>2]|0)+1;c[n>>2]=c[l>>2];break}if(!(ng(c[(c[n>>2]|0)+4>>2]|0,p)|0))a[p>>0]=0;if(!(ng(c[(c[l>>2]|0)+4>>2]|0,q)|0))a[q>>0]=0;if((Ie(p,q)|0)==0?(Ie(c[(c[n>>2]|0)+8>>2]|0,c[(c[l>>2]|0)+8>>2]|0)|0)==0:0)break;if((c[o>>2]|0)==1){b=c[25955]|0;c[g>>2]=c[h>>2];Sf(b,106257,g)|0;b=c[25955]|0;r=c[(c[n>>2]|0)+8>>2]|0;c[f>>2]=c[(c[n>>2]|0)+4>>2];c[f+4>>2]=r;Sf(b,106329,f)|0}b=c[25955]|0;r=c[(c[l>>2]|0)+8>>2]|0;c[e>>2]=c[(c[l>>2]|0)+4>>2];c[e+4>>2]=r;Sf(b,106329,e)|0;c[o>>2]=(c[o>>2]|0)+1}while(0);c[m>>2]=c[(c[m>>2]|0)+4>>2]}c[l>>2]=c[(c[l>>2]|0)+28>>2]}i=d;return c[o>>2]|0}function kc(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;a=i;i=i+32|0;b=a+8|0;d=a;e=a+24|0;f=a+20|0;g=a+16|0;h=a+12|0;c[e>>2]=0;c[f>>2]=c[686786];while(1){if(!(c[f>>2]|0))break;j=Af(c[(c[f>>2]|0)+12>>2]|0,112822)|0;c[g>>2]=j;if(!j){j=c[25955]|0;c[d>>2]=c[(c[f>>2]|0)+12>>2];Sf(j,106361,d)|0;Gc(1)}c[h>>2]=0;while(1){if((c[h>>2]|0)>>>0>=3)break;j=(Ba[c[c[100+(c[h>>2]<<2)>>2]>>2]&7](c[g>>2]|0)|0)!=0;k=c[h>>2]|0;if(j){l=8;break}c[h>>2]=k+1}if((l|0)==8){l=0;c[e>>2]=Ea[c[(c[100+(k<<2)>>2]|0)+4>>2]&3](c[f>>2]|0,c[g>>2]|0,c[e>>2]|0,c[h>>2]|0)|0}if((c[h>>2]|0)>>>0>=3){j=c[25955]|0;c[b>>2]=c[(c[f>>2]|0)+12>>2];Sf(j,106404,b)|0}Yf(c[g>>2]|0)|0;c[f>>2]=c[c[f>>2]>>2]}i=a;return 0}function lc(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;f=e+16|0;g=e+12|0;h=e+8|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[h>>2];c[j+4>>2]=c[(c[h>>2]|0)+24>>2];if(!(c[(c[h>>2]|0)+24>>2]|0)){kd(c[f>>2]|0,c[g>>2]|0,1,j)|0;i=e;return c[j+4>>2]|0}else ia(106450,106472,606,106481);return 0}function mc(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;c[g>>2]=c[f>>2];c[h>>2]=Ud(8)|0;c[c[c[g>>2]>>2]>>2]=0;c[(c[h>>2]|0)+4>>2]=0;f=tf(c[e>>2]|0)|0;c[c[h>>2]>>2]=f;f=c[h>>2]|0;h=c[g>>2]|0;if(!(c[(c[g>>2]|0)+4>>2]|0)){c[(c[h>>2]|0)+24>>2]=f;c[(c[g>>2]|0)+4>>2]=f;i=d;return 0}else{c[(c[h+4>>2]|0)+4>>2]=f;c[(c[g>>2]|0)+4>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+4>>2];i=d;return 0}return 0}function nc(){var a=0,b=0,d=0,e=0,f=0;a=i;i=i+16|0;b=a+12|0;d=a+8|0;e=a+4|0;f=a;c[b>>2]=c[686794];while(1){if(!(c[b>>2]|0))break;c[e>>2]=c[(c[b>>2]|0)+24>>2];while(1){if(!(c[e>>2]|0))break;qg(c[c[e>>2]>>2]|0);c[f>>2]=c[e>>2];c[e>>2]=c[(c[e>>2]|0)+4>>2];qg(c[f>>2]|0)}qg(c[(c[b>>2]|0)+12>>2]|0);qg(c[(c[b>>2]|0)+8>>2]|0);c[d>>2]=c[b>>2];c[b>>2]=c[(c[b>>2]|0)+28>>2];qg(c[d>>2]|0)}c[686794]=0;i=a;return}function oc(){var a=0,b=0;a=i;i=i+16|0;b=a;c[b>>2]=c[686787];while(1){if(!(c[b>>2]|0))break;c[686605]=c[(c[b>>2]|0)+16>>2];Fa[c[(c[100+(c[(c[b>>2]|0)+24>>2]<<2)>>2]|0)+8>>2]&7](c[b>>2]|0);c[b>>2]=c[c[b>>2]>>2]}nc();i=a;return}function pc(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;a=c[e>>2]|0;e=(c[686630]|0)+1|0;c[686630]=e;c[d>>2]=110146;c[d+4>>2]=e;Sf(a,106495,d)|0;c[686631]=1;i=b;return}function qc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;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]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[k>>2]|0)){m=6;break}e=c[j>>2]|0;c[j>>2]=e+1;if(!(a[105645+(a[e>>0]&127)>>0]&c[h>>2])){m=4;break}c[l>>2]=(c[l>>2]|0)+1}if((m|0)==4){c[g>>2]=0;n=c[g>>2]|0;i=f;return n|0}else if((m|0)==6){c[g>>2]=1;n=c[g>>2]|0;i=f;return n|0}return 0}function rc(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,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;e=i;i=i+272|0;f=e+232|0;g=e+224|0;h=e+216|0;j=e+208|0;k=e+200|0;l=e+192|0;m=e+184|0;n=e+176|0;o=e+168|0;p=e+160|0;q=e+152|0;r=e+144|0;s=e+136|0;t=e+128|0;u=e+120|0;v=e+112|0;w=e+104|0;x=e+96|0;y=e+88|0;z=e+80|0;A=e+72|0;B=e+64|0;C=e+56|0;D=e+48|0;E=e+40|0;F=e+32|0;G=e+24|0;H=e+16|0;I=e+8|0;J=e;K=e+268|0;L=e+264|0;M=e+260|0;N=e+256|0;O=e+252|0;P=e+248|0;Q=e+244|0;R=e+240|0;S=e+236|0;c[K>>2]=b;c[L>>2]=d;d=c[686631]|0;c[686631]=d+1;if((d|0)<60){i=e;return}pc(c[686611]|0);switch(c[686624]|0){case 2:{c[O>>2]=106543;break}case 1:{c[O>>2]=106537;break}default:c[O>>2]=106525}d=c[686611]|0;b=c[686686]<<3;c[J>>2]=c[O>>2];c[J+4>>2]=b;Sf(d,106551,J)|0;if(a[c[(c[L>>2]|0)+4>>2]>>0]|0){J=c[686611]|0;c[I>>2]=c[(c[L>>2]|0)+4>>2];Sf(J,106566,I)|0;c[686631]=(c[686631]|0)+1}Sf(c[686611]|0,112623,H)|0;H=c[686611]|0;if(c[686627]|0){Sf(H,106582,G)|0;Sf(c[686611]|0,106627,F)|0;Sf(c[686611]|0,106675,E)|0;Sf(c[686611]|0,106720,D)|0}else{Sf(H,106768,C)|0;Sf(c[686611]|0,106803,B)|0;Sf(c[686611]|0,106848,A)|0;Sf(c[686611]|0,106883,z)|0}c[R>>2]=c[(c[K>>2]|0)+16>>2]&c[686688];c[S>>2]=c[(c[K>>2]|0)+20>>2]&c[686688];c[Q>>2]=c[(c[K>>2]|0)+36>>2];z=c[686611]|0;A=c[Q>>2]|0;if(c[686627]|0){c[y>>2]=A;Sf(z,106928,y)|0}else{c[x>>2]=A;Sf(z,106937,x)|0}switch(c[686686]|0){case 4:{switch(c[686624]|0){case 2:{c[O>>2]=107138;break}case 1:{c[O>>2]=107125;break}default:c[O>>2]=107108}c[P>>2]=107153;break}case 3:{switch(c[686624]|0){case 2:{c[O>>2]=107073;break}case 1:{c[O>>2]=107056;break}default:c[O>>2]=107035}c[P>>2]=107090;break}default:{switch(c[686624]|0){case 2:{c[O>>2]=106992;break}case 1:{c[O>>2]=106971;break}default:c[O>>2]=106946}c[P>>2]=107015}}x=c[686611]|0;z=c[O>>2]|0;A=c[S>>2]|0;c[w>>2]=c[R>>2];c[w+4>>2]=A;Sf(x,z,w)|0;w=c[686611]|0;z=c[P>>2]|0;c[v>>2]=c[S>>2];Sf(w,z,v)|0;v=c[686611]|0;if(c[(c[K>>2]|0)+32>>2]&8|0)Sf(v,107170,u)|0;else Sf(v,107175,t)|0;t=c[686611]|0;if(c[(c[K>>2]|0)+32>>2]&4|0)Sf(t,107180,s)|0;else Sf(t,107185,r)|0;if(c[(c[K>>2]|0)+32>>2]&16|0)Sf(c[686611]|0,107190,q)|0;if(c[(c[K>>2]|0)+32>>2]&32|0)Sf(c[686611]|0,107195,p)|0;if(c[(c[K>>2]|0)+32>>2]&64|0)Sf(c[686611]|0,107201,o)|0;if(c[(c[K>>2]|0)+32>>2]&128|0)Sf(c[686611]|0,107208,n)|0;Sf(c[686611]|0,107213,m)|0;if(c[686627]|0){dg(10,c[686611]|0)|0;Sf(c[686611]|0,107216,l)|0;Sf(c[686611]|0,107263,k)|0;Sf(c[686611]|0,107292,j)|0;Sf(c[686611]|0,107338,h)|0}else{if(((c[686686]|0)+-3|0)>>>0<2){c[O>>2]=107407;c[P>>2]=107433;c[N>>2]=3}else{c[O>>2]=107367;c[P>>2]=107387;c[N>>2]=4}dg(10,c[686611]|0)|0;c[M>>2]=0;while(1){T=c[686611]|0;if((c[M>>2]|0)>=(c[N>>2]|0))break;c[g>>2]=c[O>>2];Sf(T,107459,g)|0;c[M>>2]=(c[M>>2]|0)+1}dg(10,T)|0;c[M>>2]=0;while(1){U=c[686611]|0;if((c[M>>2]|0)>=(c[N>>2]|0))break;c[f>>2]=c[P>>2];Sf(U,107459,f)|0;c[M>>2]=(c[M>>2]|0)+1}dg(10,U)|0}c[686631]=(c[686631]|0)+9;i=e;return}function sc(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,D=0,E=0;d=i;i=i+144|0;e=d+72|0;f=d+64|0;g=d+56|0;h=d+48|0;j=d+40|0;k=d+32|0;l=d+24|0;m=d+16|0;n=d+8|0;o=d;p=d+132|0;q=d+128|0;r=d+124|0;s=d+120|0;t=d+116|0;u=d+112|0;v=d+108|0;w=d+104|0;x=d+100|0;y=d+96|0;z=d+92|0;A=d+88|0;B=d+84|0;C=d+80|0;D=d+76|0;c[p>>2]=a;c[q>>2]=b;c[x>>2]=0;c[r>>2]=c[(c[p>>2]|0)+4>>2];while(1){if(!(c[r>>2]|0))break;c[s>>2]=0;while(1){if((c[s>>2]|0)>=64)break;c[B>>2]=c[2746836+(c[s>>2]<<2)>>2];while(1){if(!(c[B>>2]|0))break;if((c[r>>2]|0)==(c[(c[B>>2]|0)+4>>2]|0))c[x>>2]=(c[x>>2]|0)+1;c[B>>2]=c[c[B>>2]>>2]}c[s>>2]=(c[s>>2]|0)+1}c[r>>2]=c[c[r>>2]>>2]}if((c[x>>2]|0)==0?(c[(c[p>>2]|0)+20>>2]|0)==0:0){i=d;return}c[686631]=60;rc(c[p>>2]|0,c[q>>2]|0);if(!(c[x>>2]|0)){i=d;return}b=pg(c[x>>2]<<2)|0;c[C>>2]=b;if(!b){Sf(c[686611]|0,107462,o)|0;i=d;return}c[x>>2]=0;c[r>>2]=c[(c[p>>2]|0)+4>>2];while(1){if(!(c[r>>2]|0))break;c[s>>2]=0;while(1){if((c[s>>2]|0)>=64)break;c[B>>2]=c[2746836+(c[s>>2]<<2)>>2];while(1){if(!(c[B>>2]|0))break;if((c[r>>2]|0)==(c[(c[B>>2]|0)+4>>2]|0)){o=c[B>>2]|0;b=c[x>>2]|0;c[x>>2]=b+1;c[(c[C>>2]|0)+(b<<2)>>2]=o}c[B>>2]=c[c[B>>2]>>2]}c[s>>2]=(c[s>>2]|0)+1}c[r>>2]=c[c[r>>2]>>2]}a:do if($d()|0)ef(c[C>>2]|0,c[x>>2]|0,4,2);else{c[t>>2]=1;b:while(1){if(!(c[t>>2]|0))break a;c[t>>2]=0;c[B>>2]=c[c[C>>2]>>2];c[y>>2]=(c[(c[B>>2]|0)+12>>2]|0)+(c[(c[(c[B>>2]|0)+4>>2]|0)+12>>2]|0);c[s>>2]=1;while(1){if((c[s>>2]|0)>=(c[x>>2]|0))continue b;c[B>>2]=c[(c[C>>2]|0)+(c[s>>2]<<2)>>2];c[z>>2]=(c[(c[B>>2]|0)+12>>2]|0)+(c[(c[(c[B>>2]|0)+4>>2]|0)+12>>2]|0);if((c[y>>2]|0)>>>0>(c[z>>2]|0)>>>0){c[t>>2]=1;c[(c[C>>2]|0)+(c[s>>2]<<2)>>2]=c[(c[C>>2]|0)+((c[s>>2]|0)-1<<2)>>2];c[(c[C>>2]|0)+((c[s>>2]|0)-1<<2)>>2]=c[B>>2]}c[y>>2]=c[z>>2];c[s>>2]=(c[s>>2]|0)+1}}}while(0);if(((c[686686]|0)+-3|0)>>>0<2)c[u>>2]=3;else c[u>>2]=4;if(!(c[(c[p>>2]|0)+32>>2]&32|0))if(c[(c[p>>2]|0)+32>>2]&64|0)E=13;else E=c[(c[p>>2]|0)+32>>2]&128|0?11:0;else E=12;c[D>>2]=E;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[x>>2]|0))break;do if(c[686627]|0){rc(c[p>>2]|0,c[q>>2]|0);E=($d()|0)!=0;z=((c[686686]|0)+-3|0)>>>0<2;if(!E){if(z)c[v>>2]=107530;else c[v>>2]=107521;E=c[686611]|0;c[l>>2]=c[v>>2];Sf(E,107459,l)|0;break}if(z)c[v>>2]=2768565;else c[v>>2]=107504;z=c[686611]|0;E=c[v>>2]|0;if(c[D>>2]|0){y=c[D>>2]|0;c[n>>2]=E;c[n+4>>2]=y;Sf(z,107510,n)|0;break}else{c[m>>2]=E;Sf(z,107516,m)|0;break}}else if(!((c[s>>2]|0)%(c[u>>2]|0)|0)){rc(c[p>>2]|0,c[q>>2]|0);c[v>>2]=107534;z=c[686611]|0;c[k>>2]=c[v>>2];Sf(z,107459,k)|0}while(0);c[B>>2]=c[(c[C>>2]|0)+(c[s>>2]<<2)>>2];c[A>>2]=(c[(c[B>>2]|0)+12>>2]|0)+(c[(c[(c[B>>2]|0)+4>>2]|0)+12>>2]|0)&c[686688];c:do switch(c[686686]|0){case 4:{switch(c[686624]|0){case 2:{c[v>>2]=107611;break c;break}case 1:{c[v>>2]=107603;break c;break}default:{c[v>>2]=107593;break c}}break}case 3:{switch(c[686624]|0){case 2:{c[v>>2]=107583;break c;break}case 1:{c[v>>2]=107573;break c;break}default:{c[v>>2]=107561;break c}}break}default:switch(c[686624]|0){case 2:{c[v>>2]=107553;break c;break}case 1:{c[v>>2]=107546;break c;break}default:{c[v>>2]=107537;break c}}}while(0);z=c[686611]|0;E=c[v>>2]|0;c[j>>2]=c[A>>2];Sf(z,E,j)|0;c[w>>2]=c[(c[B>>2]|0)+16>>2];if(c[686621]|0)Vc(c[w>>2]|0,c[A>>2]|0,c[q>>2]|0);if(c[686622]|0)ee(c[w>>2]|0,c[A>>2]|0);if(c[686627]|0){E=c[686611]|0;c[h>>2]=c[w>>2];Sf(E,106928,h)|0;c[s>>2]=(c[s>>2]|0)+1;c[w>>2]=c[(c[B>>2]|0)+20>>2];if(c[w>>2]|0){E=c[686611]|0;c[g>>2]=c[w>>2];Sf(E,107620,g)|0}}else{if(((c[686686]|0)+-3|0)>>>0<2)c[v>>2]=107637;else c[v>>2]=107630;E=c[686611]|0;z=c[v>>2]|0;c[f>>2]=c[w>>2];Sf(E,z,f)|0;z=(c[s>>2]|0)+1|0;c[s>>2]=z;if((z|0)<(c[x>>2]|0)?(c[s>>2]|0)%(c[u>>2]|0)|0|0:0)Sf(c[686611]|0,107644,e)|0}if((c[686627]|0)==0?(c[s>>2]|0)%(c[u>>2]|0)|0|0:0)continue;dg(10,c[686611]|0)|0}if((c[s>>2]|0)%(c[u>>2]|0)|0|0)dg(10,c[686611]|0)|0;qg(c[C>>2]|0);i=d;return}function tc(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+20|0;f=d+16|0;g=d+12|0;h=d+8|0;j=d+4|0;k=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=c[f>>2];c[j>>2]=c[g>>2];c[k>>2]=(c[(c[c[h>>2]>>2]|0)+12>>2]|0)+(c[(c[(c[c[h>>2]>>2]|0)+4>>2]|0)+12>>2]|0)-((c[(c[c[j>>2]>>2]|0)+12>>2]|0)+(c[(c[(c[c[j>>2]>>2]|0)+4>>2]|0)+12>>2]|0));if(c[k>>2]|0){c[e>>2]=c[k>>2];l=c[e>>2]|0;i=d;return l|0}else{c[e>>2]=Ie(c[(c[c[h>>2]>>2]|0)+16>>2]|0,c[(c[c[j>>2]>>2]|0)+16>>2]|0)|0;l=c[e>>2]|0;i=d;return l|0}return 0}function uc(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+8|0;e=b;f=b+20|0;g=b+16|0;h=b+12|0;c[f>>2]=a;if(!(c[686614]|0)){i=b;return}if(!(c[f>>2]|0)){if(!(c[686691]|0)){a=c[686612]|0;c[e>>2]=2755941;Sf(a,107459,e)|0}while(1){if(!(Xf(2755941,4094,c[686614]|0)|0))break;e=c[686612]|0;c[d>>2]=2755941;Sf(e,107459,d)|0}Yf(c[686614]|0)|0;c[686614]=0;Yf(c[686612]|0)|0;c[686612]=0;i=b;return}d=c[686633]|0;if((c[686635]|0)==(c[686686]|0)){vc(d);i=b;return}c[g>>2]=d;c[h>>2]=0;c[f>>2]=c[686686];while(1){if((c[f>>2]|0)>=(c[686635]|0))break;if(c[2746608+(c[f>>2]<<2)>>2]|0){wc(c[g>>2]|0,c[2746544+(c[f>>2]<<2)>>2]&255,c[2746672+(c[f>>2]<<2)>>2]|0);c[h>>2]=(c[h>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+((c[h>>2]|0)%(c[686634]|0)|0|0?0:1)}c[f>>2]=(c[f>>2]|0)+1}i=b;return}function vc(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;b=i;i=i+80|0;d=b+32|0;e=b+24|0;f=b+16|0;g=b+8|0;h=b;j=b+52|0;k=b+56|0;l=b+48|0;m=b+44|0;n=b+40|0;o=b+36|0;c[j>>2]=a;c[j>>2]=c[j>>2]&c[686688];while(1){if(!(c[686614]|0)){p=28;break}if(!(c[686691]|0)){a=c[686612]|0;c[h>>2]=2755941;Sf(a,107459,h)|0;c[686691]=1}xg(2755941,0,4096)|0;if(!(Xf(2755941,4094,c[686614]|0)|0)){p=6;break}if(((c[686686]|0)+-3|0)>>>0<2)c[n>>2]=38;else c[n>>2]=30;if(!(qc(32,2755941+(c[n>>2]|0)|0,1)|0)){a=c[686612]|0;c[g>>2]=2755941;Sf(a,107459,g)|0;continue}a:do switch(c[686629]|0){case 8:{c[o>>2]=16;switch(c[686686]|0){case 4:{c[n>>2]=2;c[m>>2]=11;c[l>>2]=107701;break a;break}case 3:{c[n>>2]=5;c[m>>2]=8;c[l>>2]=107696;break a;break}default:{c[n>>2]=3;c[m>>2]=6;c[l>>2]=107691;break a}}break}case 10:{c[o>>2]=32;switch(c[686686]|0){case 4:{c[n>>2]=3;c[m>>2]=10;c[l>>2]=107679;break a;break}case 3:{c[n>>2]=5;c[m>>2]=8;c[l>>2]=107674;break a;break}default:{c[n>>2]=4;c[m>>2]=5;c[l>>2]=107669;break a}}break}default:{c[o>>2]=64;switch(c[686686]|0){case 4:{c[n>>2]=4;c[m>>2]=8;c[l>>2]=107658;break a;break}case 3:{c[n>>2]=6;c[m>>2]=6;c[l>>2]=107653;break a;break}default:{c[n>>2]=3;c[m>>2]=4;c[l>>2]=107648;break a}}}}while(0);if(qc(c[o>>2]|0,2755941+(c[n>>2]|0)|0,c[m>>2]|0)|0){p=27;break}a=c[686612]|0;c[f>>2]=2755941;Sf(a,107459,f)|0}if((p|0)==6){Yf(c[686614]|0)|0;c[686614]=0;Yf(c[686612]|0)|0;c[686612]=0;i=b;return}else if((p|0)==27){f=c[l>>2]|0;c[e>>2]=c[j>>2];Le(k,f,e)|0;df(2755941+(c[n>>2]|0)|0,k,c[m>>2]|0)|0;m=c[686612]|0;c[d>>2]=2755941;Sf(m,107459,d)|0;c[686692]=0;i=b;return}else if((p|0)==28){i=b;return}}function wc(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,x=0,y=0,z=0;f=i;i=i+112|0;g=f+40|0;h=f+32|0;j=f+24|0;k=f+16|0;l=f+8|0;m=f;n=f+84|0;o=f+80|0;p=f+76|0;q=f+88|0;r=f+72|0;s=f+68|0;t=f+64|0;u=f+60|0;v=f+56|0;w=f+52|0;x=f+48|0;y=f+44|0;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[n>>2]=c[n>>2]&c[686688];a:while(1){if(!(c[686614]|0)){z=46;break}if(c[686691]|0){xg(2755941,0,4096)|0;if(!(Xf(2755941,4094,c[686614]|0)|0)){z=5;break}do if((c[686692]|0)!=-1){if(((c[686686]|0)+-3|0)>>>0<2)c[u>>2]=38;else c[u>>2]=30;if(qc(32,2755941+(c[u>>2]|0)|0,1)|0){c[686692]=0;break}else{e=c[686612]|0;c[m>>2]=2755941;Sf(e,107459,m)|0;continue a}}while(0);c[686691]=0}switch(c[686629]|0){case 8:{c[w>>2]=16;switch(c[686686]|0){case 4:{c[t>>2]=14;c[x>>2]=4;c[u>>2]=2;c[v>>2]=11;c[y>>2]=5;c[r>>2]=107701;break}case 3:{c[t>>2]=14;c[x>>2]=4;c[u>>2]=5;c[v>>2]=8;c[y>>2]=5;c[r>>2]=107696;break}default:{c[t>>2]=10;c[x>>2]=4;c[u>>2]=3;c[v>>2]=6;c[y>>2]=4;c[r>>2]=107691}}c[s>>2]=107707;break}case 10:{c[w>>2]=32;switch(c[686686]|0){case 4:{c[t>>2]=14;c[x>>2]=4;c[u>>2]=3;c[v>>2]=10;c[y>>2]=5;c[r>>2]=107679;break}case 3:{c[t>>2]=14;c[x>>2]=4;c[u>>2]=5;c[v>>2]=8;c[y>>2]=5;c[r>>2]=107674;break}default:{c[t>>2]=10;c[x>>2]=4;c[u>>2]=4;c[v>>2]=5;c[y>>2]=4;c[r>>2]=107669}}c[s>>2]=107685;break}default:{c[w>>2]=64;switch(c[686686]|0){case 4:{c[t>>2]=13;c[x>>2]=3;c[u>>2]=4;c[v>>2]=8;c[y>>2]=7;c[r>>2]=107658;break}case 3:{c[t>>2]=13;c[x>>2]=3;c[u>>2]=6;c[v>>2]=6;c[y>>2]=7;c[r>>2]=107653;break}default:{c[t>>2]=8;c[x>>2]=3;c[u>>2]=3;c[v>>2]=4;c[y>>2]=6;c[r>>2]=107648}}c[s>>2]=107663}}e=c[t>>2]|0;if((c[686692]|0)==-1)c[686618]=2755941+e;else c[686618]=2755941+(e+(S(c[x>>2]|0,c[686692]|0)|0));if(qc(c[w>>2]|0,c[686618]|0,(c[x>>2]|0)-1|0)|0){z=35;break}e=c[686612]|0;c[l>>2]=2755941;Sf(e,107459,l)|0;c[686691]=1}if((z|0)==5){Yf(c[686614]|0)|0;c[686614]=0;Yf(c[686612]|0)|0;c[686612]=0;i=f;return}else if((z|0)==35){l=c[s>>2]|0;c[k>>2]=c[o>>2];Le(q,l,k)|0;df((c[686618]|0)+-1|0,q,c[x>>2]|0)|0;if((c[686692]|0)==-1)c[686692]=0;if((c[686692]|0)==0?qc(c[w>>2]|0,2755941+(c[u>>2]|0)|0,c[v>>2]|0)|0:0){w=c[r>>2]|0;c[j>>2]=c[n>>2];Le(q,w,j)|0;df(2755941+(c[u>>2]|0)|0,q,c[v>>2]|0)|0}if((c[p>>2]|0)!=0&(c[686615]|0)==3){v=c[686612]|0;c[h>>2]=c[103596+(c[p>>2]<<2)>>2];Sf(v,107713,h)|0}if((a[2755941+((c[t>>2]|0)+(S(c[x>>2]|0,c[y>>2]|0)|0)-1)>>0]|0)==93)c[y>>2]=(c[y>>2]|0)-1;x=(c[686692]|0)+1|0;c[686692]=x;if((x|0)!=(c[y>>2]|0)){i=f;return}y=c[686612]|0;c[g>>2]=2755941;Sf(y,107459,g)|0;c[686691]=1;c[686692]=-1;i=f;return}else if((z|0)==46){i=f;return}}function xc(){var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+112|0;d=b+72|0;e=b+8|0;f=b+4|0;g=b;h=d;j=680;k=h+40|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e;j=720;k=h+60|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));j=(c[686606]|0)!=0;c[f>>2]=0;a:do if(j)while(1){if(!(a[c[e+(c[f>>2]<<2)>>2]>>0]|0))break a;c[686617]=c[e+(c[f>>2]<<2)>>2];yc();c[f>>2]=(c[f>>2]|0)+1}else while(1){if(!(a[c[d+(c[f>>2]<<2)>>2]>>0]|0))break a;c[686617]=c[d+(c[f>>2]<<2)>>2];yc();c[f>>2]=(c[f>>2]|0)+1}while(0);c[686707]=c[686706];while(1){if(!(c[686707]|0))break;f=(Ie(c[(c[686707]|0)+36>>2]|0,110215)|0)!=0;d=c[686707]|0;do if(f){e=(Ie(c[d+36>>2]|0,110226)|0)!=0;j=c[686707]|0;if(!e){c[j+16>>2]=8;c[(c[686707]|0)+24>>2]=1;break}e=(Ie(c[j+36>>2]|0,110237)|0)!=0;j=c[686707]|0;if(!e){c[j+16>>2]=16;c[(c[686707]|0)+24>>2]=1;break}e=(Ie(c[j+36>>2]|0,110248)|0)!=0;j=c[686707]|0;if(!e){c[j+16>>2]=24;c[(c[686707]|0)+24>>2]=1;break}if(!(Ie(c[j+36>>2]|0,110259)|0)){c[(c[686707]|0)+16>>2]=32;c[(c[686707]|0)+24>>2]=1;break}if((be()|0)==4?(j=(Ie(c[(c[686707]|0)+36>>2]|0,110270)|0)==0,j&(c[686607]|0)!=0):0)c[(c[(c[686707]|0)+4>>2]|0)+16>>2]=c[686607]}else{c[d+16>>2]=0;c[(c[686707]|0)+24>>2]=1}while(0);c[686707]=c[c[686707]>>2]}c[g>>2]=Rd(109054,1)|0;c[(c[g>>2]|0)+12>>2]=(c[686697]|0)>>>0>0&(c[686697]|0)>>>0<=256?c[686697]|0:256;c[(c[g>>2]|0)+4>>2]=0;d=(c[g>>2]|0)+8|0;a[d>>0]=a[d>>0]|2;i=b;return}function yc(){var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+32|0;d=b;e=b+16|0;f=bc()|0;a[e>>0]=f;if(!(f<<24>>24)){i=b;return}switch(a[e>>0]|0){case 79:{if(!(($d()|0)!=0&(c[686632]|0)==0)){i=b;return}if(!(c[686693]|0)){c[686693]=Vd((c[686617]|0)+1|0)|0;c[686694]=c[(c[686704]|0)+40>>2];i=b;return}if(!(Ie(c[686693]|0,(c[686617]|0)+1|0)|0)){i=b;return}f=c[25955]|0;g=c[686694]|0;h=(c[686617]|0)+1|0;j=c[(c[686704]|0)+40>>2]|0;c[d>>2]=c[686693];c[d+4>>2]=g;c[d+8>>2]=h;c[d+12>>2]=j;Sf(f,109061,d)|0;c[686616]=(c[686616]|0)+1;i=b;return}case 81:case 68:case 88:{c[686615]=3;c[686686]=2;c[686687]=0;do if((a[e>>0]|0)!=88){if((a[e>>0]|0)==68){c[686629]=10;break}if((a[e>>0]|0)==81)c[686629]=8}else c[686629]=16;while(0);a:while(1){d=(Tb()|0)&255;a[e>>0]=d;if(!(d<<24>>24))break;switch(a[e>>0]|0){case 72:{c[686687]=1;continue a;break}case 76:{c[686687]=0;continue a;break}case 50:{c[686686]=2;continue a;break}case 51:{c[686686]=3;continue a;break}case 52:{c[686686]=4;continue a;break}default:continue a}}switch(c[686686]|0){case 2:break;case 3:{c[686688]=16777215;c[686689]=8388608;c[686690]=8388607;i=b;return}case 4:{c[686688]=-1;c[686689]=-2147483648;c[686690]=2147483647;i=b;return}default:c[686686]=2}c[686688]=65535;c[686689]=32768;c[686690]=32767;i=b;return}case 72:{do if(c[686632]|0)if(!(c[686704]|0)){c[686704]=c[686703];break}else{c[686704]=c[c[686704]>>2];break}else Pb();while(0);c[686777]=0;c[686778]=0;c[686779]=0;i=b;return}case 77:{if(c[686632]|0){i=b;return}Qb();i=b;return}case 65:{if(!(c[686632]|0))jb();if(c[686777]|0){i=b;return}c[686777]=c[686706];c[686778]=c[(c[686706]|0)+4>>2];c[686779]=0;i=b;return}case 83:{if(c[686632]|0){i=b;return}Qd()|0;i=b;return}case 80:case 82:case 84:{if(!(c[686632]|0)){i=b;return}ld(a[e>>0]|0);i=b;return}case 59:{Ub(a[e>>0]|0);Uc();i=b;return}default:{i=b;return}}}function zc(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;e=i;i=i+64|0;f=e+32|0;g=e+24|0;h=e+16|0;j=e+56|0;k=e+52|0;l=e+48|0;m=e+44|0;n=e+40|0;o=e+36|0;c[e+60>>2]=0;c[j>>2]=b;c[k>>2]=d;if((Ac()|0)<4){Sf(c[25955]|0,109512,e)|0;xa(3)}Zd(c[c[k>>2]>>2]|0);c[686686]=4;c[686688]=-1;c[686689]=-2147483648;c[686690]=2147483647;if(!($d()|0))Sf(c[25984]|0,112623,e+8|0)|0;c[686700]=Ud(20)|0;c[(c[686700]|0)+8>>2]=2768565;c[686625]=1;c[m>>2]=1;while(1){if((c[m>>2]|0)>=(c[j>>2]|0))break;c[686617]=2751845;a:do if((a[c[(c[k>>2]|0)+(c[m>>2]<<2)>>2]>>0]|0)==45){c[n>>2]=c[m>>2];c[o>>2]=1;while(1){d=a[(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)+(c[o>>2]|0)>>0]|0;c[l>>2]=d;if(!d)break a;c[686617]=2751845;d=c[686617]|0;c[h>>2]=c[l>>2];Le(d,109568,h)|0;b:do switch(c[l>>2]|0){case 83:case 67:case 88:case 73:case 70:case 102:case 76:case 108:case 75:case 107:case 71:case 103:case 66:case 98:{xf(c[686617]|0,109572)|0;d=c[686617]|0;if((c[m>>2]|0)<((c[j>>2]|0)-1|0)){b=(c[m>>2]|0)+1|0;c[m>>2]=b;xf(d,c[(c[k>>2]|0)+(b<<2)>>2]|0)|0;break b}else{lf(d,2768565)|0;break b}break}case 78:case 110:{c[686625]=0;break}case 80:case 112:{c[686625]=1;break}default:{}}while(0);if(c[686625]|0){d=c[25984]|0;c[g>>2]=c[686617];Sf(d,109574,g)|0}Bc()|0;c[o>>2]=(c[o>>2]|0)+1}}else{lf(c[686617]|0,c[(c[k>>2]|0)+(c[m>>2]<<2)>>2]|0)|0;if(c[686625]|0){d=c[25984]|0;c[f>>2]=c[686617];Sf(d,109574,f)|0}Bc()|0}while(0);c[m>>2]=(c[m>>2]|0)+1}if(!(c[686701]|0))Cc(3);if((c[686702]|0)==(c[686701]|0)){m=Ud(20)|0;c[c[686702]>>2]=m;c[686702]=c[c[686702]>>2];m=Vd(c[(c[686701]|0)+8>>2]|0)|0;c[(c[686702]|0)+8>>2]=m;m=Dc(c[(c[686701]|0)+8>>2]|0)|0;c[(c[686702]|0)+12>>2]=m;c[(c[686702]|0)+16>>2]=c[686620];c[(c[686702]|0)+4>>2]=3}Pd();ce();c[686632]=0;while(1){if((c[686632]|0)>=2)break;c[686699]=0;c[686613]=0;c[686698]=c[c[686701]>>2];c[686704]=0;c[686629]=10;if((be()|0)==4)xc();while(1){if(!(Zb()|0))break;c[686617]=2751845;yc()}if(!(c[686632]|0)){ic();c[686686]=4;c[686688]=-1;c[686689]=-2147483648;c[686690]=2147483647;pb();fe();if(c[686606]|0)qb();else lb();ge(c[25955]|0);Ec();Xd(c[25955]|0);Tc();Fc();do if(c[686695]|0){m=c[686706]|0;if(c[686606]|0){if(!(Sc(m)|0))break;Gc(1);break}else{if(!(Rc(m)|0))break;Gc(1);break}}while(0);if(!((c[686697]|0)==0|(c[686606]|0)!=0))Hc();he()}else{oc();ld(69)}c[686632]=(c[686632]|0)+1}if((be()|0)!=4){p=c[686616]|0;q=(p|0)!=0;r=q?2:0;Gc(r);i=e;return 0}ab();p=c[686616]|0;q=(p|0)!=0;r=q?2:0;Gc(r);i=e;return 0}function Ac(){return 4}function Bc(){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;b=i;i=i+4128|0;d=b+8|0;e=b;f=b+20|0;g=b+16|0;h=b+12|0;j=b+24|0;a:while(1){k=Sb()|0;c[g>>2]=k;if(!k){l=78;break}if((c[g>>2]|0)==59){l=4;break}if((c[g>>2]|0)!=45){if(a[105645+(c[g>>2]|0)>>0]&-128|0){Sf(c[25955]|0,110196,d)|0;Gc(3);continue}k=(c[686701]|0)==0;m=Ud(20)|0;if(k){c[686701]=m;c[686702]=c[686701];c[(c[686702]|0)+4>>2]=0}else{c[c[686702]>>2]=m;c[686702]=c[c[686702]>>2];c[(c[686702]|0)+4>>2]=3}Wb(j,c[g>>2]|0);m=Vd(j)|0;c[(c[686702]|0)+8>>2]=m;c[(c[686702]|0)+16>>2]=c[686620];continue}b:while(1){m=Tb()|0;c[g>>2]=m;n=c[g>>2]|0;if(!(a[105645+m>>0]&1))break;do switch(n|0){case 70:case 102:{l=14;break a;break}case 101:{l=57;break a;break}case 66:case 98:{l=60;break a;break}case 71:case 103:{l=61;break a;break}case 75:case 107:{l=62;break a;break}case 76:case 108:{l=63;break a;break}case 67:{if(($d()|0?(be()|0)!=2:0)?(be()|0)!=1:0){l=11;break a}else l=12;break}case 99:{l=12;break}case 73:{if(($d()|0?(be()|0)!=2:0)?(be()|0)!=1:0){l=24;break a}else l=25;break}case 105:{l=25;break}case 83:{if((be()|0)==4){l=27;break a}else l=34;break}case 115:{l=34;break}case 84:case 116:{c[686619]=3;continue b;break}case 79:case 111:{c[686620]=0;continue b;break}case 86:case 118:{c[686620]=1;continue b;break}case 77:{if($d()|0){c[686695]=1;continue b}else l=40;break}case 109:{l=40;break}case 74:case 106:{c[686621]=1;continue b;break}case 82:case 114:{if(($d()|0?(be()|0)!=2:0)?(be()|0)!=1:0){c[686696]=1;continue b}else l=69;break}case 85:case 117:{c[686626]=1;continue b;break}case 88:{if(($d()|0?(be()|0)!=2:0)?(be()|0)!=1:0){l=50;break a}else l=51;break}case 120:{l=51;break}case 81:case 113:{c[686624]=1;continue b;break}case 68:case 100:{c[686624]=2;continue b;break}case 69:{if((be()|0)!=5?(be()|0)!=6:0){l=57;break a}c[686619]=4;continue b;break}case 78:case 110:{c[686625]=0;continue b;break}case 80:case 112:{c[686625]=1;continue b;break}case 87:case 119:{c[686627]=1;continue b;break}case 89:{if((be()|0)==4){Ub(Sb()|0);c[686606]=1;continue b}else l=67;break}case 121:{l=67;break}case 90:case 122:{c[686628]=1;continue b;break}default:l=69}while(0);if((l|0)==12){l=0;if(c[(c[686700]|0)+4>>2]|0)continue;else{l=13;break a}}else if((l|0)==25){l=0;c[686619]=1;continue}else if((l|0)==34){l=0;c[686619]=2;continue}else if((l|0)==40){l=0;c[686623]=1;continue}else if((l|0)==51){l=0;c[686624]=0;continue}else if((l|0)==67){l=0;c[686622]=1;continue}else if((l|0)==69){l=0;m=c[25955]|0;c[e>>2]=c[g>>2];Sf(m,110168,e)|0;continue}}if((n|0)==59){l=71;break}}switch(l|0){case 4:{c[f>>2]=0;o=c[f>>2]|0;i=b;return o|0}case 11:{Jc();c[f>>2]=0;o=c[f>>2]|0;i=b;return o|0}case 13:{c[(c[686700]|0)+4>>2]=1;Kc();c[f>>2]=0;o=c[f>>2]|0;i=b;return o|0}case 14:{if((c[(c[686700]|0)+4>>2]|0)==2){c[f>>2]=0;o=c[f>>2]|0;i=b;return o|0}Ub(Sb()|0);if(!(a[c[686617]>>0]|0))Cc(3);c[h>>2]=c[(c[686700]|0)+4>>2];l=Vd(c[686617]|0)|0;c[(c[686700]|0)+8>>2]=l;l=Dc(c[686617]|0)|0;c[(c[686700]|0)+12>>2]=l;c[(c[686700]|0)+4>>2]=2;Kc();if((c[h>>2]|0)==1){c[686699]=0;c[686613]=0;c[(c[686700]|0)+4>>2]=1;c[686698]=c[686700]}c[f>>2]=0;o=c[f>>2]|0;i=b;return o|0}case 24:{Lc();c[f>>2]=0;o=c[f>>2]|0;i=b;return o|0}case 27:{Ub(Sb()|0);do if(c[686617]|0?a[c[686617]>>0]|0:0){c[686607]=Mb(0)|0;if((c[686607]|0)>256){c[686607]=256;break}if((c[686607]|0)<0)c[686607]=0}while(0);c[f>>2]=0;o=c[f>>2]|0;i=b;return o|0}case 50:{Mc();c[f>>2]=0;o=c[f>>2]|0;i=b;return o|0}case 57:{c[f>>2]=1;o=c[f>>2]|0;i=b;return o|0}case 60:{Nc();c[f>>2]=0;o=c[f>>2]|0;i=b;return o|0}case 61:{Oc();c[f>>2]=0;o=c[f>>2]|0;i=b;return o|0}case 62:{fc();c[f>>2]=0;o=c[f>>2]|0;i=b;return o|0}case 63:{gc();c[f>>2]=0;o=c[f>>2]|0;i=b;return o|0}case 71:{c[f>>2]=0;o=c[f>>2]|0;i=b;return o|0}case 78:{c[f>>2]=0;o=c[f>>2]|0;i=b;return o|0}}return 0}function Cc(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+8|0;e=b;f=b+16|0;g=b+12|0;c[f>>2]=a;a=c[25955]|0;h=($d()|0)!=0;c[e>>2]=h?113193:110123;c[e+4>>2]=110146;Sf(a,110130,e)|0;if((be()|0)!=4)if((be()|0)==5)j=400;else{if((be()|0)==2)k=1;else k=(be()|0)==1;j=k?552:112}else j=244;c[g>>2]=j;while(1){if(!(c[c[g>>2]>>2]|0))break;j=c[25955]|0;c[d>>2]=c[c[g>>2]>>2];Sf(j,111687,d)|0;c[g>>2]=(c[g>>2]|0)+4}Gc(c[f>>2]|0);i=b;return}function Dc(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+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=c[d>>2];a=uf(c[e>>2]|0,58)|0;c[f>>2]=a;if(a|0)c[e>>2]=(c[f>>2]|0)+1;a=uf(c[e>>2]|0,47)|0;c[f>>2]=a;if(a|0)c[e>>2]=(c[f>>2]|0)+1;a=uf(c[e>>2]|0,92)|0;c[f>>2]=a;if(!a){g=c[e>>2]|0;h=c[d>>2]|0;j=g;k=h;l=j-k|0;i=b;return l|0}c[e>>2]=(c[f>>2]|0)+1;g=c[e>>2]|0;h=c[d>>2]|0;j=g;k=h;l=j-k|0;i=b;return l|0}function Ec(){var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+4128|0;d=b+16|0;e=b+8|0;f=b;g=b+24|0;h=b+20|0;j=b+32|0;c[686776]=c[686775];while(1){if(!(c[686776]|0))break;c[686617]=c[(c[686776]|0)+4>>2];Rb(j,-1);do if((Sb()|0)==61){c[g>>2]=Mb(0)|0;c[h>>2]=Rd(j,0)|0;if(!(c[h>>2]|0)){k=c[25955]|0;c[f>>2]=j;Sf(k,110040,f)|0;c[686616]=(c[686616]|0)+1;break}if(a[(c[h>>2]|0)+8>>0]&2|0){k=c[25955]|0;c[e>>2]=j;Sf(k,110068,e)|0;c[686616]=(c[686616]|0)+1;c[(c[h>>2]|0)+4>>2]=0}c[(c[h>>2]|0)+12>>2]=c[g>>2];k=(c[h>>2]|0)+8|0;a[k>>0]=a[k>>0]|2}else{Sf(c[25955]|0,110095,d)|0;c[686616]=(c[686616]|0)+1}while(0);c[686776]=c[c[686776]>>2]}i=b;return}function Fc(){var a=0,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;a=i;i=i+144|0;b=a+128|0;d=a+120|0;e=a+112|0;f=a+104|0;g=a+96|0;h=a+88|0;j=a+80|0;k=a+64|0;l=a+56|0;m=a+48|0;n=a+40|0;o=a+32|0;p=a+24|0;q=a+16|0;r=a+8|0;s=a;t=a+140|0;u=a+136|0;v=a+132|0;if(!(c[686623]|0)){i=a;return}c[686611]=Ic(c[(c[686701]|0)+8>>2]|0,109674,1)|0;if(!(c[686611]|0))Gc(3);c[686630]=0;c[686631]=60;c[686705]=c[21];while(1){if(!(c[686705]|0))break;c[686707]=c[686706];while(1){if(!(c[686707]|0))break;if((c[(c[686707]|0)+8>>2]|0)==(c[686705]|0))sc(c[686707]|0,c[686705]|0);c[686707]=c[c[686707]>>2]}c[686705]=c[c[686705]>>2]}pc(c[686611]|0);Sf(c[686611]|0,109678,s)|0;c[u>>2]=c[686703];c[686698]=c[c[686701]>>2];while(1){if(!(c[686698]|0))break;s=(kf(c[(c[686698]|0)+8>>2]|0)|0)>>>0>40;w=c[686611]|0;x=c[(c[686698]|0)+8>>2]|0;if(s){c[r>>2]=x;c[r+4>>2]=2768565;Sf(w,109737,r)|0}else{c[q>>2]=x;Sf(w,109749,q)|0}c[t>>2]=0;while(1){if(!(c[u>>2]|0))break;if((c[(c[u>>2]|0)+4>>2]|0)!=(c[686698]|0))break;if(c[t>>2]|0){w=c[686611]|0;c[p>>2]=2768565;Sf(w,109762,p)|0}w=c[686611]|0;c[o>>2]=c[(c[u>>2]|0)+40>>2];Sf(w,109769,o)|0;c[u>>2]=c[c[u>>2]>>2];c[t>>2]=(c[t>>2]|0)+1}Sf(c[686611]|0,109776,n)|0;c[686698]=c[c[686698]>>2]}Sf(c[686611]|0,112623,m)|0;if(c[686787]|0){Sf(c[686611]|0,109780,l)|0;c[v>>2]=c[686787];while(1){if(!(c[v>>2]|0))break;l=(kf(c[(c[v>>2]|0)+4>>2]|0)|0)>>>0>40;m=c[686611]|0;n=c[(c[v>>2]|0)+4>>2]|0;t=c[(c[v>>2]|0)+8>>2]|0;if(l){c[k>>2]=n;c[k+4>>2]=2768565;c[k+8>>2]=t;Sf(m,109841,k)|0}else{c[j>>2]=n;c[j+4>>2]=t;Sf(m,109862,j)|0}c[v>>2]=c[c[v>>2]>>2]}Sf(c[686611]|0,112623,h)|0}a:do if(c[686773]|0){pc(c[686611]|0);Sf(c[686611]|0,109884,g)|0;c[686774]=c[686773];while(1){if(!(c[686774]|0))break a;h=c[686611]|0;c[f>>2]=c[(c[686774]|0)+4>>2];Sf(h,111687,f)|0;c[686774]=c[c[686774]>>2]}}while(0);b:do if(c[686775]|0){pc(c[686611]|0);Sf(c[686611]|0,109917,e)|0;c[686776]=c[686775];while(1){if(!(c[686776]|0))break b;f=c[686611]|0;c[d>>2]=c[(c[686776]|0)+4>>2];Sf(f,111687,d)|0;c[686776]=c[c[686776]>>2]}}while(0);Sf(c[686611]|0,109944,b)|0;ge(c[686611]|0);Xd(c[686611]|0);i=a;return}function Gc(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;c[d>>2]=a;ie();if(c[686609]|0)Yf(c[686609]|0)|0;if(c[686611]|0)Yf(c[686611]|0)|0;if(c[686612]|0)Yf(c[686612]|0)|0;if(c[686613]|0?(c[686613]|0)!=(c[25926]|0):0)Yf(c[686613]|0)|0;if(c[686614]|0)Yf(c[686614]|0)|0;if(!(c[686610]|0)){e=c[d>>2]|0;xa(e|0)}Yf(c[686610]|0)|0;e=c[d>>2]|0;xa(e|0)}function Hc(){var a=0,b=0,d=0,e=0,f=0;a=i;i=i+16|0;b=a;d=a+8|0;e=a+4|0;c[e>>2]=c[686706];while(1){if(!(c[e>>2]|0))break;do if(c[(c[e>>2]|0)+20>>2]|0){if((Ie(c[(c[e>>2]|0)+36>>2]|0,110289)|0?Ie(c[(c[e>>2]|0)+36>>2]|0,110294)|0:0)?Ie(c[(c[e>>2]|0)+36>>2]|0,110275)|0:0)break;c[d>>2]=(c[(c[e>>2]|0)+16>>2]|0)+(c[(c[e>>2]|0)+20>>2]|0)-1;if((c[d>>2]|0)>>>0>=(c[686697]|0)>>>0){f=c[25955]|0;c[b>>2]=c[(c[e>>2]|0)+36>>2];Sf(f,109588,b)|0}}while(0);c[e>>2]=c[c[e>>2]>>2]}i=a;return}function Ic(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;f=i;i=i+64|0;g=f+8|0;h=f;j=f+48|0;k=f+44|0;l=f+40|0;m=f+36|0;n=f+32|0;o=f+28|0;p=f+24|0;q=f+20|0;r=f+16|0;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;if((kf(c[k>>2]|0)|0)>>>0>4089){e=c[25955]|0;c[h>>2]=c[k>>2];Sf(e,109947,h)|0;c[686616]=(c[686616]|0)+1;c[j>>2]=0;s=c[j>>2]|0;i=f;return s|0}lf(2747749,c[k>>2]|0)|0;c[p>>2]=Dc(2747749)|0;c[n>>2]=uf(2747749+(c[p>>2]|0)|0,46)|0;c[o>>2]=c[l>>2]|0?c[l>>2]|0:2768565;do if(!(a[c[o>>2]>>0]|0))if(!(c[n>>2]|0)){c[o>>2]=112956;break}else{c[o>>2]=(uf((c[k>>2]|0)+(c[p>>2]|0)|0,46)|0)+1;break}while(0);if(!(c[n>>2]|0))c[n>>2]=2747749+(kf(2747749)|0);k=c[n>>2]|0;c[n>>2]=k+1;a[k>>0]=46;while(1){k=c[o>>2]|0;c[o>>2]=k+1;h=a[k>>0]|0;c[p>>2]=h;t=c[n>>2]|0;if(!h)break;if(t>>>0>=2751844>>>0)continue;h=c[p>>2]&255;k=c[n>>2]|0;c[n>>2]=k+1;a[k>>0]=h}c[n>>2]=t+1;a[t>>0]=0;switch(c[m>>2]|0){case 2:{c[q>>2]=109991;break}case 1:{c[q>>2]=109989;break}default:c[q>>2]=109987}t=Af(2747749,c[q>>2]|0)|0;c[r>>2]=t;if((t|0)==0?Ie(c[l>>2]|0,113307)|0:0){l=c[25955]|0;c[g>>2]=c[m>>2]|0?109994:110001;c[g+4>>2]=2747749;Sf(l,110006,g)|0;c[686616]=(c[686616]|0)+1}c[j>>2]=c[r>>2];s=c[j>>2]|0;i=f;return s|0}function Jc(){Ub(Sb()|0);if(c[686617]|0?a[c[686617]>>0]|0:0){c[8]=Mb(0)|0;return}c[8]=c[686696]|0?16777216:65536;return}function Kc(){var b=0,d=0,e=0;b=i;i=i+16|0;d=b;c[686699]=0;c[686613]=0;c[686698]=c[686700];do{c[686617]=2751845;if(!(Zb()|0))break;if(c[686625]|0?(c[(c[686699]|0)+4>>2]|0)!=1:0){e=c[25984]|0;c[d>>2]=c[686617];Sf(e,109574,d)|0}if(!(a[c[686617]>>0]|0))break}while(!(Bc()|0));if(c[686613]|0?(c[686613]|0)!=(c[25926]|0):0)Yf(c[686613]|0)|0;c[686613]=0;c[(c[686700]|0)+8>>2]=2768565;c[(c[686700]|0)+12>>2]=0;c[(c[686700]|0)+4>>2]=0;i=b;return}function Lc(){Ub(Sb()|0);if(c[686617]|0?a[c[686617]>>0]|0:0)c[686697]=Mb(0)|0;else c[686697]=128;if(!((c[686697]|0)>>>0<=0|(c[686697]|0)>>>0>256))return;c[686697]=128;return}function Mc(){Ub(Sb()|0);if(c[686617]|0?a[c[686617]>>0]|0:0){c[7]=Mb(0)|0;return}c[7]=c[686696]|0?16777216:65536;return}function Nc(){var a=0,b=0;a=(c[686773]|0)==0;b=Ud(8)|0;if(a){c[686773]=b;c[686774]=c[686773]}else{c[c[686774]>>2]=b;c[686774]=c[c[686774]>>2]}Ub(Sb()|0);b=Ud((kf(c[686617]|0)|0)+1|0)|0;c[(c[686774]|0)+4>>2]=b;lf(c[(c[686774]|0)+4>>2]|0,c[686617]|0)|0;return}function Oc(){var a=0,b=0;a=(c[686775]|0)==0;b=Ud(8)|0;if(a){c[686775]=b;c[686776]=c[686775]}else{c[c[686776]>>2]=b;c[686776]=c[c[686776]>>2]}Ub(Sb()|0);b=Ud((kf(c[686617]|0)|0)+1|0)|0;c[(c[686776]|0)+4>>2]=b;lf(c[(c[686776]|0)+4>>2]|0,c[686617]|0)|0;return}function Pc(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;a=c[d>>2]|0;c[e>>2]=a+(kf(c[d>>2]|0)|0);a=uf(c[d>>2]|0,46)|0;c[f>>2]=a;if(a|0)c[e>>2]=c[f>>2];i=b;return (c[e>>2]|0)-(c[d>>2]|0)|0}function Qc(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;while(1){b=kg(c[f>>2]|0)|0;c[g>>2]=b;if((b|0)==-1)break;Tf(c[g>>2]|0,c[e>>2]|0)|0}i=d;return}function Rc(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,p=0,q=0,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,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;d=i;i=i+117104|0;e=d+640|0;f=d+632|0;g=d+624|0;h=d+616|0;j=d+608|0;k=d+600|0;l=d+592|0;m=d+584|0;n=d+576|0;o=d+552|0;p=d+544|0;q=d+536|0;r=d+528|0;s=d+520|0;t=d+496|0;u=d+488|0;v=d+480|0;w=d+472|0;x=d+464|0;y=d+440|0;z=d+432|0;A=d+424|0;B=d+416|0;C=d+408|0;D=d+384|0;E=d+360|0;F=d+352|0;G=d+344|0;H=d+336|0;I=d+328|0;J=d+320|0;K=d+312|0;L=d+304|0;M=d+296|0;N=d+288|0;O=d+280|0;P=d+272|0;Q=d+264|0;R=d+256|0;S=d+248|0;T=d+240|0;U=d+232|0;V=d+224|0;W=d+208|0;X=d+200|0;Y=d+192|0;Z=d+184|0;_=d+176|0;$=d+168|0;aa=d+160|0;ba=d+152|0;ca=d+144|0;da=d+136|0;ea=d+128|0;fa=d+120|0;ga=d+112|0;ha=d+88|0;ja=d+80|0;ka=d+72|0;la=d+64|0;ma=d+56|0;na=d+32|0;oa=d+8|0;pa=d;qa=d+116840|0;ra=d+116968|0;sa=d+116836|0;ta=d+116832|0;ua=d+116828|0;va=d+116824|0;wa=d+116820|0;xa=d+116816|0;ya=d+116952|0;za=d+116937|0;Aa=d+116922|0;Ba=d+116907|0;Ca=d+116866|0;Da=d+116844|0;Ea=d+115792|0;Fa=d+82896|0;Ga=d+78784|0;Ha=d+74672|0;Ia=d+70560|0;Ja=d+66448|0;Ka=d+33552|0;La=d+29440|0;Ma=d+25328|0;Na=d+21216|0;Oa=d+17104|0;Pa=d+17096|0;Qa=d+12984|0;Ra=d+8872|0;Sa=d+4760|0;Ta=d+648|0;c[qa>>2]=b;if((be()|0)!=4?(be()|0)!=5:0)ia(111022,111024,463,111032);c[ta>>2]=0;c[ua>>2]=0;b=Ca;Ua=111040;Va=b+41|0;do{a[b>>0]=a[Ua>>0]|0;b=b+1|0;Ua=Ua+1|0}while((b|0)<(Va|0));b=Da;Ua=111081;Va=b+22|0;do{a[b>>0]=a[Ua>>0]|0;b=b+1|0;Ua=Ua+1|0}while((b|0)<(Va|0));Ig(Fa|0,780,32896)|0;Ig(Ga|0,33676,4112)|0;Ig(Ha|0,74796,4112)|0;Ig(Ia|0,78908,4112)|0;Ig(Ja|0,83020,4112)|0;Ig(Ka|0,37788,32896)|0;Ig(La|0,70684,4112)|0;Ig(Ma|0,74796,4112)|0;Ig(Na|0,78908,4112)|0;Ig(Oa|0,83020,4112)|0;c[Pa>>2]=0;xg(Qa|0,0,4112)|0;xg(Ra|0,0,4112)|0;xg(Sa|0,0,4112)|0;xg(Ta|0,0,4112)|0;if((be()|0)==4){c[Pa>>2]=Fa;Ig(Qa|0,Ga|0,4112)|0;Ig(Ra|0,Ha|0,4112)|0;Ig(Sa|0,Ia|0,4112)|0;Ig(Ta|0,Ja|0,4112)|0}else{c[Pa>>2]=Ka;Ig(Qa|0,La|0,4112)|0;Ig(Ra|0,Ma|0,4112)|0;Ig(Sa|0,Na|0,4112)|0;Ig(Ta|0,Oa|0,4112)|0}if(!(c[686607]|0))c[686607]=16;do if((be()|0)==4){if(c[686696]|0){c[Sa+8>>2]=16777216;c[Sa>>2]=16777215;c[Ta+8>>2]=16777216;c[Ta>>2]=16777215}if((c[686697]|0)>>>0<=0|(c[686697]|0)>>>0>256){c[(c[Pa>>2]|0)+20560+8>>2]=128;c[(c[Pa>>2]|0)+24672+8>>2]=128;c[(c[Pa>>2]|0)+28784+8>>2]=128;c[Qa+8>>2]=128;c[686697]=256;break}if((c[686697]|0)>>>0<128){c[(c[Pa>>2]|0)+20560+8>>2]=c[686697];c[(c[Pa>>2]|0)+24672+8>>2]=c[686697];c[(c[Pa>>2]|0)+28784+8>>2]=c[686697];c[Qa+8>>2]=0;break}else{c[(c[Pa>>2]|0)+20560+8>>2]=128;c[(c[Pa>>2]|0)+24672+8>>2]=128;c[(c[Pa>>2]|0)+28784+8>>2]=128;c[Qa+8>>2]=(c[686697]|0)-128;break}}while(0);c[sa>>2]=0;while(1){if((c[sa>>2]|0)>=(c[686697]|0))break;c[Ea+(c[sa>>2]<<2)>>2]=0;c[sa>>2]=(c[sa>>2]|0)+1}while(1){if((c[sa>>2]|0)>=256)break;c[Ea+(c[sa>>2]<<2)>>2]=32768;c[sa>>2]=(c[sa>>2]|0)+1}c[xa>>2]=Ic(c[(c[686701]|0)+8>>2]|0,110211,1)|0;if(!(c[xa>>2]|0))Gc(1);c[wa>>2]=c[qa>>2];while(1){if(!(c[wa>>2]|0))break;qa=(je(c[(c[wa>>2]|0)+36>>2]|0,110215)|0)!=0;Oa=c[wa>>2]|0;a:do if(qa){Na=(je(c[Oa+36>>2]|0,110226)|0)!=0;Ma=c[wa>>2]|0;if(!Na){c[(c[Pa>>2]|0)+4112+4>>2]=c[Ma+20>>2];break}Na=(je(c[Ma+36>>2]|0,110237)|0)!=0;Ma=c[wa>>2]|0;if(!Na){c[(c[Pa>>2]|0)+8224+4>>2]=c[Ma+20>>2];break}Na=(je(c[Ma+36>>2]|0,110248)|0)!=0;Ma=c[wa>>2]|0;if(!Na){c[(c[Pa>>2]|0)+12336+4>>2]=c[Ma+20>>2];break}if(!(je(c[Ma+36>>2]|0,110259)|0)){Ma=(be()|0)==4;Na=c[(c[wa>>2]|0)+20>>2]|0;La=(c[Pa>>2]|0)+16448+4|0;if(Ma){c[La>>2]=(c[La>>2]|0)+Na;break}else{c[La>>2]=Na;break}}Na=(je(c[(c[wa>>2]|0)+36>>2]|0,110270)|0)!=0;La=c[wa>>2]|0;if(!Na){Na=Ra+4|0;c[Na>>2]=(c[Na>>2]|0)+(c[La+20>>2]|0);if((c[(c[wa>>2]|0)+16>>2]|0)>>>0>=(c[Ra>>2]|0)>>>0)break;c[Ra>>2]=c[(c[wa>>2]|0)+16>>2];break}if(!(je(c[La+36>>2]|0,110275)|0)){La=Qa+4|0;c[La>>2]=(c[La>>2]|0)+(c[(c[wa>>2]|0)+20>>2]|0);if((c[(c[wa>>2]|0)+16>>2]|0)>>>0>=(c[Qa>>2]|0)>>>0)break;c[Qa>>2]=c[(c[wa>>2]|0)+16>>2];break}if((be()|0)==4){La=c[wa>>2]|0;if(c[(c[wa>>2]|0)+32>>2]&64|0){if((c[La+20>>2]|0)>>>0<=0)break;Na=Sa+4|0;c[Na>>2]=(c[Na>>2]|0)+(c[(c[wa>>2]|0)+20>>2]|0);if((c[(c[wa>>2]|0)+16>>2]|0)>>>0>=(c[Sa>>2]|0)>>>0)break;c[Sa>>2]=c[(c[wa>>2]|0)+16>>2];break}Na=(je(c[La+36>>2]|0,110280)|0)!=0;La=c[wa>>2]|0;if(!Na){Na=(c[Pa>>2]|0)+16448+4|0;c[Na>>2]=(c[Na>>2]|0)+(c[La+20>>2]|0);break}if(!(c[La+32>>2]&32))break;if((c[(c[wa>>2]|0)+20>>2]|0)>>>0<=0)break;La=Ta+4|0;c[La>>2]=(c[La>>2]|0)+(c[(c[wa>>2]|0)+20>>2]|0);if((c[(c[wa>>2]|0)+16>>2]|0)>>>0>=(c[Ta>>2]|0)>>>0)break;c[Ta>>2]=c[(c[wa>>2]|0)+16>>2];break}if((be()|0)!=5){if((be()|0)==4)Wa=(c[(c[wa>>2]|0)+32>>2]&224|0)!=0;else Wa=0;if(Wa&1|0)break;if(!(c[(c[wa>>2]|0)+20>>2]|0))break;La=(c[Pa>>2]|0)+24672+4|0;c[La>>2]=(c[La>>2]|0)+(c[(c[wa>>2]|0)+20>>2]|0);if((c[(c[wa>>2]|0)+16>>2]|0)>>>0>=(c[(c[Pa>>2]|0)+24672>>2]|0)>>>0)break;c[(c[Pa>>2]|0)+24672>>2]=c[(c[wa>>2]|0)+16>>2];break}if(je(c[(c[wa>>2]|0)+36>>2]|0,110289)|0?je(c[(c[wa>>2]|0)+36>>2]|0,110294)|0:0){do if(je(c[(c[wa>>2]|0)+36>>2]|0,110299)|0){if(!(je(c[(c[wa>>2]|0)+36>>2]|0,110304)|0))break;if(!(je(c[(c[wa>>2]|0)+36>>2]|0,110311)|0))break;if(!(je(c[(c[wa>>2]|0)+36>>2]|0,110319)|0))break;if(je(c[(c[wa>>2]|0)+36>>2]|0,110324)|0?je(c[(c[wa>>2]|0)+36>>2]|0,110329)|0:0)break a;La=Sa+4|0;c[La>>2]=(c[La>>2]|0)+(c[(c[wa>>2]|0)+20>>2]|0);if((c[(c[wa>>2]|0)+16>>2]|0)>>>0>=(c[Sa>>2]|0)>>>0)break a;c[Sa>>2]=c[(c[wa>>2]|0)+16>>2];break a}while(0);La=Ta+4|0;c[La>>2]=(c[La>>2]|0)+(c[(c[wa>>2]|0)+20>>2]|0);if((c[(c[wa>>2]|0)+16>>2]|0)>>>0>=(c[Ta>>2]|0)>>>0)break;c[Ta>>2]=c[(c[wa>>2]|0)+16>>2];break}La=(c[Pa>>2]|0)+24672+4|0;c[La>>2]=(c[La>>2]|0)+(c[(c[wa>>2]|0)+20>>2]|0);if((c[(c[wa>>2]|0)+16>>2]|0)>>>0<(c[(c[Pa>>2]|0)+24672>>2]|0)>>>0)c[(c[Pa>>2]|0)+24672>>2]=c[(c[wa>>2]|0)+16>>2]}else c[(c[Pa>>2]|0)+4>>2]=c[Oa+20>>2];while(0);c[wa>>2]=c[c[wa>>2]>>2]}c[sa>>2]=0;while(1){if((c[sa>>2]|0)>=7)break;c[va>>2]=c[(c[Pa>>2]|0)+((c[sa>>2]|0)*4112|0)>>2];while(1){Xa=c[sa>>2]|0;if(!((c[va>>2]|0)>>>0<((c[(c[Pa>>2]|0)+((c[sa>>2]|0)*4112|0)>>2]|0)+(c[(c[Pa>>2]|0)+((c[sa>>2]|0)*4112|0)+4>>2]|0)|0)>>>0?(c[va>>2]|0)>>>0<256:0))break;wa=Ea+(c[va>>2]<<2)|0;c[wa>>2]=c[wa>>2]|c[(c[Pa>>2]|0)+(Xa*4112|0)+4108>>2];c[va>>2]=(c[va>>2]|0)+1}c[sa>>2]=Xa+1}b:do if((be()|0)==4){c[va>>2]=c[Qa>>2];while(1){if(!((c[va>>2]|0)>>>0<((c[Qa>>2]|0)+(c[Qa+4>>2]|0)|0)>>>0?(c[va>>2]|0)>>>0<256:0))break b;Xa=Ea+(c[va>>2]<<2)|0;c[Xa>>2]=c[Xa>>2]|c[Qa+4108>>2];c[va>>2]=(c[va>>2]|0)+1}}while(0);c[va>>2]=(c[(c[Pa>>2]|0)+24672>>2]|0)-1;while(1){Ya=c[va>>2]|0;if(!((c[Ea+(c[va>>2]<<2)>>2]|0)==0?(c[va>>2]|0)>>>0>0:0))break;c[va>>2]=Ya+-1}c[(c[Pa>>2]|0)+20560>>2]=Ya+1;c[(c[Pa>>2]|0)+20560+4>>2]=(c[(c[Pa>>2]|0)+24672>>2]|0)-(c[(c[Pa>>2]|0)+20560>>2]|0);c[sa>>2]=0;while(1){Za=c[Pa>>2]|0;if((c[sa>>2]|0)>=7)break;if((c[Za+28784>>2]|0)>>>0>(c[(c[Pa>>2]|0)+((c[sa>>2]|0)*4112|0)>>2]|0)>>>0)c[(c[Pa>>2]|0)+28784>>2]=c[(c[Pa>>2]|0)+((c[sa>>2]|0)*4112|0)>>2];Ya=(c[Pa>>2]|0)+28784+4|0;c[Ya>>2]=(c[Ya>>2]|0)+(c[(c[Pa>>2]|0)+((c[sa>>2]|0)*4112|0)+4>>2]|0);c[sa>>2]=(c[sa>>2]|0)+1}c[ua>>2]=(c[Za+24672+4>>2]|0)+(c[(c[Pa>>2]|0)+24672>>2]|0)-1;Sf(c[xa>>2]|0,110335,pa)|0;pa=c[xa>>2]|0;c[oa>>2]=110357;c[oa+4>>2]=110362;c[oa+8>>2]=110368;c[oa+12>>2]=110372;c[oa+16>>2]=110377;Sf(pa,Ca,oa)|0;c[sa>>2]=0;while(1){if((c[sa>>2]|0)>=8)break;if((c[sa>>2]|0)==0|(c[sa>>2]|0)==7){oa=c[xa>>2]|0;c[na>>2]=Da;c[na+4>>2]=Da;c[na+8>>2]=Da;c[na+12>>2]=Da;c[na+16>>2]=Da;Sf(oa,Ca,na)|0}if(!((c[sa>>2]|0)==5?(c[(c[Pa>>2]|0)+((c[sa>>2]|0)*4112|0)+4>>2]|0)>>>0<=0:0)){c[ma>>2]=c[(c[Pa>>2]|0)+((c[sa>>2]|0)*4112|0)>>2];Le(ya,110381,ma)|0;if(!(c[(c[Pa>>2]|0)+((c[sa>>2]|0)*4112|0)+4>>2]|0))a[za>>0]=0;else{if((c[sa>>2]|0)==7)_a=c[ua>>2]|0;else _a=(c[(c[Pa>>2]|0)+((c[sa>>2]|0)*4112|0)+4>>2]|0)+(c[(c[Pa>>2]|0)+((c[sa>>2]|0)*4112|0)>>2]|0)-1|0;c[la>>2]=_a;Le(za,110381,la)|0}c[ka>>2]=c[(c[Pa>>2]|0)+((c[sa>>2]|0)*4112|0)+4>>2];Le(Aa,110389,ka)|0;c[ja>>2]=c[(c[Pa>>2]|0)+((c[sa>>2]|0)*4112|0)+8>>2];Le(Ba,110389,ja)|0;oa=c[xa>>2]|0;c[ha>>2]=(c[Pa>>2]|0)+((c[sa>>2]|0)*4112|0)+12;c[ha+4>>2]=ya;c[ha+8>>2]=za;c[ha+12>>2]=Aa;c[ha+16>>2]=Ba;Sf(oa,Ca,ha)|0}c[sa>>2]=(c[sa>>2]|0)+1}if((be()|0)==4){c[va>>2]=c[(c[Pa>>2]|0)+24672>>2];while(1){if(!((c[va>>2]|0)>>>0<((c[(c[Pa>>2]|0)+24672>>2]|0)+(c[(c[Pa>>2]|0)+24672+4>>2]|0)|0)>>>0?(c[va>>2]|0)>>>0<256:0))break;if((c[Ea+(c[va>>2]<<2)>>2]|0)!=(c[(c[Pa>>2]|0)+24672+4108>>2]|0)){$a=112;break}c[va>>2]=(c[va>>2]|0)+1}if(($a|0)==112){c[ga>>2]=c[va>>2];Le(ra,110394,ga)|0;ga=c[xa>>2]|0;c[fa>>2]=110444;c[fa+4>>2]=ra;Sf(ga,110439,fa)|0;fa=c[25955]|0;c[ea>>2]=110456;c[ea+4>>2]=ra;Sf(fa,110439,ea)|0;c[ta>>2]=1}if((c[(c[Pa>>2]|0)+16448+4>>2]|0)>>>0>(c[(c[Pa>>2]|0)+16448+8>>2]|0)>>>0){c[va>>2]=(c[(c[Pa>>2]|0)+16448+4>>2]|0)-(c[(c[Pa>>2]|0)+16448+8>>2]|0);ea=(c[va>>2]|0)==1?2768565:110472;c[da>>2]=c[va>>2];c[da+4>>2]=ea;Le(ra,110474,da)|0;da=c[xa>>2]|0;c[ca>>2]=110444;c[ca+4>>2]=ra;Sf(da,110439,ca)|0;ca=c[25955]|0;c[ba>>2]=110456;c[ba+4>>2]=ra;Sf(ca,110439,ba)|0;c[ta>>2]=1}if(c[(c[Pa>>2]|0)+20560+4>>2]|0){ba=(c[(c[Pa>>2]|0)+24672>>2]|0)-(c[(c[Pa>>2]|0)+20560+4>>2]|0)|0;c[aa>>2]=c[(c[Pa>>2]|0)+20560+4>>2];c[aa+4>>2]=ba;Le(ra,110530,aa)|0;aa=c[xa>>2]|0;c[$>>2]=110605;c[$+4>>2]=ra;Sf(aa,110439,$)|0;$=c[25955]|0;c[_>>2]=110619;c[_+4>>2]=ra;Sf($,110439,_)|0}if(((c[(c[Pa>>2]|0)+24672>>2]|0)+(c[(c[Pa>>2]|0)+24672+4>>2]|0)|0)>>>0>(c[(c[Pa>>2]|0)+24672+8>>2]|0)>>>0){c[va>>2]=(c[(c[Pa>>2]|0)+24672>>2]|0)+(c[(c[Pa>>2]|0)+24672+4>>2]|0)-(c[(c[Pa>>2]|0)+24672+8>>2]|0);_=(c[va>>2]|0)==1?2768565:110472;c[Z>>2]=c[va>>2];c[Z+4>>2]=_;Le(ra,110637,Z)|0;Z=c[xa>>2]|0;c[Y>>2]=110444;c[Y+4>>2]=ra;Sf(Z,110439,Y)|0;Y=c[25955]|0;c[X>>2]=110456;c[X+4>>2]=ra;Sf(Y,110439,X)|0;c[ta>>2]=1}}X=c[xa>>2]|0;Y=c[Ra>>2]|0;Z=(c[Ra>>2]|0)-1|0;c[W>>2]=c[686696]|0?110692:110714;c[W+4>>2]=Y;c[W+8>>2]=Z;Sf(X,110716,W)|0;do if((be()|0)==4){if((c[Ea+(c[Ra>>2]<<2)>>2]&32768|0)==32768){Sf(c[xa>>2]|0,110763,V)|0;Le(ra,110766,U)|0;W=c[xa>>2]|0;c[T>>2]=110444;c[T+4>>2]=ra;Sf(W,110439,T)|0;W=c[25955]|0;c[S>>2]=110456;c[S+4>>2]=ra;Sf(W,110439,S)|0;c[ta>>2]=1;break}if(!(c[Ea+(c[Ra>>2]<<2)>>2]|0)){c[sa>>2]=c[Ra>>2];c[va>>2]=0;while(1){if((c[sa>>2]|0)>=(c[686697]|0))break;if(c[Ea+(c[sa>>2]<<2)>>2]|0)break;c[sa>>2]=(c[sa>>2]|0)+1;c[va>>2]=(c[va>>2]|0)+1}W=c[xa>>2]|0;c[J>>2]=c[va>>2];Sf(W,110827,J)|0;if((c[va>>2]|0)>=(c[686607]|0))break;W=(c[va>>2]|0)==1?2768565:110472;c[I>>2]=c[va>>2];c[I+4>>2]=W;Le(ra,110853,I)|0;W=c[xa>>2]|0;c[H>>2]=110605;c[H+4>>2]=ra;Sf(W,110439,H)|0;W=c[25955]|0;c[G>>2]=110619;c[G+4>>2]=ra;Sf(W,110439,G)|0;break}Sf(c[xa>>2]|0,110763,R)|0;Le(ra,110800,Q)|0;W=c[xa>>2]|0;c[P>>2]=110444;c[P+4>>2]=ra;Sf(W,110439,P)|0;W=c[25955]|0;c[O>>2]=110456;c[O+4>>2]=ra;Sf(W,110439,O)|0;c[ta>>2]=1;c[sa>>2]=0;while(1){if((c[sa>>2]|0)>=7)break;if(c[Ea+(c[Ra>>2]<<2)>>2]&c[(c[Pa>>2]|0)+((c[sa>>2]|0)*4112|0)+4108>>2]|0){$a=127;break}c[sa>>2]=(c[sa>>2]|0)+1}if(($a|0)==127){c[N>>2]=(c[Pa>>2]|0)+((c[sa>>2]|0)*4112|0)+12;Le(ra,110821,N)|0}if(c[Ea+(c[Ra>>2]<<2)>>2]&c[Qa+4108>>2]|0){c[M>>2]=Qa+12;Le(ra,110821,M)|0}W=c[xa>>2]|0;c[L>>2]=2768565;c[L+4>>2]=ra;Sf(W,110439,L)|0;W=c[25955]|0;c[K>>2]=2768565;c[K+4>>2]=ra;Sf(W,110439,K)|0;c[ta>>2]=1}while(0);Sf(c[xa>>2]|0,110890,F)|0;F=c[xa>>2]|0;c[E>>2]=110357;c[E+4>>2]=110362;c[E+8>>2]=110368;c[E+12>>2]=110372;c[E+16>>2]=110377;Sf(F,Ca,E)|0;E=c[xa>>2]|0;c[D>>2]=Da;c[D+4>>2]=Da;c[D+8>>2]=Da;c[D+12>>2]=Da;c[D+16>>2]=Da;Sf(E,Ca,D)|0;if(!(c[Qa+4>>2]|0)){a[ya>>0]=0;a[za>>0]=0}else{c[C>>2]=c[Qa>>2];Le(ya,110381,C)|0;c[B>>2]=(c[Qa+4>>2]|0)+(c[Qa>>2]|0)-1;Le(za,110381,B)|0}c[A>>2]=c[Qa+4>>2];Le(Aa,110389,A)|0;c[z>>2]=c[Qa+8>>2];Le(Ba,110389,z)|0;z=c[xa>>2]|0;c[y>>2]=Qa+12;c[y+4>>2]=ya;c[y+8>>2]=za;c[y+12>>2]=Aa;c[y+16>>2]=Ba;Sf(z,Ca,y)|0;if(!(c[Sa+4>>2]|0)){a[ya>>0]=0;a[za>>0]=0}else{c[x>>2]=c[Sa>>2];Le(ya,110906,x)|0;c[w>>2]=(c[Sa+4>>2]|0)+(c[Sa>>2]|0)-1;Le(za,110906,w)|0}c[v>>2]=c[Sa+4>>2];Le(Aa,110389,v)|0;c[u>>2]=(c[7]|0)<0?c[Sa+8>>2]|0:c[7]|0;Le(Ba,110389,u)|0;u=c[xa>>2]|0;c[t>>2]=Sa+12;c[t+4>>2]=ya;c[t+8>>2]=za;c[t+12>>2]=Aa;c[t+16>>2]=Ba;Sf(u,Ca,t)|0;if(!(c[Ta+4>>2]|0)){a[ya>>0]=0;a[za>>0]=0}else{c[s>>2]=c[Ta>>2];Le(ya,110906,s)|0;c[r>>2]=(c[Ta+4>>2]|0)+(c[Ta>>2]|0)-1;Le(za,110906,r)|0}c[q>>2]=c[Ta+4>>2];Le(Aa,110389,q)|0;c[p>>2]=(c[8]|0)<0?c[Ta+8>>2]|0:c[8]|0;Le(Ba,110389,p)|0;p=c[xa>>2]|0;c[o>>2]=Ta+12;c[o+4>>2]=ya;c[o+8>>2]=za;c[o+12>>2]=Aa;c[o+16>>2]=Ba;Sf(p,Ca,o)|0;if((be()|0)==4?((c[Qa>>2]|0)+(c[Qa+4>>2]|0)|0)>>>0>((c[Qa+8>>2]|0)+128|0)>>>0:0){Le(ra,110914,n)|0;n=c[xa>>2]|0;c[m>>2]=110444;c[m+4>>2]=ra;Sf(n,110439,m)|0;m=c[25955]|0;c[l>>2]=110456;c[l+4>>2]=ra;Sf(m,110439,l)|0;c[ta>>2]=1}if(!(((c[Sa>>2]|0)+(c[Sa+4>>2]|0)|0)>>>0<=(c[Sa+8>>2]|0)>>>0?!((c[7]|0)>=0?(c[Sa+4>>2]|0)>(c[7]|0):0):0)){Le(ra,110949,k)|0;k=c[xa>>2]|0;c[j>>2]=110444;c[j+4>>2]=ra;Sf(k,110439,j)|0;j=c[25955]|0;c[h>>2]=110456;c[h+4>>2]=ra;Sf(j,110439,h)|0;c[ta>>2]=1}if(((c[Ta>>2]|0)+(c[Ta+4>>2]|0)|0)>>>0<=(c[Ta+8>>2]|0)>>>0?!((c[8]|0)>=0?(c[Ta+4>>2]|0)>(c[8]|0):0):0){ab=c[xa>>2]|0;Yf(ab)|0;bb=c[ta>>2]|0;i=d;return bb|0}Le(ra,110984,g)|0;g=c[xa>>2]|0;c[f>>2]=110444;c[f+4>>2]=ra;Sf(g,110439,f)|0;f=c[25955]|0;c[e>>2]=110456;c[e+4>>2]=ra;Sf(f,110439,e)|0;c[ta>>2]=1;ab=c[xa>>2]|0;Yf(ab)|0;bb=c[ta>>2]|0;i=d;return bb|0} +function Sc(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,p=0,q=0,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,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;d=i;i=i+17152|0;e=d+376|0;f=d+368|0;g=d+360|0;h=d+352|0;j=d+344|0;k=d+336|0;l=d+312|0;m=d+304|0;n=d+296|0;o=d+288|0;p=d+280|0;q=d+256|0;r=d+248|0;s=d+240|0;t=d+232|0;u=d+224|0;v=d+200|0;w=d+192|0;x=d+184|0;y=d+176|0;z=d+168|0;A=d+144|0;B=d+120|0;C=d+112|0;D=d+104|0;E=d+96|0;F=d+80|0;G=d+72|0;H=d+56|0;I=d+40|0;J=d+32|0;K=d+24|0;L=d+16|0;M=d+8|0;N=d;O=d+16888|0;P=d+17016|0;Q=d+16884|0;R=d+16880|0;S=d+16876|0;T=d+16872|0;U=d+16868|0;V=d+16864|0;W=d+16860|0;X=d+16856|0;Y=d+16852|0;Z=d+16848|0;_=d+17e3|0;$=d+16985|0;aa=d+16970|0;ba=d+16955|0;ca=d+16914|0;da=d+16892|0;ea=d+12732|0;fa=d+8616|0;ga=d+4500|0;ha=d+384|0;c[O>>2]=b;if((be()|0)!=4)ia(111022,111024,715,111674);c[Q>>2]=0;c[T>>2]=0;c[V>>2]=-1;c[W>>2]=0;c[Y>>2]=0;b=ca;ja=111040;ka=b+41|0;do{a[b>>0]=a[ja>>0]|0;b=b+1|0;ja=ja+1|0}while((b|0)<(ka|0));b=da;ja=111081;ka=b+22|0;do{a[b>>0]=a[ja>>0]|0;b=b+1|0;ja=ja+1|0}while((b|0)<(ka|0));Ig(ea|0,87132,4116)|0;Ig(fa|0,91248,4116)|0;Ig(ga|0,95364,4116)|0;Ig(ha|0,99480,4116)|0;if(c[686696]|0){c[ga+12>>2]=16777216;c[ga>>2]=16777215;c[ha+12>>2]=16777216;c[ha>>2]=16777215}c[Z>>2]=Ic(c[(c[686701]|0)+8>>2]|0,110211,1)|0;if(!(c[Z>>2]|0))Gc(1);c[X>>2]=c[O>>2];while(1){if(!(c[X>>2]|0))break;ja=c[X>>2]|0;do if(c[(c[X>>2]|0)+32>>2]&32|0){if(c[ja+20>>2]|0){b=ha+8|0;c[b>>2]=(c[b>>2]|0)+(c[(c[X>>2]|0)+20>>2]|0);if((c[(c[X>>2]|0)+16>>2]|0)>>>0<(c[ha>>2]|0)>>>0)c[ha>>2]=c[(c[X>>2]|0)+16>>2];if(((c[(c[X>>2]|0)+16>>2]|0)+(c[(c[X>>2]|0)+20>>2]|0)|0)>>>0>(c[ha+4>>2]|0)>>>0)c[ha+4>>2]=(c[(c[X>>2]|0)+16>>2]|0)+(c[(c[X>>2]|0)+20>>2]|0)}}else{b=(je(c[ja+36>>2]|0,110270)|0)!=0;ka=c[X>>2]|0;if(!b){b=ea+8|0;c[b>>2]=(c[b>>2]|0)+(c[ka+20>>2]|0);if((c[(c[X>>2]|0)+16>>2]|0)>>>0<(c[ea>>2]|0)>>>0)c[ea>>2]=c[(c[X>>2]|0)+16>>2];if(((c[(c[X>>2]|0)+16>>2]|0)+(c[(c[X>>2]|0)+20>>2]|0)|0)>>>0<=(c[ea+4>>2]|0)>>>0)break;c[ea+4>>2]=(c[(c[X>>2]|0)+16>>2]|0)+(c[(c[X>>2]|0)+20>>2]|0);break}b=(je(c[ka+36>>2]|0,111103)|0)!=0;ka=c[X>>2]|0;if(!b){b=fa+8|0;c[b>>2]=(c[b>>2]|0)+(c[ka+20>>2]|0);if((c[(c[X>>2]|0)+16>>2]|0)>>>0<(c[fa>>2]|0)>>>0)c[fa>>2]=c[(c[X>>2]|0)+16>>2];if(((c[(c[X>>2]|0)+16>>2]|0)+(c[(c[X>>2]|0)+20>>2]|0)|0)>>>0<=(c[fa+4>>2]|0)>>>0)break;c[fa+4>>2]=(c[(c[X>>2]|0)+16>>2]|0)+(c[(c[X>>2]|0)+20>>2]|0);break}b=(je(c[ka+36>>2]|0,111108)|0)!=0;ka=c[X>>2]|0;if(!b){c[Y>>2]=ka;b=fa+8|0;c[b>>2]=(c[b>>2]|0)+(c[(c[X>>2]|0)+20>>2]|0);if((c[(c[X>>2]|0)+16>>2]|0)>>>0<(c[fa>>2]|0)>>>0)c[fa>>2]=c[(c[X>>2]|0)+16>>2];if(((c[(c[X>>2]|0)+16>>2]|0)+(c[(c[X>>2]|0)+20>>2]|0)|0)>>>0<=(c[fa+4>>2]|0)>>>0)break;c[fa+4>>2]=(c[(c[X>>2]|0)+16>>2]|0)+(c[(c[X>>2]|0)+20>>2]|0);break}if(c[ka+32>>2]&64|0?c[(c[X>>2]|0)+20>>2]|0:0){ka=ga+8|0;c[ka>>2]=(c[ka>>2]|0)+(c[(c[X>>2]|0)+20>>2]|0);if((c[(c[X>>2]|0)+16>>2]|0)>>>0<(c[ga>>2]|0)>>>0)c[ga>>2]=c[(c[X>>2]|0)+16>>2];if(((c[(c[X>>2]|0)+16>>2]|0)+(c[(c[X>>2]|0)+20>>2]|0)|0)>>>0>(c[ga+4>>2]|0)>>>0)c[ga+4>>2]=(c[(c[X>>2]|0)+16>>2]|0)+(c[(c[X>>2]|0)+20>>2]|0)}}while(0);c[X>>2]=c[c[X>>2]>>2]}Sf(c[Z>>2]|0,111113,N)|0;Sf(c[Z>>2]|0,111135,M)|0;c[S>>2]=0;while(1){if((c[S>>2]|0)>>>0>=256)break;if(!(((c[S>>2]|0)>>>0)%16|0)){M=c[Z>>2]|0;c[L>>2]=c[S>>2];Sf(M,111173,L)|0}M=c[Z>>2]|0;c[K>>2]=a[2760115+(c[S>>2]|0)>>0];Sf(M,111183,K)|0;c[S>>2]=(c[S>>2]|0)+1}Sf(c[Z>>2]|0,111187,J)|0;c[S>>2]=0;while(1){if((c[S>>2]|0)>>>0>=256)break;la=c[S>>2]|0;if((a[2760115+(c[S>>2]|0)>>0]|0)==83){ma=44;break}c[S>>2]=la+1}if((ma|0)==44)c[T>>2]=la;c[S>>2]=c[T>>2];c[U>>2]=0;while(1){if((c[S>>2]|0)>>>0>=(c[686697]|0?c[686697]|0:256)>>>0)break;if((a[2760115+(c[S>>2]|0)>>0]|0)!=83)break;c[U>>2]=(c[U>>2]|0)+1;c[S>>2]=(c[S>>2]|0)+1}c[X>>2]=c[O>>2];while(1){if(!(c[X>>2]|0))break;if((c[(c[X>>2]|0)+28>>2]|0)>>>0>0){O=c[Z>>2]|0;la=(c[(c[X>>2]|0)+28>>2]|0)>>>0>1?110472:2768565;ma=c[(c[X>>2]|0)+36>>2]|0;c[I>>2]=c[(c[X>>2]|0)+28>>2];c[I+4>>2]=la;c[I+8>>2]=ma;Sf(O,111274,I)|0;c[Q>>2]=1}c[X>>2]=c[c[X>>2]>>2]}X=c[Z>>2]|0;if((c[T>>2]|0)!=256&(c[U>>2]|0)>>>0>0){I=c[T>>2]|0;O=(c[T>>2]|0)-1|0;ma=c[U>>2]|0;c[H>>2]=c[686696]|0?111344:111370;c[H+4>>2]=I;c[H+8>>2]=O;c[H+12>>2]=ma;Sf(X,111376,H)|0}else Sf(X,111445,G)|0;c[S>>2]=0;while(1){if((c[S>>2]|0)>>>0>=(c[686697]|0?c[686697]|0:256)>>>0)break;c[R>>2]=c[S>>2];while(1){if((c[R>>2]|0)>>>0>=(c[686697]|0?c[686697]|0:256)>>>0)break;if((a[2760115+(c[R>>2]|0)>>0]|0)!=32)break;c[R>>2]=(c[R>>2]|0)+1}if(((c[R>>2]|0)-(c[S>>2]|0)|0)>>>0>(c[W>>2]|0)>>>0){c[W>>2]=(c[R>>2]|0)-(c[S>>2]|0);c[V>>2]=c[S>>2]}c[S>>2]=(c[R>>2]|0)+1}R=c[Z>>2]|0;if((c[W>>2]|0)>0){S=c[W>>2]|0;G=(c[W>>2]|0)>1?110472:2768565;c[F>>2]=c[V>>2];c[F+4>>2]=S;c[F+8>>2]=G;Sf(R,111490,F)|0}else Sf(R,111569,E)|0;if(c[Y>>2]|0){c[T>>2]=c[(c[Y>>2]|0)+16>>2];c[U>>2]=c[(c[Y>>2]|0)+20>>2];Y=c[Z>>2]|0;E=c[U>>2]|0;c[D>>2]=c[T>>2];c[D+4>>2]=E;Sf(Y,111604,D)|0}Sf(c[Z>>2]|0,111657,C)|0;C=c[Z>>2]|0;c[B>>2]=110357;c[B+4>>2]=110362;c[B+8>>2]=110368;c[B+12>>2]=110372;c[B+16>>2]=110377;Sf(C,ca,B)|0;B=c[Z>>2]|0;c[A>>2]=da;c[A+4>>2]=da;c[A+8>>2]=da;c[A+12>>2]=da;c[A+16>>2]=da;Sf(B,ca,A)|0;if(!(c[fa+8>>2]|0)){a[_>>0]=0;a[$>>0]=0}else{c[z>>2]=c[fa>>2];Le(_,110906,z)|0;c[y>>2]=(c[fa+4>>2]|0)-1;Le($,110906,y)|0}c[x>>2]=c[fa+8>>2];Le(aa,110389,x)|0;if((c[7]|0)<0)na=c[fa+12>>2]|0;else na=(c[7]|0)<256?c[7]|0:256;c[w>>2]=na;Le(ba,110389,w)|0;w=c[Z>>2]|0;c[v>>2]=fa+16;c[v+4>>2]=_;c[v+8>>2]=$;c[v+12>>2]=aa;c[v+16>>2]=ba;Sf(w,ca,v)|0;if(!(c[ga+8>>2]|0)){a[_>>0]=0;a[$>>0]=0}else{c[u>>2]=c[ga>>2];Le(_,110906,u)|0;c[t>>2]=(c[ga+4>>2]|0)-1;Le($,110906,t)|0}c[s>>2]=c[ga+8>>2];Le(aa,110389,s)|0;c[r>>2]=(c[7]|0)<0?c[ga+12>>2]|0:c[7]|0;Le(ba,110389,r)|0;r=c[Z>>2]|0;c[q>>2]=ga+16;c[q+4>>2]=_;c[q+8>>2]=$;c[q+12>>2]=aa;c[q+16>>2]=ba;Sf(r,ca,q)|0;if(!(c[ha+8>>2]|0)){a[_>>0]=0;a[$>>0]=0}else{c[p>>2]=c[ha>>2];Le(_,110906,p)|0;c[o>>2]=(c[ha+4>>2]|0)-1;Le($,110906,o)|0}c[n>>2]=c[ha+8>>2];Le(aa,110389,n)|0;c[m>>2]=(c[8]|0)<0?c[ha+12>>2]|0:c[8]|0;Le(ba,110389,m)|0;m=c[Z>>2]|0;c[l>>2]=ha+16;c[l+4>>2]=_;c[l+8>>2]=$;c[l+12>>2]=aa;c[l+16>>2]=ba;Sf(m,ca,l)|0;if(!((c[ga+4>>2]|0)>>>0<=(c[ga+12>>2]|0)>>>0?!((c[7]|0)>=0?((c[ga+8>>2]|0)+(c[fa+8>>2]|0)|0)>(c[7]|0):0):0)){Le(P,110949,k)|0;k=c[Z>>2]|0;c[j>>2]=110444;c[j+4>>2]=P;Sf(k,110439,j)|0;j=c[25955]|0;c[h>>2]=110456;c[h+4>>2]=P;Sf(j,110439,h)|0;c[Q>>2]=1}if((c[ha+4>>2]|0)>>>0<=(c[ha+12>>2]|0)>>>0?!((c[8]|0)>=0?(c[ha+8>>2]|0)>(c[8]|0):0):0){oa=c[Z>>2]|0;Yf(oa)|0;pa=c[Q>>2]|0;i=d;return pa|0}Le(P,110984,g)|0;g=c[Z>>2]|0;c[f>>2]=110444;c[f+4>>2]=P;Sf(g,110439,f)|0;f=c[25955]|0;c[e>>2]=110456;c[e+4>>2]=P;Sf(f,110439,e)|0;c[Q>>2]=1;oa=c[Z>>2]|0;Yf(oa)|0;pa=c[Q>>2]|0;i=d;return pa|0}function Tc(){if(!(c[686621]|0))return;c[686609]=Ic(c[(c[686701]|0)+8>>2]|0,111683,1)|0;if(!(c[686609]|0))Gc(1);c[686623]=1;return}function Uc(){var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+4128|0;d=b;e=b+24|0;f=b+16|0;g=b+12|0;h=b+8|0;j=b+4|0;if((a[c[686617]>>0]|0)!=59){i=b;return}if((a[(c[686617]|0)+1>>0]|0)!=33){i=b;return}if(c[686609]|0){k=c[686609]|0;c[d>>2]=(c[686617]|0)+2;Sf(k,111687,d)|0}if(c[686632]|0){i=b;return}Rb(e,-1);if(!(Td(e,111691,1)|0)){i=b;return}Rb(e,-1);c[f>>2]=e;e=uf(c[f>>2]|0,92)|0;c[g>>2]=e;if(e|0){e=(c[g>>2]|0)+1|0;c[g>>2]=e;c[f>>2]=e}e=uf(c[f>>2]|0,47)|0;c[g>>2]=e;if(e|0){e=(c[g>>2]|0)+1|0;c[g>>2]=e;c[f>>2]=e}e=uf(c[f>>2]|0,58)|0;c[g>>2]=e;if(e|0){e=(c[g>>2]|0)+1|0;c[g>>2]=e;c[f>>2]=e}e=uf(c[f>>2]|0,46)|0;c[g>>2]=e;if(e|0)a[c[g>>2]>>0]=0;c[h>>2]=Ud(8)|0;if(!(c[686795]|0))c[686795]=c[h>>2];else{c[j>>2]=c[686795];while(1){if(!(c[c[j>>2]>>2]|0))break;c[j>>2]=c[c[j>>2]>>2]}c[c[j>>2]>>2]=c[h>>2]}j=Vd(c[f>>2]|0)|0;c[(c[h>>2]|0)+4>>2]=j;i=b;return}function Vc(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;f=i;i=i+12368|0;g=f+40|0;h=f+24|0;j=f;k=f+68|0;l=f+64|0;m=f+60|0;n=f+8272|0;o=f+4176|0;p=f+80|0;q=f+73|0;r=f+56|0;s=f+52|0;t=f+48|0;u=f+44|0;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;if(!(c[686609]|0)){i=f;return}e=c[k>>2]|0;c[j>>2]=n;c[j+4>>2]=q;c[j+8>>2]=o;c[j+12>>2]=f+72;c[j+16>>2]=p;c[r>>2]=_f(e,111698,j)|0;if((c[r>>2]|0)>1){c[s>>2]=1;c[u>>2]=c[686795];while(1){if(!(c[u>>2]|0))break;if(Td(n,c[(c[u>>2]|0)+4>>2]|0,1)|0){v=6;break}c[u>>2]=c[c[u>>2]>>2]}if((v|0)==6)c[s>>2]=c[r>>2];c[r>>2]=c[s>>2]}switch(c[r>>2]|0){case 5:{Wc(n,0,0);if((a[p>>0]|0)!=46){Xc(o,0,0);c[h>>2]=n;c[h+4>>2]=q;c[h+8>>2]=t;c[r>>2]=_f(p,111729,h)|0;if((c[r>>2]|0)==3&(c[t>>2]|0)!=0){r=n+(kf(n)|0)|0;c[g>>2]=c[t>>2];Le(r,111739,g)|0}_c(n,c[l>>2]|0,c[m>>2]|0);i=f;return}if(Td(p,111715,1)|0){Xc(o,c[l>>2]|0,c[m>>2]|0);i=f;return}if(Td(p,111719,1)|0){Yc(o,c[l>>2]|0,c[m>>2]|0);i=f;return}if(!(Td(p,111724,1)|0)){i=f;return}Zc(c[l>>2]|0,c[m>>2]|0);i=f;return}case 3:{Wc(n,0,0);if((a[o>>0]|0)>=48?(a[o>>0]|0)<=57:0){$c(o,c[l>>2]|0,c[m>>2]|0);i=f;return}Zc(0,0);_c(o,c[l>>2]|0,c[m>>2]|0);i=f;return}default:{ad(c[k>>2]|0,c[l>>2]|0,c[m>>2]|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,j=0,k=0;e=i;i=i+32|0;f=e+8|0;g=e;h=e+20|0;j=e+16|0;k=e+12|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;if(Td(c[h>>2]|0,2764469,1)|0){i=e;return}lf(2764469,c[h>>2]|0)|0;d=c[686609]|0;b=c[h>>2]|0;if(c[j>>2]|0){c[g>>2]=b;Sf(d,111834,g)|0;bd(c[j>>2]|0,c[k>>2]|0);i=e;return}else{c[f>>2]=b;Sf(d,111843,f)|0;i=e;return}}function Xc(a,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+16|0;g=e+8|0;h=e;j=e+28|0;k=e+24|0;l=e+20|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;if(Td(c[j>>2]|0,2760373,1)|0){i=e;return}lf(2760373,c[j>>2]|0)|0;d=c[686609]|0;b=c[j>>2]|0;if(c[k>>2]|0){c[h>>2]=b;Sf(d,111743,h)|0;bd(c[k>>2]|0,c[l>>2]|0);h=c[686609]|0;c[g>>2]=c[j>>2];Sf(h,111816,g)|0;bd(c[k>>2]|0,c[l>>2]|0);i=e;return}else{c[f>>2]=b;Sf(d,111825,f)|0;i=e;return}}function Yc(a,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+16|0;g=e+8|0;h=e;j=e+28|0;k=e+24|0;l=e+20|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;if(Td(c[j>>2]|0,2760373,1)|0){i=e;return}lf(2760373,c[j>>2]|0)|0;d=c[686609]|0;b=c[j>>2]|0;if(c[k>>2]|0){c[h>>2]=b;Sf(d,111775,h)|0;bd(c[k>>2]|0,c[l>>2]|0);h=c[686609]|0;c[g>>2]=c[j>>2];Sf(h,111796,g)|0;bd(c[k>>2]|0,c[l>>2]|0);i=e;return}else{c[f>>2]=b;Sf(d,111806,f)|0;i=e;return}}function Zc(b,d){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+12|0;c[f>>2]=b;c[g>>2]=d;if(!(a[2760373]|0)){i=e;return}d=c[686609]|0;if(c[f>>2]|0){Sf(d,111784,e)|0;bd(c[f>>2]|0,c[g>>2]|0)}else Sf(d,111790,e+8|0)|0;a[2760373]=0;i=e;return}function _c(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;g=e+12|0;h=e+8|0;j=e+4|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;d=c[686609]|0;c[f>>2]=c[g>>2];Sf(d,111775,f)|0;bd(c[h>>2]|0,c[j>>2]|0);i=e;return}function $c(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;g=f;h=f+20|0;j=f+16|0;k=f+12|0;l=f+8|0;m=f+4|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=0;while(1){e=c[h>>2]|0;c[h>>2]=e+1;d=Lb(a[e>>0]|0,10)|0;c[l>>2]=d;if((d|0)<0)break;c[m>>2]=((c[m>>2]|0)*10|0)+(c[l>>2]|0)}l=c[686609]|0;c[g>>2]=c[m>>2];Sf(l,111766,g)|0;bd(c[j>>2]|0,c[k>>2]|0);i=f;return}function ad(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;g=e+12|0;h=e+8|0;j=e+4|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;d=c[686609]|0;c[f>>2]=c[g>>2];Sf(d,111743,f)|0;bd(c[h>>2]|0,c[j>>2]|0);i=e;return}function bd(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+8|0;f=d;g=d+16|0;h=d+12|0;c[g>>2]=a;c[h>>2]=b;b=c[686609]|0;if(c[(c[h>>2]|0)+24>>2]&8|0){a=c[g>>2]|0;c[f>>2]=c[(c[h>>2]|0)+20>>2];c[f+4>>2]=a;Sf(b,111751,f)|0;i=d;return}else{c[e>>2]=c[g>>2];Sf(b,111760,e)|0;i=d;return}}function cd(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)!=0&(c[686605]|0)!=0|(c[686608]|0)==0){i=b;return}c[e>>2]=1;while(1){if((c[e>>2]|0)>=(c[686634]|0))break;rd(c[686633]|0,0)|0;c[e>>2]=(c[e>>2]|0)+1}if((c[686619]|0)==1){dd(c[d>>2]|0);i=b;return}if((c[686619]|0)==2){Jd(c[d>>2]|0);i=b;return}if((c[686619]|0)==3){ed(c[d>>2]|0);i=b;return}if((c[686619]|0)!=4){i=b;return}sb(c[d>>2]|0);i=b;return}function dd(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;d=i;i=i+48|0;e=d+8|0;f=d;g=d+32|0;h=d+28|0;j=d+24|0;k=d+20|0;l=d+16|0;m=d+12|0;c[g>>2]=b;if(!(c[g>>2]|0)){c[j>>2]=Rd(113369,0)|0;if(c[j>>2]|0?(c[(c[(c[(c[j>>2]|0)+4>>2]|0)+4>>2]|0)+12>>2]|0)==(c[686608]|0):0){c[l>>2]=Wd(c[j>>2]|0)|0;c[m>>2]=4;c[m>>2]=(c[m>>2]|0)+5;c[m>>2]=(c[m>>2]|0)+(c[l>>2]|0);c[m>>2]=(c[m>>2]|0)+((c[l>>2]|0)>>>8);c[m>>2]=(c[m>>2]|0)+((c[l>>2]|0)>>>16);c[m>>2]=(c[m>>2]|0)+((c[l>>2]|0)>>>24);j=c[686608]|0;b=~c[m>>2]+1&255;c[f>>2]=c[l>>2];c[f+4>>2]=b;Sf(j,111852,f)|0}Sf(c[686608]|0,111871,e)|0;i=d;return}if((be()|0)==5?c[(c[686707]|0)+32>>2]&256|0:0){i=d;return}a:do if(!(c[686687]|0))switch(c[686686]|0){case 4:{c[k>>2]=c[686636];c[686636]=c[686639];c[686639]=c[k>>2];c[k>>2]=c[686638];c[686638]=c[686637];c[686637]=c[k>>2];break a;break}case 3:{c[k>>2]=c[686636];c[686636]=c[686638];c[686638]=c[k>>2];break a;break}default:{c[k>>2]=c[686636];c[686636]=c[686637];c[686637]=c[k>>2];break a}}while(0);c[g>>2]=0;c[686604]=0;while(1){n=c[686604]|0;if((c[g>>2]|0)>=(c[686686]|0))break;c[686604]=n<<8|c[2746544+(c[g>>2]<<2)>>2];c[g>>2]=(c[g>>2]|0)+1}if((n|0)!=(c[686603]|0)|(c[686685]|0)!=0){gd();n=c[686604]|0;c[686603]=n;c[686602]=n;c[686685]=0}c[h>>2]=c[686686];while(1){if((c[h>>2]|0)>=(c[686635]|0))break;if(c[2746608+(c[h>>2]<<2)>>2]|0){n=c[2746544+(c[h>>2]<<2)>>2]&255;g=c[686603]|0;c[686603]=g+1;a[2760037+(g-(c[686602]|0))>>0]=n;if(!(c[686603]&65535))gd();if(((c[686603]|0)-(c[686602]|0)|0)==32)gd()}c[h>>2]=(c[h>>2]|0)+1}i=d;return}function ed(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;e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;j=d;c[e>>2]=b;if(!(c[e>>2]|0)){c[f>>2]=Rd(113369,0)|0;if(c[f>>2]|0?(c[(c[(c[(c[f>>2]|0)+4>>2]|0)+4>>2]|0)+12>>2]|0)==(c[686608]|0):0)c[j>>2]=Wd(c[f>>2]|0)|0;else c[j>>2]=0;dg(255,c[686608]|0)|0;switch(c[686686]|0){case 4:{dg(0,c[686608]|0)|0;k=24;break}case 3:{k=24;break}default:{}}if((k|0)==24)dg(0,c[686608]|0)|0;dg(0,c[686608]|0)|0;dg(0,c[686608]|0)|0;switch(c[686686]|0){case 4:{dg((c[j>>2]|0)>>>24&255,c[686608]|0)|0;k=27;break}case 3:{k=27;break}default:{}}if((k|0)==27)dg((c[j>>2]|0)>>>16&255,c[686608]|0)|0;dg((c[j>>2]|0)>>>8&255,c[686608]|0)|0;dg((c[j>>2]|0)>>>0&255,c[686608]|0)|0;i=d;return}a:do if(!(c[686687]|0))switch(c[686686]|0){case 4:{c[h>>2]=c[686636];c[686636]=c[686639];c[686639]=c[h>>2];c[h>>2]=c[686638];c[686638]=c[686637];c[686637]=c[h>>2];break a;break}case 3:{c[h>>2]=c[686636];c[686636]=c[686638];c[686638]=c[h>>2];break a;break}default:{c[h>>2]=c[686636];c[686636]=c[686637];c[686637]=c[h>>2];break a}}while(0);c[e>>2]=0;c[686604]=0;while(1){l=c[686604]|0;if((c[e>>2]|0)>=(c[686686]|0))break;c[686604]=l<<8|c[2746544+(c[e>>2]<<2)>>2];c[e>>2]=(c[e>>2]|0)+1}if((l|0)!=(c[686603]|0)){fd();l=c[686604]|0;c[686603]=l;c[686602]=l}c[g>>2]=c[686686];while(1){if((c[g>>2]|0)>=(c[686635]|0))break;if(c[2746608+(c[g>>2]<<2)>>2]|0?(l=c[2746544+(c[g>>2]<<2)>>2]&255,e=c[686603]|0,c[686603]=e+1,a[2760037+(e-(c[686602]|0))>>0]=l,((c[686603]|0)-(c[686602]|0)|0)==(64-(c[686686]<<1)-1|0)):0)fd();c[g>>2]=(c[g>>2]|0)+1}i=d;return}function fd(){var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=(c[686603]|0)-(c[686602]|0);if(!(c[e>>2]|0)){i=b;return}dg(0,c[686608]|0)|0;switch(c[686686]|0){case 4:{dg(c[e>>2]>>24&255,c[686608]|0)|0;f=4;break}case 3:{f=4;break}default:{}}if((f|0)==4)dg(c[e>>2]>>16&255,c[686608]|0)|0;dg(c[e>>2]>>8&255,c[686608]|0)|0;dg(c[e>>2]>>0&255,c[686608]|0)|0;switch(c[686686]|0){case 4:{dg((c[686602]|0)>>>24&255,c[686608]|0)|0;f=7;break}case 3:{f=7;break}default:{}}if((f|0)==7)dg((c[686602]|0)>>>16&255,c[686608]|0)|0;dg((c[686602]|0)>>>8&255,c[686608]|0)|0;dg((c[686602]|0)>>>0&255,c[686608]|0)|0;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[e>>2]|0))break;dg(a[2760037+(c[d>>2]|0)>>0]|0,c[686608]|0)|0;c[d>>2]=(c[d>>2]|0)+1}c[686602]=c[686603];i=b;return}function gd(){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;b=i;i=i+64|0;d=b+24|0;e=b+16|0;f=b+8|0;g=b;h=b+48|0;j=b+44|0;k=b+40|0;l=b+36|0;m=b+32|0;n=b+28|0;c[j>>2]=(c[686603]|0)-(c[686602]|0);if(!(c[j>>2]|0)){i=b;return}if((c[686686]|0)>2?(c[n>>2]=(c[686602]|0)>>>16&65535,c[686685]|0?1:(c[n>>2]|0)!=(c[686796]|0)):0){c[l>>2]=2;c[l>>2]=(c[l>>2]|0)+4;c[l>>2]=(c[l>>2]|0)+(c[n>>2]|0);c[l>>2]=(c[l>>2]|0)+((c[n>>2]|0)>>>8);o=c[686608]|0;p=~c[l>>2]+1&255;c[g>>2]=c[n>>2];c[g+4>>2]=p;Sf(o,111884,g)|0;c[686796]=c[n>>2]}c[m>>2]=c[686602]&65535;c[k>>2]=c[j>>2];c[l>>2]=c[k>>2];c[l>>2]=(c[l>>2]|0)+(c[m>>2]|0);c[l>>2]=(c[l>>2]|0)+((c[m>>2]|0)>>>8);n=c[686608]|0;g=c[m>>2]|0;c[f>>2]=c[k>>2];c[f+4>>2]=g;Sf(n,111903,f)|0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;c[l>>2]=(c[l>>2]|0)+(a[2760037+(c[h>>2]|0)>>0]|0);f=c[686608]|0;c[e>>2]=a[2760037+(c[h>>2]|0)>>0]&255;Sf(f,112811,e)|0;c[h>>2]=(c[h>>2]|0)+1}h=c[686608]|0;c[d>>2]=~c[l>>2]+1&255;Sf(h,112816,d)|0;c[686602]=c[686603];i=b;return}function hd(){if(!(c[686608]|0))return;if((c[686619]|0)==1){gd();return}if((c[686619]|0)==2){Kd();return}if((c[686619]|0)!=3)return;fd();return}function id(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+12|0;e=b+8|0;f=b+4|0;g=b;h=b+16|0;c[d>>2]=a;c[f>>2]=Wf(c[d>>2]|0)|0;c[g>>2]=0;a=lg(c[d>>2]|0)|0;c[e>>2]=a;a:do if((a|0)==88|(c[e>>2]|0)==68|(c[e>>2]|0)==81?(j=lg(c[d>>2]|0)|0,c[e>>2]=j,(j|0)==72|(c[e>>2]|0)==76):0)switch(lg(c[d>>2]|0)|0){case 52:case 51:case 50:{switch(lg(c[d>>2]|0)|0){case 13:break;case 10:{c[g>>2]=1;break a;break}default:break a}if((lg(c[d>>2]|0)|0)!=10)break a;c[g>>2]=1;break a;break}case 13:{if((lg(c[d>>2]|0)|0)!=10)break a;c[g>>2]=1;break a;break}case 10:{c[g>>2]=1;break a;break}default:break a}else k=11;while(0);if((((k|0)==11?(c[e>>2]|0)==59:0)?(cg(h,1,6,c[d>>2]|0)|0)==6:0)?(Je(h,111915,6)|0)==0:0)c[g>>2]=1;gg(c[d>>2]|0,c[f>>2]|0,0)|0;i=b;return c[g>>2]|0}function jd(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;d=i;i=i+4112|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d+16|0;j=d;c[f>>2]=a;c[g>>2]=b;if(!(id(c[f>>2]|0)|0)){c[e>>2]=0;k=c[e>>2]|0;i=d;return k|0}if((c[g>>2]|0)>=0){b=Wf(c[f>>2]|0)|0;l=b+(c[g>>2]|0)|0}else l=-1;c[j>>2]=l;while(1){if((c[j>>2]|0)>=0?(l=Wf(c[f>>2]|0)|0,(l|0)>=(c[j>>2]|0)):0){m=11;break}if(!(Na(h,4096,c[f>>2]|0)|0)){m=11;break}if(!(Ie(h,111922)|0)){m=9;break}c[686617]=h;yc()}if((m|0)==9){c[e>>2]=1;k=c[e>>2]|0;i=d;return k|0}else if((m|0)==11){c[e>>2]=1;k=c[e>>2]|0;i=d;return k|0}return 0}function kd(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;g=i;i=i+8240|0;h=g;j=g+28|0;k=g+24|0;l=g+20|0;m=g+16|0;n=g+12|0;o=g+4136|0;p=g+8|0;q=g+40|0;r=g+32|0;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;if((c[l>>2]|0)>=0){f=Wf(c[k>>2]|0)|0;s=f+(c[l>>2]|0)|0}else s=-1;c[p>>2]=s;if(!(c[m>>2]|0))ia(111929,111942,117,111950);while(1){if((c[p>>2]|0)>=0?(s=Wf(c[k>>2]|0)|0,(s|0)>=(c[p>>2]|0)):0){t=14;break}if(!(Na(o,4096,c[k>>2]|0)|0)){t=14;break}if((a[o>>0]|0)==84){t=14;break}if((a[o>>0]|0)!=83)continue;c[h>>2]=q;c[h+4>>2]=r;_f(o,111963,h)|0;if((a[r>>0]|0)!=68)continue;if(Da[c[m>>2]&3](q,c[n>>2]|0)|0){t=13;break}}if((t|0)==13){c[j>>2]=1;u=c[j>>2]|0;i=g;return u|0}else if((t|0)==14){c[j>>2]=0;u=c[j>>2]|0;i=g;return u|0}return 0}function ld(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b+4|0;c[d>>2]=a;if((c[686615]|0)==3){td(c[d>>2]|0);i=b;return}else{Sf(c[25955]|0,111971,b)|0;Gc(3);i=b;return}}function md(){var a=0,b=0,d=0,e=0,f=0;a=i;i=i+16|0;b=a;d=(c[686687]|0)!=0;e=Kb()|0;if(d){c[b>>2]=e<<8;d=Kb()|0;c[b>>2]=(c[b>>2]|0)+d;f=c[b>>2]|0;i=a;return f|0}else{c[b>>2]=e;e=(Kb()|0)<<8;c[b>>2]=(c[b>>2]|0)+e;f=c[b>>2]|0;i=a;return f|0}return 0}function nd(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]=(c[e>>2]|0)+(c[2746544+(c[f>>2]<<2)>>2]|0);c[2746544+(c[f>>2]<<2)>>2]=c[g>>2]&255;i=d;return c[g>>2]|0}function od(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+8|0;f=d+4|0;g=d;c[e>>2]=a;c[f>>2]=b;b=c[e>>2]|0;e=c[2746544+((c[f>>2]|0)+0<<2)>>2]|0;if(c[686687]|0){c[g>>2]=b+(e<<8)+(c[2746544+((c[f>>2]|0)+1<<2)>>2]<<0);c[2746544+((c[f>>2]|0)+0<<2)>>2]=(c[g>>2]|0)>>>8&255;c[2746544+((c[f>>2]|0)+1<<2)>>2]=(c[g>>2]|0)>>>0&255;h=c[g>>2]|0;i=d;return h|0}else{c[g>>2]=b+(e<<0)+(c[2746544+((c[f>>2]|0)+1<<2)>>2]<<8);c[2746544+((c[f>>2]|0)+0<<2)>>2]=(c[g>>2]|0)>>>0&255;c[2746544+((c[f>>2]|0)+1<<2)>>2]=(c[g>>2]|0)>>>8&255;h=c[g>>2]|0;i=d;return h|0}return 0}function pd(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+8|0;f=d+4|0;g=d;c[e>>2]=a;c[f>>2]=b;b=c[e>>2]|0;e=c[2746544+((c[f>>2]|0)+0<<2)>>2]|0;if(c[686687]|0){c[g>>2]=b+(e<<16)+(c[2746544+((c[f>>2]|0)+1<<2)>>2]<<8)+(c[2746544+((c[f>>2]|0)+2<<2)>>2]<<0);c[2746544+((c[f>>2]|0)+0<<2)>>2]=(c[g>>2]|0)>>>16&255;c[2746544+((c[f>>2]|0)+1<<2)>>2]=(c[g>>2]|0)>>>8&255;c[2746544+((c[f>>2]|0)+2<<2)>>2]=(c[g>>2]|0)>>>0&255;h=c[g>>2]|0;i=d;return h|0}else{c[g>>2]=b+(e<<0)+(c[2746544+((c[f>>2]|0)+1<<2)>>2]<<8)+(c[2746544+((c[f>>2]|0)+2<<2)>>2]<<16);c[2746544+((c[f>>2]|0)+0<<2)>>2]=(c[g>>2]|0)>>>0&255;c[2746544+((c[f>>2]|0)+1<<2)>>2]=(c[g>>2]|0)>>>8&255;c[2746544+((c[f>>2]|0)+2<<2)>>2]=(c[g>>2]|0)>>>16&255;h=c[g>>2]|0;i=d;return h|0}return 0}function qd(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+8|0;f=d+4|0;g=d;c[e>>2]=a;c[f>>2]=b;b=c[e>>2]|0;e=c[2746544+((c[f>>2]|0)+0<<2)>>2]|0;if(c[686687]|0){c[g>>2]=b+(e<<24)+(c[2746544+((c[f>>2]|0)+1<<2)>>2]<<16)+(c[2746544+((c[f>>2]|0)+2<<2)>>2]<<8)+(c[2746544+((c[f>>2]|0)+3<<2)>>2]<<0);c[2746544+((c[f>>2]|0)+0<<2)>>2]=(c[g>>2]|0)>>>24&255;c[2746544+((c[f>>2]|0)+1<<2)>>2]=(c[g>>2]|0)>>>16&255;c[2746544+((c[f>>2]|0)+2<<2)>>2]=(c[g>>2]|0)>>>8&255;c[2746544+((c[f>>2]|0)+3<<2)>>2]=(c[g>>2]|0)>>>0&255;h=c[g>>2]|0;i=d;return h|0}else{c[g>>2]=b+(e<<0)+(c[2746544+((c[f>>2]|0)+1<<2)>>2]<<8)+(c[2746544+((c[f>>2]|0)+2<<2)>>2]<<16)+(c[2746544+((c[f>>2]|0)+3<<2)>>2]<<24);c[2746544+((c[f>>2]|0)+0<<2)>>2]=(c[g>>2]|0)>>>0&255;c[2746544+((c[f>>2]|0)+1<<2)>>2]=(c[g>>2]|0)>>>8&255;c[2746544+((c[f>>2]|0)+2<<2)>>2]=(c[g>>2]|0)>>>16&255;c[2746544+((c[f>>2]|0)+3<<2)>>2]=(c[g>>2]|0)>>>24&255;h=c[g>>2]|0;i=d;return h|0}return 0}function rd(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+8|0;f=d+4|0;g=d;c[e>>2]=a;c[f>>2]=b;switch(c[686686]|0){case 1:{c[g>>2]=nd(c[e>>2]|0,c[f>>2]|0)|0;b=c[g>>2]|0;c[g>>2]=c[g>>2]&128|0?b|-128:b&127;h=c[g>>2]|0;i=d;return h|0}case 2:{c[g>>2]=od(c[e>>2]|0,c[f>>2]|0)|0;b=c[g>>2]|0;c[g>>2]=c[g>>2]&32768|0?b|-32768:b&32767;h=c[g>>2]|0;i=d;return h|0}case 3:{c[g>>2]=pd(c[e>>2]|0,c[f>>2]|0)|0;b=c[g>>2]|0;c[g>>2]=c[g>>2]&8388608|0?b|-8388608:b&8388607;h=c[g>>2]|0;i=d;return h|0}case 4:{c[g>>2]=qd(c[e>>2]|0,c[f>>2]|0)|0;f=c[g>>2]|0;c[g>>2]=c[g>>2]&-2147483648|0?f|-2147483648:f&2147483647;h=c[g>>2]|0;i=d;return h|0}default:{c[g>>2]=0;h=c[g>>2]|0;i=d;return h|0}}return 0}function sd(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;g=d+8|0;h=d+4|0;c[f>>2]=a;c[g>>2]=b;a:do switch(c[686624]|0){case 2:{switch(c[686686]|0){case 4:{c[h>>2]=112075;break a;break}case 3:{c[h>>2]=112066;break a;break}default:{c[h>>2]=112054;break a}}break}case 1:{switch(c[686686]|0){case 4:{c[h>>2]=112047;break a;break}case 3:{c[h>>2]=112038;break a;break}default:{c[h>>2]=112027;break a}}break}default:switch(c[686686]|0){case 4:{c[h>>2]=112018;break a;break}case 3:{c[h>>2]=112007;break a;break}default:{c[h>>2]=111994;break a}}}while(0);b=c[f>>2]|0;f=c[h>>2]|0;c[e>>2]=c[g>>2]&c[686688];Sf(b,f,e)|0;i=d;return}function td(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b+4|0;c[d>>2]=a;switch(c[d>>2]|0){case 84:{ud();break}case 82:{vd();break}case 80:{wd();break}case 69:{xd();break}default:{Sf(c[25955]|0,112293,b)|0;c[686616]=(c[686616]|0)+1}}i=b;return}function ud(){var a=0;c[686635]=0;while(1){if(!($b()|0))break;if((c[686635]|0)>=16)continue;a=Kb()|0;c[2746544+(c[686635]<<2)>>2]=a;c[2746608+(c[686635]<<2)>>2]=1;c[2746672+(c[686635]<<2)>>2]=0;c[686635]=(c[686635]|0)+1}return}function vd(){var a=0,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=i;i=i+96|0;b=a+24|0;d=a+16|0;e=a+8|0;f=a;g=a+84|0;h=a+80|0;j=a+76|0;k=a+72|0;l=a+68|0;m=a+64|0;n=a+60|0;o=a+56|0;p=a+52|0;q=a+48|0;r=a+44|0;s=a+40|0;t=a+36|0;u=a+32|0;v=a+28|0;c[s>>2]=0;c[t>>2]=0;c[u>>2]=c[(c[686704]|0)+12>>2];c[v>>2]=c[(c[686704]|0)+20>>2];if((Kb()|0)==0?(Kb()|0)==0:0){c[k>>2]=md()|0;if((c[k>>2]|0)>=(c[(c[686704]|0)+8>>2]|0)){Sf(c[25955]|0,112556,e)|0;c[686616]=(c[686616]|0)+1;i=a;return}if(c[686619]|0){c[686707]=c[(c[(c[u>>2]|0)+(c[k>>2]<<2)>>2]|0)+4>>2];if(c[686608]|0?(c[(c[686684]|0)+44>>2]=c[686685],(c[686608]|0)!=(c[(c[686707]|0)+12>>2]|0)):0)hd();c[686608]=c[(c[686707]|0)+12>>2];c[686684]=c[(c[686707]|0)+8>>2];c[686685]=c[(c[686684]|0)+44>>2]}c[q>>2]=rd(0,0)|0;c[r>>2]=c[686686];c[686633]=rd(c[(c[(c[u>>2]|0)+(c[k>>2]<<2)>>2]|0)+12>>2]|0,0)|0;c[686634]=1;a:while(1){if(!($b()|0)){w=87;break}c[n>>2]=0;c[g>>2]=Kb()|0;if((c[g>>2]&240|0)==240){e=(c[g>>2]&-241)<<8;c[g>>2]=e|(Kb()|0)}c[m>>2]=Kb()|0;c[l>>2]=md()|0;do if(c[g>>2]&2|0){if((c[l>>2]|0)>=(c[(c[686704]|0)+16>>2]|0)){w=17;break a}c[h>>2]=Wd(c[(c[v>>2]|0)+(c[l>>2]<<2)>>2]|0)|0}else{if((c[g>>2]&137|0)==8){if((c[l>>2]|0)==65535)w=22}else if((c[l>>2]|0)==65535?(c[g>>2]&137|0)==136:0)w=22;if((w|0)==22){w=0;c[h>>2]=0;break}if((c[l>>2]|0)>=(c[(c[686704]|0)+8>>2]|0)){w=24;break a}c[h>>2]=c[(c[(c[u>>2]|0)+(c[l>>2]<<2)>>2]|0)+12>>2]}while(0);do if(c[g>>2]&4|0){e=(c[686633]|0)+((c[m>>2]|0)-(c[r>>2]|0))|0;if(c[g>>2]&1|0){c[h>>2]=(c[h>>2]|0)-(e+1);break}else{c[h>>2]=(c[h>>2]|0)-(e+2);break}}while(0);if(c[g>>2]&96|0){c[s>>2]=c[(c[686777]|0)+16>>2];c[t>>2]=c[686779];c[h>>2]=(c[h>>2]|0)-((c[s>>2]|0)+(c[t>>2]|0))}e=c[g>>2]|0;do if(c[g>>2]&1|0){x=c[g>>2]|0;if(e&256|0){if(x&1024|0){c[j>>2]=Ad(c[h>>2]|0,c[m>>2]|0)|0;break}if(c[g>>2]&512|0){c[j>>2]=Bd(c[h>>2]|0,c[m>>2]|0)|0;break}y=c[h>>2]|0;z=c[m>>2]|0;if(c[g>>2]&128|0){c[j>>2]=Cd(y,z)|0;break}else{c[j>>2]=Dd(y,z)|0;break}}else{if(!(x&8)){c[j>>2]=nd(c[h>>2]|0,c[m>>2]|0)|0;break}if(c[g>>2]&1024|0){c[j>>2]=Ed(c[h>>2]|0,c[m>>2]|0)|0;break}x=c[h>>2]|0;z=c[m>>2]|0;if(c[g>>2]&128|0){c[j>>2]=Fd(x,z)|0;break}else{c[j>>2]=Gd(x,z)|0;break}}}else{if((e&137|0)==8){c[j>>2]=od(c[h>>2]|0,c[m>>2]|0)|0;if((c[j>>2]&-2048|0)!=((c[686633]|0)+(c[m>>2]|0)-(c[r>>2]|0)&-2048|0))c[n>>2]=6;c[2746544+(c[m>>2]<<2)>>2]=(c[2746544+(c[m>>2]<<2)>>2]&7)<<5|c[2746544+((c[m>>2]|0)+2<<2)>>2];c[2746608+((c[m>>2]|0)+2<<2)>>2]=0;c[r>>2]=(c[r>>2]|0)+1;break}if((c[g>>2]&137|0)!=136){z=c[h>>2]|0;x=c[m>>2]|0;if((c[g>>2]&137|0)==128){c[j>>2]=pd(z,x)|0;break}else{c[j>>2]=od(z,x)|0;break}}else{c[j>>2]=pd(c[h>>2]|0,c[m>>2]|0)|0;if((c[j>>2]&-524288|0)!=((c[686633]|0)+(c[m>>2]|0)-(c[r>>2]|0)&-524288|0))c[n>>2]=7;c[2746544+(c[m>>2]<<2)>>2]=(c[2746544+(c[m>>2]<<2)>>2]&7)<<5|c[2746544+((c[m>>2]|0)+3<<2)>>2];c[2746608+((c[m>>2]|0)+3<<2)>>2]=0;c[r>>2]=(c[r>>2]|0)+1;break}}while(0);if(c[g>>2]&1|0?c[g>>2]&8|0:0)c[r>>2]=(c[r>>2]|0)+((c[686686]|0)-1);if((c[g>>2]&16|0?c[g>>2]&1|0:0)?c[j>>2]&-256|0:0)c[n>>2]=1;if((c[g>>2]&4|0?c[g>>2]&1|0:0)?(c[p>>2]=c[j>>2]&-128,(c[p>>2]|0)!=-128&(c[p>>2]|0)!=0):0)c[n>>2]=2;if(!((be()|0)!=1?(be()|0)!=2:0))w=72;if(((w|0)==72?(w=0,c[g>>2]&32|0):0)?(c[j>>2]&-256|0)!=0|(c[s>>2]|0)!=0|(c[t>>2]|0)!=0:0)c[n>>2]=4;if(c[g>>2]&64|0?c[j>>2]&-256|0:0)c[n>>2]=5;if(c[g>>2]&1024|0?c[j>>2]&-34816|0:0)c[n>>2]=10;if(!(c[n>>2]|0))continue;c[686780]=c[k>>2];c[686781]=c[g>>2];c[686782]=(c[q>>2]|0)+(c[m>>2]|0)-(c[r>>2]|0)-1;c[686783]=c[l>>2];c[686784]=(c[j>>2]|0)-(c[h>>2]|0);Hd(c[103596+(c[n>>2]<<2)>>2]|0);c[o>>2]=c[m>>2];while(1){if((c[o>>2]|0)>=((c[m>>2]|0)+(c[686686]|0)|0))continue a;if(c[2746608+(c[o>>2]<<2)>>2]|0)break;c[o>>2]=(c[o>>2]|0)+1}c[2746672+(c[o>>2]<<2)>>2]=c[n>>2]}if((w|0)==17){Sf(c[25955]|0,112570,d)|0;c[686616]=(c[686616]|0)+1;i=a;return}else if((w|0)==24){Sf(c[25955]|0,112556,b)|0;c[686616]=(c[686616]|0)+1;i=a;return}else if((w|0)==87){if(c[686626]|0)uc(1);if(!(c[686619]|0)){i=a;return}cd(1);i=a;return}}Sf(c[25955]|0,112541,f)|0;c[686616]=(c[686616]|0)+1;i=a;return}function wd(){var a=0,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;a=i;i=i+64|0;b=a+32|0;d=a+24|0;e=a+16|0;f=a+8|0;g=a;h=a+60|0;j=a+56|0;k=a+52|0;l=a+48|0;m=a+44|0;n=a+40|0;o=a+36|0;c[n>>2]=c[(c[686704]|0)+12>>2];c[o>>2]=c[(c[686704]|0)+20>>2];if(!(!(Kb()|0)?!(Kb()|0):0)){Sf(c[25955]|0,112325,g)|0;c[686616]=(c[686616]|0)+1}c[h>>2]=md()|0;if((c[h>>2]|0)>=(c[(c[686704]|0)+8>>2]|0)){Sf(c[25955]|0,112340,f)|0;c[686616]=(c[686616]|0)+1;i=a;return}while(1){if(!($b()|0)){p=15;break}c[k>>2]=Kb()|0;c[l>>2]=Kb()|0;c[j>>2]=md()|0;f=c[j>>2]|0;g=c[686704]|0;if(c[k>>2]&2|0){if((f|0)>=(c[g+16>>2]|0)){p=9;break}c[m>>2]=Wd(c[(c[o>>2]|0)+(c[j>>2]<<2)>>2]|0)|0}else{if((f|0)>=(c[g+8>>2]|0)){p=12;break}c[m>>2]=c[(c[(c[n>>2]|0)+(c[j>>2]<<2)>>2]|0)+12>>2]}od(c[m>>2]|0,c[l>>2]|0)|0}if((p|0)==9){Sf(c[25955]|0,112354,e)|0;c[686616]=(c[686616]|0)+1;i=a;return}else if((p|0)==12){Sf(c[25955]|0,112340,d)|0;c[686616]=(c[686616]|0)+1;i=a;return}else if((p|0)==15){c[h>>2]=od(0,2)|0;if((c[h>>2]|0)>=(c[(c[686704]|0)+8>>2]|0)){Sf(c[25955]|0,112340,b)|0;c[686616]=(c[686616]|0)+1;i=a;return}c[686778]=c[(c[n>>2]|0)+(c[h>>2]<<2)>>2];c[686777]=c[(c[686778]|0)+4>>2];c[686779]=od(0,4)|0;if((c[(c[686777]|0)+16>>2]&255|0)==0?(c[686779]&255|0)==0:0){i=a;return}yd(112370);i=a;return}}function xd(){if(c[686626]|0)uc(0);if(!(c[686619]|0))return;hd();ie();return}function yd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;zd(c[25955]|0,c[d>>2]|0);if(!(c[686611]|0)){i=b;return}zd(c[686611]|0,c[d>>2]|0);i=b;return}function zd(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+48|0;e=d+16|0;f=d;g=d+36|0;h=d+32|0;j=d+28|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=c[(c[686778]|0)+8>>2];b=c[g>>2]|0;c[f>>2]=c[h>>2];Sf(b,112401,f)|0;c[686616]=(c[686616]|0)+1;Sf(c[g>>2]|0,112422,d+8|0)|0;f=c[g>>2]|0;b=c[(c[j>>2]|0)+40>>2]|0;h=c[(c[686777]|0)+36>>2]|0;c[e>>2]=c[(c[(c[j>>2]|0)+4>>2]|0)+8>>2];c[e+4>>2]=b;c[e+8>>2]=h;Sf(f,112495,e)|0;sd(c[g>>2]|0,(c[(c[686777]|0)+16>>2]|0)+(c[686779]|0)|0);i=d;return}function Ad(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;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]=(Dd(c[f>>2]|0,c[g>>2]|0)|0)&255;f=c[h>>2]|0;do if((c[h>>2]|0)>>>0>=32&(c[h>>2]|0)>>>0<=47)c[h>>2]=f-32<<3;else{if(f>>>0>=128?(c[h>>2]&7|0)==0:0)break;c[e>>2]=256;j=c[e>>2]|0;i=d;return j|0}while(0);f=(c[h>>2]|0)+(c[2746544+((c[g>>2]|0)+1<<2)>>2]&7)|0;b=c[g>>2]|0;if(c[686687]|0){c[2746544+(b+2<<2)>>2]=f;c[h>>2]=f}else{c[2746544+(b<<2)>>2]=f;c[h>>2]=f}c[e>>2]=c[h>>2];j=c[e>>2]|0;i=d;return j|0}function Bd(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]=pd(c[e>>2]|0,c[f>>2]|0)|0;e=c[f>>2]|0;if(c[686687]|0)c[2746608+(e+2<<2)>>2]=0;else c[2746608+(e<<2)>>2]=0;c[2746608+((c[f>>2]|0)+1<<2)>>2]=0;i=d;return c[g>>2]|0}function Cd(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]=pd(c[e>>2]|0,c[f>>2]|0)|0;c[2746608+((c[f>>2]|0)+2<<2)>>2]=0;c[2746608+(c[f>>2]<<2)>>2]=0;i=d;return c[g>>2]|0}function Dd(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]=pd(c[e>>2]|0,c[f>>2]|0)|0;e=c[f>>2]|0;if(c[686687]|0)c[2746608+(e<<2)>>2]=0;else c[2746608+(e+2<<2)>>2]=0;c[2746608+((c[f>>2]|0)+1<<2)>>2]=0;i=d;return c[g>>2]|0}function Ed(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;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]=(Gd(c[f>>2]|0,c[g>>2]|0)|0)&255;f=c[h>>2]|0;do if((c[h>>2]|0)>>>0>=32&(c[h>>2]|0)>>>0<=47)c[h>>2]=f-32<<3;else{if(f>>>0>=128?(c[h>>2]&7|0)==0:0)break;c[e>>2]=256;j=c[e>>2]|0;i=d;return j|0}while(0);f=c[h>>2]|0;b=c[g>>2]|0;if(c[686687]|0){a=f+(c[2746544+(b<<2)>>2]&7)|0;c[2746544+((c[g>>2]|0)+1<<2)>>2]=a;c[h>>2]=a}else{a=f+(c[2746544+(b+1<<2)>>2]&7)|0;c[2746544+(c[g>>2]<<2)>>2]=a;c[h>>2]=a}c[e>>2]=c[h>>2];j=c[e>>2]|0;i=d;return j|0}function Fd(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;g=d+8|0;h=d+4|0;j=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=rd(c[e>>2]|0,c[f>>2]|0)|0;c[h>>2]=c[686687]|0?(c[686686]|0)-2|0:1;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[686686]|0))break;if((c[j>>2]|0)!=(c[h>>2]|0))c[2746608+((c[f>>2]|0)+(c[j>>2]|0)<<2)>>2]=0;c[j>>2]=(c[j>>2]|0)+1}i=d;return c[g>>2]|0}function Gd(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;g=d+8|0;h=d+4|0;j=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=rd(c[e>>2]|0,c[f>>2]|0)|0;c[h>>2]=c[686687]|0?(c[686686]|0)-1|0:0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[686686]|0))break;if((c[j>>2]|0)!=(c[h>>2]|0))c[2746608+((c[f>>2]|0)+(c[j>>2]|0)<<2)>>2]=0;c[j>>2]=(c[j>>2]|0)+1}i=d;return c[g>>2]|0}function Hd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Id(c[25955]|0,c[d>>2]|0);if(!(c[686611]|0)){i=b;return}Id(c[686611]|0,c[d>>2]|0);i=b;return}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,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=i;i=i+96|0;e=d+48|0;f=d+32|0;g=d+8|0;h=d;j=d+88|0;k=d+84|0;l=d+80|0;m=d+76|0;n=d+72|0;o=d+68|0;p=d+64|0;q=d+60|0;c[j>>2]=a;c[k>>2]=b;c[p>>2]=c[(c[686704]|0)+12>>2];c[o>>2]=c[(c[686704]|0)+20>>2];c[l>>2]=c[686781];c[m>>2]=c[686780];c[n>>2]=c[686783];b=c[j>>2]|0;c[h>>2]=c[k>>2];Sf(b,112586,h)|0;c[686616]=(c[686616]|0)+1;h=c[j>>2]|0;if(c[l>>2]&2|0){c[g>>2]=c[(c[(c[o>>2]|0)+(c[n>>2]<<2)>>2]|0)+16>>2];Sf(h,112606,g)|0}else Sf(h,112623,d+16|0)|0;Sf(c[j>>2]|0,112625,d+24|0)|0;h=c[j>>2]|0;if(c[(c[686704]|0)+4>>2]|0?c[(c[(c[686704]|0)+4>>2]|0)+8>>2]|0:0)r=c[(c[(c[686704]|0)+4>>2]|0)+8>>2]|0;else r=112283;g=c[(c[686704]|0)+40>>2]|0;b=c[(c[(c[(c[p>>2]|0)+(c[m>>2]<<2)>>2]|0)+4>>2]|0)+36>>2]|0;c[f>>2]=r;c[f+4>>2]=g;c[f+8>>2]=b;Sf(h,112696,f)|0;sd(c[j>>2]|0,c[686782]|0);f=c[n>>2]|0;if(c[l>>2]&2|0)c[q>>2]=c[(c[(c[o>>2]|0)+(f<<2)>>2]|0)+4>>2];else c[q>>2]=c[(c[p>>2]|0)+(f<<2)>>2];f=c[j>>2]|0;if(c[(c[(c[q>>2]|0)+8>>2]|0)+4>>2]|0?c[(c[(c[(c[q>>2]|0)+8>>2]|0)+4>>2]|0)+8>>2]|0:0)s=c[(c[(c[(c[q>>2]|0)+8>>2]|0)+4>>2]|0)+8>>2]|0;else s=112283;p=c[(c[(c[q>>2]|0)+8>>2]|0)+40>>2]|0;h=c[(c[(c[q>>2]|0)+4>>2]|0)+36>>2]|0;c[e>>2]=s;c[e+4>>2]=p;c[e+8>>2]=h;Sf(f,112742,e)|0;e=c[j>>2]|0;if(c[l>>2]&2|0){sd(e,c[(c[(c[o>>2]|0)+(c[n>>2]<<2)>>2]|0)+12>>2]|0);i=d;return}else{sd(e,c[686784]|0);i=d;return}}function Jd(b){b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;c[e>>2]=b;if(!(c[e>>2]|0)){Kd();Sf(c[686608]|0,112788,d)|0;i=d;return}if((be()|0)==5?c[(c[686707]|0)+32>>2]&256|0:0){i=d;return}if(!(c[686687]|0)){c[f>>2]=c[686636];c[686636]=c[686637];c[686637]=c[f>>2]}c[686604]=c[686636]<<8|c[686637];if((c[686604]|0)!=(c[686603]|0)){Kd();f=c[686604]|0;c[686603]=f;c[686602]=f}c[g>>2]=2;while(1){if((c[g>>2]|0)>=(c[686635]|0))break;if(c[2746608+(c[g>>2]<<2)>>2]|0?(f=c[2746544+(c[g>>2]<<2)>>2]&255,e=c[686603]|0,c[686603]=e+1,a[2760037+(e-(c[686602]|0))>>0]=f,((c[686603]|0)-(c[686602]|0)|0)==34):0)Kd();c[g>>2]=(c[g>>2]|0)+1}i=d;return}function Kd(){var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;b=i;i=i+48|0;d=b+16|0;e=b+8|0;f=b;g=b+32|0;h=b+28|0;j=b+24|0;k=b+20|0;c[j>>2]=(c[686603]|0)-(c[686602]|0);if(!(c[j>>2]|0)){i=b;return}c[k>>2]=(c[j>>2]|0)+3;c[g>>2]=c[k>>2];c[g>>2]=(c[g>>2]|0)+(c[686602]|0);c[g>>2]=(c[g>>2]|0)+((c[686602]|0)>>>8);l=c[686608]|0;m=c[686602]|0;c[f>>2]=c[k>>2];c[f+4>>2]=m;Sf(l,112800,f)|0;c[h>>2]=0;while(1){if((c[h>>2]|0)>>>0>=(c[j>>2]|0)>>>0)break;c[g>>2]=(c[g>>2]|0)+(a[2760037+(c[h>>2]|0)>>0]|0);f=c[686608]|0;c[e>>2]=a[2760037+(c[h>>2]|0)>>0]&255;Sf(f,112811,e)|0;c[h>>2]=(c[h>>2]|0)+1}h=c[686608]|0;c[d>>2]=~c[g>>2]&255;Sf(h,112816,d)|0;c[686602]=c[686603];i=b;return}function Ld(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+32|0;d=b+4|0;e=b;f=b+8|0;c[e>>2]=a;a:do if((cg(f,1,9,c[e>>2]|0)|0)==9?(Je(f,112979,9)|0)==0:0){switch(lg(c[e>>2]|0)|0){case 13:{if((lg(c[e>>2]|0)|0)==10){c[d>>2]=1;break a}break}case 10:break;default:{g=7;break a}}c[d>>2]=1}else g=7;while(0);if((g|0)==7){hg(c[e>>2]|0);c[d>>2]=0}i=b;return c[d>>2]|0}function Md(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;f=i;i=i+8512|0;g=f+8|0;h=f;j=f+56|0;k=f+52|0;l=f+48|0;m=f+44|0;n=f+40|0;o=f+8256|0;p=f+36|0;q=f+32|0;r=f+28|0;s=f+4160|0;t=f+64|0;u=f+24|0;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[p>>2]=0;c[q>>2]=0;c[r>>2]=0;a:while(1){if(!(Na(o,254,c[l>>2]|0)|0)){v=20;break}switch(c[p>>2]|0){case 0:{if(Ie(o,112923)|0)continue a;Na(o,254,c[l>>2]|0)|0;c[q>>2]=og(o)|0;c[p>>2]=1;continue a;break}case 1:{if(Ie(o,112931)|0)if(Ie(o,112960)|0)continue a;else{v=12;break a}xg(t|0,0,4096)|0;Na(o,254,c[l>>2]|0)|0;c[h>>2]=t;c[h+4>>2]=u;_f(o,112940,h)|0;c[p>>2]=2;e=(c[686794]|0)==0;d=Ud(32)|0;if(e){c[m>>2]=d;c[686794]=d}else{c[(c[m>>2]|0)+28>>2]=d;c[m>>2]=c[(c[m>>2]|0)+28>>2]}c[(c[m>>2]|0)+28>>2]=0;c[c[m>>2]>>2]=-1;c[(c[m>>2]|0)+16>>2]=(c[u>>2]|0)+(c[q>>2]|0);c[(c[m>>2]|0)+4>>2]=c[(c[k>>2]|0)+12>>2];d=tf(t)|0;c[(c[m>>2]|0)+8>>2]=d;c[g>>2]=c[(c[k>>2]|0)+4>>2];c[g+4>>2]=t;c[g+8>>2]=46;c[g+12>>2]=112956;Le(s,112947,g)|0;d=tf(s)|0;c[(c[m>>2]|0)+12>>2]=d;c[(c[m>>2]|0)+20>>2]=c[n>>2];c[r>>2]=0;c[(c[m>>2]|0)+24>>2]=0;continue a;break}case 2:{if(!(Ie(o,112969)|0)){c[c[m>>2]>>2]=0;c[p>>2]=1;continue a}d=(c[r>>2]|0)==0;e=Ud(8)|0;if(d){c[(c[m>>2]|0)+24>>2]=e;c[r>>2]=e}else{c[(c[r>>2]|0)+4>>2]=e;c[r>>2]=c[(c[r>>2]|0)+4>>2]}c[(c[r>>2]|0)+4>>2]=0;e=tf(o)|0;c[c[r>>2]>>2]=e;continue a;break}default:{v=19;break a}}}if((v|0)==12){c[j>>2]=c[m>>2];w=c[j>>2]|0;i=f;return w|0}else if((v|0)==19){c[j>>2]=c[m>>2];w=c[j>>2]|0;i=f;return w|0}else if((v|0)==20){c[j>>2]=c[m>>2];w=c[j>>2]|0;i=f;return w|0}return 0}function Nd(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+8|0;e=b;f=b+20|0;g=b+16|0;h=b+12|0;c[f>>2]=a;c[g>>2]=Af(c[(c[f>>2]|0)+4>>2]|0,112822)|0;if(!(c[g>>2]|0)){a=c[25955]|0;c[d>>2]=c[(c[f>>2]|0)+4>>2];Sf(a,112874,d)|0;Gc(1);i=b;return}gg(c[g>>2]|0,c[(c[f>>2]|0)+20>>2]|0,0)|0;c[h>>2]=Od(c[(c[f>>2]|0)+4>>2]|0,c[g>>2]|0,c[(c[f>>2]|0)+8>>2]|0)|0;Yf(c[g>>2]|0)|0;if(c[h>>2]|0){i=b;return}h=c[25955]|0;g=c[(c[f>>2]|0)+8>>2]|0;c[e>>2]=c[(c[f>>2]|0)+4>>2];c[e+4>>2]=g;Sf(h,112825,e)|0;Gc(1);i=b;return}function Od(a,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+4128|0;f=e+16|0;g=e+8|0;h=e+4|0;j=e+24|0;k=e;c[e+12>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=0;a:while(1){if(!(Na(j,4096,c[g>>2]|0)|0)){l=13;break}switch(c[k>>2]|0){case 1:{l=10;break a;break}case 0:break;default:continue a}if(Ie(j,112910)|0){l=9;break}if(!(Na(j,4096,c[g>>2]|0)|0)){l=8;break}if(Ie(j,c[h>>2]|0)|0){l=8;break}c[k>>2]=1}if((l|0)==8)c[f>>2]=0;else if((l|0)==9)c[f>>2]=0;else if((l|0)==10){if(Ie(j,112917)|0)m=0;else m=jd(c[g>>2]|0,-1)|0;c[f>>2]=m}else if((l|0)==13)c[f>>2]=0;i=e;return c[f>>2]|0}function Pd(){var a=0,b=0,d=0;a=i;i=i+16|0;b=a;c[b>>2]=2746836;while(1){if((c[b>>2]|0)>>>0>=2747092>>>0)break;d=c[b>>2]|0;c[b>>2]=d+4;c[d>>2]=0}i=a;return}function Qd(){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;b=i;i=i+4160|0;d=b+32|0;e=b+24|0;f=b+16|0;g=b+8|0;h=b+60|0;j=b+56|0;k=b+52|0;l=b+48|0;m=b+44|0;n=b+40|0;o=b+36|0;p=b+64|0;if(!(c[686703]|0)){Sf(c[25955]|0,112989,b)|0;Gc(3)}Vb(p);c[n>>2]=Rd(p,1)|0;c[k>>2]=Sb()|0;Tb()|0;Tb()|0;do if((c[k>>2]|0)==82){q=(c[n>>2]|0)+8|0;a[q>>0]=a[q>>0]|1;if(Kb()|0){Sf(c[25955]|0,113008,g)|0;c[686616]=(c[686616]|0)+1}}else{if((c[k>>2]|0)!=68){q=c[25955]|0;c[e>>2]=c[k>>2];c[e+4>>2]=p;Sf(q,113051,e)|0;Gc(3);break}c[j>>2]=Kb()|0;do if(a[(c[n>>2]|0)+8>>0]&2|0){if((((c[(c[n>>2]|0)+12>>2]|0)==(c[j>>2]|0)?c[(c[n>>2]|0)+4>>2]|0:0)?c[(c[(c[n>>2]|0)+4>>2]|0)+4>>2]|0:0)?(c[(c[(c[(c[n>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]&8|0)==8:0)break;q=c[25955]|0;c[f>>2]=p;Sf(q,113024,f)|0;c[686616]=(c[686616]|0)+1}while(0);c[(c[n>>2]|0)+12>>2]=c[j>>2];c[(c[n>>2]|0)+4>>2]=c[686708];q=(c[n>>2]|0)+8|0;a[q>>0]=a[q>>0]|2;c[(c[n>>2]|0)+20>>2]=c[(c[686704]|0)+40>>2]}while(0);c[m>>2]=c[(c[686704]|0)+16>>2];c[o>>2]=c[(c[686704]|0)+20>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[m>>2]|0)){r=20;break}if(!(c[(c[o>>2]|0)+(c[l>>2]<<2)>>2]|0)){r=18;break}c[l>>2]=(c[l>>2]|0)+1}if((r|0)==18){c[(c[o>>2]|0)+(c[l>>2]<<2)>>2]=c[n>>2];c[h>>2]=c[n>>2];s=c[h>>2]|0;i=b;return s|0}else if((r|0)==20){Sf(c[25955]|0,113082,d)|0;Gc(3);c[h>>2]=0;s=c[h>>2]|0;i=b;return s|0}return 0}function Rd(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;d=i;i=i+32|0;e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;j=d;c[f>>2]=a;c[g>>2]=b;c[j>>2]=Sd(c[f>>2]|0,c[686628]|0)|0;c[h>>2]=c[2746836+(c[j>>2]<<2)>>2];while(1){if(!(c[h>>2]|0))break;b=(Td(c[f>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[686628]|0)|0)!=0;k=c[h>>2]|0;if(b){l=4;break}c[h>>2]=c[k>>2]}if((l|0)==4){c[e>>2]=k;m=c[e>>2]|0;i=d;return m|0}if(!(c[g>>2]|0)){c[e>>2]=0;m=c[e>>2]|0;i=d;return m|0}else{c[h>>2]=Ud(24)|0;c[c[h>>2]>>2]=c[2746836+(c[j>>2]<<2)>>2];c[2746836+(c[j>>2]<<2)>>2]=c[h>>2];j=Vd(c[f>>2]|0)|0;c[(c[h>>2]|0)+16>>2]=j;c[e>>2]=c[h>>2];m=c[e>>2]|0;i=d;return m|0}return 0}function Sd(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+8|0;g=e+4|0;h=e;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;while(1){if(!(a[c[f>>2]>>0]|0))break;d=(c[g>>2]|0)!=0;b=c[f>>2]|0;c[f>>2]=b+1;j=a[b>>0]|0;if(d){c[h>>2]=(c[h>>2]|0)+(a[105773+(j&127)>>0]|0);continue}else{c[h>>2]=(c[h>>2]|0)+j;continue}}i=e;return c[h>>2]&63|0}function Td(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;g=f+16|0;h=f+12|0;j=f+8|0;k=f+4|0;l=f;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=(kf(c[h>>2]|0)|0)+1;a:do if(c[k>>2]|0){while(1){e=c[h>>2]|0;c[h>>2]=e+1;d=a[105773+(a[e>>0]&127)>>0]|0;e=c[j>>2]|0;c[j>>2]=e+1;if((d|0)!=(a[105773+(a[e>>0]&127)>>0]|0))break;e=(c[l>>2]|0)+-1|0;c[l>>2]=e;if(!e)break a}c[g>>2]=0;m=c[g>>2]|0;i=f;return m|0}else{while(1){e=c[h>>2]|0;c[h>>2]=e+1;d=a[e>>0]|0;e=c[j>>2]|0;c[j>>2]=e+1;if((d|0)!=(a[e>>0]|0))break;e=(c[l>>2]|0)+-1|0;c[l>>2]=e;if(!e)break a}c[g>>2]=0;m=c[g>>2]|0;i=f;return m|0}while(0);c[g>>2]=1;m=c[g>>2]|0;i=f;return m|0}function Ud(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+32|0;e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;c[e>>2]=b;b=pg(c[e>>2]|0)|0;c[f>>2]=b;if(!b){Sf(c[25955]|0,113111,d)|0;Gc(3)}c[h>>2]=0;c[g>>2]=c[f>>2];while(1){if((c[h>>2]|0)>>>0>=(c[e>>2]|0)>>>0)break;b=c[g>>2]|0;c[g>>2]=b+1;a[b>>0]=0;c[h>>2]=(c[h>>2]|0)+1}i=d;return c[f>>2]|0}function Vd(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]=(kf(c[d>>2]|0)|0)+1;if((c[e>>2]|0)>(c[686797]|0)){c[686798]=Ud(1024)|0;c[686797]=1024}c[f>>2]=c[686798];df(c[f>>2]|0,c[d>>2]|0,c[e>>2]|0)|0;c[686798]=(c[686798]|0)+(c[e>>2]|0);c[686797]=(c[686797]|0)-(c[e>>2]|0);i=b;return c[f>>2]|0}function Wd(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;c[e>>2]=c[(c[d>>2]|0)+12>>2];if(!(c[(c[d>>2]|0)+4>>2]|0)){f=c[e>>2]|0;i=b;return f|0}c[e>>2]=(c[e>>2]|0)+(c[(c[(c[d>>2]|0)+4>>2]|0)+12>>2]|0);f=c[e>>2]|0;i=b;return f|0}function Xd(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[e>>2]=b;c[g>>2]=0;while(1){if((c[g>>2]|0)>=64)break;c[f>>2]=c[2746836+(c[g>>2]<<2)>>2];while(1){if(!(c[f>>2]|0))break;if(!(c[(c[f>>2]|0)+4>>2]|0))c[(c[f>>2]|0)+4>>2]=c[(c[686706]|0)+4>>2];if(!(a[(c[f>>2]|0)+8>>0]&2))Yd(c[e>>2]|0,c[f>>2]|0);c[f>>2]=c[c[f>>2]>>2]}c[g>>2]=(c[g>>2]|0)+1}i=d;return}function Yd(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+8|0;f=d;g=d+24|0;h=d+20|0;j=d+16|0;k=d+12|0;c[g>>2]=a;c[h>>2]=b;b=c[686703]|0;c[686704]=b;if(!((b|0)!=0&(c[686704]|0)!=0)){i=d;return}do{c[k>>2]=c[(c[686704]|0)+20>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[686704]|0)+16>>2]|0))break;if((c[(c[k>>2]|0)+(c[j>>2]<<2)>>2]|0)==(c[h>>2]|0)){b=c[g>>2]|0;c[f>>2]=c[(c[h>>2]|0)+16>>2];Sf(b,113126,f)|0;b=c[g>>2]|0;c[e>>2]=c[(c[686704]|0)+40>>2];Sf(b,113166,e)|0;c[686616]=(c[686616]|0)+1}c[j>>2]=(c[j>>2]|0)+1}c[686704]=c[c[686704]>>2]}while((c[686704]|0)!=0);i=d;return}function Zd(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,p=0;d=i;i=i+96|0;e=d+16|0;f=d+8|0;g=d;h=d+80|0;j=d+32|0;k=d+24|0;l=d+20|0;c[h>>2]=b;b=j;m=103652;n=b+48|0;do{c[b>>2]=c[m>>2];b=b+4|0;m=m+4|0}while((b|0)<(n|0));c[k>>2]=6;c[l>>2]=_d(c[h>>2]|0)|0;m=(Ke(c[l>>2]|0,113193,4)|0)==0&1;c[25925]=m;a:do if(m|0){if(!(a[(c[l>>2]|0)+4>>0]|0)){c[686799]=4;break}c[k>>2]=0;while(1){if((c[k>>2]|0)>>>0>=6)break a;b=(yf(c[l>>2]|0,c[j+(c[k>>2]<<3)>>2]|0)|0)!=0;o=c[k>>2]|0;if(b)break;c[k>>2]=o+1}c[686799]=c[j+(o<<3)+4>>2]}while(0);if(!(qa(113198)|0)){i=d;return}c[g>>2]=c[h>>2];Zf(113208,g)|0;c[f>>2]=c[25925];Zf(113223,f)|0;if(!(c[25925]|0)){i=d;return}if((c[k>>2]|0)>>>0>=6)p=113236;else p=c[j+(c[k>>2]<<3)>>2]|0;c[e>>2]=p;Zf(113241,e)|0;i=d;return}function _d(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=mg(c[d>>2]|0)|0;i=b;return a|0}function $d(){ae();return c[25925]|0}function ae(){var a=0;a=i;i=i+16|0;if((c[25925]|0)==-1){Sf(c[25955]|0,113280,a)|0;xa(1)}else{i=a;return}}function be(){ae();return c[686799]|0}function ce(){if(!(c[686622]|0))return;Pa(c[(c[686701]|0)+8>>2]|0);c[686610]=Ic(c[(c[686701]|0)+8>>2]|0,113303,1)|0;if(!(c[686610]|0))Gc(1);c[686623]=1;return}function de(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[686622]|0)!=0&(c[686610]|0)!=0)){i=b;return}c[e>>2]=Ic(c[d>>2]|0,113307,0)|0;if(!(c[e>>2]|0)){i=b;return}Qc(c[686610]|0,c[e>>2]|0);Yf(c[e>>2]|0)|0;i=b;return}function ee(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;f=d+20|0;g=d+16|0;h=d+12|0;j=d+8|0;c[f>>2]=a;c[g>>2]=b;if(!(c[686610]|0)){i=d;return}c[h>>2]=0;c[j>>2]=c[f>>2];while(1){b=nf(c[j>>2]|0,36)|0;c[j>>2]=b;if(!b)break;c[j>>2]=(c[j>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+1}if((c[h>>2]|0)<=2){i=d;return}h=c[686610]|0;j=c[g>>2]|0;c[e>>2]=c[f>>2];c[e+4>>2]=j;Sf(h,113311,e)|0;i=d;return}function fe(){var a=0,b=0,d=0;a=i;i=i+16|0;b=a+4|0;d=a;c[686705]=c[21];while(1){if(!(c[686705]|0))break;a:do if(c[(c[686705]|0)+24>>2]&1|0){c[686707]=c[686706];while(1){if(!(c[686707]|0))break a;if((((c[(c[686707]|0)+8>>2]|0)==(c[686705]|0)?(c[(c[686707]|0)+32>>2]&32896|0)==32896:0)?(c[(c[686707]|0)+24>>2]|0)==0:0)?(c[d>>2]=1+(c[(c[686707]|0)+32>>2]&3),c[b>>2]=c[(c[686705]|0)+12>>2],c[(c[686707]|0)+16>>2]=(((c[b>>2]|0)>>>0)/((c[d>>2]|0)>>>0)|0)+(((c[b>>2]|0)>>>0)%((c[d>>2]|0)>>>0)|0|0?1:0),c[(c[686707]|0)+24>>2]=1,(c[(c[686707]|0)+32>>2]&2056|0)!=2056):0)break a;c[686707]=c[c[686707]>>2]}}while(0);c[686705]=c[c[686705]>>2]}c[686707]=c[686706];while(1){if(!(c[686707]|0))break;if(!(c[(c[686707]|0)+32>>2]&32896))c[(c[686707]|0)+8>>2]=c[21];c[686707]=c[c[686707]>>2]}i=a;return}function ge(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;d=b;e=b+20|0;f=b+16|0;g=b+12|0;h=b+8|0;j=b+4|0;c[e>>2]=a;c[686705]=c[21];while(1){if(!(c[686705]|0))break;if(c[(c[686705]|0)+24>>2]&2|0?(c[h>>2]=c[(c[686705]|0)+16>>2],c[h>>2]|0):0){c[f>>2]=-1;c[g>>2]=0;c[686707]=c[686706];while(1){if(!(c[686707]|0))break;if((c[(c[686707]|0)+8>>2]|0)==(c[686705]|0)?(c[(c[686707]|0)+32>>2]&32896|0)==32896:0){c[j>>2]=S(c[(c[686707]|0)+16>>2]|0,1+(c[(c[686707]|0)+32>>2]&3)|0)|0;if((c[j>>2]|0)>>>0<(c[f>>2]|0)>>>0)c[f>>2]=c[j>>2];c[j>>2]=S((c[(c[686707]|0)+16>>2]|0)+(c[(c[686707]|0)+20>>2]|0)|0,1+(c[(c[686707]|0)+32>>2]&3)|0)|0;if((c[j>>2]|0)>>>0>(c[g>>2]|0)>>>0)c[g>>2]=c[j>>2]}c[686707]=c[c[686707]>>2]}if(((c[g>>2]|0)-(c[f>>2]|0)|0)>>>0>(c[h>>2]|0)>>>0){a=c[e>>2]|0;c[d>>2]=c[(c[686705]|0)+4>>2];Sf(a,113320,d)|0;c[686616]=(c[686616]|0)+1}}c[686705]=c[c[686705]>>2]}i=b;return}function he(){var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;i=i+8224|0;d=b;e=b+20|0;f=b+16|0;g=b+24|0;h=b+12|0;j=b+8|0;k=b+4|0;if(!(c[686619]|0)){i=b;return}l=c[(c[686701]|0)+12>>2]|0;c[e>>2]=l+(Pc((c[(c[686701]|0)+8>>2]|0)+(c[(c[686701]|0)+12>>2]|0)|0)|0);df(g,c[(c[686701]|0)+8>>2]|0,c[e>>2]|0)|0;a[g+(c[e>>2]|0)>>0]=0;c[686705]=c[21];while(1){if(!(c[686705]|0))break;if(c[(c[686705]|0)+24>>2]&4|0)lf(g+(c[e>>2]|0)|0,c[(c[686705]|0)+8>>2]|0)|0;l=Vd(g)|0;c[(c[686705]|0)+28>>2]=l;a[g+(c[e>>2]|0)>>0]=0;c[686705]=c[c[686705]>>2]}c[j>>2]=Rd(113369,0)|0;if(c[j>>2]|0){e=(c[(c[(c[j>>2]|0)+4>>2]|0)+4>>2]|0)+32|0;c[e>>2]=c[e>>2]|256}c[686707]=c[686706];while(1){if(!(c[686707]|0))break;if((c[(c[686707]|0)+32>>2]&32896|0)!=32896)c[(c[686707]|0)+8>>2]=c[21];if(!(c[(c[686707]|0)+32>>2]&256|0)?!(c[(c[686707]|0)+20>>2]|0):0)c[(c[686707]|0)+12>>2]=0;else{c[686705]=c[(c[686707]|0)+8>>2];a:do if(!(c[(c[686705]|0)+32>>2]|0)){c[h>>2]=c[21];while(1){if(!(c[h>>2]|0))break a;if(Td(c[(c[h>>2]|0)+28>>2]|0,c[(c[686705]|0)+28>>2]|0,1)|0?c[(c[h>>2]|0)+32>>2]|0:0){c[(c[686705]|0)+32>>2]=c[(c[h>>2]|0)+32>>2];c[(c[686705]|0)+36>>2]=c[(c[h>>2]|0)+36>>2]}c[h>>2]=c[c[h>>2]>>2]}}while(0);if(!(c[(c[686705]|0)+32>>2]|0)){c[k>>2]=c[25955];do if((c[686619]|0)==1){c[f>>2]=113378;c[k>>2]=Ic(c[(c[686705]|0)+28>>2]|0,c[f>>2]|0,1)|0}else{if((c[686619]|0)==2){c[f>>2]=113382;c[k>>2]=Ic(c[(c[686705]|0)+28>>2]|0,c[f>>2]|0,1)|0;break}if((c[686619]|0)!=3){if((c[686619]|0)!=4)break;c[k>>2]=Ic(c[(c[686705]|0)+28>>2]|0,113398,2)|0;break}switch(c[686686]|0){case 4:{c[f>>2]=113394;break}case 3:{c[f>>2]=113390;break}default:c[f>>2]=113386}c[k>>2]=Ic(c[(c[686705]|0)+28>>2]|0,c[f>>2]|0,2)|0}while(0);if((c[k>>2]|0)!=(c[25955]|0)){if(!(c[k>>2]|0))Gc(3);e=Vd(2747749)|0;c[(c[686705]|0)+36>>2]=e;if(c[686609]|0){e=c[686609]|0;c[d>>2]=c[(c[686705]|0)+36>>2];Sf(e,113402,d)|0}}c[(c[686705]|0)+32>>2]=c[k>>2]}c[(c[686707]|0)+12>>2]=c[(c[686705]|0)+32>>2]}c[686707]=c[c[686707]>>2]}i=b;return}function ie(){var a=0,b=0;a=i;i=i+16|0;b=a;c[686705]=c[21];while(1){if(!(c[686705]|0))break;c[686608]=c[(c[686705]|0)+32>>2];if(c[686608]|0){cd(0);if((c[686608]|0)!=(c[25955]|0))Yf(c[686608]|0)|0;c[b>>2]=c[c[686705]>>2];while(1){if(!(c[b>>2]|0))break;if((c[(c[b>>2]|0)+32>>2]|0)==(c[686608]|0))c[(c[b>>2]|0)+32>>2]=0;c[b>>2]=c[c[b>>2]>>2]}c[686608]=0;c[(c[686705]|0)+32>>2]=0}c[686705]=c[c[686705]>>2]}i=a;return}function je(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;f=i;i=i+32|0;g=f+16|0;h=f+12|0;j=f+8|0;k=f+4|0;l=f;m=f+21|0;n=f+20|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=c[h>>2];c[l>>2]=c[j>>2];if((c[k>>2]|0)==(c[l>>2]|0)){c[g>>2]=0;o=c[g>>2]|0;i=f;return o|0}do{j=c[k>>2]|0;c[k>>2]=j+1;a[m>>0]=ue(d[j>>0]|0)|0;j=c[l>>2]|0;c[l>>2]=j+1;a[n>>0]=ue(d[j>>0]|0)|0;if(!(d[m>>0]|0))break}while((d[m>>0]|0|0)==(d[n>>0]|0|0));c[g>>2]=(d[m>>0]|0)-(d[n>>0]|0);o=c[g>>2]|0;i=f;return o|0}function ke(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=ne(ga(6,d|0)|0)|0;i=b;return a|0}function le(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;f=i;i=i+48|0;g=f+16|0;h=f;j=f+32|0;c[j>>2]=d;k=j+4|0;l=b+48|0;m=c[l>>2]|0;c[k>>2]=e-((m|0)!=0&1);n=b+44|0;c[j+8>>2]=c[n>>2];c[j+12>>2]=m;if(!(c[686800]|0)){c[g>>2]=c[b+60>>2];c[g+4>>2]=j;c[g+8>>2]=2;o=ne(ya(145,g|0)|0)|0}else{va(4,b|0);c[h>>2]=c[b+60>>2];c[h+4>>2]=j;c[h+8>>2]=2;j=ne(ya(145,h|0)|0)|0;ea(0);o=j}if((o|0)>=1){j=c[k>>2]|0;if(o>>>0>j>>>0){k=c[n>>2]|0;n=b+4|0;c[n>>2]=k;h=k;c[b+8>>2]=h+(o-j);if(!(c[l>>2]|0))p=e;else{c[n>>2]=h+1;a[d+(e+-1)>>0]=a[h>>0]|0;p=e}}else p=o}else{c[b>>2]=c[b>>2]|o&48^16;c[b+8>>2]=0;c[b+4>>2]=0;p=o}i=f;return p|0}function me(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+20|0;c[f>>2]=c[a+60>>2];c[f+4>>2]=0;c[f+8>>2]=b;c[f+12>>2]=g;c[f+16>>2]=d;if((ne(wa(140,f|0)|0)|0)<0){c[g>>2]=-1;h=-1}else h=c[g>>2]|0;i=e;return h|0}function ne(a){a=a|0;var b=0;if(a>>>0>4294963200){c[(oe()|0)>>2]=0-a;b=-1}else b=a;return b|0}function oe(){var a=0;if(!(c[686800]|0))a=2747244;else a=c[(Jg()|0)+64>>2]|0;return a|0}function pe(a){a=a|0;if(!(c[a+68>>2]|0))qe(a);return}function qe(a){a=a|0;return}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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;e=i;i=i+48|0;f=e+16|0;g=e;h=e+32|0;j=a+28|0;k=c[j>>2]|0;c[h>>2]=k;l=a+20|0;m=(c[l>>2]|0)-k|0;c[h+4>>2]=m;c[h+8>>2]=b;c[h+12>>2]=d;b=a+60|0;k=a+44|0;n=2;o=m+d|0;m=h;while(1){if(!(c[686800]|0)){c[f>>2]=c[b>>2];c[f+4>>2]=m;c[f+8>>2]=n;p=ne(za(146,f|0)|0)|0}else{va(5,a|0);c[g>>2]=c[b>>2];c[g+4>>2]=m;c[g+8>>2]=n;h=ne(za(146,g|0)|0)|0;ea(0);p=h}if((o|0)==(p|0)){q=6;break}if((p|0)<0){q=8;break}h=o-p|0;r=c[m+4>>2]|0;if(p>>>0<=r>>>0)if((n|0)==2){c[j>>2]=(c[j>>2]|0)+p;s=p;t=2;u=m;v=r}else{s=p;t=n;u=m;v=r}else{w=c[k>>2]|0;c[j>>2]=w;c[l>>2]=w;s=p-r|0;t=n+-1|0;u=m+8|0;v=c[m+12>>2]|0}c[u>>2]=(c[u>>2]|0)+s;c[u+4>>2]=v-s;n=t;o=h;m=u}if((q|0)==6){u=c[k>>2]|0;c[a+16>>2]=u+(c[a+48>>2]|0);k=u;c[j>>2]=k;c[l>>2]=k;x=d}else if((q|0)==8){c[a+16>>2]=0;c[j>>2]=0;c[l>>2]=0;c[a>>2]=c[a>>2]|32;if((n|0)==2)x=0;else x=d-(c[m+4>>2]|0)|0}i=e;return x|0}function se(a){a=a|0;if(!(c[a+68>>2]|0))qe(a);return}function te(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+80|0;g=f;c[b+36>>2]=3;if((c[b>>2]&64|0)==0?(c[g>>2]=c[b+60>>2],c[g+4>>2]=21505,c[g+8>>2]=f+12,ra(54,g|0)|0):0)a[b+75>>0]=-1;g=re(b,d,e)|0;i=f;return g|0}function ue(a){a=a|0;var b=0;b=(ve(a)|0)==0;return (b?a:a|32)|0}function ve(a){a=a|0;return (a+-65|0)>>>0<26|0}function we(a){a=a|0;var b=0;b=(xe(a)|0)==0;return (b?a:a&95)|0}function xe(a){a=a|0;return (a+-97|0)>>>0<26|0}function ye(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+112|0;h=g;c[h>>2]=0;j=h+4|0;c[j>>2]=a;c[h+44>>2]=a;k=h+8|0;c[k>>2]=(a|0)<0?-1:a+2147483647|0;c[h+76>>2]=-1;ze(h,0);l=Ae(h,d,1,e,f)|0;if(b|0)c[b>>2]=a+((c[j>>2]|0)+(c[h+108>>2]|0)-(c[k>>2]|0));i=g;return l|0}function ze(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=e+b;else c[a+100>>2]=d;return}function Ae(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var 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,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,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;a:do if(e>>>0>36){c[(oe()|0)>>2]=22;i=0;j=0}else{k=b+4|0;l=b+100|0;do{m=c[k>>2]|0;if(m>>>0<(c[l>>2]|0)>>>0){c[k>>2]=m+1;n=d[m>>0]|0}else n=Be(b)|0}while((Ce(n)|0)!=0);b:do switch(n|0){case 43:case 45:{m=((n|0)==45)<<31>>31;o=c[k>>2]|0;if(o>>>0<(c[l>>2]|0)>>>0){c[k>>2]=o+1;p=m;q=d[o>>0]|0;break b}else{p=m;q=Be(b)|0;break b}break}default:{p=0;q=n}}while(0);m=(e|0)==0;do if((e|16|0)==16&(q|0)==48){o=c[k>>2]|0;if(o>>>0<(c[l>>2]|0)>>>0){c[k>>2]=o+1;r=d[o>>0]|0}else r=Be(b)|0;if((r|32|0)!=120)if(m){s=r;t=8;u=46;break}else{v=r;w=e;u=32;break}o=c[k>>2]|0;if(o>>>0<(c[l>>2]|0)>>>0){c[k>>2]=o+1;x=d[o>>0]|0}else x=Be(b)|0;if((d[113412+x>>0]|0)>15){o=(c[l>>2]|0)==0;if(!o)c[k>>2]=(c[k>>2]|0)+-1;if(!f){ze(b,0);i=0;j=0;break a}if(o){i=0;j=0;break a}c[k>>2]=(c[k>>2]|0)+-1;i=0;j=0;break a}else{s=x;t=16;u=46}}else{o=m?10:e;if((d[113412+q>>0]|0)>>>0>>0){v=q;w=o;u=32}else{if(c[l>>2]|0)c[k>>2]=(c[k>>2]|0)+-1;ze(b,0);c[(oe()|0)>>2]=22;i=0;j=0;break a}}while(0);if((u|0)==32)if((w|0)==10){m=v+-48|0;if(m>>>0<10){o=0;y=m;do{o=(o*10|0)+y|0;m=c[k>>2]|0;if(m>>>0<(c[l>>2]|0)>>>0){c[k>>2]=m+1;z=d[m>>0]|0}else z=Be(b)|0;y=z+-48|0}while(y>>>0<10&o>>>0<429496729);A=z;B=o;C=0}else{A=v;B=0;C=0}y=A+-48|0;if(y>>>0<10){m=A;E=B;F=C;G=y;while(1){y=Fg(E|0,F|0,10,0)|0;H=D;I=((G|0)<0)<<31>>31;J=~I;if(H>>>0>J>>>0|(H|0)==(J|0)&y>>>0>~G>>>0){K=m;L=G;M=E;N=F;break}J=Ag(y|0,H|0,G|0,I|0)|0;I=D;H=c[k>>2]|0;if(H>>>0<(c[l>>2]|0)>>>0){c[k>>2]=H+1;O=d[H>>0]|0}else O=Be(b)|0;H=O+-48|0;if(H>>>0<10&(I>>>0<429496729|(I|0)==429496729&J>>>0<2576980378)){m=O;E=J;F=I;G=H}else{K=O;L=H;M=J;N=I;break}}if(L>>>0>9){P=p;Q=N;R=M}else{T=10;U=K;V=M;W=N;u=72}}else{P=p;Q=C;R=B}}else{s=v;t=w;u=46}c:do if((u|0)==46){if(!(t+-1&t)){G=a[113668+((t*23|0)>>>5&7)>>0]|0;F=a[113412+s>>0]|0;E=F&255;if(E>>>0>>0){m=0;o=E;do{m=o|m<>2]|0;if(E>>>0<(c[l>>2]|0)>>>0){c[k>>2]=E+1;X=d[E>>0]|0}else X=Be(b)|0;Y=a[113412+X>>0]|0;o=Y&255}while(m>>>0<134217728&o>>>0>>0);Z=X;_=Y;$=0;aa=m}else{Z=s;_=F;$=0;aa=0}o=yg(-1,-1,G|0)|0;E=D;if((_&255)>>>0>=t>>>0|($>>>0>E>>>0|($|0)==(E|0)&aa>>>0>o>>>0)){T=t;U=Z;V=aa;W=$;u=72;break}else{ba=aa;ca=$;da=_}while(1){I=zg(ba|0,ca|0,G|0)|0;J=D;H=da&255|I;I=c[k>>2]|0;if(I>>>0<(c[l>>2]|0)>>>0){c[k>>2]=I+1;ea=d[I>>0]|0}else ea=Be(b)|0;da=a[113412+ea>>0]|0;if((da&255)>>>0>=t>>>0|(J>>>0>E>>>0|(J|0)==(E|0)&H>>>0>o>>>0)){T=t;U=ea;V=H;W=J;u=72;break c}else{ba=H;ca=J}}}o=a[113412+s>>0]|0;E=o&255;if(E>>>0>>0){G=0;F=E;do{G=F+(S(G,t)|0)|0;E=c[k>>2]|0;if(E>>>0<(c[l>>2]|0)>>>0){c[k>>2]=E+1;fa=d[E>>0]|0}else fa=Be(b)|0;ga=a[113412+fa>>0]|0;F=ga&255}while(G>>>0<119304647&F>>>0>>0);ha=fa;ia=ga;ja=G;ka=0}else{ha=s;ia=o;ja=0;ka=0}if((ia&255)>>>0>>0){F=Dg(-1,-1,t|0,0)|0;E=D;m=ha;J=ka;H=ja;I=ia;while(1){if(J>>>0>E>>>0|(J|0)==(E|0)&H>>>0>F>>>0){T=t;U=m;V=H;W=J;u=72;break c}y=Fg(H|0,J|0,t|0,0)|0;la=D;ma=I&255;if(la>>>0>4294967295|(la|0)==-1&y>>>0>~ma>>>0){T=t;U=m;V=H;W=J;u=72;break c}na=Ag(ma|0,0,y|0,la|0)|0;la=D;y=c[k>>2]|0;if(y>>>0<(c[l>>2]|0)>>>0){c[k>>2]=y+1;oa=d[y>>0]|0}else oa=Be(b)|0;I=a[113412+oa>>0]|0;if((I&255)>>>0>=t>>>0){T=t;U=oa;V=na;W=la;u=72;break}else{m=oa;J=la;H=na}}}else{T=t;U=ha;V=ja;W=ka;u=72}}while(0);if((u|0)==72)if((d[113412+U>>0]|0)>>>0>>0){do{H=c[k>>2]|0;if(H>>>0<(c[l>>2]|0)>>>0){c[k>>2]=H+1;pa=d[H>>0]|0}else pa=Be(b)|0}while((d[113412+pa>>0]|0)>>>0>>0);c[(oe()|0)>>2]=34;P=(g&1|0)==0&0==0?p:0;Q=h;R=g}else{P=p;Q=W;R=V}if(c[l>>2]|0)c[k>>2]=(c[k>>2]|0)+-1;if(!(Q>>>0>>0|(Q|0)==(h|0)&R>>>0>>0)){if(!((g&1|0)!=0|0!=0|(P|0)!=0)){c[(oe()|0)>>2]=34;H=Ag(g|0,h|0,-1,-1)|0;i=D;j=H;break}if(Q>>>0>h>>>0|(Q|0)==(h|0)&R>>>0>g>>>0){c[(oe()|0)>>2]=34;i=h;j=g;break}}H=((P|0)<0)<<31>>31;J=wg(R^P|0,Q^H|0,P|0,H|0)|0;i=D;j=J}while(0);D=i;return j|0}function Be(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=b+104|0;f=c[e>>2]|0;if((f|0)!=0?(c[b+108>>2]|0)>=(f|0):0)g=4;else{f=De(b)|0;if((f|0)>=0){h=c[e>>2]|0;e=c[b+8>>2]|0;if(h){i=c[b+4>>2]|0;j=h-(c[b+108>>2]|0)|0;h=e;if((e-i|0)<(j|0)){k=h;g=9}else{c[b+100>>2]=i+(j+-1);l=h}}else{k=e;g=9}if((g|0)==9){c[b+100>>2]=e;l=k}k=b+4|0;if(!l)m=c[k>>2]|0;else{e=c[k>>2]|0;k=b+108|0;c[k>>2]=l+1-e+(c[k>>2]|0);m=e}e=m+-1|0;if((d[e>>0]|0|0)==(f|0))n=f;else{a[e>>0]=f;n=f}}else g=4}if((g|0)==4){c[b+100>>2]=0;n=-1}return n|0}function Ce(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function De(a){a=a|0;var b=0,e=0,f=0;b=i;i=i+16|0;e=b;if((c[a+8>>2]|0)==0?(Ee(a)|0)!=0:0)f=-1;else if((Ca[c[a+32>>2]&7](a,e,1)|0)==1)f=d[e>>0]|0;else f=-1;i=b;return f|0}function Ee(b){b=b|0;var d=0,e=0,f=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;e=b+20|0;d=b+44|0;if((c[e>>2]|0)>>>0>(c[d>>2]|0)>>>0)Ca[c[b+36>>2]&7](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[e>>2]=0;e=c[b>>2]|0;if(e&20)if(!(e&4))f=-1;else{c[b>>2]=e|32;f=-1}else{e=c[d>>2]|0;c[b+8>>2]=e;c[b+4>>2]=e;f=0}return f|0}function Fe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=ye(a,b,c,-1,0)|0;return d|0}function Ge(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=ye(a,b,c,-2147483648,0)|0;return d|0}function He(a){a=a|0;return (a+-48|0)>>>0<10|0}function Ie(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24){f=e;g=d}else{d=c;c=b;do{c=c+1|0;d=d+1|0;b=a[c>>0]|0;e=a[d>>0]|0}while(!(b<<24>>24==0?1:b<<24>>24!=e<<24>>24));f=e;g=b}return (g&255)-(f&255)|0}function Je(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;a:do if(!d)e=0;else{f=b;g=d;h=c;while(1){i=a[f>>0]|0;j=a[h>>0]|0;if(i<<24>>24!=j<<24>>24)break;g=g+-1|0;if(!g){e=0;break a}else{f=f+1|0;h=h+1|0}}e=(i&255)-(j&255)|0}while(0);return e|0}function Ke(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(!e)f=0;else{g=a[b>>0]|0;a:do if(!(g<<24>>24)){h=c;i=0}else{j=b;k=e;l=c;m=g;while(1){k=k+-1|0;n=a[l>>0]|0;if(!(m<<24>>24==n<<24>>24&((k|0)!=0&n<<24>>24!=0))){h=l;i=m;break a}j=j+1|0;n=l+1|0;m=a[j>>0]|0;if(!(m<<24>>24)){h=n;i=0;break}else l=n}}while(0);f=(i&255)-(d[h>>0]|0)|0}return f|0}function Le(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]=d;d=Me(a,b,f)|0;i=e;return d|0}function Me(a,b,c){a=a|0;b=b|0;c=c|0;return Ne(a,2147483647,b,c)|0}function Ne(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;g=i;i=i+128|0;h=g+112|0;j=g;k=j;l=104260;m=k+112|0;do{c[k>>2]=c[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));if((d+-1|0)>>>0>2147483646)if(!d){n=h;o=1;p=4}else{c[(oe()|0)>>2]=75;q=-1}else{n=b;o=d;p=4}if((p|0)==4){p=-2-n|0;d=o>>>0>p>>>0?p:o;c[j+48>>2]=d;o=j+20|0;c[o>>2]=n;c[j+44>>2]=n;p=n+d|0;n=j+16|0;c[n>>2]=p;c[j+28>>2]=p;p=Oe(j,e,f)|0;if(!d)q=p;else{d=c[o>>2]|0;a[d+(((d|0)==(c[n>>2]|0))<<31>>31)>>0]=0;q=p}}i=g;return q|0}function Oe(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;f=i;i=i+224|0;g=f+120|0;h=f+80|0;j=f;k=f+136|0;l=h;m=l+40|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));c[g>>2]=c[e>>2];if((Pe(0,d,g,j,h)|0)<0)n=-1;else{if((c[b+76>>2]|0)>-1)o=Qe(b)|0;else o=0;e=c[b>>2]|0;l=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;e=b+48|0;if(!(c[e>>2]|0)){m=b+44|0;p=c[m>>2]|0;c[m>>2]=k;q=b+28|0;c[q>>2]=k;r=b+20|0;c[r>>2]=k;c[e>>2]=80;s=b+16|0;c[s>>2]=k+80;k=Pe(b,d,g,j,h)|0;if(!p)t=k;else{Ca[c[b+36>>2]&7](b,0,0)|0;u=(c[r>>2]|0)==0?-1:k;c[m>>2]=p;c[e>>2]=0;c[s>>2]=0;c[q>>2]=0;c[r>>2]=0;t=u}}else t=Pe(b,d,g,j,h)|0;h=c[b>>2]|0;c[b>>2]=h|l;if(o|0)qe(b);n=(h&32|0)==0?t:-1}i=f;return n|0}function Pe(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|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,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.0,ab=0.0,bb=0,cb=0,db=0,eb=0,fb=0.0,gb=0,hb=0.0,ib=0,jb=0,kb=0,lb=0.0,mb=0,nb=0,ob=0,pb=0,qb=0.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,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0.0,Pb=0.0,Qb=0.0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=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,tc=0,uc=0,vc=0;m=i;i=i+624|0;n=m+24|0;o=m+16|0;p=m+588|0;q=m+576|0;r=m;s=m+536|0;t=m+8|0;u=m+528|0;v=(e|0)!=0;w=s+40|0;x=w;y=s+39|0;s=t+4|0;z=p;A=0-z|0;B=q+12|0;C=q+11|0;q=B;E=q-z|0;F=-2-z|0;G=q+2|0;H=n+288|0;I=p+9|0;J=I;K=p+8|0;L=0;M=0;N=0;O=f;a:while(1){do if((M|0)>-1)if((L|0)>(2147483647-M|0)){c[(oe()|0)>>2]=75;P=-1;break}else{P=L+M|0;break}else P=M;while(0);f=a[O>>0]|0;if(!(f<<24>>24)){Q=243;break}else{R=O;T=f}b:while(1){switch(T<<24>>24){case 37:{U=R;V=R;Q=9;break b;break}case 0:{W=R;X=R;break b;break}default:{}}f=R+1|0;R=f;T=a[f>>0]|0}c:do if((Q|0)==9)while(1){Q=0;if((a[V+1>>0]|0)!=37){W=U;X=V;break c}f=U+1|0;Y=V+2|0;if((a[Y>>0]|0)==37){U=f;V=Y;Q=9}else{W=f;X=Y;break}}while(0);Y=W-O|0;if(v?(c[e>>2]&32|0)==0:0)Re(O,Y,e)|0;if(Y|0){L=Y;M=P;O=X;continue}Y=X+1|0;f=a[Y>>0]|0;Z=(f<<24>>24)+-48|0;if(Z>>>0<10){_=(a[X+2>>0]|0)==36;$=_?X+3|0:Y;aa=_?Z:-1;ba=_?1:N;ca=a[$>>0]|0;da=$}else{aa=-1;ba=N;ca=f;da=Y}Y=(ca<<24>>24)+-32|0;d:do if(Y>>>0<32){f=0;$=Y;_=ca;Z=da;while(1){if(!(1<<$&75913)){ea=f;fa=_;ga=Z;break d}ha=1<<(_<<24>>24)+-32|f;ia=Z+1|0;ja=a[ia>>0]|0;$=(ja<<24>>24)+-32|0;if($>>>0>=32){ea=ha;fa=ja;ga=ia;break}else{f=ha;_=ja;Z=ia}}}else{ea=0;fa=ca;ga=da}while(0);do if(fa<<24>>24!=42){Y=(fa<<24>>24)+-48|0;if(Y>>>0<10){Z=0;_=ga;f=Y;do{Z=(Z*10|0)+f|0;_=_+1|0;ka=a[_>>0]|0;f=(ka<<24>>24)+-48|0}while(f>>>0<10);if((Z|0)<0){la=-1;break a}else{ma=Z;na=ea;oa=ba;pa=_;qa=ka}}else{ma=0;na=ea;oa=ba;pa=ga;qa=fa}}else{f=ga+1|0;Y=a[f>>0]|0;$=(Y<<24>>24)+-48|0;if($>>>0<10?(a[ga+2>>0]|0)==36:0){c[k+($<<2)>>2]=10;ra=c[j+((a[f>>0]|0)+-48<<3)>>2]|0;sa=1;ta=ga+3|0}else{if(ba|0){la=-1;break a}if(!v){ma=0;na=ea;oa=0;pa=f;qa=Y;break}Y=(c[g>>2]|0)+(4-1)&~(4-1);$=c[Y>>2]|0;c[g>>2]=Y+4;ra=$;sa=0;ta=f}f=(ra|0)<0;ma=f?0-ra|0:ra;na=f?ea|8192:ea;oa=sa;pa=ta;qa=a[ta>>0]|0}while(0);e:do if(qa<<24>>24==46){f=pa+1|0;$=a[f>>0]|0;if($<<24>>24!=42){Y=($<<24>>24)+-48|0;if(Y>>>0<10){ua=0;va=f;wa=Y}else{xa=0;ya=f;break}while(1){f=(ua*10|0)+wa|0;Y=va+1|0;wa=(a[Y>>0]|0)+-48|0;if(wa>>>0>=10){xa=f;ya=Y;break e}else{ua=f;va=Y}}}_=pa+2|0;Z=(a[_>>0]|0)+-48|0;if(Z>>>0<10?(a[pa+3>>0]|0)==36:0){c[k+(Z<<2)>>2]=10;xa=c[j+((a[_>>0]|0)+-48<<3)>>2]|0;ya=pa+4|0;break}if(oa|0){la=-1;break a}if(v){Z=(c[g>>2]|0)+(4-1)&~(4-1);Y=c[Z>>2]|0;c[g>>2]=Z+4;xa=Y;ya=_}else{xa=0;ya=_}}else{xa=-1;ya=pa}while(0);_=0;Y=ya;while(1){Z=(a[Y>>0]|0)+-65|0;if(Z>>>0>57){la=-1;break a}za=Y+1|0;Aa=a[113677+(_*58|0)+Z>>0]|0;Ba=Aa&255;if((Ba+-1|0)>>>0<8){_=Ba;Y=za}else break}if(!(Aa<<24>>24)){la=-1;break}Z=(aa|0)>-1;do if(Aa<<24>>24==19)if(Z){la=-1;break a}else Q=51;else{if(Z){c[k+(aa<<2)>>2]=Ba;f=j+(aa<<3)|0;$=c[f+4>>2]|0;ia=r;c[ia>>2]=c[f>>2];c[ia+4>>2]=$;Q=51;break}if(!v){la=0;break a}Se(r,Ba,g)}while(0);if((Q|0)==51?(Q=0,!v):0){L=0;M=P;N=oa;O=za;continue}Z=a[Y>>0]|0;$=(_|0)!=0&(Z&15|0)==3?Z&-33:Z;Z=na&-65537;ia=(na&8192|0)==0?na:Z;f:do switch($|0){case 110:{switch((_&255)<<24>>24){case 0:{c[c[r>>2]>>2]=P;L=0;M=P;N=oa;O=za;continue a;break}case 1:{c[c[r>>2]>>2]=P;L=0;M=P;N=oa;O=za;continue a;break}case 2:{f=c[r>>2]|0;c[f>>2]=P;c[f+4>>2]=((P|0)<0)<<31>>31;L=0;M=P;N=oa;O=za;continue a;break}case 3:{b[c[r>>2]>>1]=P;L=0;M=P;N=oa;O=za;continue a;break}case 4:{a[c[r>>2]>>0]=P;L=0;M=P;N=oa;O=za;continue a;break}case 6:{c[c[r>>2]>>2]=P;L=0;M=P;N=oa;O=za;continue a;break}case 7:{f=c[r>>2]|0;c[f>>2]=P;c[f+4>>2]=((P|0)<0)<<31>>31;L=0;M=P;N=oa;O=za;continue a;break}default:{L=0;M=P;N=oa;O=za;continue a}}break}case 112:{Ca=120;Da=xa>>>0>8?xa:8;Ea=ia|8;Q=63;break}case 88:case 120:{Ca=$;Da=xa;Ea=ia;Q=63;break}case 111:{f=r;ja=c[f>>2]|0;ha=c[f+4>>2]|0;if((ja|0)==0&(ha|0)==0)Fa=w;else{f=w;Ga=ja;ja=ha;while(1){ha=f+-1|0;a[ha>>0]=Ga&7|48;Ga=yg(Ga|0,ja|0,3)|0;ja=D;if((Ga|0)==0&(ja|0)==0){Fa=ha;break}else f=ha}}if(!(ia&8)){Ha=Fa;Ia=0;Ja=114157;Ka=xa;La=ia;Q=76}else{f=x-Fa|0;Ha=Fa;Ia=0;Ja=114157;Ka=(xa|0)>(f|0)?xa:f+1|0;La=ia;Q=76}break}case 105:case 100:{f=r;ja=c[f>>2]|0;Ga=c[f+4>>2]|0;if((Ga|0)<0){f=wg(0,0,ja|0,Ga|0)|0;ha=D;Ma=r;c[Ma>>2]=f;c[Ma+4>>2]=ha;Na=1;Oa=114157;Pa=f;Qa=ha;Q=75;break f}if(!(ia&2048)){ha=ia&1;Na=ha;Oa=(ha|0)==0?114157:114159;Pa=ja;Qa=Ga;Q=75}else{Na=1;Oa=114158;Pa=ja;Qa=Ga;Q=75}break}case 117:{Ga=r;Na=0;Oa=114157;Pa=c[Ga>>2]|0;Qa=c[Ga+4>>2]|0;Q=75;break}case 99:{a[y>>0]=c[r>>2];Ra=y;Sa=0;Ta=114157;Ua=w;Va=1;Wa=Z;break}case 109:{Xa=Ue(c[(oe()|0)>>2]|0)|0;Q=81;break}case 115:{Ga=c[r>>2]|0;Xa=Ga|0?Ga:114167;Q=81;break}case 67:{c[t>>2]=c[r>>2];c[s>>2]=0;c[r>>2]=t;Ya=-1;Za=t;Q=85;break}case 83:{Ga=c[r>>2]|0;if(!xa){We(e,32,ma,0,ia);_a=0;Q=96}else{Ya=xa;Za=Ga;Q=85}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{$a=+h[r>>3];c[o>>2]=0;h[l>>3]=$a;if((c[l+4>>2]|0)>=0){Ga=ia&1;if(!(ia&2048)){ab=$a;bb=Ga;cb=(Ga|0)==0?114175:114180}else{ab=$a;bb=1;cb=114177}}else{ab=-$a;bb=1;cb=114174}h[l>>3]=ab;Ga=c[l+4>>2]&2146435072;do if(Ga>>>0<2146435072|(Ga|0)==2146435072&0<0){$a=+Ye(ab,o)*2.0;ja=$a!=0.0;if(ja)c[o>>2]=(c[o>>2]|0)+-1;ha=$|32;if((ha|0)==97){f=$&32;Ma=(f|0)==0?cb:cb+9|0;db=bb|2;eb=12-xa|0;do if(!(xa>>>0>11|(eb|0)==0)){fb=8.0;gb=eb;do{gb=gb+-1|0;fb=fb*16.0}while((gb|0)!=0);if((a[Ma>>0]|0)==45){hb=-(fb+(-$a-fb));break}else{hb=$a+fb-fb;break}}else hb=$a;while(0);eb=c[o>>2]|0;gb=(eb|0)<0?0-eb|0:eb;ib=Te(gb,((gb|0)<0)<<31>>31,B)|0;if((ib|0)==(B|0)){a[C>>0]=48;jb=C}else jb=ib;a[jb+-1>>0]=(eb>>31&2)+43;eb=jb+-2|0;a[eb>>0]=$+15;ib=(xa|0)<1;gb=(ia&8|0)==0;kb=p;lb=hb;while(1){mb=~~lb;nb=kb+1|0;a[kb>>0]=d[114141+mb>>0]|f;lb=(lb-+(mb|0))*16.0;do if((nb-z|0)==1){if(gb&(ib&lb==0.0)){ob=nb;break}a[nb>>0]=46;ob=kb+2|0}else ob=nb;while(0);if(!(lb!=0.0))break;else kb=ob}kb=ob;ib=eb;gb=(xa|0)!=0&(F+kb|0)<(xa|0)?G+xa-ib|0:E-ib+kb|0;f=gb+db|0;We(e,32,ma,f,ia);if(!(c[e>>2]&32))Re(Ma,db,e)|0;We(e,48,ma,f,ia^65536);nb=kb-z|0;if(!(c[e>>2]&32))Re(p,nb,e)|0;kb=q-ib|0;We(e,48,gb-(nb+kb)|0,0,0);if(!(c[e>>2]&32))Re(eb,kb,e)|0;We(e,32,ma,f,ia^8192);pb=(f|0)<(ma|0)?ma:f;break}f=(xa|0)<0?6:xa;if(ja){kb=(c[o>>2]|0)+-28|0;c[o>>2]=kb;qb=$a*268435456.0;rb=kb}else{qb=$a;rb=c[o>>2]|0}kb=(rb|0)<0?n:H;nb=kb;lb=qb;do{gb=~~lb>>>0;c[nb>>2]=gb;nb=nb+4|0;lb=(lb-+(gb>>>0))*1.0e9}while(lb!=0.0);if((rb|0)>0){ja=kb;eb=nb;db=rb;while(1){Ma=(db|0)>29?29:db;gb=eb+-4|0;do if(gb>>>0>>0)sb=ja;else{ib=gb;mb=0;do{tb=zg(c[ib>>2]|0,0,Ma|0)|0;ub=Ag(tb|0,D|0,mb|0,0)|0;tb=D;vb=Hg(ub|0,tb|0,1e9,0)|0;c[ib>>2]=vb;mb=Dg(ub|0,tb|0,1e9,0)|0;ib=ib+-4|0}while(ib>>>0>=ja>>>0);if(!mb){sb=ja;break}ib=ja+-4|0;c[ib>>2]=mb;sb=ib}while(0);gb=eb;while(1){if(gb>>>0<=sb>>>0)break;ib=gb+-4|0;if(!(c[ib>>2]|0))gb=ib;else break}ib=(c[o>>2]|0)-Ma|0;c[o>>2]=ib;if((ib|0)>0){ja=sb;eb=gb;db=ib}else{wb=sb;xb=gb;yb=ib;break}}}else{wb=kb;xb=nb;yb=rb}if((yb|0)<0){db=((f+25|0)/9|0)+1|0;eb=(ha|0)==102;ja=wb;ib=xb;tb=yb;while(1){ub=0-tb|0;vb=(ub|0)>9?9:ub;do if(ja>>>0>>0){ub=(1<>>vb;Ab=0;Bb=ja;do{Cb=c[Bb>>2]|0;c[Bb>>2]=(Cb>>>vb)+Ab;Ab=S(Cb&ub,zb)|0;Bb=Bb+4|0}while(Bb>>>0>>0);Bb=(c[ja>>2]|0)==0?ja+4|0:ja;if(!Ab){Db=Bb;Eb=ib;break}c[ib>>2]=Ab;Db=Bb;Eb=ib+4|0}else{Db=(c[ja>>2]|0)==0?ja+4|0:ja;Eb=ib}while(0);gb=eb?kb:Db;Ma=(Eb-gb>>2|0)>(db|0)?gb+(db<<2)|0:Eb;tb=(c[o>>2]|0)+vb|0;c[o>>2]=tb;if((tb|0)>=0){Fb=Db;Gb=Ma;break}else{ja=Db;ib=Ma}}}else{Fb=wb;Gb=xb}ib=kb;do if(Fb>>>0>>0){ja=(ib-Fb>>2)*9|0;tb=c[Fb>>2]|0;if(tb>>>0<10){Hb=ja;break}else{Ib=ja;Jb=10}while(1){Jb=Jb*10|0;ja=Ib+1|0;if(tb>>>0>>0){Hb=ja;break}else Ib=ja}}else Hb=0;while(0);tb=(ha|0)==103;vb=(f|0)!=0;ja=f-((ha|0)!=102?Hb:0)+((vb&tb)<<31>>31)|0;if((ja|0)<(((Gb-ib>>2)*9|0)+-9|0)){db=ja+9216|0;ja=kb+4+(((db|0)/9|0)+-1024<<2)|0;eb=((db|0)%9|0)+1|0;if((eb|0)<9){db=eb;eb=10;while(1){nb=eb*10|0;db=db+1|0;if((db|0)==9){Kb=nb;break}else eb=nb}}else Kb=10;eb=c[ja>>2]|0;db=(eb>>>0)%(Kb>>>0)|0;ha=(ja+4|0)==(Gb|0);do if(ha&(db|0)==0){Lb=ja;Mb=Hb;Nb=Fb}else{lb=(((eb>>>0)/(Kb>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;nb=(Kb|0)/2|0;if(db>>>0>>0)Ob=.5;else Ob=ha&(db|0)==(nb|0)?1.0:1.5;do if(!bb){Pb=Ob;Qb=lb}else{if((a[cb>>0]|0)!=45){Pb=Ob;Qb=lb;break}Pb=-Ob;Qb=-lb}while(0);nb=eb-db|0;c[ja>>2]=nb;if(!(Qb+Pb!=Qb)){Lb=ja;Mb=Hb;Nb=Fb;break}Ma=nb+Kb|0;c[ja>>2]=Ma;if(Ma>>>0>999999999){Ma=ja;nb=Fb;while(1){gb=Ma+-4|0;c[Ma>>2]=0;if(gb>>>0>>0){Bb=nb+-4|0;c[Bb>>2]=0;Rb=Bb}else Rb=nb;Bb=(c[gb>>2]|0)+1|0;c[gb>>2]=Bb;if(Bb>>>0>999999999){Ma=gb;nb=Rb}else{Sb=gb;Tb=Rb;break}}}else{Sb=ja;Tb=Fb}nb=(ib-Tb>>2)*9|0;Ma=c[Tb>>2]|0;if(Ma>>>0<10){Lb=Sb;Mb=nb;Nb=Tb;break}else{Ub=nb;Vb=10}while(1){Vb=Vb*10|0;nb=Ub+1|0;if(Ma>>>0>>0){Lb=Sb;Mb=nb;Nb=Tb;break}else Ub=nb}}while(0);ja=Lb+4|0;Wb=Mb;Xb=Gb>>>0>ja>>>0?ja:Gb;Yb=Nb}else{Wb=Hb;Xb=Gb;Yb=Fb}ja=0-Wb|0;db=Xb;while(1){if(db>>>0<=Yb>>>0){Zb=0;break}eb=db+-4|0;if(!(c[eb>>2]|0))db=eb;else{Zb=1;break}}do if(tb){eb=(vb&1^1)+f|0;if((eb|0)>(Wb|0)&(Wb|0)>-5){_b=$+-1|0;$b=eb+-1-Wb|0}else{_b=$+-2|0;$b=eb+-1|0}eb=ia&8;if(eb|0){ac=_b;bc=$b;cc=eb;break}do if(Zb){eb=c[db+-4>>2]|0;if(!eb){dc=9;break}if(!((eb>>>0)%10|0)){ec=0;fc=10}else{dc=0;break}while(1){fc=fc*10|0;ha=ec+1|0;if((eb>>>0)%(fc>>>0)|0|0){dc=ha;break}else ec=ha}}else dc=9;while(0);eb=((db-ib>>2)*9|0)+-9|0;if((_b|32|0)==102){Ab=eb-dc|0;ha=(Ab|0)<0?0:Ab;ac=_b;bc=($b|0)<(ha|0)?$b:ha;cc=0;break}else{ha=eb+Wb-dc|0;eb=(ha|0)<0?0:ha;ac=_b;bc=($b|0)<(eb|0)?$b:eb;cc=0;break}}else{ac=$;bc=f;cc=ia&8}while(0);f=bc|cc;ib=(f|0)!=0&1;vb=(ac|32|0)==102;if(vb){gc=0;hc=(Wb|0)>0?Wb:0}else{tb=(Wb|0)<0?ja:Wb;eb=Te(tb,((tb|0)<0)<<31>>31,B)|0;if((q-eb|0)<2){tb=eb;while(1){ha=tb+-1|0;a[ha>>0]=48;if((q-ha|0)<2)tb=ha;else{ic=ha;break}}}else ic=eb;a[ic+-1>>0]=(Wb>>31&2)+43;tb=ic+-2|0;a[tb>>0]=ac;gc=tb;hc=q-tb|0}tb=bb+1+bc+ib+hc|0;We(e,32,ma,tb,ia);if(!(c[e>>2]&32))Re(cb,bb,e)|0;We(e,48,ma,tb,ia^65536);do if(vb){ja=Yb>>>0>kb>>>0?kb:Yb;ha=ja;do{Ab=Te(c[ha>>2]|0,0,I)|0;do if((ha|0)==(ja|0)){if((Ab|0)!=(I|0)){jc=Ab;break}a[K>>0]=48;jc=K}else{if(Ab>>>0<=p>>>0){jc=Ab;break}xg(p|0,48,Ab-z|0)|0;Ma=Ab;while(1){nb=Ma+-1|0;if(nb>>>0>p>>>0)Ma=nb;else{jc=nb;break}}}while(0);if(!(c[e>>2]&32))Re(jc,J-jc|0,e)|0;ha=ha+4|0}while(ha>>>0<=kb>>>0);do if(f|0){if(c[e>>2]&32|0)break;Re(116129,1,e)|0}while(0);if((bc|0)>0&ha>>>0>>0){ja=bc;Ab=ha;while(1){Ma=Te(c[Ab>>2]|0,0,I)|0;if(Ma>>>0>p>>>0){xg(p|0,48,Ma-z|0)|0;nb=Ma;while(1){gb=nb+-1|0;if(gb>>>0>p>>>0)nb=gb;else{kc=gb;break}}}else kc=Ma;if(!(c[e>>2]&32))Re(kc,(ja|0)>9?9:ja,e)|0;Ab=Ab+4|0;nb=ja+-9|0;if(!((ja|0)>9&Ab>>>0>>0)){lc=nb;break}else ja=nb}}else lc=bc;We(e,48,lc+9|0,9,0)}else{ja=Zb?db:Yb+4|0;if((bc|0)>-1){Ab=(cc|0)==0;ha=bc;nb=Yb;while(1){gb=Te(c[nb>>2]|0,0,I)|0;if((gb|0)==(I|0)){a[K>>0]=48;mc=K}else mc=gb;do if((nb|0)==(Yb|0)){gb=mc+1|0;if(!(c[e>>2]&32))Re(mc,1,e)|0;if(Ab&(ha|0)<1){nc=gb;break}if(c[e>>2]&32|0){nc=gb;break}Re(116129,1,e)|0;nc=gb}else{if(mc>>>0<=p>>>0){nc=mc;break}xg(p|0,48,mc+A|0)|0;gb=mc;while(1){Bb=gb+-1|0;if(Bb>>>0>p>>>0)gb=Bb;else{nc=Bb;break}}}while(0);Ma=J-nc|0;if(!(c[e>>2]&32))Re(nc,(ha|0)>(Ma|0)?Ma:ha,e)|0;gb=ha-Ma|0;nb=nb+4|0;if(!(nb>>>0>>0&(gb|0)>-1)){oc=gb;break}else ha=gb}}else oc=bc;We(e,48,oc+18|0,18,0);if(c[e>>2]&32|0)break;Re(gc,q-gc|0,e)|0}while(0);We(e,32,ma,tb,ia^8192);pb=(tb|0)<(ma|0)?ma:tb}else{db=($&32|0)!=0;f=ab!=ab|0.0!=0.0;kb=f?0:bb;vb=kb+3|0;We(e,32,ma,vb,Z);ib=c[e>>2]|0;if(!(ib&32)){Re(cb,kb,e)|0;pc=c[e>>2]|0}else pc=ib;if(!(pc&32))Re(f?(db?116125:114201):db?114193:114197,3,e)|0;We(e,32,ma,vb,ia^8192);pb=(vb|0)<(ma|0)?ma:vb}while(0);L=pb;M=P;N=oa;O=za;continue a;break}default:{Ra=O;Sa=0;Ta=114157;Ua=w;Va=xa;Wa=ia}}while(0);g:do if((Q|0)==63){Q=0;$=r;_=c[$>>2]|0;Y=c[$+4>>2]|0;$=Ca&32;if((_|0)==0&(Y|0)==0){qc=w;rc=0;sc=0}else{Ga=w;vb=_;_=Y;do{Ga=Ga+-1|0;a[Ga>>0]=d[114141+(vb&15)>>0]|$;vb=yg(vb|0,_|0,4)|0;_=D}while(!((vb|0)==0&(_|0)==0));_=r;qc=Ga;rc=c[_>>2]|0;sc=c[_+4>>2]|0}_=(Ea&8|0)==0|(rc|0)==0&(sc|0)==0;Ha=qc;Ia=_?0:2;Ja=_?114157:114157+(Ca>>4)|0;Ka=Da;La=Ea;Q=76}else if((Q|0)==75){Q=0;Ha=Te(Pa,Qa,w)|0;Ia=Na;Ja=Oa;Ka=xa;La=ia;Q=76}else if((Q|0)==81){Q=0;_=Ve(Xa,0,xa)|0;vb=(_|0)==0;Ra=Xa;Sa=0;Ta=114157;Ua=vb?Xa+xa|0:_;Va=vb?xa:_-Xa|0;Wa=Z}else if((Q|0)==85){Q=0;_=Za;vb=0;$=0;while(1){Y=c[_>>2]|0;if(!Y){tc=vb;uc=$;break}db=Xe(u,Y)|0;if((db|0)<0|db>>>0>(Ya-vb|0)>>>0){tc=vb;uc=db;break}Y=db+vb|0;if(Ya>>>0>Y>>>0){_=_+4|0;vb=Y;$=db}else{tc=Y;uc=db;break}}if((uc|0)<0){la=-1;break a}We(e,32,ma,tc,ia);if(!tc){_a=0;Q=96}else{$=Za;vb=0;while(1){_=c[$>>2]|0;if(!_){_a=tc;Q=96;break g}Ga=Xe(u,_)|0;vb=Ga+vb|0;if((vb|0)>(tc|0)){_a=tc;Q=96;break g}if(!(c[e>>2]&32))Re(u,Ga,e)|0;if(vb>>>0>=tc>>>0){_a=tc;Q=96;break}else $=$+4|0}}}while(0);if((Q|0)==96){Q=0;We(e,32,ma,_a,ia^8192);L=(ma|0)>(_a|0)?ma:_a;M=P;N=oa;O=za;continue}if((Q|0)==76){Q=0;Z=(Ka|0)>-1?La&-65537:La;$=r;vb=(c[$>>2]|0)!=0|(c[$+4>>2]|0)!=0;if((Ka|0)!=0|vb){$=(vb&1^1)+(x-Ha)|0;Ra=Ha;Sa=Ia;Ta=Ja;Ua=w;Va=(Ka|0)>($|0)?Ka:$;Wa=Z}else{Ra=w;Sa=Ia;Ta=Ja;Ua=w;Va=0;Wa=Z}}Z=Ua-Ra|0;$=(Va|0)<(Z|0)?Z:Va;vb=$+Sa|0;Ga=(ma|0)<(vb|0)?vb:ma;We(e,32,Ga,vb,Wa);if(!(c[e>>2]&32))Re(Ta,Sa,e)|0;We(e,48,Ga,vb,Wa^65536);We(e,48,$,Z,0);if(!(c[e>>2]&32))Re(Ra,Z,e)|0;We(e,32,Ga,vb,Wa^8192);L=Ga;M=P;N=oa;O=za}h:do if((Q|0)==243)if(!e)if(!N)la=0;else{za=1;while(1){O=c[k+(za<<2)>>2]|0;if(!O){vc=za;break}Se(j+(za<<3)|0,O,g);za=za+1|0;if((za|0)>=10){la=1;break h}}while(1){if(c[k+(vc<<2)>>2]|0){la=-1;break h}vc=vc+1|0;if((vc|0)>=10){la=1;break}}}else la=P;while(0);i=m;return la|0}function Qe(a){a=a|0;return 0}function Re(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!($e(e)|0)){h=c[f>>2]|0;i=5}else j=0;else{h=g;i=5}a:do if((i|0)==5){g=e+20|0;f=c[g>>2]|0;k=f;if((h-f|0)>>>0>>0){j=Ca[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){l=d;m=b;n=0;o=k;break b}p=f+-1|0;if((a[b+p>>0]|0)==10)break;else f=p}if((Ca[c[e+36>>2]&7](e,b,f)|0)>>>0>>0){j=f;break a}l=d-f|0;m=b+f|0;n=f;o=c[g>>2]|0}else{l=d;m=b;n=0;o=k}while(0);Ig(o|0,m|0,l|0)|0;c[g>>2]=(c[g>>2]|0)+l;j=n+l|0}while(0);return j|0}function Se(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=f;break a;break}case 10:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a;break}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=f;c[e+4>>2]=0;break a;break}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);f=e;g=c[f>>2]|0;i=c[f+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=g;c[e+4>>2]=i;break a;break}case 13:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=(e&65535)<<16>>16;e=a;c[e>>2]=i;c[e+4>>2]=((i|0)<0)<<31>>31;break a;break}case 14:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=a;c[i>>2]=e&65535;c[i+4>>2]=0;break a;break}case 15:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=(e&255)<<24>>24;e=a;c[e>>2]=i;c[e+4>>2]=((i|0)<0)<<31>>31;break a;break}case 16:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=a;c[i>>2]=e&255;c[i+4>>2]=0;break a;break}case 17:{i=(c[d>>2]|0)+(8-1)&~(8-1);j=+h[i>>3];c[d>>2]=i+8;h[a>>3]=j;break a;break}case 18:{i=(c[d>>2]|0)+(8-1)&~(8-1);j=+h[i>>3];c[d>>2]=i+8;h[a>>3]=j;break a;break}default:break a}while(0);while(0);return}function Te(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){e=d;f=b;g=c;while(1){c=Hg(f|0,g|0,10,0)|0;e=e+-1|0;a[e>>0]=c|48;c=f;f=Dg(f|0,g|0,10,0)|0;if(!(g>>>0>9|(g|0)==9&c>>>0>4294967295))break;else g=D}h=f;i=e}else{h=b;i=d}if(!h)j=i;else{d=h;h=i;while(1){i=h+-1|0;a[i>>0]=(d>>>0)%10|0|48;if(d>>>0<10){j=i;break}else{d=(d>>>0)/10|0;h=i}}}return j|0}function Ue(b){b=b|0;var c=0,e=0,f=0,g=0,h=0,i=0;c=0;while(1){if((d[114205+c>>0]|0)==(b|0)){e=2;break}f=c+1|0;if((f|0)==87){g=114293;h=87;e=5;break}else c=f}if((e|0)==2)if(!c)i=114293;else{g=114293;h=c;e=5}if((e|0)==5)while(1){e=0;c=g;do{b=c;c=c+1|0}while((a[b>>0]|0)!=0);h=h+-1|0;if(!h){i=c;break}else{g=c;e=5}}return i|0}function Ve(b,d,e){b=b|0;d=d|0;e=e|0;var 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;f=d&255;g=(e|0)!=0;a:do if(g&(b&3|0)!=0){h=d&255;i=b;j=e;while(1){if((a[i>>0]|0)==h<<24>>24){k=i;l=j;m=6;break a}n=i+1|0;o=j+-1|0;p=(o|0)!=0;if(p&(n&3|0)!=0){i=n;j=o}else{q=n;r=o;s=p;m=5;break}}}else{q=b;r=e;s=g;m=5}while(0);if((m|0)==5)if(s){k=q;l=r;m=6}else{t=q;u=0}b:do if((m|0)==6){q=d&255;if((a[k>>0]|0)==q<<24>>24){t=k;u=l}else{r=S(f,16843009)|0;c:do if(l>>>0>3){s=k;g=l;while(1){e=c[s>>2]^r;if((e&-2139062144^-2139062144)&e+-16843009|0)break;e=s+4|0;b=g+-4|0;if(b>>>0>3){s=e;g=b}else{v=e;w=b;m=11;break c}}x=s;y=g}else{v=k;w=l;m=11}while(0);if((m|0)==11)if(!w){t=v;u=0;break}else{x=v;y=w}while(1){if((a[x>>0]|0)==q<<24>>24){t=x;u=y;break b}r=x+1|0;y=y+-1|0;if(!y){t=r;u=0;break}else x=r}}}while(0);return (u|0?t:0)|0}function We(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;g=i;i=i+256|0;h=g;do if((d|0)>(e|0)&(f&73728|0)==0){j=d-e|0;xg(h|0,b|0,(j>>>0>256?256:j)|0)|0;k=c[a>>2]|0;l=(k&32|0)==0;if(j>>>0>255){m=d-e|0;n=j;o=k;k=l;while(1){if(k){Re(h,256,a)|0;p=c[a>>2]|0}else p=o;n=n+-256|0;k=(p&32|0)==0;if(n>>>0<=255)break;else o=p}if(k)q=m&255;else break}else if(l)q=j;else break;Re(h,q,a)|0}while(0);i=g;return}function Xe(a,b){a=a|0;b=b|0;var c=0;if(!a)c=0;else c=_e(a,b,0)|0;return c|0}function Ye(a,b){a=+a;b=b|0;return +(+Ze(a,b))}function Ze(a,b){a=+a;b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0,j=0,k=0.0;h[l>>3]=a;d=c[l>>2]|0;e=c[l+4>>2]|0;f=yg(d|0,e|0,52)|0;switch(f&2047){case 0:{if(a!=0.0){g=+Ze(a*18446744073709551616.0,b);i=g;j=(c[b>>2]|0)+-64|0}else{i=a;j=0}c[b>>2]=j;k=i;break}case 2047:{k=a;break}default:{c[b>>2]=(f&2047)+-1022;c[l>>2]=d;c[l+4>>2]=e&-2146435073|1071644672;k=+h[l>>3]}}return +k}function _e(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;do if(b){if(d>>>0<128){a[b>>0]=d;f=1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;f=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;f=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;f=4;break}else{c[(oe()|0)>>2]=84;f=-1;break}}else f=1;while(0);return f|0}function $e(b){b=b|0;var d=0,e=0,f=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;e=c[b>>2]|0;if(!(e&8)){c[b+8>>2]=0;c[b+4>>2]=0;d=c[b+44>>2]|0;c[b+28>>2]=d;c[b+20>>2]=d;c[b+16>>2]=d+(c[b+48>>2]|0);f=0}else{c[b>>2]=e|32;f=-1}return f|0}function af(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=a+20|0;f=c[e>>2]|0;g=(c[a+16>>2]|0)-f|0;a=g>>>0>d>>>0?d:g;Ig(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function bf(a,b){a=a|0;b=b|0;var c=0;c=Ve(a,0,b)|0;return ((c|0)==0?b:c-a|0)|0}function cf(a,b){a=+a;b=+b;var d=0,e=0,f=0;h[l>>3]=a;d=c[l>>2]|0;e=c[l+4>>2]|0;h[l>>3]=b;f=c[l+4>>2]&-2147483648|e&2147483647;c[l>>2]=d;c[l+4>>2]=f;return +(+h[l>>3])}function df(a,b,c){a=a|0;b=b|0;c=c|0;jf(a,b,c)|0;return a|0}function ef(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,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;f=i;i=i+208|0;g=f+8|0;h=f;j=S(d,b)|0;b=h;c[b>>2]=1;c[b+4>>2]=0;if(j|0){b=0-d|0;c[g+4>>2]=d;c[g>>2]=d;k=2;l=d;m=d;while(1){n=l+d+m|0;c[g+(k<<2)>>2]=n;if(n>>>0>>0){o=m;k=k+1|0;m=n;l=o}else break}l=a+j+b|0;j=h+4|0;if(l>>>0>a>>>0){m=l;k=1;o=a;n=1;while(1){do if((n&3|0)==3){ff(o,d,e,k,g);p=c[j>>2]|0;q=p<<30|(c[h>>2]|0)>>>2;c[h>>2]=q;c[j>>2]=p>>>2;r=k+2|0;s=q}else{q=k+-1|0;if((c[g+(q<<2)>>2]|0)>>>0<(m-o|0)>>>0)ff(o,d,e,k,g);else gf(o,d,e,h,k,0,g);if((k|0)==1){p=c[h>>2]|0;c[j>>2]=p>>>31|c[j>>2]<<1;t=p<<1;c[h>>2]=t;r=0;s=t;break}if(q>>>0>31){t=c[h>>2]|0;c[j>>2]=t;c[h>>2]=0;u=k+-33|0;v=t;w=0}else{u=q;v=c[j>>2]|0;w=c[h>>2]|0}c[j>>2]=w>>>(32-u|0)|v<>2]=q;r=1;s=q}while(0);n=s|1;c[h>>2]=n;q=o+d|0;if(q>>>0>=l>>>0){x=r;y=q;break}else{k=r;o=q}}}else{x=1;y=a}gf(y,d,e,h,x,0,g);a=h+4|0;o=c[h>>2]|0;r=c[a>>2]|0;k=(r|0)==0;if(!((x|0)==1&(o|0)==1&k)){l=y;y=x;x=k;k=o;o=r;while(1){if((y|0)<2){r=k+-1|0;do if(r){if(!(r&1)){n=r;s=0;while(1){u=s+1|0;n=n>>>1;if(n&1|0){z=u;break}else s=u}}else{if(x)A=32;else{if(!(o&1)){B=o;C=0}else{D=0;E=k;F=o;G=0;break}while(1){s=C+1|0;B=B>>>1;if(B&1|0){A=s;break}else C=s}}z=A+32|0}if(z>>>0>31){H=z;I=28}else{D=z;E=k;F=o;G=z}}else{H=32;I=28}while(0);if((I|0)==28){I=0;c[h>>2]=o;c[j>>2]=0;D=H+-32|0;E=o;F=0;G=H}c[h>>2]=F<<32-D|E>>>D;c[j>>2]=F>>>D;J=l+b|0;K=G+y|0}else{r=k>>>30;s=y+-2|0;c[h>>2]=(k<<1&2147483646|r<<31)^3;c[j>>2]=(r|o<<2)>>>1;gf(l+(0-(c[g+(s<<2)>>2]|0))+b|0,d,e,h,y+-1|0,1,g);r=c[h>>2]|0;c[j>>2]=r>>>31|c[j>>2]<<1;c[h>>2]=r<<1|1;r=l+b|0;gf(r,d,e,h,s,1,g);J=r;K=s}k=c[h>>2]|0;o=c[a>>2]|0;x=(o|0)==0;if((K|0)==1&(k|0)==1&x)break;else{l=J;y=K}}}}i=f;return}function ff(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;g=i;i=i+240|0;h=g;c[h>>2]=a;a:do if((e|0)>1){j=0-b|0;k=a;l=e;m=1;n=a;while(1){o=k+j|0;p=l+-2|0;q=o+(0-(c[f+(p<<2)>>2]|0))|0;if((Da[d&3](n,q)|0)>-1?(Da[d&3](n,o)|0)>-1:0){r=m;break a}s=m+1|0;t=h+(m<<2)|0;if((Da[d&3](q,o)|0)>-1){c[t>>2]=q;u=q;v=l+-1|0}else{c[t>>2]=o;u=o;v=p}if((v|0)<=1){r=s;break a}k=u;l=v;m=s;n=c[h>>2]|0}}else r=1;while(0);hf(b,h,r);i=g;return}function gf(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,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;j=i;i=i+240|0;k=j;l=c[e>>2]|0;m=c[e+4>>2]|0;c[k>>2]=a;e=0-b|0;a:do if((m|0)!=0|(l|0)!=1?(n=a+(0-(c[h+(f<<2)>>2]|0))|0,(Da[d&3](n,a)|0)>=1):0){o=1;p=f;q=(g|0)==0;r=a;s=l;t=m;u=n;while(1){if(q&(p|0)>1){n=r+e|0;v=c[h+(p+-2<<2)>>2]|0;if((Da[d&3](n,u)|0)>-1){w=r;x=o;y=p;z=19;break a}if((Da[d&3](n+(0-v)|0,u)|0)>-1){w=r;x=o;y=p;z=19;break a}}v=o+1|0;c[k+(o<<2)>>2]=u;n=s+-1|0;do if(n){if(!(n&1)){A=n;B=0;while(1){C=B+1|0;A=A>>>1;if(A&1|0){D=C;break}else B=C}}else{if(!t)E=32;else{if(!(t&1)){F=t;G=0}else{H=0;I=s;J=t;K=0;break}while(1){B=G+1|0;F=F>>>1;if(F&1|0){E=B;break}else G=B}}D=E+32|0}if(D>>>0>31){L=D+-32|0;M=D;z=15}else{H=D;I=s;J=t;K=D}}else{L=0;M=32;z=15}while(0);if((z|0)==15){z=0;H=L;I=t;J=0;K=M}s=J<<32-H|I>>>H;t=J>>>H;n=K+p|0;if(!((t|0)!=0|(s|0)!=1)){w=u;x=v;y=n;z=19;break a}B=u+(0-(c[h+(n<<2)>>2]|0))|0;if((Da[d&3](B,c[k>>2]|0)|0)<1){N=u;O=v;P=n;Q=0;z=18;break}else{A=u;o=v;p=n;q=1;u=B;r=A}}}else{N=a;O=1;P=f;Q=g;z=18}while(0);if((z|0)==18?(Q|0)==0:0){w=N;x=O;y=P;z=19}if((z|0)==19){hf(b,k,x);ff(w,b,d,y,h)}i=j;return}function hf(a,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+256|0;f=e;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=f,a|0):0){h=a;j=f;while(1){k=h>>>0>256?256:h;Ig(j|0,c[b>>2]|0,k|0)|0;l=0;do{m=b+(l<<2)|0;l=l+1|0;Ig(c[m>>2]|0,c[b+(l<<2)>>2]|0,k|0)|0;c[m>>2]=(c[m>>2]|0)+k}while((l|0)!=(d|0));l=h-k|0;if(!l)break a;h=l;j=c[g>>2]|0}}while(0);i=e;return}function jf(b,d,e){b=b|0;d=d|0;e=e|0;var 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;f=d;do if(!((f^b)&3)){g=(e|0)!=0;a:do if(g&(f&3|0)!=0){h=e;i=d;j=b;while(1){k=a[i>>0]|0;a[j>>0]=k;if(!(k<<24>>24)){l=h;m=i;n=j;break a}k=h+-1|0;o=i+1|0;p=j+1|0;q=(k|0)!=0;if(q&(o&3|0)!=0){h=k;i=o;j=p}else{r=k;s=o;t=p;u=q;v=5;break}}}else{r=e;s=d;t=b;u=g;v=5}while(0);if((v|0)==5)if(u){l=r;m=s;n=t}else{w=t;x=0;break}if(!(a[m>>0]|0)){w=n;x=l}else{b:do if(l>>>0>3){g=n;j=m;i=l;while(1){h=c[j>>2]|0;if((h&-2139062144^-2139062144)&h+-16843009|0){y=j;z=g;A=i;break b}c[g>>2]=h;h=i+-4|0;q=j+4|0;p=g+4|0;if(h>>>0>3){g=p;j=q;i=h}else{y=q;z=p;A=h;break}}}else{y=m;z=n;A=l}while(0);B=y;C=z;D=A;v=11}}else{B=d;C=b;D=e;v=11}while(0);c:do if((v|0)==11)if(!D){w=C;x=0}else{e=B;b=C;d=D;while(1){A=a[e>>0]|0;a[b>>0]=A;if(!(A<<24>>24)){w=b;x=d;break c}d=d+-1|0;A=b+1|0;if(!d){w=A;x=0;break}else{e=e+1|0;b=A}}}while(0);xg(w|0,0,x|0)|0;return w|0}function kf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=b;a:do if(!(d&3)){e=b;f=4}else{g=b;h=d;while(1){if(!(a[g>>0]|0)){i=h;break a}j=g+1|0;h=j;if(!(h&3)){e=j;f=4;break}else g=j}}while(0);if((f|0)==4){f=e;while(1){k=c[f>>2]|0;if(!((k&-2139062144^-2139062144)&k+-16843009))f=f+4|0;else break}if(!((k&255)<<24>>24))l=f;else{k=f;while(1){f=k+1|0;if(!(a[f>>0]|0)){l=f;break}else k=f}}i=l}return i-d|0}function lf(a,b){a=a|0;b=b|0;mf(a,b)|0;return a|0}function mf(b,d){b=b|0;d=d|0;var 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;e=d;a:do if(!((e^b)&3)){if(!(e&3)){f=d;g=b}else{h=d;i=b;while(1){j=a[h>>0]|0;a[i>>0]=j;if(!(j<<24>>24)){k=i;break a}j=h+1|0;l=i+1|0;if(!(j&3)){f=j;g=l;break}else{h=j;i=l}}}i=c[f>>2]|0;if(!((i&-2139062144^-2139062144)&i+-16843009)){h=g;l=f;j=i;while(1){i=l+4|0;m=h+4|0;c[h>>2]=j;j=c[i>>2]|0;if((j&-2139062144^-2139062144)&j+-16843009|0){n=i;o=m;break}else{h=m;l=i}}}else{n=f;o=g}p=n;q=o;r=8}else{p=d;q=b;r=8}while(0);if((r|0)==8){r=a[p>>0]|0;a[q>>0]=r;if(!(r<<24>>24))k=q;else{r=q;q=p;while(1){q=q+1|0;p=r+1|0;b=a[q>>0]|0;a[p>>0]=b;if(!(b<<24>>24)){k=p;break}else r=p}}}return k|0}function nf(b,c){b=b|0;c=c|0;var d=0;d=pf(b,c)|0;return ((a[d>>0]|0)==(c&255)<<24>>24?d:0)|0}function of(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;b=ne(ma(195,e|0)|0)|0;i=d;return b|0}function pf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=d&255;a:do if(!e)f=b+(kf(b)|0)|0;else{if(!(b&3))g=b;else{h=d&255;i=b;while(1){j=a[i>>0]|0;if(j<<24>>24==0?1:j<<24>>24==h<<24>>24){f=i;break a}j=i+1|0;if(!(j&3)){g=j;break}else i=j}}i=S(e,16843009)|0;h=c[g>>2]|0;b:do if(!((h&-2139062144^-2139062144)&h+-16843009)){j=g;k=h;while(1){l=k^i;if((l&-2139062144^-2139062144)&l+-16843009|0){m=j;break b}l=j+4|0;k=c[l>>2]|0;if((k&-2139062144^-2139062144)&k+-16843009|0){m=l;break}else j=l}}else m=g;while(0);i=d&255;h=m;while(1){j=a[h>>0]|0;if(j<<24>>24==0?1:j<<24>>24==i<<24>>24){f=h;break}else h=h+1|0}}while(0);return f|0}function qf(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+48|0;e=d+40|0;f=d+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;h=la(197,g|0)|0;if((h|0)==-9?(c[f>>2]=a,c[f+4>>2]=1,(pa(221,f|0)|0)>=0):0){rf(f,a);c[e>>2]=f;c[e+4>>2]=b;j=ne(ma(195,e|0)|0)|0}else j=ne(h)|0;i=d;return j|0}function rf(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=b;e=116097;f=d+15|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));if(!c){a[b+14>>0]=48;a[b+15>>0]=0}else{e=c;d=14;while(1){d=d+1|0;if(e>>>0<10)break;else e=(e>>>0)/10|0}a[b+d>>0]=0;e=c;c=d;while(1){c=c+-1|0;a[b+c>>0]=(e>>>0)%10|0|48;if(e>>>0<10)break;else e=(e>>>0)/10|0}}return}function sf(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;d=ne(fa(85,f|0)|0)|0;i=e;return d|0}function tf(a){a=a|0;var b=0,c=0,d=0;b=(kf(a)|0)+1|0;c=pg(b)|0;if(!c)d=0;else{Ig(c|0,a|0,b|0)|0;d=c}return d|0}function uf(a,b){a=a|0;b=b|0;return vf(a,b,(kf(a)|0)+1|0)|0}function vf(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;e=c&255;c=d;while(1){if(!c){f=0;break}c=c+-1|0;d=b+c|0;if((a[d>>0]|0)==e<<24>>24){f=d;break}}return f|0}function wf(b,c){b=b|0;c=c|0;var d=0,e=0;d=bf(b,c)|0;c=pg(d+1|0)|0;if(!c)e=0;else{Ig(c|0,b|0,d|0)|0;a[c+d>>0]=0;e=c}return e|0}function xf(a,b){a=a|0;b=b|0;lf(a+(kf(a)|0)|0,b)|0;return a|0}function yf(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,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;f=i;i=i+1056|0;g=f+1024|0;h=f;j=a[e>>0]|0;do if(j<<24>>24){k=nf(b,j<<24>>24)|0;if(k){l=a[e+1>>0]|0;if(l<<24>>24){m=k+1|0;n=a[m>>0]|0;if(n<<24>>24){o=a[e+2>>0]|0;if(!(o<<24>>24)){p=l&255|(j&255)<<8;q=d[k>>0]<<8|n&255;r=m;m=n;while(1){s=q&65535;if((s|0)==(p|0)){t=r;u=m;break}v=r+1|0;w=a[v>>0]|0;if(!(w<<24>>24)){t=v;u=0;break}else{q=w&255|s<<8;r=v;m=w}}x=u<<24>>24?t+-1|0:0;break}m=k+2|0;r=a[m>>0]|0;if(r<<24>>24){q=a[e+3>>0]|0;if(!(q<<24>>24)){p=(l&255)<<16|(j&255)<<24|(o&255)<<8;w=(r&255)<<8|(n&255)<<16|d[k>>0]<<24;if((w|0)==(p|0)){y=m;z=r}else{v=m;m=w;while(1){w=v+1|0;s=a[w>>0]|0;m=(s&255|m)<<8;if(s<<24>>24==0|(m|0)==(p|0)){y=w;z=s;break}else v=w}}x=z<<24>>24?y+-2|0:0;break}v=k+3|0;p=a[v>>0]|0;if(p<<24>>24){if(!(a[e+4>>0]|0)){m=(l&255)<<16|(j&255)<<24|(o&255)<<8|q&255;w=(r&255)<<8|(n&255)<<16|p&255|d[k>>0]<<24;if((w|0)==(m|0)){A=v;B=p}else{p=v;v=w;while(1){w=p+1|0;s=a[w>>0]|0;v=s&255|v<<8;if(s<<24>>24==0|(v|0)==(m|0)){A=w;B=s;break}else p=w}}x=B<<24>>24?A+-3|0:0;break};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+24>>2]=0;c[g+28>>2]=0;p=0;m=j;while(1){if(!(a[k+p>>0]|0)){C=0;break}v=g+(((m&255)>>>5&255)<<2)|0;c[v>>2]=c[v>>2]|1<<(m&31);D=p+1|0;c[h+((m&255)<<2)>>2]=D;m=a[e+D>>0]|0;if(!(m<<24>>24)){E=23;break}else p=D}a:do if((E|0)==23){b:do if(D>>>0>1){m=0;v=-1;n=1;c:while(1){r=1;q=m;o=n;while(1){F=q;l=o;d:while(1){w=1;G=l;while(1){H=a[e+(w+v)>>0]|0;I=a[e+G>>0]|0;if(H<<24>>24!=I<<24>>24)break d;if((w|0)==(r|0))break;w=w+1|0;s=w+F|0;if(s>>>0>=D>>>0){J=r;K=v;break c}else G=s}w=F+r|0;l=w+1|0;if(l>>>0>=D>>>0){J=r;K=v;break c}else F=w}l=G-v|0;if((H&255)<=(I&255))break;o=G+1|0;if(o>>>0>=D>>>0){J=l;K=v;break c}else{r=l;q=G}}n=F+2|0;if(n>>>0>=D>>>0){J=1;K=F;break}else{m=F+1|0;v=F}}v=0;m=-1;n=1;while(1){q=1;r=v;o=n;while(1){L=r;l=o;e:while(1){w=1;M=l;while(1){N=a[e+(w+m)>>0]|0;O=a[e+M>>0]|0;if(N<<24>>24!=O<<24>>24)break e;if((w|0)==(q|0))break;w=w+1|0;s=w+L|0;if(s>>>0>=D>>>0){P=J;Q=K;R=q;S=m;break b}else M=s}w=L+q|0;l=w+1|0;if(l>>>0>=D>>>0){P=J;Q=K;R=q;S=m;break b}else L=w}l=M-m|0;if((N&255)>=(O&255))break;o=M+1|0;if(o>>>0>=D>>>0){P=J;Q=K;R=l;S=m;break b}else{q=l;r=M}}n=L+2|0;if(n>>>0>=D>>>0){P=J;Q=K;R=1;S=L;break}else{v=L+1|0;m=L}}}else{P=1;Q=-1;R=1;S=-1}while(0);m=(S+1|0)>>>0>(Q+1|0)>>>0;v=m?R:P;n=m?S:Q;m=n+1|0;if(!(Je(e,e+v|0,m)|0)){T=D-v|0;U=v}else{v=D-n+-1|0;T=0;U=(n>>>0>v>>>0?n:v)+1|0}v=D|63;r=(T|0)!=0;q=D-U|0;o=k;l=0;w=k;f:while(1){s=o;do if((w-s|0)>>>0>>0){V=Ve(w,0,v)|0;if(V)if((V-s|0)>>>0>>0){C=0;break a}else{W=V;break}else{W=w+v|0;break}}else W=w;while(0);s=a[o+p>>0]|0;if(!(1<<(s&31)&c[g+(((s&255)>>>5&255)<<2)>>2])){o=o+D|0;l=0;w=W;continue}V=D-(c[h+((s&255)<<2)>>2]|0)|0;if(V|0){o=o+(r&(l|0)!=0&V>>>0>>0?q:V)|0;l=0;w=W;continue}V=m>>>0>l>>>0?m:l;s=a[e+V>>0]|0;g:do if(!(s<<24>>24))X=m;else{Y=V;Z=s;while(1){if(Z<<24>>24!=(a[o+Y>>0]|0))break;_=Y+1|0;Z=a[e+_>>0]|0;if(!(Z<<24>>24)){X=m;break g}else Y=_}o=o+(Y-n)|0;l=0;w=W;continue f}while(0);do{if(X>>>0<=l>>>0){C=o;break a}X=X+-1|0}while((a[e+X>>0]|0)==(a[o+X>>0]|0));o=o+U|0;l=T;w=W}}while(0);x=C}else x=0}else x=0}else x=0}else x=k}else x=0}else x=b;while(0);i=f;return x|0}function zf(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;f=i;i=i+16|0;g=f;h=e&255;a[g>>0]=h;j=b+16|0;k=c[j>>2]|0;if(!k)if(!($e(b)|0)){l=c[j>>2]|0;m=4}else n=-1;else{l=k;m=4}do if((m|0)==4){k=b+20|0;j=c[k>>2]|0;if(j>>>0>>0?(o=e&255,(o|0)!=(a[b+75>>0]|0)):0){c[k>>2]=j+1;a[j>>0]=h;n=o;break}if((Ca[c[b+36>>2]&7](b,g,1)|0)==1)n=d[g>>0]|0;else n=-1}while(0);i=f;return n|0}function Af(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;f=e+16|0;g=e;if(Ve(116112,a[d>>0]|0,4)|0){h=Bf(d)|0|32768;c[g>>2]=b;c[g+4>>2]=h;c[g+8>>2]=438;h=ne(ha(5,g|0)|0)|0;if((h|0)>=0){g=Cf(h,d)|0;if(!g){c[f>>2]=h;ga(6,f|0)|0;j=0}else j=g}else j=0}else{c[(oe()|0)>>2]=22;j=0}i=e;return j|0}function Bf(b){b=b|0;var c=0,d=0,e=0,f=0;c=(nf(b,43)|0)==0;d=a[b>>0]|0;e=c?d<<24>>24!=114&1:2;c=(nf(b,120)|0)==0;f=c?e:e|128;e=(nf(b,101)|0)==0;b=e?f:f|524288;f=d<<24>>24==114?b:b|64;b=d<<24>>24==119?f|512:f;return (d<<24>>24==97?b|1024:b)|0}function Cf(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;e=i;i=i+112|0;f=e+40|0;g=e+24|0;h=e+16|0;j=e;k=e+52|0;l=a[d>>0]|0;if(Ve(116112,l<<24>>24,4)|0){m=pg(1144)|0;if(!m)n=0;else{o=m;p=o+112|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(p|0));if(!(nf(d,43)|0))c[m>>2]=l<<24>>24==114?8:4;if(!(nf(d,101)|0))q=l;else{c[j>>2]=b;c[j+4>>2]=2;c[j+8>>2]=1;pa(221,j|0)|0;q=a[d>>0]|0}if(q<<24>>24==97){c[h>>2]=b;c[h+4>>2]=3;q=pa(221,h|0)|0;if(!(q&1024)){c[g>>2]=b;c[g+4>>2]=4;c[g+8>>2]=q|1024;pa(221,g|0)|0}g=c[m>>2]|128;c[m>>2]=g;r=g}else r=c[m>>2]|0;c[m+60>>2]=b;c[m+44>>2]=m+120;c[m+48>>2]=1024;g=m+75|0;a[g>>0]=-1;if((r&8|0)==0?(c[f>>2]=b,c[f+4>>2]=21505,c[f+8>>2]=k,(ra(54,f|0)|0)==0):0)a[g>>0]=10;c[m+32>>2]=1;c[m+36>>2]=3;c[m+40>>2]=2;c[m+12>>2]=4;if(!(c[686801]|0))c[m+76>>2]=-1;ta(2747228);g=c[686806]|0;c[m+56>>2]=g;if(g|0)c[g+52>>2]=m;c[686806]=m;sa(2747228);n=m}}else{c[(oe()|0)>>2]=22;n=0}i=e;return n|0}function Df(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;g=i;i=i+16|0;h=g;j=(f|0)==0?2747248:f;f=c[j>>2]|0;a:do if(!d)if(!f)k=0;else l=15;else{m=(b|0)==0?h:b;if(!e)k=-2;else{if(!f){n=a[d>>0]|0;o=n&255;if(n<<24>>24>-1){c[m>>2]=o;k=n<<24>>24!=0&1;break}n=o+-194|0;if(n>>>0>50){l=15;break}o=c[104056+(n<<2)>>2]|0;n=e+-1|0;if(!n)p=o;else{q=d+1|0;r=o;s=n;l=9}}else{q=d;r=f;s=e;l=9}b:do if((l|0)==9){n=a[q>>0]|0;o=(n&255)>>>3;if((o+-16|o+(r>>26))>>>0>7){l=15;break a}else{t=q;u=r;v=s;w=n}while(1){t=t+1|0;u=(w&255)+-128|u<<6;v=v+-1|0;if((u|0)>=0)break;if(!v){p=u;break b}w=a[t>>0]|0;if((w&-64)<<24>>24!=-128){l=15;break a}}c[j>>2]=0;c[m>>2]=u;k=e-v|0;break a}while(0);c[j>>2]=p;k=-2}}while(0);if((l|0)==15){c[j>>2]=0;c[(oe()|0)>>2]=84;k=-1}i=g;return k|0}function Ef(a){a=a|0;var b=0,d=0,e=0;if((c[a+76>>2]|0)>-1){b=(Qe(a)|0)==0;d=(c[a>>2]|0)>>>5&1;if(b)e=d;else{qe(a);e=d}}else e=(c[a>>2]|0)>>>5&1;return e|0}function Ff(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;do if(a){if((c[a+76>>2]|0)<=-1){b=Gf(a)|0;break}d=(Qe(a)|0)==0;e=Gf(a)|0;if(d)b=e;else{qe(a);b=e}}else{if(!(c[26013]|0))f=0;else f=Ff(c[26013]|0)|0;ta(2747228);e=c[686806]|0;if(!e)g=f;else{d=e;e=f;while(1){if((c[d+76>>2]|0)>-1)h=Qe(d)|0;else h=0;if((c[d+20>>2]|0)>>>0>(c[d+28>>2]|0)>>>0)i=Gf(d)|0|e;else i=e;if(h|0)qe(d);d=c[d+56>>2]|0;if(!d){g=i;break}else e=i}}sa(2747228);b=g}while(0);return b|0}function Gf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=a+20|0;d=a+28|0;if((c[b>>2]|0)>>>0>(c[d>>2]|0)>>>0?(Ca[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)e=-1;else{f=a+4|0;g=c[f>>2]|0;h=a+8|0;i=c[h>>2]|0;if(g>>>0>>0)Ca[c[a+40>>2]&7](a,g-i|0,1)|0;c[a+16>>2]=0;c[d>>2]=0;c[b>>2]=0;c[h>>2]=0;c[f>>2]=0;e=0}return e|0}function Hf(e,f,j){e=e|0;f=f|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,Ya=0.0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0;k=i;i=i+304|0;l=k+16|0;m=k+8|0;n=k+33|0;o=k;p=k+32|0;if((c[e+76>>2]|0)>-1)q=Qe(e)|0;else q=0;r=a[f>>0]|0;a:do if(r<<24>>24){s=e+4|0;t=e+100|0;u=e+108|0;v=e+8|0;w=n+10|0;x=n+33|0;y=m+4|0;z=n+46|0;A=n+94|0;B=n+1|0;C=n+1|0;E=f;F=0;G=0;H=0;I=0;J=r;b:while(1){c:do if(!(Ce(J&255)|0)){K=J<<24>>24==37;d:do if(K){L=E+1|0;M=a[L>>0]|0;e:do switch(M<<24>>24){case 37:{break d;break}case 42:{N=0;O=E+2|0;break}default:{P=(M&255)+-48|0;if(P>>>0<10?(a[E+2>>0]|0)==36:0){c[l>>2]=c[j>>2];Q=P;while(1){P=(c[l>>2]|0)+(4-1)&~(4-1);R=c[P>>2]|0;c[l>>2]=P+4;if(Q>>>0>1)Q=Q+-1|0;else break}N=R;O=E+3|0;break e}Q=(c[j>>2]|0)+(4-1)&~(4-1);P=c[Q>>2]|0;c[j>>2]=Q+4;N=P;O=L}}while(0);L=a[O>>0]|0;M=L&255;if((M+-48|0)>>>0<10){P=0;Q=O;S=M;while(1){M=(P*10|0)+-48+S|0;T=Q+1|0;U=a[T>>0]|0;S=U&255;if((S+-48|0)>>>0>=10){V=M;W=T;X=U;break}else{P=M;Q=T}}}else{V=0;W=O;X=L}if(X<<24>>24==109){Q=W+1|0;Y=(N|0)!=0&1;Z=0;_=0;$=Q;aa=a[Q>>0]|0}else{Y=0;Z=H;_=I;$=W;aa=X}Q=$+1|0;switch(aa<<24>>24){case 104:{P=(a[Q>>0]|0)==104;ba=P?-2:-1;ca=P?$+2|0:Q;break}case 108:{P=(a[Q>>0]|0)==108;ba=P?3:1;ca=P?$+2|0:Q;break}case 106:{ba=3;ca=Q;break}case 116:case 122:{ba=1;ca=Q;break}case 76:{ba=2;ca=Q;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{ba=0;ca=$;break}default:{da=_;ea=Z;fa=154;break b}}Q=d[ca>>0]|0;P=(Q&47|0)==3;S=P?Q|32:Q;Q=P?1:ba;P=S&255;switch(P<<24>>24){case 99:{ga=(V|0)<1?1:V;ha=F;break}case 91:{ga=V;ha=F;break}case 110:{if(!N){ia=ca;ja=G;ka=F;la=_;ma=Z;break c}switch(Q|0){case -2:{a[N>>0]=F;ia=ca;ja=G;ka=F;la=_;ma=Z;break c;break}case -1:{b[N>>1]=F;ia=ca;ja=G;ka=F;la=_;ma=Z;break c;break}case 0:{c[N>>2]=F;ia=ca;ja=G;ka=F;la=_;ma=Z;break c;break}case 1:{c[N>>2]=F;ia=ca;ja=G;ka=F;la=_;ma=Z;break c;break}case 3:{T=N;c[T>>2]=F;c[T+4>>2]=((F|0)<0)<<31>>31;ia=ca;ja=G;ka=F;la=_;ma=Z;break c;break}default:{ia=ca;ja=G;ka=F;la=_;ma=Z;break c}}break}default:{ze(e,0);do{T=c[s>>2]|0;if(T>>>0<(c[t>>2]|0)>>>0){c[s>>2]=T+1;na=d[T>>0]|0}else na=Be(e)|0}while((Ce(na)|0)!=0);if(!(c[t>>2]|0))oa=c[s>>2]|0;else{L=(c[s>>2]|0)+-1|0;c[s>>2]=L;oa=L}ga=V;ha=(c[u>>2]|0)+F+oa-(c[v>>2]|0)|0}}ze(e,ga);L=c[s>>2]|0;T=c[t>>2]|0;if(L>>>0>>0){c[s>>2]=L+1;pa=T}else{if((Be(e)|0)<0){da=_;ea=Z;fa=154;break b}pa=c[t>>2]|0}if(pa|0)c[s>>2]=(c[s>>2]|0)+-1;f:do switch(P<<24>>24){case 91:case 99:case 115:{T=(S|0)==99;g:do if((S|16|0)==115){xg(B|0,-1,256)|0;a[n>>0]=0;if((S|0)==115){a[x>>0]=0;a[w>>0]=0;a[w+1>>0]=0;a[w+2>>0]=0;a[w+3>>0]=0;a[w+4>>0]=0;qa=ca}else qa=ca}else{L=ca+1|0;M=(a[L>>0]|0)==94;U=M&1;ra=M?ca+2|0:L;xg(C|0,M&1|0,256)|0;a[n>>0]=0;switch(a[ra>>0]|0){case 45:{M=(U^1)&255;a[z>>0]=M;sa=ra+1|0;ta=M;break}case 93:{M=(U^1)&255;a[A>>0]=M;sa=ra+1|0;ta=M;break}default:{sa=ra;ta=(U^1)&255}}U=sa;while(1){ra=a[U>>0]|0;h:do switch(ra<<24>>24){case 0:{da=_;ea=Z;fa=154;break b;break}case 93:{qa=U;break g;break}case 45:{M=U+1|0;L=a[M>>0]|0;switch(L<<24>>24){case 93:case 0:{ua=U;va=45;break h;break}default:{}}wa=a[U+-1>>0]|0;if((wa&255)<(L&255)){xa=wa&255;do{xa=xa+1|0;a[n+xa>>0]=ta;wa=a[M>>0]|0}while((xa|0)<(wa&255|0));ua=M;va=wa}else{ua=M;va=L}break}default:{ua=U;va=ra}}while(0);a[n+((va&255)+1)>>0]=ta;U=ua+1|0}}while(0);U=T?ga+1|0:31;ra=(Q|0)==1;xa=(Y|0)!=0;i:do if(ra){if(xa){wa=pg(U<<2)|0;if(!wa){da=0;ea=wa;fa=154;break b}else ya=wa}else ya=N;c[m>>2]=0;c[y>>2]=0;wa=U;za=0;Aa=ya;j:while(1){Ba=(Aa|0)==0;Ca=za;while(1){k:while(1){Da=c[s>>2]|0;if(Da>>>0<(c[t>>2]|0)>>>0){c[s>>2]=Da+1;Ea=d[Da>>0]|0}else Ea=Be(e)|0;if(!(a[n+(Ea+1)>>0]|0))break j;a[p>>0]=Ea;switch(Df(o,p,1,m)|0){case -1:{da=0;ea=Aa;fa=154;break b;break}case -2:break;default:break k}}if(Ba)Fa=Ca;else{c[Aa+(Ca<<2)>>2]=c[o>>2];Fa=Ca+1|0}if(xa&(Fa|0)==(wa|0))break;else Ca=Fa}Ba=wa<<1|1;L=sg(Aa,Ba<<2)|0;if(!L){da=0;ea=Aa;fa=154;break b}else{M=wa;wa=Ba;Aa=L;za=M}}if(!(If(m)|0)){da=0;ea=Aa;fa=154;break b}else{Ga=Ca;Ha=0;Ia=Aa}}else{if(xa){za=pg(U)|0;if(!za){da=0;ea=0;fa=154;break b}else{Ja=U;Ka=0;La=za}while(1){za=Ka;do{wa=c[s>>2]|0;if(wa>>>0<(c[t>>2]|0)>>>0){c[s>>2]=wa+1;Ma=d[wa>>0]|0}else Ma=Be(e)|0;if(!(a[n+(Ma+1)>>0]|0)){Ga=za;Ha=La;Ia=0;break i}a[La+za>>0]=Ma;za=za+1|0}while((za|0)!=(Ja|0));za=Ja<<1|1;wa=sg(La,za)|0;if(!wa){da=La;ea=0;fa=154;break b}else{M=Ja;Ja=za;La=wa;Ka=M}}}if(!N){Aa=pa;while(1){M=c[s>>2]|0;if(M>>>0>>0){c[s>>2]=M+1;Na=d[M>>0]|0}else Na=Be(e)|0;if(!(a[n+(Na+1)>>0]|0)){Ga=0;Ha=0;Ia=0;break i}Aa=c[t>>2]|0}}else{Aa=0;M=pa;while(1){wa=c[s>>2]|0;if(wa>>>0>>0){c[s>>2]=wa+1;Oa=d[wa>>0]|0}else Oa=Be(e)|0;if(!(a[n+(Oa+1)>>0]|0)){Ga=Aa;Ha=N;Ia=0;break i}a[N+Aa>>0]=Oa;Aa=Aa+1|0;M=c[t>>2]|0}}}while(0);if(!(c[t>>2]|0))Pa=c[s>>2]|0;else{U=(c[s>>2]|0)+-1|0;c[s>>2]=U;Pa=U}U=Pa-(c[v>>2]|0)+(c[u>>2]|0)|0;if(!U){Qa=Ia;Ra=Y;Sa=G;Ta=Ha;break b}if(!((U|0)==(ga|0)|T^1)){Qa=Ia;Ra=Y;Sa=G;Ta=Ha;break b}do if(xa)if(ra){c[N>>2]=Ia;break}else{c[N>>2]=Ha;break}while(0);if(T){Ua=qa;Va=Ha;Wa=Ia}else{if(Ia|0)c[Ia+(Ga<<2)>>2]=0;if(!Ha){Ua=qa;Va=0;Wa=Ia;break f}a[Ha+Ga>>0]=0;Ua=qa;Va=Ha;Wa=Ia}break}case 120:case 88:case 112:{Xa=16;fa=136;break}case 111:{Xa=8;fa=136;break}case 117:case 100:{Xa=10;fa=136;break}case 105:{Xa=0;fa=136;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{Ya=+Jf(e,Q,0);if((c[u>>2]|0)==((c[v>>2]|0)-(c[s>>2]|0)|0)){Qa=Z;Ra=Y;Sa=G;Ta=_;break b}if(!N){Ua=ca;Va=_;Wa=Z}else switch(Q|0){case 0:{g[N>>2]=Ya;Ua=ca;Va=_;Wa=Z;break f;break}case 1:{h[N>>3]=Ya;Ua=ca;Va=_;Wa=Z;break f;break}case 2:{h[N>>3]=Ya;Ua=ca;Va=_;Wa=Z;break f;break}default:{Ua=ca;Va=_;Wa=Z;break f}}break}default:{Ua=ca;Va=_;Wa=Z}}while(0);l:do if((fa|0)==136){fa=0;P=Ae(e,Xa,0,-1,-1)|0;if((c[u>>2]|0)==((c[v>>2]|0)-(c[s>>2]|0)|0)){Qa=Z;Ra=Y;Sa=G;Ta=_;break b}if((N|0)!=0&(S|0)==112){c[N>>2]=P;Ua=ca;Va=_;Wa=Z;break}if(!N){Ua=ca;Va=_;Wa=Z}else switch(Q|0){case -2:{a[N>>0]=P;Ua=ca;Va=_;Wa=Z;break l;break}case -1:{b[N>>1]=P;Ua=ca;Va=_;Wa=Z;break l;break}case 0:{c[N>>2]=P;Ua=ca;Va=_;Wa=Z;break l;break}case 1:{c[N>>2]=P;Ua=ca;Va=_;Wa=Z;break l;break}case 3:{ra=N;c[ra>>2]=P;c[ra+4>>2]=D;Ua=ca;Va=_;Wa=Z;break l;break}default:{Ua=ca;Va=_;Wa=Z;break l}}}while(0);ia=Ua;ja=((N|0)!=0&1)+G|0;ka=(c[u>>2]|0)+ha+(c[s>>2]|0)-(c[v>>2]|0)|0;la=Va;ma=Wa;break c}while(0);Q=E+(K&1)|0;ze(e,0);S=c[s>>2]|0;if(S>>>0<(c[t>>2]|0)>>>0){c[s>>2]=S+1;Za=d[S>>0]|0}else Za=Be(e)|0;if((Za|0)!=(d[Q>>0]|0)){fa=22;break b}ia=Q;ja=G;ka=F+1|0;la=I;ma=H}else{Q=E;while(1){S=Q+1|0;if(!(Ce(d[S>>0]|0)|0))break;else Q=S}ze(e,0);do{K=c[s>>2]|0;if(K>>>0<(c[t>>2]|0)>>>0){c[s>>2]=K+1;_a=d[K>>0]|0}else _a=Be(e)|0}while((Ce(_a)|0)!=0);if(!(c[t>>2]|0))$a=c[s>>2]|0;else{K=(c[s>>2]|0)+-1|0;c[s>>2]=K;$a=K}ia=Q;ja=G;ka=(c[u>>2]|0)+F+$a-(c[v>>2]|0)|0;la=I;ma=H}while(0);E=ia+1|0;J=a[E>>0]|0;if(!(J<<24>>24)){ab=ja;break a}else{F=ka;G=ja;H=ma;I=la}}if((fa|0)==22){if(c[t>>2]|0)c[s>>2]=(c[s>>2]|0)+-1;if((G|0)!=0|(Za|0)>-1){ab=G;break}else{bb=0;cb=I;db=H;fa=155}}else if((fa|0)==154)if(!G){bb=Y;cb=da;db=ea;fa=155}else{Qa=ea;Ra=Y;Sa=G;Ta=da}if((fa|0)==155){Qa=db;Ra=bb;Sa=-1;Ta=cb}if(!Ra)ab=Sa;else{qg(Ta);qg(Qa);ab=Sa}}else ab=0;while(0);if(q|0)qe(e);i=k;return ab|0}function If(a){a=a|0;var b=0;if(!a)b=1;else b=(c[a>>2]|0)==0;return b&1|0}function Jf(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.0,n=0,o=0,p=0,q=0,r=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0.0,Q=0.0,R=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0.0,da=0.0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0.0,la=0,ma=0.0,na=0.0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0.0,za=0,Aa=0.0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0.0,Ia=0,Ja=0.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,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0.0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=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.0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0.0,yc=0.0,zc=0.0,Ac=0.0,Bc=0.0,Cc=0.0,Dc=0.0,Ec=0.0,Fc=0,Gc=0,Hc=0.0,Ic=0;g=i;i=i+512|0;h=g;switch(e|0){case 0:{j=-149;k=24;l=4;break}case 1:{j=-1074;k=53;l=4;break}case 2:{j=-1074;k=53;l=4;break}default:m=0.0}a:do if((l|0)==4){e=b+4|0;n=b+100|0;do{o=c[e>>2]|0;if(o>>>0<(c[n>>2]|0)>>>0){c[e>>2]=o+1;p=d[o>>0]|0}else p=Be(b)|0}while((Ce(p)|0)!=0);b:do switch(p|0){case 43:case 45:{o=1-(((p|0)==45&1)<<1)|0;q=c[e>>2]|0;if(q>>>0<(c[n>>2]|0)>>>0){c[e>>2]=q+1;r=d[q>>0]|0;u=o;break b}else{r=Be(b)|0;u=o;break b}break}default:{r=p;u=1}}while(0);o=0;q=r;while(1){if((q|32|0)!=(a[116116+o>>0]|0)){v=o;w=q;break}do if(o>>>0<7){x=c[e>>2]|0;if(x>>>0<(c[n>>2]|0)>>>0){c[e>>2]=x+1;y=d[x>>0]|0;break}else{y=Be(b)|0;break}}else y=q;while(0);x=o+1|0;if(x>>>0<8){o=x;q=y}else{v=x;w=y;break}}c:do switch(v|0){case 8:break;case 3:{l=23;break}default:{q=(f|0)!=0;if(q&v>>>0>3)if((v|0)==8)break c;else{l=23;break c}d:do if(!v){o=0;x=w;while(1){if((x|32|0)!=(a[116125+o>>0]|0)){z=o;A=x;break d}do if(o>>>0<2){B=c[e>>2]|0;if(B>>>0<(c[n>>2]|0)>>>0){c[e>>2]=B+1;C=d[B>>0]|0;break}else{C=Be(b)|0;break}}else C=x;while(0);B=o+1|0;if(B>>>0<3){o=B;x=C}else{z=B;A=C;break}}}else{z=v;A=w}while(0);switch(z|0){case 3:{x=c[e>>2]|0;if(x>>>0<(c[n>>2]|0)>>>0){c[e>>2]=x+1;E=d[x>>0]|0}else E=Be(b)|0;if((E|0)==40)G=1;else{if(!(c[n>>2]|0)){m=s;break a}c[e>>2]=(c[e>>2]|0)+-1;m=s;break a}while(1){x=c[e>>2]|0;if(x>>>0<(c[n>>2]|0)>>>0){c[e>>2]=x+1;H=d[x>>0]|0}else H=Be(b)|0;if(!((H+-48|0)>>>0<10|(H+-65|0)>>>0<26)?!((H|0)==95|(H+-97|0)>>>0<26):0)break;G=G+1|0}if((H|0)==41){m=s;break a}x=(c[n>>2]|0)==0;if(!x)c[e>>2]=(c[e>>2]|0)+-1;if(!q){c[(oe()|0)>>2]=22;ze(b,0);m=0.0;break a}if(!G){m=s;break a}else I=G;while(1){I=I+-1|0;if(!x)c[e>>2]=(c[e>>2]|0)+-1;if(!I){m=s;break a}}break}case 0:{do if((A|0)==48){x=c[e>>2]|0;if(x>>>0<(c[n>>2]|0)>>>0){c[e>>2]=x+1;J=d[x>>0]|0}else J=Be(b)|0;if((J|32|0)!=120){if(!(c[n>>2]|0)){K=48;break}c[e>>2]=(c[e>>2]|0)+-1;K=48;break}x=c[e>>2]|0;if(x>>>0<(c[n>>2]|0)>>>0){c[e>>2]=x+1;L=d[x>>0]|0;M=0}else{L=Be(b)|0;M=0}e:while(1){switch(L|0){case 46:{l=74;break e;break}case 48:break;default:{N=0;O=0;P=1.0;Q=0.0;R=0;T=L;U=M;V=0;W=0;X=0;Y=0;break e}}x=c[e>>2]|0;if(x>>>0<(c[n>>2]|0)>>>0){c[e>>2]=x+1;L=d[x>>0]|0;M=1;continue}else{L=Be(b)|0;M=1;continue}}if((l|0)==74){x=c[e>>2]|0;if(x>>>0<(c[n>>2]|0)>>>0){c[e>>2]=x+1;Z=d[x>>0]|0}else Z=Be(b)|0;if((Z|0)==48){x=0;q=0;while(1){o=c[e>>2]|0;if(o>>>0<(c[n>>2]|0)>>>0){c[e>>2]=o+1;_=d[o>>0]|0}else _=Be(b)|0;o=Ag(x|0,q|0,-1,-1)|0;B=D;if((_|0)==48){x=o;q=B}else{N=1;O=0;P=1.0;Q=0.0;R=0;T=_;U=1;V=0;W=0;X=o;Y=B;break}}}else{N=1;O=0;P=1.0;Q=0.0;R=0;T=Z;U=M;V=0;W=0;X=0;Y=0}}while(1){q=T+-48|0;x=T|32;if(q>>>0>=10){B=(T|0)==46;if(!(B|(x+-97|0)>>>0<6)){$=T;break}if(B)if(!N){aa=1;ba=O;ca=P;da=Q;ea=R;fa=U;ga=W;ha=V;ia=W;ja=V}else{$=46;break}else l=86}else l=86;if((l|0)==86){l=0;B=(T|0)>57?x+-87|0:q;do if(!((V|0)<0|(V|0)==0&W>>>0<8)){if((V|0)<0|(V|0)==0&W>>>0<14){ka=P*.0625;la=O;ma=ka;na=Q+ka*+(B|0);oa=R;break}if((O|0)!=0|(B|0)==0){la=O;ma=P;na=Q;oa=R}else{la=1;ma=P;na=Q+P*.5;oa=R}}else{la=O;ma=P;na=Q;oa=B+(R<<4)|0}while(0);B=Ag(W|0,V|0,1,0)|0;aa=N;ba=la;ca=ma;da=na;ea=oa;fa=1;ga=X;ha=Y;ia=B;ja=D}B=c[e>>2]|0;if(B>>>0<(c[n>>2]|0)>>>0){c[e>>2]=B+1;N=aa;O=ba;P=ca;Q=da;R=ea;T=d[B>>0]|0;U=fa;V=ja;W=ia;X=ga;Y=ha;continue}else{N=aa;O=ba;P=ca;Q=da;R=ea;T=Be(b)|0;U=fa;V=ja;W=ia;X=ga;Y=ha;continue}}if(!U){B=(c[n>>2]|0)==0;if(!B)c[e>>2]=(c[e>>2]|0)+-1;if(f){if(!B?(B=c[e>>2]|0,c[e>>2]=B+-1,N|0):0)c[e>>2]=B+-2}else ze(b,0);m=+(u|0)*0.0;break a}B=(N|0)==0;q=B?W:X;x=B?V:Y;if((V|0)<0|(V|0)==0&W>>>0<8){B=R;o=W;pa=V;while(1){qa=B<<4;o=Ag(o|0,pa|0,1,0)|0;pa=D;if(!((pa|0)<0|(pa|0)==0&o>>>0<8)){ra=qa;break}else B=qa}}else ra=R;if(($|32|0)==112){B=Kf(b,f)|0;o=D;if((B|0)==0&(o|0)==-2147483648){if(!f){ze(b,0);m=0.0;break a}if(!(c[n>>2]|0)){sa=0;ta=0}else{c[e>>2]=(c[e>>2]|0)+-1;sa=0;ta=0}}else{sa=B;ta=o}}else if(!(c[n>>2]|0)){sa=0;ta=0}else{c[e>>2]=(c[e>>2]|0)+-1;sa=0;ta=0}o=zg(q|0,x|0,2)|0;B=Ag(o|0,D|0,-32,-1)|0;o=Ag(B|0,D|0,sa|0,ta|0)|0;B=D;if(!ra){m=+(u|0)*0.0;break a}if((B|0)>0|(B|0)==0&o>>>0>(0-j|0)>>>0){c[(oe()|0)>>2]=34;m=+(u|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break a}pa=j+-106|0;qa=((pa|0)<0)<<31>>31;if((B|0)<(qa|0)|(B|0)==(qa|0)&o>>>0>>0){c[(oe()|0)>>2]=34;m=+(u|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((ra|0)>-1){ka=Q;pa=ra;qa=o;ua=B;while(1){va=!(ka>=.5);wa=va&1|pa<<1;xa=wa^1;ya=ka+(va?ka:ka+-1.0);va=Ag(qa|0,ua|0,-1,-1)|0;za=D;if((wa|0)>-1){ka=ya;pa=xa;qa=va;ua=za}else{Aa=ya;Ba=xa;Ca=va;Da=za;break}}}else{Aa=Q;Ba=ra;Ca=o;Da=B}ua=wg(32,0,j|0,((j|0)<0)<<31>>31|0)|0;qa=Ag(Ca|0,Da|0,ua|0,D|0)|0;ua=D;if(0>(ua|0)|0==(ua|0)&k>>>0>qa>>>0)if((qa|0)<0){Ea=0;Fa=84;l=127}else{Ga=qa;l=125}else{Ga=k;l=125}if((l|0)==125)if((Ga|0)<53){Ea=Ga;Fa=84-Ga|0;l=127}else{Ha=0.0;Ia=Ga;Ja=+(u|0)}if((l|0)==127){ka=+(u|0);Ha=+Mf(+Lf(1.0,Fa),ka);Ia=Ea;Ja=ka}qa=(Ba&1|0)==0&(Aa!=0.0&(Ia|0)<32);ka=Ja*(qa?0.0:Aa)+(Ha+Ja*+(((qa&1)+Ba|0)>>>0))-Ha;if(!(ka!=0.0))c[(oe()|0)>>2]=34;m=+Nf(ka,Ca);break a}else K=A;while(0);qa=j+k|0;ua=0-qa|0;pa=K;x=0;f:while(1){switch(pa|0){case 46:{l=138;break f;break}case 48:break;default:{Ka=0;La=pa;Ma=x;Na=0;Oa=0;break f}}q=c[e>>2]|0;if(q>>>0<(c[n>>2]|0)>>>0){c[e>>2]=q+1;pa=d[q>>0]|0;x=1;continue}else{pa=Be(b)|0;x=1;continue}}if((l|0)==138){pa=c[e>>2]|0;if(pa>>>0<(c[n>>2]|0)>>>0){c[e>>2]=pa+1;Pa=d[pa>>0]|0}else Pa=Be(b)|0;if((Pa|0)==48){pa=0;q=0;while(1){za=Ag(pa|0,q|0,-1,-1)|0;va=D;xa=c[e>>2]|0;if(xa>>>0<(c[n>>2]|0)>>>0){c[e>>2]=xa+1;Qa=d[xa>>0]|0}else Qa=Be(b)|0;if((Qa|0)==48){pa=za;q=va}else{Ka=1;La=Qa;Ma=1;Na=za;Oa=va;break}}}else{Ka=1;La=Pa;Ma=x;Na=0;Oa=0}}c[h>>2]=0;q=La+-48|0;pa=(La|0)==46;g:do if(pa|q>>>0<10){va=h+496|0;za=0;xa=0;wa=0;Ra=Ka;Sa=Ma;Ta=La;Ua=0;Va=0;Wa=pa;Xa=q;Ya=Na;Za=Oa;h:while(1){do if(Wa)if(!Ra){_a=za;$a=xa;ab=1;bb=wa;cb=Sa;db=Ua;eb=Va;fb=Ua;gb=Va}else break h;else{hb=Ag(Ua|0,Va|0,1,0)|0;ib=D;jb=(Ta|0)!=48;if((xa|0)>=125){if(!jb){_a=za;$a=xa;ab=Ra;bb=wa;cb=Sa;db=Ya;eb=Za;fb=hb;gb=ib;break}c[va>>2]=c[va>>2]|1;_a=za;$a=xa;ab=Ra;bb=wa;cb=Sa;db=Ya;eb=Za;fb=hb;gb=ib;break}kb=h+(xa<<2)|0;if(!za)lb=Xa;else lb=Ta+-48+((c[kb>>2]|0)*10|0)|0;c[kb>>2]=lb;kb=za+1|0;mb=(kb|0)==9;_a=mb?0:kb;$a=(mb&1)+xa|0;ab=Ra;bb=jb?hb:wa;cb=1;db=Ya;eb=Za;fb=hb;gb=ib}while(0);ib=c[e>>2]|0;if(ib>>>0<(c[n>>2]|0)>>>0){c[e>>2]=ib+1;nb=d[ib>>0]|0}else nb=Be(b)|0;Xa=nb+-48|0;Wa=(nb|0)==46;if(!(Wa|Xa>>>0<10)){ob=_a;pb=$a;qb=bb;rb=ab;sb=nb;tb=cb;ub=db;vb=fb;wb=eb;xb=gb;l=161;break g}else{za=_a;xa=$a;wa=bb;Ra=ab;Sa=cb;Ta=nb;Ua=fb;Va=gb;Ya=db;Za=eb}}yb=za;zb=xa;Ab=wa;Bb=Ua;Cb=Va;Db=Ya;Eb=Za;Fb=(Sa|0)!=0;l=169}else{ob=0;pb=0;qb=0;rb=Ka;sb=La;tb=Ma;ub=Na;vb=0;wb=Oa;xb=0;l=161}while(0);do if((l|0)==161){q=(rb|0)==0;pa=q?vb:ub;x=q?xb:wb;q=(tb|0)!=0;if(!(q&(sb|32|0)==101))if((sb|0)>-1){yb=ob;zb=pb;Ab=qb;Bb=vb;Cb=xb;Db=pa;Eb=x;Fb=q;l=169;break}else{Gb=ob;Hb=pb;Ib=qb;Jb=vb;Kb=xb;Lb=q;Mb=pa;Nb=x;l=171;break}q=Kf(b,f)|0;Ta=D;if((q|0)==0&(Ta|0)==-2147483648){if(!f){ze(b,0);Ob=0.0;break}if(!(c[n>>2]|0)){Pb=0;Qb=0}else{c[e>>2]=(c[e>>2]|0)+-1;Pb=0;Qb=0}}else{Pb=q;Qb=Ta}Ta=Ag(Pb|0,Qb|0,pa|0,x|0)|0;Rb=ob;Sb=pb;Tb=qb;Ub=Ta;Vb=vb;Wb=D;Xb=xb;l=173}while(0);if((l|0)==169)if(c[n>>2]|0){c[e>>2]=(c[e>>2]|0)+-1;if(Fb){Rb=yb;Sb=zb;Tb=Ab;Ub=Db;Vb=Bb;Wb=Eb;Xb=Cb;l=173}else l=172}else{Gb=yb;Hb=zb;Ib=Ab;Jb=Bb;Kb=Cb;Lb=Fb;Mb=Db;Nb=Eb;l=171}if((l|0)==171)if(Lb){Rb=Gb;Sb=Hb;Tb=Ib;Ub=Mb;Vb=Jb;Wb=Nb;Xb=Kb;l=173}else l=172;do if((l|0)==172){c[(oe()|0)>>2]=22;ze(b,0);Ob=0.0}else if((l|0)==173){Ta=c[h>>2]|0;if(!Ta){Ob=+(u|0)*0.0;break}if(((Xb|0)<0|(Xb|0)==0&Vb>>>0<10)&((Ub|0)==(Vb|0)&(Wb|0)==(Xb|0))?k>>>0>30|(Ta>>>k|0)==0:0){Ob=+(u|0)*+(Ta>>>0);break}Ta=(j|0)/-2|0;x=((Ta|0)<0)<<31>>31;if((Wb|0)>(x|0)|(Wb|0)==(x|0)&Ub>>>0>Ta>>>0){c[(oe()|0)>>2]=34;Ob=+(u|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}Ta=j+-106|0;x=((Ta|0)<0)<<31>>31;if((Wb|0)<(x|0)|(Wb|0)==(x|0)&Ub>>>0>>0){c[(oe()|0)>>2]=34;Ob=+(u|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(!Rb)Yb=Sb;else{if((Rb|0)<9){Ta=h+(Sb<<2)|0;x=Rb;pa=c[Ta>>2]|0;do{pa=pa*10|0;x=x+1|0}while((x|0)!=9);c[Ta>>2]=pa}Yb=Sb+1|0}if((Tb|0)<9?(Tb|0)<=(Ub|0)&(Ub|0)<18:0){if((Ub|0)==9){Ob=+(u|0)*+((c[h>>2]|0)>>>0);break}if((Ub|0)<9){Ob=+(u|0)*+((c[h>>2]|0)>>>0)/+(c[104372+(8-Ub<<2)>>2]|0);break}x=k+27+(S(Ub,-3)|0)|0;Sa=c[h>>2]|0;if((x|0)>30|(Sa>>>x|0)==0){Ob=+(u|0)*+(Sa>>>0)*+(c[104372+(Ub+-10<<2)>>2]|0);break}}Sa=(Ub|0)%9|0;if(!Sa){Zb=0;_b=Yb;$b=0;ac=Ub}else{x=(Ub|0)>-1?Sa:Sa+9|0;Sa=c[104372+(8-x<<2)>>2]|0;if(Yb){Za=1e9/(Sa|0)|0;Ya=0;Va=0;Ua=Ub;wa=0;do{xa=h+(wa<<2)|0;za=c[xa>>2]|0;q=((za>>>0)/(Sa>>>0)|0)+Ya|0;c[xa>>2]=q;Ya=S((za>>>0)%(Sa>>>0)|0,Za)|0;za=(wa|0)==(Va|0)&(q|0)==0;Ua=za?Ua+-9|0:Ua;Va=za?Va+1&127:Va;wa=wa+1|0}while((wa|0)!=(Yb|0));if(!Ya){bc=Va;cc=Yb;dc=Ua}else{c[h+(Yb<<2)>>2]=Ya;bc=Va;cc=Yb+1|0;dc=Ua}}else{bc=0;cc=0;dc=Ub}Zb=0;_b=cc;$b=bc;ac=9-x+dc|0}i:while(1){wa=(ac|0)<18;Za=(ac|0)==18;Sa=h+($b<<2)|0;pa=Zb;Ta=_b;while(1){if(!wa){if(!Za){ec=pa;fc=$b;gc=ac;hc=Ta;break i}if((c[Sa>>2]|0)>>>0>=9007199){ec=pa;fc=$b;gc=18;hc=Ta;break i}}za=0;ic=Ta;q=Ta+127|0;while(1){xa=q&127;Ra=h+(xa<<2)|0;Xa=zg(c[Ra>>2]|0,0,29)|0;Wa=Ag(Xa|0,D|0,za|0,0)|0;Xa=D;if(Xa>>>0>0|(Xa|0)==0&Wa>>>0>1e9){va=Dg(Wa|0,Xa|0,1e9,0)|0;B=Hg(Wa|0,Xa|0,1e9,0)|0;jc=va;kc=B}else{jc=0;kc=Wa}c[Ra>>2]=kc;Ra=(xa|0)==($b|0);ic=(xa|0)!=(ic+127&127|0)|Ra?ic:(kc|0)==0?xa:ic;if(Ra)break;else{za=jc;q=xa+-1|0}}pa=pa+-29|0;if(jc|0)break;else Ta=ic}Ta=$b+127&127;Sa=ic+127&127;Za=h+((ic+126&127)<<2)|0;if((Ta|0)==(ic|0)){c[Za>>2]=c[Za>>2]|c[h+(Sa<<2)>>2];lc=Sa}else lc=ic;c[h+(Ta<<2)>>2]=jc;Zb=pa;_b=lc;$b=Ta;ac=ac+9|0}j:while(1){x=hc+1&127;Ua=h+((hc+127&127)<<2)|0;Va=ec;Ya=fc;Ta=gc;while(1){Sa=(Ta|0)==18;Za=(Ta|0)>27?9:1;mc=Va;nc=Ya;while(1){wa=0;while(1){q=wa+nc&127;if((q|0)==(hc|0)){oc=2;l=220;break}za=c[h+(q<<2)>>2]|0;q=c[104404+(wa<<2)>>2]|0;if(za>>>0>>0){oc=2;l=220;break}if(za>>>0>q>>>0)break;q=wa+1|0;if((q|0)<2)wa=q;else{oc=q;l=220;break}}if((l|0)==220?(l=0,Sa&(oc|0)==2):0){pc=0.0;qc=0;rc=hc;break j}sc=mc+Za|0;if((nc|0)==(hc|0)){mc=sc;nc=hc}else break}Sa=(1<>>Za;tc=0;uc=nc;vc=Ta;q=nc;do{za=h+(q<<2)|0;xa=c[za>>2]|0;Ra=(xa>>>Za)+tc|0;c[za>>2]=Ra;tc=S(xa&Sa,wa)|0;xa=(q|0)==(uc|0)&(Ra|0)==0;vc=xa?vc+-9|0:vc;uc=xa?uc+1&127:uc;q=q+1&127}while((q|0)!=(hc|0));if(!tc){Va=sc;Ya=uc;Ta=vc;continue}if((x|0)!=(uc|0))break;c[Ua>>2]=c[Ua>>2]|1;Va=sc;Ya=uc;Ta=vc}c[h+(hc<<2)>>2]=tc;ec=sc;fc=uc;gc=vc;hc=x}while(1){Ta=qc+nc&127;Ya=rc+1&127;if((Ta|0)==(rc|0)){c[h+(Ya+-1<<2)>>2]=0;wc=Ya}else wc=rc;pc=pc*1.0e9+ +((c[h+(Ta<<2)>>2]|0)>>>0);qc=qc+1|0;if((qc|0)==2)break;else rc=wc}ka=+(u|0);ya=ka*pc;Ta=mc+53|0;Ya=Ta-j|0;Va=(Ya|0)<(k|0);Ua=Va&1;pa=Va?((Ya|0)<0?0:Ya):k;if((pa|0)<53){xc=+Mf(+Lf(1.0,105-pa|0),ya);yc=+Of(ya,+Lf(1.0,53-pa|0));zc=xc;Ac=yc;Bc=xc+(ya-yc)}else{zc=0.0;Ac=0.0;Bc=ya}q=nc+2&127;do if((q|0)!=(wc|0)){wa=c[h+(q<<2)>>2]|0;do if(wa>>>0>=5e8){if((wa|0)!=5e8){Cc=ka*.75+Ac;break}if((nc+3&127|0)==(wc|0)){Cc=ka*.5+Ac;break}else{Cc=ka*.75+Ac;break}}else{if((wa|0)==0?(nc+3&127|0)==(wc|0):0){Cc=Ac;break}Cc=ka*.25+Ac}while(0);if((53-pa|0)>1){if(+Of(Cc,1.0)!=0.0){Dc=Cc;break}Dc=Cc+1.0}else Dc=Cc}else Dc=Ac;while(0);ka=Bc+Dc-zc;do if((Ta&2147483647|0)>(-2-qa|0)){if(!(+F(+ka)>=9007199254740992.0)){Ec=ka;Fc=Ua;Gc=mc}else{Ec=ka*.5;Fc=Va&(pa|0)==(Ya|0)?0:Ua;Gc=mc+1|0}if((Gc+50|0)<=(ua|0)?!(Dc!=0.0&(Fc|0)!=0):0){Hc=Ec;Ic=Gc;break}c[(oe()|0)>>2]=34;Hc=Ec;Ic=Gc}else{Hc=ka;Ic=mc}while(0);Ob=+Nf(Hc,Ic)}while(0);m=Ob;break a;break}default:{if(c[n>>2]|0)c[e>>2]=(c[e>>2]|0)+-1;c[(oe()|0)>>2]=22;ze(b,0);m=0.0;break a}}}}while(0);if((l|0)==23){ua=(c[n>>2]|0)==0;if(!ua)c[e>>2]=(c[e>>2]|0)+-1;if((f|0)!=0&v>>>0>3){qa=v;do{if(!ua)c[e>>2]=(c[e>>2]|0)+-1;qa=qa+-1|0}while(qa>>>0>3)}}m=+(u|0)*t}while(0);i=g;return +m}function Kf(a,b){a=a|0;b=b|0;var 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;e=a+4|0;f=c[e>>2]|0;g=a+100|0;if(f>>>0<(c[g>>2]|0)>>>0){c[e>>2]=f+1;h=d[f>>0]|0}else h=Be(a)|0;switch(h|0){case 43:case 45:{f=(h|0)==45&1;i=c[e>>2]|0;if(i>>>0<(c[g>>2]|0)>>>0){c[e>>2]=i+1;j=d[i>>0]|0}else j=Be(a)|0;if((b|0)!=0&(j+-48|0)>>>0>9?(c[g>>2]|0)!=0:0){c[e>>2]=(c[e>>2]|0)+-1;k=f;l=j}else{k=f;l=j}break}default:{k=0;l=h}}if((l+-48|0)>>>0>9)if(!(c[g>>2]|0)){m=-2147483648;n=0}else{c[e>>2]=(c[e>>2]|0)+-1;m=-2147483648;n=0}else{h=0;j=l;while(1){h=j+-48+(h*10|0)|0;l=c[e>>2]|0;if(l>>>0<(c[g>>2]|0)>>>0){c[e>>2]=l+1;o=d[l>>0]|0}else o=Be(a)|0;if(!((o+-48|0)>>>0<10&(h|0)<214748364))break;else j=o}j=((h|0)<0)<<31>>31;if((o+-48|0)>>>0<10){l=o;f=h;b=j;while(1){i=Fg(f|0,b|0,10,0)|0;p=D;q=Ag(l|0,((l|0)<0)<<31>>31|0,-48,-1)|0;r=Ag(q|0,D|0,i|0,p|0)|0;p=D;i=c[e>>2]|0;if(i>>>0<(c[g>>2]|0)>>>0){c[e>>2]=i+1;s=d[i>>0]|0}else s=Be(a)|0;if((s+-48|0)>>>0<10&((p|0)<21474836|(p|0)==21474836&r>>>0<2061584302)){l=s;f=r;b=p}else{t=s;u=r;v=p;break}}}else{t=o;u=h;v=j}if((t+-48|0)>>>0<10)do{t=c[e>>2]|0;if(t>>>0<(c[g>>2]|0)>>>0){c[e>>2]=t+1;w=d[t>>0]|0}else w=Be(a)|0}while((w+-48|0)>>>0<10);if(c[g>>2]|0)c[e>>2]=(c[e>>2]|0)+-1;e=(k|0)!=0;k=wg(0,0,u|0,v|0)|0;m=e?D:v;n=e?k:u}D=m;return n|0}function Lf(a,b){a=+a;b=b|0;var d=0.0,e=0,f=0,g=0.0,i=0;if((b|0)>1023){d=a*8988465674311579538646525.0e283;e=b+-1023|0;f=b+-2046|0;if((e|0)>1023){g=d*8988465674311579538646525.0e283;i=(f|0)>1023?1023:f}else{g=d;i=e}}else if((b|0)<-1022){d=a*2.2250738585072014e-308;e=b+1022|0;f=b+2044|0;if((e|0)<-1022){g=d*2.2250738585072014e-308;i=(f|0)<-1022?-1022:f}else{g=d;i=e}}else{g=a;i=b}b=zg(i+1023|0,0,52)|0;i=D;c[l>>2]=b;c[l+4>>2]=i;return +(g*+h[l>>3])}function Mf(a,b){a=+a;b=+b;return +(+cf(a,b))}function Nf(a,b){a=+a;b=b|0;return +(+Lf(a,b))}function Of(a,b){a=+a;b=+b;return +(+Pf(a,b))}function Pf(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,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.0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0.0;h[l>>3]=a;d=c[l>>2]|0;e=c[l+4>>2]|0;h[l>>3]=b;f=c[l>>2]|0;g=c[l+4>>2]|0;i=yg(d|0,e|0,52)|0;j=i&2047;i=yg(f|0,g|0,52)|0;k=i&2047;i=e&-2147483648;m=zg(f|0,g|0,1)|0;n=D;a:do if(!((m|0)==0&(n|0)==0)?(o=g&2147483647,!(o>>>0>2146435072|(o|0)==2146435072&f>>>0>0|(j|0)==2047)):0){o=zg(d|0,e|0,1)|0;p=D;if(!(p>>>0>n>>>0|(p|0)==(n|0)&o>>>0>m>>>0))return +((o|0)==(m|0)&(p|0)==(n|0)?a*0.0:a);if(!j){p=zg(d|0,e|0,12)|0;o=D;if((o|0)>-1|(o|0)==-1&p>>>0>4294967295){q=0;r=p;p=o;while(1){o=q+-1|0;r=zg(r|0,p|0,1)|0;p=D;if(!((p|0)>-1|(p|0)==-1&r>>>0>4294967295)){s=o;break}else q=o}}else s=0;q=zg(d|0,e|0,1-s|0)|0;t=s;u=q;v=D}else{t=j;u=d;v=e&1048575|1048576}if(!k){q=zg(f|0,g|0,12)|0;r=D;if((r|0)>-1|(r|0)==-1&q>>>0>4294967295){p=0;o=q;q=r;while(1){r=p+-1|0;o=zg(o|0,q|0,1)|0;q=D;if(!((q|0)>-1|(q|0)==-1&o>>>0>4294967295)){w=r;break}else p=r}}else w=0;p=zg(f|0,g|0,1-w|0)|0;x=w;y=p;z=D}else{x=k;y=f;z=g&1048575|1048576}p=wg(u|0,v|0,y|0,z|0)|0;o=D;q=(o|0)>-1|(o|0)==-1&p>>>0>4294967295;b:do if((t|0)>(x|0)){r=t;A=q;B=u;C=v;E=p;F=o;while(1){if(A)if((E|0)==0&(F|0)==0)break;else{G=E;H=F}else{G=B;H=C}I=zg(G|0,H|0,1)|0;J=D;K=r+-1|0;L=wg(I|0,J|0,y|0,z|0)|0;M=D;N=(M|0)>-1|(M|0)==-1&L>>>0>4294967295;if((K|0)>(x|0)){r=K;A=N;B=I;C=J;E=L;F=M}else{O=K;P=N;Q=L;R=M;S=I;T=J;break b}}U=a*0.0;break a}else{O=t;P=q;Q=p;R=o;S=u;T=v}while(0);if(P)if((Q|0)==0&(R|0)==0){U=a*0.0;break}else{V=R;W=Q}else{V=T;W=S}if(V>>>0<1048576|(V|0)==1048576&W>>>0<0){o=O;p=W;q=V;while(1){F=zg(p|0,q|0,1)|0;E=D;C=o+-1|0;if(E>>>0<1048576|(E|0)==1048576&F>>>0<0){o=C;p=F;q=E}else{X=C;Y=F;Z=E;break}}}else{X=O;Y=W;Z=V}if((X|0)>0){q=Ag(Y|0,Z|0,0,-1048576)|0;p=D;o=zg(X|0,0,52)|0;_=p|D;$=q|o}else{o=yg(Y|0,Z|0,1-X|0)|0;_=D;$=o}c[l>>2]=$;c[l+4>>2]=_|i;U=+h[l>>3]}else aa=3;while(0);if((aa|0)==3){ba=a*b;U=ba/ba}return +U}function Qf(a,b){a=a|0;b=b|0;return (Rf(a,kf(a)|0,1,b)|0)+-1|0}function Rf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=S(d,b)|0;if((c[e+76>>2]|0)>-1){g=(Qe(e)|0)==0;h=Re(a,f,e)|0;if(g)i=h;else{qe(e);i=h}}else i=Re(a,f,e)|0;if((i|0)==(f|0))j=d;else j=(i>>>0)/(b>>>0)|0;return j|0}function Sf(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]=d;d=Oe(a,b,f)|0;i=e;return d|0}function Tf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(Qe(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(e=d+20|0,f=c[e>>2]|0,f>>>0<(c[d+16>>2]|0)>>>0):0){c[e>>2]=f+1;a[f>>0]=b;g=b&255}else g=zf(d,b)|0;qe(d);h=g}else i=3;do if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(g=d+20|0,f=c[g>>2]|0,f>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=f+1;a[f>>0]=b;h=b&255;break}h=zf(d,b)|0}while(0);return h|0}function Uf(a){a=a|0;var b=0,d=0,e=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;d=Ca[c[a+40>>2]&7](a,0,b)|0;if((d|0)<0)e=d;else e=d-(c[a+8>>2]|0)+(c[a+4>>2]|0)+(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;return e|0}function Vf(a){a=a|0;var b=0,d=0,e=0;if((c[a+76>>2]|0)>-1){b=(Qe(a)|0)==0;d=Uf(a)|0;if(b)e=d;else{qe(a);e=d}}else e=Uf(a)|0;return e|0}function Wf(a){a=a|0;return Vf(a)|0}function Xf(b,e,f){b=b|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,q=0,r=0,s=0,t=0,u=0,v=0,w=0;if((c[f+76>>2]|0)>-1)g=Qe(f)|0;else g=0;h=e+-1|0;if((e|0)<2){e=f+74|0;i=a[e>>0]|0;a[e>>0]=i+255|i;if(g|0)qe(f);if(!h){a[b>>0]=0;j=b}else j=0}else{a:do if(h){i=f+4|0;e=f+8|0;k=h;l=b;while(1){m=c[i>>2]|0;n=m;o=(c[e>>2]|0)-n|0;p=Ve(m,10,o)|0;q=(p|0)==0;r=q?o:1-n+p|0;p=r>>>0>>0?r:k;Ig(l|0,m|0,p|0)|0;m=(c[i>>2]|0)+p|0;c[i>>2]=m;s=l+p|0;r=k-p|0;if(!(q&(r|0)!=0)){t=s;u=17;break a}if(m>>>0>=(c[e>>2]|0)>>>0){q=De(f)|0;if((q|0)<0)break;else v=q}else{c[i>>2]=m+1;v=d[m>>0]|0}k=r+-1|0;r=s+1|0;a[s>>0]=v;if(!((k|0)!=0&(v&255|0)!=10)){t=r;u=17;break a}else l=r}if((s|0)!=(b|0)?(c[f>>2]&16|0)!=0:0){t=s;u=17}else w=0}else{t=b;u=17}while(0);if((u|0)==17)if(!b)w=0;else{a[t>>0]=0;w=b}if(!g)j=w;else{qe(f);j=w}}return j|0}function Yf(a){a=a|0;var b=0,d=0,e=0,f=0;if((c[a+76>>2]|0)>-1)Qe(a)|0;b=(c[a>>2]&1|0)!=0;if(!b){ta(2747228);d=c[a+52>>2]|0;e=a+56|0;if(d|0)c[d+56>>2]=c[e>>2];f=c[e>>2]|0;if(f|0)c[f+52>>2]=d;if((c[686806]|0)==(a|0))c[686806]=f;sa(2747228)}f=Ff(a)|0;d=Ba[c[a+12>>2]&7](a)|0|f;f=c[a+92>>2]|0;if(f|0)qg(f);if(!b)qg(a);return d|0}function Zf(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;b=Oe(c[25984]|0,a,e)|0;i=d;return b|0}function _f(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]=d;d=$f(a,b,f)|0;i=e;return d|0}function $f(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+112|0;f=e;g=f;h=g+112|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));c[f+32>>2]=6;c[f+44>>2]=a;c[f+76>>2]=-1;c[f+84>>2]=a;a=Hf(f,b,d)|0;i=e;return a|0}function ag(a,b,c){a=a|0;b=b|0;c=c|0;return bg(a,b,c)|0}function bg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=a+84|0;f=c[e>>2]|0;g=d+256|0;h=Ve(f,0,g)|0;i=(h|0)==0?g:h-f|0;h=i>>>0>>0?i:d;Ig(b|0,f|0,h|0)|0;c[a+4>>2]=f+h;b=f+i|0;c[a+8>>2]=b;c[e>>2]=b;return h|0}function cg(b,d,e,f){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;g=S(e,d)|0;if((c[f+76>>2]|0)>-1)h=Qe(f)|0;else h=0;i=f+74|0;j=a[i>>0]|0;a[i>>0]=j+255|j;j=f+4|0;i=c[j>>2]|0;k=(c[f+8>>2]|0)-i|0;l=i;if((k|0)>0){i=k>>>0>>0?k:g;Ig(b|0,l|0,i|0)|0;c[j>>2]=l+i;m=g-i|0;n=b+i|0}else{m=g;n=b}a:do if(!m)o=13;else{b=f+32|0;i=m;l=n;while(1){if(Ee(f)|0)break;j=Ca[c[b>>2]&7](f,l,i)|0;if((j+1|0)>>>0<2)break;k=i-j|0;if(!k){o=13;break a}else{i=k;l=l+j|0}}if(h|0)qe(f);p=((g-i|0)>>>0)/(d>>>0)|0}while(0);if((o|0)==13)if(!h)p=e;else{qe(f);p=e}return p|0}function dg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(Qe(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(e=d+20|0,f=c[e>>2]|0,f>>>0<(c[d+16>>2]|0)>>>0):0){c[e>>2]=f+1;a[f>>0]=b;g=b&255}else g=zf(d,b)|0;qe(d);h=g}else i=3;do if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(g=d+20|0,f=c[g>>2]|0,f>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=f+1;a[f>>0]=b;h=b&255;break}h=zf(d,b)|0}while(0);return h|0}function eg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if((d|0)==1)e=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;else e=b;b=a+20|0;f=a+28|0;if((c[b>>2]|0)>>>0>(c[f>>2]|0)>>>0?(Ca[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)g=-1;else{c[a+16>>2]=0;c[f>>2]=0;c[b>>2]=0;if((Ca[c[a+40>>2]&7](a,e,d)|0)<0)g=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;g=0}}return g|0}function fg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if((c[a+76>>2]|0)>-1){e=(Qe(a)|0)==0;f=eg(a,b,d)|0;if(e)g=f;else{qe(a);g=f}}else g=eg(a,b,d)|0;return g|0}function gg(a,b,c){a=a|0;b=b|0;c=c|0;return fg(a,b,c)|0}function hg(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(Qe(a)|0)==0;eg(a,0,0)|0;c[a>>2]=c[a>>2]&-33;if(!b)qe(a)}else{eg(a,0,0)|0;c[a>>2]=c[a>>2]&-33}return}function ig(a){a=a|0;var b=0,d=0,e=0;if((c[a+76>>2]|0)>-1){b=(Qe(a)|0)==0;d=(c[a>>2]|0)>>>4&1;if(b)e=d;else{qe(a);e=d}}else e=(c[a>>2]|0)>>>4&1;return e|0}function jg(b){b=b|0;var d=0,e=0,f=0;d=c[25955]|0;e=Ue(c[(oe()|0)>>2]|0)|0;if((c[d+76>>2]|0)>-1)f=Qe(d)|0;else f=0;if(b|0?a[b>>0]|0:0){Rf(b,kf(b)|0,1,d)|0;Tf(58,d)|0;Tf(32,d)|0}Rf(e,kf(e)|0,1,d)|0;Tf(10,d)|0;if(f|0)qe(d);return}function kg(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;if((c[a+76>>2]|0)>=0?(Qe(a)|0)!=0:0){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;f=d[e>>0]|0}else f=De(a)|0;g=f}else h=3;do if((h|0)==3){f=a+4|0;e=c[f>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[f>>2]=e+1;g=d[e>>0]|0;break}else{g=De(a)|0;break}}while(0);return g|0}function lg(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;if((c[a+76>>2]|0)>=0?(Qe(a)|0)!=0:0){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;f=d[e>>0]|0}else f=De(a)|0;g=f}else h=3;do if((h|0)==3){f=a+4|0;e=c[f>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[f>>2]=e+1;g=d[e>>0]|0;break}else{g=De(a)|0;break}}while(0);return g|0}function mg(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;if((b|0)!=0?(a[b>>0]|0)!=0:0){c=(kf(b)|0)+-1|0;a:do if(!c)d=0;else{e=c;while(1){f=b+e|0;if((a[f>>0]|0)!=47){d=e;break a}a[f>>0]=0;e=e+-1|0;if(!e){d=0;break}}}while(0);while(1){if(!d){g=0;break}c=d+-1|0;if((a[b+c>>0]|0)==47){g=d;break}else d=c}h=b+g|0}else h=116129;return h|0}function ng(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;e=i;i=i+4304|0;f=e+16|0;g=e+8|0;h=e;j=e+96|0;k=e+20|0;l=e+4272|0;m=e+176|0;do if(b){c[h>>2]=b;c[h+4>>2]=2656256;n=ne(ha(5,h|0)|0)|0;if((n|0)<0)o=0;else{rf(l,n);p=sf(l,m,4095)|0;if((p|0)>=0?(a[m+p>>0]=0,qf(n,j)|0,p=of(m,k)|0,(p|0)>=0):0){if((c[j>>2]|0)==(c[k>>2]|0)?(c[j+72>>2]|0)==(c[k+72>>2]|0):0){c[g>>2]=n;ga(6,g|0)|0;if(!d){o=tf(m)|0;break}else{o=lf(d,m)|0;break}}if(!p)c[(oe()|0)>>2]=40}c[f>>2]=n;ga(6,f|0)|0;o=0}}else{c[(oe()|0)>>2]=22;o=0}while(0);i=e;return o|0}function og(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;c=b;while(1){d=a[c>>0]|0;e=d<<24>>24;f=c+1|0;if(!(Ce(e)|0))break;else c=f}switch(e|0){case 45:{g=1;h=5;break}case 43:{g=0;h=5;break}default:{i=0;j=c;k=d}}if((h|0)==5){i=g;j=f;k=a[f>>0]|0}f=(k<<24>>24)+-48|0;if(f>>>0<10){k=0;g=j;j=f;while(1){g=g+1|0;f=(k*10|0)-j|0;j=(a[g>>0]|0)+-48|0;if(j>>>0>=10){l=f;break}else k=f}}else l=0;return (i|0?l:0-l|0)|0} +function pg(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,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,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0;b=i;i=i+16|0;d=b;do if(a>>>0<245){e=a>>>0<11?16:a+11&-8;f=e>>>3;g=c[686813]|0;h=g>>>f;if(h&3|0){j=(h&1^1)+f|0;k=2747292+(j<<1<<2)|0;l=k+8|0;m=c[l>>2]|0;n=m+8|0;o=c[n>>2]|0;do if((k|0)!=(o|0)){if(o>>>0<(c[686817]|0)>>>0)ua();p=o+12|0;if((c[p>>2]|0)==(m|0)){c[p>>2]=k;c[l>>2]=o;break}else ua()}else c[686813]=g&~(1<>2]=o|3;l=m+o+4|0;c[l>>2]=c[l>>2]|1;q=n;i=b;return q|0}l=c[686815]|0;if(e>>>0>l>>>0){if(h|0){o=2<>>12&16;p=o>>>k;o=p>>>5&8;r=p>>>o;p=r>>>2&4;s=r>>>p;r=s>>>1&2;t=s>>>r;s=t>>>1&1;u=(o|k|p|r|s)+(t>>>s)|0;s=2747292+(u<<1<<2)|0;t=s+8|0;r=c[t>>2]|0;p=r+8|0;k=c[p>>2]|0;do if((s|0)!=(k|0)){if(k>>>0<(c[686817]|0)>>>0)ua();o=k+12|0;if((c[o>>2]|0)==(r|0)){c[o>>2]=s;c[t>>2]=k;v=g;break}else ua()}else{o=g&~(1<>2]=e|3;t=r+e|0;c[t+4>>2]=k|1;c[t+k>>2]=k;if(l|0){s=c[686818]|0;f=l>>>3;h=2747292+(f<<1<<2)|0;n=1<>2]|0;if(m>>>0<(c[686817]|0)>>>0)ua();else{w=m;x=f}}else{c[686813]=v|n;w=h;x=h+8|0}c[x>>2]=s;c[w+12>>2]=s;c[s+8>>2]=w;c[s+12>>2]=h}c[686815]=k;c[686818]=t;q=p;i=b;return q|0}t=c[686814]|0;if(t){k=(t&0-t)+-1|0;h=k>>>12&16;s=k>>>h;k=s>>>5&8;n=s>>>k;s=n>>>2&4;f=n>>>s;n=f>>>1&2;m=f>>>n;f=m>>>1&1;j=c[2747556+((k|h|s|n|f)+(m>>>f)<<2)>>2]|0;f=j;m=j;n=(c[j+4>>2]&-8)-e|0;while(1){j=c[f+16>>2]|0;if(!j){s=c[f+20>>2]|0;if(!s)break;else y=s}else y=j;j=(c[y+4>>2]&-8)-e|0;s=j>>>0>>0;f=y;m=s?y:m;n=s?j:n}f=c[686817]|0;if(m>>>0>>0)ua();p=m+e|0;if(m>>>0>=p>>>0)ua();r=c[m+24>>2]|0;u=c[m+12>>2]|0;do if((u|0)==(m|0)){j=m+20|0;s=c[j>>2]|0;if(!s){h=m+16|0;k=c[h>>2]|0;if(!k){z=0;break}else{A=k;B=h}}else{A=s;B=j}while(1){j=A+20|0;s=c[j>>2]|0;if(s|0){A=s;B=j;continue}j=A+16|0;s=c[j>>2]|0;if(!s)break;else{A=s;B=j}}if(B>>>0>>0)ua();else{c[B>>2]=0;z=A;break}}else{j=c[m+8>>2]|0;if(j>>>0>>0)ua();s=j+12|0;if((c[s>>2]|0)!=(m|0))ua();h=u+8|0;if((c[h>>2]|0)==(m|0)){c[s>>2]=u;c[h>>2]=j;z=u;break}else ua()}while(0);do if(r|0){u=c[m+28>>2]|0;f=2747556+(u<<2)|0;if((m|0)==(c[f>>2]|0)){c[f>>2]=z;if(!z){c[686814]=t&~(1<>>0<(c[686817]|0)>>>0)ua();u=r+16|0;if((c[u>>2]|0)==(m|0))c[u>>2]=z;else c[r+20>>2]=z;if(!z)break}u=c[686817]|0;if(z>>>0>>0)ua();c[z+24>>2]=r;f=c[m+16>>2]|0;do if(f|0)if(f>>>0>>0)ua();else{c[z+16>>2]=f;c[f+24>>2]=z;break}while(0);f=c[m+20>>2]|0;if(f|0)if(f>>>0<(c[686817]|0)>>>0)ua();else{c[z+20>>2]=f;c[f+24>>2]=z;break}}while(0);if(n>>>0<16){r=n+e|0;c[m+4>>2]=r|3;t=m+r+4|0;c[t>>2]=c[t>>2]|1}else{c[m+4>>2]=e|3;c[p+4>>2]=n|1;c[p+n>>2]=n;if(l|0){t=c[686818]|0;r=l>>>3;f=2747292+(r<<1<<2)|0;u=1<>2]|0;if(j>>>0<(c[686817]|0)>>>0)ua();else{C=j;D=r}}else{c[686813]=g|u;C=f;D=f+8|0}c[D>>2]=t;c[C+12>>2]=t;c[t+8>>2]=C;c[t+12>>2]=f}c[686815]=n;c[686818]=p}q=m+8|0;i=b;return q|0}else E=e}else E=e}else if(a>>>0<=4294967231){f=a+11|0;t=f&-8;u=c[686814]|0;if(u){r=0-t|0;j=f>>>8;if(j)if(t>>>0>16777215)F=31;else{f=(j+1048320|0)>>>16&8;h=j<>>16&4;s=h<>>16&2;k=14-(j|f|h)+(s<>>15)|0;F=t>>>(k+7|0)&1|k<<1}else F=0;k=c[2747556+(F<<2)>>2]|0;a:do if(!k){G=0;H=0;I=r;J=86}else{h=0;s=r;f=k;j=t<<((F|0)==31?0:25-(F>>>1)|0);o=0;while(1){K=(c[f+4>>2]&-8)-t|0;if(K>>>0>>0)if(!K){L=f;M=0;N=f;J=90;break a}else{O=f;P=K}else{O=h;P=s}K=c[f+20>>2]|0;f=c[f+16+(j>>>31<<2)>>2]|0;Q=(K|0)==0|(K|0)==(f|0)?o:K;K=(f|0)==0;if(K){G=Q;H=O;I=P;J=86;break}else{h=O;s=P;j=j<<(K&1^1);o=Q}}}while(0);if((J|0)==86){if((G|0)==0&(H|0)==0){k=2<>>12&16;e=k>>>r;k=e>>>5&8;m=e>>>k;e=m>>>2&4;p=m>>>e;m=p>>>1&2;n=p>>>m;p=n>>>1&1;R=c[2747556+((k|r|e|m|p)+(n>>>p)<<2)>>2]|0}else R=G;if(!R){S=H;T=I}else{L=H;M=I;N=R;J=90}}if((J|0)==90)while(1){J=0;p=(c[N+4>>2]&-8)-t|0;n=p>>>0>>0;m=n?p:M;p=n?N:L;n=c[N+16>>2]|0;if(n|0){L=p;M=m;N=n;J=90;continue}N=c[N+20>>2]|0;if(!N){S=p;T=m;break}else{L=p;M=m;J=90}}if((S|0)!=0?T>>>0<((c[686815]|0)-t|0)>>>0:0){m=c[686817]|0;if(S>>>0>>0)ua();p=S+t|0;if(S>>>0>=p>>>0)ua();n=c[S+24>>2]|0;e=c[S+12>>2]|0;do if((e|0)==(S|0)){r=S+20|0;k=c[r>>2]|0;if(!k){g=S+16|0;l=c[g>>2]|0;if(!l){U=0;break}else{V=l;W=g}}else{V=k;W=r}while(1){r=V+20|0;k=c[r>>2]|0;if(k|0){V=k;W=r;continue}r=V+16|0;k=c[r>>2]|0;if(!k)break;else{V=k;W=r}}if(W>>>0>>0)ua();else{c[W>>2]=0;U=V;break}}else{r=c[S+8>>2]|0;if(r>>>0>>0)ua();k=r+12|0;if((c[k>>2]|0)!=(S|0))ua();g=e+8|0;if((c[g>>2]|0)==(S|0)){c[k>>2]=e;c[g>>2]=r;U=e;break}else ua()}while(0);do if(n){e=c[S+28>>2]|0;m=2747556+(e<<2)|0;if((S|0)==(c[m>>2]|0)){c[m>>2]=U;if(!U){m=u&~(1<>>0<(c[686817]|0)>>>0)ua();m=n+16|0;if((c[m>>2]|0)==(S|0))c[m>>2]=U;else c[n+20>>2]=U;if(!U){X=u;break}}m=c[686817]|0;if(U>>>0>>0)ua();c[U+24>>2]=n;e=c[S+16>>2]|0;do if(e|0)if(e>>>0>>0)ua();else{c[U+16>>2]=e;c[e+24>>2]=U;break}while(0);e=c[S+20>>2]|0;if(e)if(e>>>0<(c[686817]|0)>>>0)ua();else{c[U+20>>2]=e;c[e+24>>2]=U;X=u;break}else X=u}else X=u;while(0);do if(T>>>0>=16){c[S+4>>2]=t|3;c[p+4>>2]=T|1;c[p+T>>2]=T;u=T>>>3;if(T>>>0<256){n=2747292+(u<<1<<2)|0;e=c[686813]|0;m=1<>2]|0;if(r>>>0<(c[686817]|0)>>>0)ua();else{Y=r;Z=u}}else{c[686813]=e|m;Y=n;Z=n+8|0}c[Z>>2]=p;c[Y+12>>2]=p;c[p+8>>2]=Y;c[p+12>>2]=n;break}n=T>>>8;if(n)if(T>>>0>16777215)_=31;else{m=(n+1048320|0)>>>16&8;e=n<>>16&4;u=e<>>16&2;r=14-(n|m|e)+(u<>>15)|0;_=T>>>(r+7|0)&1|r<<1}else _=0;r=2747556+(_<<2)|0;c[p+28>>2]=_;e=p+16|0;c[e+4>>2]=0;c[e>>2]=0;e=1<<_;if(!(X&e)){c[686814]=X|e;c[r>>2]=p;c[p+24>>2]=r;c[p+12>>2]=p;c[p+8>>2]=p;break}e=T<<((_|0)==31?0:25-(_>>>1)|0);u=c[r>>2]|0;while(1){if((c[u+4>>2]&-8|0)==(T|0)){J=148;break}$=u+16+(e>>>31<<2)|0;r=c[$>>2]|0;if(!r){J=145;break}else{e=e<<1;u=r}}if((J|0)==145)if($>>>0<(c[686817]|0)>>>0)ua();else{c[$>>2]=p;c[p+24>>2]=u;c[p+12>>2]=p;c[p+8>>2]=p;break}else if((J|0)==148){e=u+8|0;r=c[e>>2]|0;m=c[686817]|0;if(r>>>0>=m>>>0&u>>>0>=m>>>0){c[r+12>>2]=p;c[e>>2]=p;c[p+8>>2]=r;c[p+12>>2]=u;c[p+24>>2]=0;break}else ua()}}else{r=T+t|0;c[S+4>>2]=r|3;e=S+r+4|0;c[e>>2]=c[e>>2]|1}while(0);q=S+8|0;i=b;return q|0}else E=t}else E=t}else E=-1;while(0);S=c[686815]|0;if(S>>>0>=E>>>0){T=S-E|0;$=c[686818]|0;if(T>>>0>15){_=$+E|0;c[686818]=_;c[686815]=T;c[_+4>>2]=T|1;c[_+T>>2]=T;c[$+4>>2]=E|3}else{c[686815]=0;c[686818]=0;c[$+4>>2]=S|3;T=$+S+4|0;c[T>>2]=c[T>>2]|1}q=$+8|0;i=b;return q|0}$=c[686816]|0;if($>>>0>E>>>0){T=$-E|0;c[686816]=T;S=c[686819]|0;_=S+E|0;c[686819]=_;c[_+4>>2]=T|1;c[S+4>>2]=E|3;q=S+8|0;i=b;return q|0}if(!(c[686931]|0)){c[686933]=4096;c[686932]=4096;c[686934]=-1;c[686935]=-1;c[686936]=0;c[686924]=0;S=d&-16^1431655768;c[d>>2]=S;c[686931]=S;aa=4096}else aa=c[686933]|0;S=E+48|0;d=E+47|0;T=aa+d|0;_=0-aa|0;aa=T&_;if(aa>>>0<=E>>>0){q=0;i=b;return q|0}X=c[686923]|0;if(X|0?(Y=c[686921]|0,Z=Y+aa|0,Z>>>0<=Y>>>0|Z>>>0>X>>>0):0){q=0;i=b;return q|0}b:do if(!(c[686924]&4)){X=c[686819]|0;c:do if(X){Z=2747700;while(1){Y=c[Z>>2]|0;if(Y>>>0<=X>>>0?(ba=Z+4|0,(Y+(c[ba>>2]|0)|0)>>>0>X>>>0):0)break;Y=c[Z+8>>2]|0;if(!Y){J=172;break c}else Z=Y}u=T-$&_;if(u>>>0<2147483647){Y=Gg(u|0)|0;if((Y|0)==((c[Z>>2]|0)+(c[ba>>2]|0)|0)){if((Y|0)!=(-1|0)){ca=u;da=Y;J=190;break b}}else{ea=Y;fa=u;J=180}}}else J=172;while(0);do if(((J|0)==172?(X=Gg(0)|0,(X|0)!=(-1|0)):0)?(t=X,u=c[686932]|0,Y=u+-1|0,U=((Y&t|0)==0?0:(Y+t&0-u)-t|0)+aa|0,t=c[686921]|0,u=U+t|0,U>>>0>E>>>0&U>>>0<2147483647):0){Y=c[686923]|0;if(Y|0?u>>>0<=t>>>0|u>>>0>Y>>>0:0)break;Y=Gg(U|0)|0;if((Y|0)==(X|0)){ca=U;da=X;J=190;break b}else{ea=Y;fa=U;J=180}}while(0);d:do if((J|0)==180){U=0-fa|0;do if(S>>>0>fa>>>0&(fa>>>0<2147483647&(ea|0)!=(-1|0))?(Y=c[686933]|0,X=d-fa+Y&0-Y,X>>>0<2147483647):0)if((Gg(X|0)|0)==(-1|0)){Gg(U|0)|0;break d}else{ga=X+fa|0;break}else ga=fa;while(0);if((ea|0)!=(-1|0)){ca=ga;da=ea;J=190;break b}}while(0);c[686924]=c[686924]|4;J=187}else J=187;while(0);if((((J|0)==187?aa>>>0<2147483647:0)?(ea=Gg(aa|0)|0,aa=Gg(0)|0,ea>>>0>>0&((ea|0)!=(-1|0)&(aa|0)!=(-1|0))):0)?(ga=aa-ea|0,ga>>>0>(E+40|0)>>>0):0){ca=ga;da=ea;J=190}if((J|0)==190){ea=(c[686921]|0)+ca|0;c[686921]=ea;if(ea>>>0>(c[686922]|0)>>>0)c[686922]=ea;ea=c[686819]|0;do if(ea){ga=2747700;while(1){ha=c[ga>>2]|0;ia=ga+4|0;ja=c[ia>>2]|0;if((da|0)==(ha+ja|0)){J=200;break}aa=c[ga+8>>2]|0;if(!aa)break;else ga=aa}if(((J|0)==200?(c[ga+12>>2]&8|0)==0:0)?ea>>>0>>0&ea>>>0>=ha>>>0:0){c[ia>>2]=ja+ca;aa=ea+8|0;fa=(aa&7|0)==0?0:0-aa&7;aa=ea+fa|0;d=ca-fa+(c[686816]|0)|0;c[686819]=aa;c[686816]=d;c[aa+4>>2]=d|1;c[aa+d+4>>2]=40;c[686820]=c[686935];break}d=c[686817]|0;if(da>>>0>>0){c[686817]=da;ka=da}else ka=d;d=da+ca|0;aa=2747700;while(1){if((c[aa>>2]|0)==(d|0)){J=208;break}fa=c[aa+8>>2]|0;if(!fa){la=2747700;break}else aa=fa}if((J|0)==208)if(!(c[aa+12>>2]&8)){c[aa>>2]=da;ga=aa+4|0;c[ga>>2]=(c[ga>>2]|0)+ca;ga=da+8|0;fa=da+((ga&7|0)==0?0:0-ga&7)|0;ga=d+8|0;S=d+((ga&7|0)==0?0:0-ga&7)|0;ga=fa+E|0;ba=S-fa-E|0;c[fa+4>>2]=E|3;do if((S|0)!=(ea|0)){if((S|0)==(c[686818]|0)){_=(c[686815]|0)+ba|0;c[686815]=_;c[686818]=ga;c[ga+4>>2]=_|1;c[ga+_>>2]=_;break}_=c[S+4>>2]|0;if((_&3|0)==1){$=_&-8;T=_>>>3;e:do if(_>>>0>=256){U=c[S+24>>2]|0;Z=c[S+12>>2]|0;do if((Z|0)==(S|0)){X=S+16|0;Y=X+4|0;u=c[Y>>2]|0;if(!u){t=c[X>>2]|0;if(!t){ma=0;break}else{na=t;oa=X}}else{na=u;oa=Y}while(1){Y=na+20|0;u=c[Y>>2]|0;if(u|0){na=u;oa=Y;continue}Y=na+16|0;u=c[Y>>2]|0;if(!u)break;else{na=u;oa=Y}}if(oa>>>0>>0)ua();else{c[oa>>2]=0;ma=na;break}}else{Y=c[S+8>>2]|0;if(Y>>>0>>0)ua();u=Y+12|0;if((c[u>>2]|0)!=(S|0))ua();X=Z+8|0;if((c[X>>2]|0)==(S|0)){c[u>>2]=Z;c[X>>2]=Y;ma=Z;break}else ua()}while(0);if(!U)break;Z=c[S+28>>2]|0;Y=2747556+(Z<<2)|0;do if((S|0)!=(c[Y>>2]|0)){if(U>>>0<(c[686817]|0)>>>0)ua();X=U+16|0;if((c[X>>2]|0)==(S|0))c[X>>2]=ma;else c[U+20>>2]=ma;if(!ma)break e}else{c[Y>>2]=ma;if(ma|0)break;c[686814]=c[686814]&~(1<>>0>>0)ua();c[ma+24>>2]=U;Y=S+16|0;X=c[Y>>2]|0;do if(X|0)if(X>>>0>>0)ua();else{c[ma+16>>2]=X;c[X+24>>2]=ma;break}while(0);X=c[Y+4>>2]|0;if(!X)break;if(X>>>0<(c[686817]|0)>>>0)ua();else{c[ma+20>>2]=X;c[X+24>>2]=ma;break}}else{X=c[S+8>>2]|0;Z=c[S+12>>2]|0;U=2747292+(T<<1<<2)|0;do if((X|0)!=(U|0)){if(X>>>0>>0)ua();if((c[X+12>>2]|0)==(S|0))break;ua()}while(0);if((Z|0)==(X|0)){c[686813]=c[686813]&~(1<>>0>>0)ua();Y=Z+8|0;if((c[Y>>2]|0)==(S|0)){pa=Y;break}ua()}while(0);c[X+12>>2]=Z;c[pa>>2]=X}while(0);qa=S+$|0;ra=$+ba|0}else{qa=S;ra=ba}T=qa+4|0;c[T>>2]=c[T>>2]&-2;c[ga+4>>2]=ra|1;c[ga+ra>>2]=ra;T=ra>>>3;if(ra>>>0<256){_=2747292+(T<<1<<2)|0;U=c[686813]|0;Y=1<>2]|0;if(u>>>0>=(c[686817]|0)>>>0){sa=u;ta=T;break}ua()}while(0);c[ta>>2]=ga;c[sa+12>>2]=ga;c[ga+8>>2]=sa;c[ga+12>>2]=_;break}Y=ra>>>8;do if(!Y)va=0;else{if(ra>>>0>16777215){va=31;break}U=(Y+1048320|0)>>>16&8;$=Y<>>16&4;u=$<>>16&2;t=14-(T|U|$)+(u<<$>>>15)|0;va=ra>>>(t+7|0)&1|t<<1}while(0);Y=2747556+(va<<2)|0;c[ga+28>>2]=va;_=ga+16|0;c[_+4>>2]=0;c[_>>2]=0;_=c[686814]|0;t=1<>2]=ga;c[ga+24>>2]=Y;c[ga+12>>2]=ga;c[ga+8>>2]=ga;break}t=ra<<((va|0)==31?0:25-(va>>>1)|0);_=c[Y>>2]|0;while(1){if((c[_+4>>2]&-8|0)==(ra|0)){J=278;break}wa=_+16+(t>>>31<<2)|0;Y=c[wa>>2]|0;if(!Y){J=275;break}else{t=t<<1;_=Y}}if((J|0)==275)if(wa>>>0<(c[686817]|0)>>>0)ua();else{c[wa>>2]=ga;c[ga+24>>2]=_;c[ga+12>>2]=ga;c[ga+8>>2]=ga;break}else if((J|0)==278){t=_+8|0;Y=c[t>>2]|0;$=c[686817]|0;if(Y>>>0>=$>>>0&_>>>0>=$>>>0){c[Y+12>>2]=ga;c[t>>2]=ga;c[ga+8>>2]=Y;c[ga+12>>2]=_;c[ga+24>>2]=0;break}else ua()}}else{Y=(c[686816]|0)+ba|0;c[686816]=Y;c[686819]=ga;c[ga+4>>2]=Y|1}while(0);q=fa+8|0;i=b;return q|0}else la=2747700;while(1){ga=c[la>>2]|0;if(ga>>>0<=ea>>>0?(xa=ga+(c[la+4>>2]|0)|0,xa>>>0>ea>>>0):0)break;la=c[la+8>>2]|0}fa=xa+-47|0;ga=fa+8|0;ba=fa+((ga&7|0)==0?0:0-ga&7)|0;ga=ea+16|0;fa=ba>>>0>>0?ea:ba;ba=fa+8|0;S=da+8|0;d=(S&7|0)==0?0:0-S&7;S=da+d|0;aa=ca+-40-d|0;c[686819]=S;c[686816]=aa;c[S+4>>2]=aa|1;c[S+aa+4>>2]=40;c[686820]=c[686935];aa=fa+4|0;c[aa>>2]=27;c[ba>>2]=c[686925];c[ba+4>>2]=c[686926];c[ba+8>>2]=c[686927];c[ba+12>>2]=c[686928];c[686925]=da;c[686926]=ca;c[686928]=0;c[686927]=ba;ba=fa+24|0;do{ba=ba+4|0;c[ba>>2]=7}while((ba+4|0)>>>0>>0);if((fa|0)!=(ea|0)){ba=fa-ea|0;c[aa>>2]=c[aa>>2]&-2;c[ea+4>>2]=ba|1;c[fa>>2]=ba;S=ba>>>3;if(ba>>>0<256){d=2747292+(S<<1<<2)|0;Y=c[686813]|0;t=1<>2]|0;if($>>>0<(c[686817]|0)>>>0)ua();else{ya=$;za=S}}else{c[686813]=Y|t;ya=d;za=d+8|0}c[za>>2]=ea;c[ya+12>>2]=ea;c[ea+8>>2]=ya;c[ea+12>>2]=d;break}d=ba>>>8;if(d)if(ba>>>0>16777215)Aa=31;else{t=(d+1048320|0)>>>16&8;Y=d<>>16&4;S=Y<>>16&2;$=14-(d|t|Y)+(S<>>15)|0;Aa=ba>>>($+7|0)&1|$<<1}else Aa=0;$=2747556+(Aa<<2)|0;c[ea+28>>2]=Aa;c[ea+20>>2]=0;c[ga>>2]=0;Y=c[686814]|0;S=1<>2]=ea;c[ea+24>>2]=$;c[ea+12>>2]=ea;c[ea+8>>2]=ea;break}S=ba<<((Aa|0)==31?0:25-(Aa>>>1)|0);Y=c[$>>2]|0;while(1){if((c[Y+4>>2]&-8|0)==(ba|0)){J=304;break}Ba=Y+16+(S>>>31<<2)|0;$=c[Ba>>2]|0;if(!$){J=301;break}else{S=S<<1;Y=$}}if((J|0)==301)if(Ba>>>0<(c[686817]|0)>>>0)ua();else{c[Ba>>2]=ea;c[ea+24>>2]=Y;c[ea+12>>2]=ea;c[ea+8>>2]=ea;break}else if((J|0)==304){S=Y+8|0;ba=c[S>>2]|0;ga=c[686817]|0;if(ba>>>0>=ga>>>0&Y>>>0>=ga>>>0){c[ba+12>>2]=ea;c[S>>2]=ea;c[ea+8>>2]=ba;c[ea+12>>2]=Y;c[ea+24>>2]=0;break}else ua()}}}else{ba=c[686817]|0;if((ba|0)==0|da>>>0>>0)c[686817]=da;c[686925]=da;c[686926]=ca;c[686928]=0;c[686822]=c[686931];c[686821]=-1;ba=0;do{S=2747292+(ba<<1<<2)|0;c[S+12>>2]=S;c[S+8>>2]=S;ba=ba+1|0}while((ba|0)!=32);ba=da+8|0;Y=(ba&7|0)==0?0:0-ba&7;ba=da+Y|0;S=ca+-40-Y|0;c[686819]=ba;c[686816]=S;c[ba+4>>2]=S|1;c[ba+S+4>>2]=40;c[686820]=c[686935]}while(0);ca=c[686816]|0;if(ca>>>0>E>>>0){da=ca-E|0;c[686816]=da;ca=c[686819]|0;ea=ca+E|0;c[686819]=ea;c[ea+4>>2]=da|1;c[ca+4>>2]=E|3;q=ca+8|0;i=b;return q|0}}c[(oe()|0)>>2]=12;q=0;i=b;return q|0}function qg(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;if(!a)return;b=a+-8|0;d=c[686817]|0;if(b>>>0>>0)ua();e=c[a+-4>>2]|0;a=e&3;if((a|0)==1)ua();f=e&-8;g=b+f|0;do if(!(e&1)){h=c[b>>2]|0;if(!a)return;i=b+(0-h)|0;j=h+f|0;if(i>>>0>>0)ua();if((i|0)==(c[686818]|0)){k=g+4|0;l=c[k>>2]|0;if((l&3|0)!=3){m=i;n=j;break}c[686815]=j;c[k>>2]=l&-2;c[i+4>>2]=j|1;c[i+j>>2]=j;return}l=h>>>3;if(h>>>0<256){h=c[i+8>>2]|0;k=c[i+12>>2]|0;o=2747292+(l<<1<<2)|0;if((h|0)!=(o|0)){if(h>>>0>>0)ua();if((c[h+12>>2]|0)!=(i|0))ua()}if((k|0)==(h|0)){c[686813]=c[686813]&~(1<>>0>>0)ua();o=k+8|0;if((c[o>>2]|0)==(i|0))p=o;else ua()}else p=k+8|0;c[h+12>>2]=k;c[p>>2]=h;m=i;n=j;break}h=c[i+24>>2]|0;k=c[i+12>>2]|0;do if((k|0)==(i|0)){o=i+16|0;l=o+4|0;q=c[l>>2]|0;if(!q){r=c[o>>2]|0;if(!r){s=0;break}else{t=r;u=o}}else{t=q;u=l}while(1){l=t+20|0;q=c[l>>2]|0;if(q|0){t=q;u=l;continue}l=t+16|0;q=c[l>>2]|0;if(!q)break;else{t=q;u=l}}if(u>>>0>>0)ua();else{c[u>>2]=0;s=t;break}}else{l=c[i+8>>2]|0;if(l>>>0>>0)ua();q=l+12|0;if((c[q>>2]|0)!=(i|0))ua();o=k+8|0;if((c[o>>2]|0)==(i|0)){c[q>>2]=k;c[o>>2]=l;s=k;break}else ua()}while(0);if(h){k=c[i+28>>2]|0;l=2747556+(k<<2)|0;if((i|0)==(c[l>>2]|0)){c[l>>2]=s;if(!s){c[686814]=c[686814]&~(1<>>0<(c[686817]|0)>>>0)ua();k=h+16|0;if((c[k>>2]|0)==(i|0))c[k>>2]=s;else c[h+20>>2]=s;if(!s){m=i;n=j;break}}k=c[686817]|0;if(s>>>0>>0)ua();c[s+24>>2]=h;l=i+16|0;o=c[l>>2]|0;do if(o|0)if(o>>>0>>0)ua();else{c[s+16>>2]=o;c[o+24>>2]=s;break}while(0);o=c[l+4>>2]|0;if(o)if(o>>>0<(c[686817]|0)>>>0)ua();else{c[s+20>>2]=o;c[o+24>>2]=s;m=i;n=j;break}else{m=i;n=j}}else{m=i;n=j}}else{m=b;n=f}while(0);if(m>>>0>=g>>>0)ua();f=g+4|0;b=c[f>>2]|0;if(!(b&1))ua();if(!(b&2)){if((g|0)==(c[686819]|0)){s=(c[686816]|0)+n|0;c[686816]=s;c[686819]=m;c[m+4>>2]=s|1;if((m|0)!=(c[686818]|0))return;c[686818]=0;c[686815]=0;return}if((g|0)==(c[686818]|0)){s=(c[686815]|0)+n|0;c[686815]=s;c[686818]=m;c[m+4>>2]=s|1;c[m+s>>2]=s;return}s=(b&-8)+n|0;d=b>>>3;do if(b>>>0>=256){t=c[g+24>>2]|0;u=c[g+12>>2]|0;do if((u|0)==(g|0)){p=g+16|0;a=p+4|0;e=c[a>>2]|0;if(!e){o=c[p>>2]|0;if(!o){v=0;break}else{w=o;x=p}}else{w=e;x=a}while(1){a=w+20|0;e=c[a>>2]|0;if(e|0){w=e;x=a;continue}a=w+16|0;e=c[a>>2]|0;if(!e)break;else{w=e;x=a}}if(x>>>0<(c[686817]|0)>>>0)ua();else{c[x>>2]=0;v=w;break}}else{a=c[g+8>>2]|0;if(a>>>0<(c[686817]|0)>>>0)ua();e=a+12|0;if((c[e>>2]|0)!=(g|0))ua();p=u+8|0;if((c[p>>2]|0)==(g|0)){c[e>>2]=u;c[p>>2]=a;v=u;break}else ua()}while(0);if(t|0){u=c[g+28>>2]|0;j=2747556+(u<<2)|0;if((g|0)==(c[j>>2]|0)){c[j>>2]=v;if(!v){c[686814]=c[686814]&~(1<>>0<(c[686817]|0)>>>0)ua();u=t+16|0;if((c[u>>2]|0)==(g|0))c[u>>2]=v;else c[t+20>>2]=v;if(!v)break}u=c[686817]|0;if(v>>>0>>0)ua();c[v+24>>2]=t;j=g+16|0;i=c[j>>2]|0;do if(i|0)if(i>>>0>>0)ua();else{c[v+16>>2]=i;c[i+24>>2]=v;break}while(0);i=c[j+4>>2]|0;if(i|0)if(i>>>0<(c[686817]|0)>>>0)ua();else{c[v+20>>2]=i;c[i+24>>2]=v;break}}}else{i=c[g+8>>2]|0;u=c[g+12>>2]|0;t=2747292+(d<<1<<2)|0;if((i|0)!=(t|0)){if(i>>>0<(c[686817]|0)>>>0)ua();if((c[i+12>>2]|0)!=(g|0))ua()}if((u|0)==(i|0)){c[686813]=c[686813]&~(1<>>0<(c[686817]|0)>>>0)ua();t=u+8|0;if((c[t>>2]|0)==(g|0))y=t;else ua()}else y=u+8|0;c[i+12>>2]=u;c[y>>2]=i}while(0);c[m+4>>2]=s|1;c[m+s>>2]=s;if((m|0)==(c[686818]|0)){c[686815]=s;return}else z=s}else{c[f>>2]=b&-2;c[m+4>>2]=n|1;c[m+n>>2]=n;z=n}n=z>>>3;if(z>>>0<256){b=2747292+(n<<1<<2)|0;f=c[686813]|0;s=1<>2]|0;if(y>>>0<(c[686817]|0)>>>0)ua();else{A=y;B=n}}else{c[686813]=f|s;A=b;B=b+8|0}c[B>>2]=m;c[A+12>>2]=m;c[m+8>>2]=A;c[m+12>>2]=b;return}b=z>>>8;if(b)if(z>>>0>16777215)C=31;else{A=(b+1048320|0)>>>16&8;B=b<>>16&4;s=B<>>16&2;f=14-(b|A|B)+(s<>>15)|0;C=z>>>(f+7|0)&1|f<<1}else C=0;f=2747556+(C<<2)|0;c[m+28>>2]=C;c[m+20>>2]=0;c[m+16>>2]=0;B=c[686814]|0;s=1<>>1)|0);b=c[f>>2]|0;while(1){if((c[b+4>>2]&-8|0)==(z|0)){D=130;break}E=b+16+(A>>>31<<2)|0;n=c[E>>2]|0;if(!n){D=127;break}else{A=A<<1;b=n}}if((D|0)==127)if(E>>>0<(c[686817]|0)>>>0)ua();else{c[E>>2]=m;c[m+24>>2]=b;c[m+12>>2]=m;c[m+8>>2]=m;break}else if((D|0)==130){A=b+8|0;j=c[A>>2]|0;n=c[686817]|0;if(j>>>0>=n>>>0&b>>>0>=n>>>0){c[j+12>>2]=m;c[A>>2]=m;c[m+8>>2]=j;c[m+12>>2]=b;c[m+24>>2]=0;break}else ua()}}else{c[686814]=B|s;c[f>>2]=m;c[m+24>>2]=f;c[m+12>>2]=m;c[m+8>>2]=m}while(0);m=(c[686821]|0)+-1|0;c[686821]=m;if(!m)F=2747708;else return;while(1){m=c[F>>2]|0;if(!m)break;else F=m+8|0}c[686821]=-1;return}function rg(a,b){a=a|0;b=b|0;var d=0,e=0;if(a){d=S(b,a)|0;if((b|a)>>>0>65535)e=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1;else e=d}else e=0;d=pg(e)|0;if(!d)return d|0;if(!(c[d+-4>>2]&3))return d|0;xg(d|0,0,e|0)|0;return d|0}function sg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!a){d=pg(b)|0;return d|0}if(b>>>0>4294967231){c[(oe()|0)>>2]=12;d=0;return d|0}e=tg(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(e|0){d=e+8|0;return d|0}e=pg(b)|0;if(!e){d=0;return d|0}f=c[a+-4>>2]|0;g=(f&-8)-((f&3|0)==0?8:4)|0;Ig(e|0,a|0,(g>>>0>>0?g:b)|0)|0;qg(a);d=e;return d|0}function tg(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;d=a+4|0;e=c[d>>2]|0;f=e&-8;g=a+f|0;h=c[686817]|0;i=e&3;if(!((i|0)!=1&a>>>0>=h>>>0&a>>>0>>0))ua();j=c[g+4>>2]|0;if(!(j&1))ua();if(!i){if(b>>>0<256){k=0;return k|0}if(f>>>0>=(b+4|0)>>>0?(f-b|0)>>>0<=c[686933]<<1>>>0:0){k=a;return k|0}k=0;return k|0}if(f>>>0>=b>>>0){i=f-b|0;if(i>>>0<=15){k=a;return k|0}l=a+b|0;c[d>>2]=e&1|b|2;c[l+4>>2]=i|3;m=l+i+4|0;c[m>>2]=c[m>>2]|1;ug(l,i);k=a;return k|0}if((g|0)==(c[686819]|0)){i=(c[686816]|0)+f|0;if(i>>>0<=b>>>0){k=0;return k|0}l=i-b|0;i=a+b|0;c[d>>2]=e&1|b|2;c[i+4>>2]=l|1;c[686819]=i;c[686816]=l;k=a;return k|0}if((g|0)==(c[686818]|0)){l=(c[686815]|0)+f|0;if(l>>>0>>0){k=0;return k|0}i=l-b|0;if(i>>>0>15){m=a+b|0;n=m+i|0;c[d>>2]=e&1|b|2;c[m+4>>2]=i|1;c[n>>2]=i;o=n+4|0;c[o>>2]=c[o>>2]&-2;p=m;q=i}else{c[d>>2]=e&1|l|2;i=a+l+4|0;c[i>>2]=c[i>>2]|1;p=0;q=0}c[686815]=q;c[686818]=p;k=a;return k|0}if(j&2|0){k=0;return k|0}p=(j&-8)+f|0;if(p>>>0>>0){k=0;return k|0}f=p-b|0;q=j>>>3;do if(j>>>0>=256){i=c[g+24>>2]|0;l=c[g+12>>2]|0;do if((l|0)==(g|0)){m=g+16|0;o=m+4|0;n=c[o>>2]|0;if(!n){r=c[m>>2]|0;if(!r){s=0;break}else{t=r;u=m}}else{t=n;u=o}while(1){o=t+20|0;n=c[o>>2]|0;if(n|0){t=n;u=o;continue}o=t+16|0;n=c[o>>2]|0;if(!n)break;else{t=n;u=o}}if(u>>>0>>0)ua();else{c[u>>2]=0;s=t;break}}else{o=c[g+8>>2]|0;if(o>>>0>>0)ua();n=o+12|0;if((c[n>>2]|0)!=(g|0))ua();m=l+8|0;if((c[m>>2]|0)==(g|0)){c[n>>2]=l;c[m>>2]=o;s=l;break}else ua()}while(0);if(i|0){l=c[g+28>>2]|0;o=2747556+(l<<2)|0;if((g|0)==(c[o>>2]|0)){c[o>>2]=s;if(!s){c[686814]=c[686814]&~(1<>>0<(c[686817]|0)>>>0)ua();l=i+16|0;if((c[l>>2]|0)==(g|0))c[l>>2]=s;else c[i+20>>2]=s;if(!s)break}l=c[686817]|0;if(s>>>0>>0)ua();c[s+24>>2]=i;o=g+16|0;m=c[o>>2]|0;do if(m|0)if(m>>>0>>0)ua();else{c[s+16>>2]=m;c[m+24>>2]=s;break}while(0);m=c[o+4>>2]|0;if(m|0)if(m>>>0<(c[686817]|0)>>>0)ua();else{c[s+20>>2]=m;c[m+24>>2]=s;break}}}else{m=c[g+8>>2]|0;l=c[g+12>>2]|0;i=2747292+(q<<1<<2)|0;if((m|0)!=(i|0)){if(m>>>0>>0)ua();if((c[m+12>>2]|0)!=(g|0))ua()}if((l|0)==(m|0)){c[686813]=c[686813]&~(1<>>0>>0)ua();i=l+8|0;if((c[i>>2]|0)==(g|0))v=i;else ua()}else v=l+8|0;c[m+12>>2]=l;c[v>>2]=m}while(0);if(f>>>0<16){c[d>>2]=p|e&1|2;v=a+p+4|0;c[v>>2]=c[v>>2]|1;k=a;return k|0}else{v=a+b|0;c[d>>2]=e&1|b|2;c[v+4>>2]=f|3;b=v+f+4|0;c[b>>2]=c[b>>2]|1;ug(v,f);k=a;return k|0}return 0}function ug(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,z=0,A=0,B=0,C=0,D=0;d=a+b|0;e=c[a+4>>2]|0;do if(!(e&1)){f=c[a>>2]|0;if(!(e&3))return;g=a+(0-f)|0;h=f+b|0;i=c[686817]|0;if(g>>>0>>0)ua();if((g|0)==(c[686818]|0)){j=d+4|0;k=c[j>>2]|0;if((k&3|0)!=3){l=g;m=h;break}c[686815]=h;c[j>>2]=k&-2;c[g+4>>2]=h|1;c[g+h>>2]=h;return}k=f>>>3;if(f>>>0<256){f=c[g+8>>2]|0;j=c[g+12>>2]|0;n=2747292+(k<<1<<2)|0;if((f|0)!=(n|0)){if(f>>>0>>0)ua();if((c[f+12>>2]|0)!=(g|0))ua()}if((j|0)==(f|0)){c[686813]=c[686813]&~(1<>>0>>0)ua();n=j+8|0;if((c[n>>2]|0)==(g|0))o=n;else ua()}else o=j+8|0;c[f+12>>2]=j;c[o>>2]=f;l=g;m=h;break}f=c[g+24>>2]|0;j=c[g+12>>2]|0;do if((j|0)==(g|0)){n=g+16|0;k=n+4|0;p=c[k>>2]|0;if(!p){q=c[n>>2]|0;if(!q){r=0;break}else{s=q;t=n}}else{s=p;t=k}while(1){k=s+20|0;p=c[k>>2]|0;if(p|0){s=p;t=k;continue}k=s+16|0;p=c[k>>2]|0;if(!p)break;else{s=p;t=k}}if(t>>>0>>0)ua();else{c[t>>2]=0;r=s;break}}else{k=c[g+8>>2]|0;if(k>>>0>>0)ua();p=k+12|0;if((c[p>>2]|0)!=(g|0))ua();n=j+8|0;if((c[n>>2]|0)==(g|0)){c[p>>2]=j;c[n>>2]=k;r=j;break}else ua()}while(0);if(f){j=c[g+28>>2]|0;i=2747556+(j<<2)|0;if((g|0)==(c[i>>2]|0)){c[i>>2]=r;if(!r){c[686814]=c[686814]&~(1<>>0<(c[686817]|0)>>>0)ua();j=f+16|0;if((c[j>>2]|0)==(g|0))c[j>>2]=r;else c[f+20>>2]=r;if(!r){l=g;m=h;break}}j=c[686817]|0;if(r>>>0>>0)ua();c[r+24>>2]=f;i=g+16|0;k=c[i>>2]|0;do if(k|0)if(k>>>0>>0)ua();else{c[r+16>>2]=k;c[k+24>>2]=r;break}while(0);k=c[i+4>>2]|0;if(k)if(k>>>0<(c[686817]|0)>>>0)ua();else{c[r+20>>2]=k;c[k+24>>2]=r;l=g;m=h;break}else{l=g;m=h}}else{l=g;m=h}}else{l=a;m=b}while(0);b=c[686817]|0;if(d>>>0>>0)ua();a=d+4|0;r=c[a>>2]|0;if(!(r&2)){if((d|0)==(c[686819]|0)){s=(c[686816]|0)+m|0;c[686816]=s;c[686819]=l;c[l+4>>2]=s|1;if((l|0)!=(c[686818]|0))return;c[686818]=0;c[686815]=0;return}if((d|0)==(c[686818]|0)){s=(c[686815]|0)+m|0;c[686815]=s;c[686818]=l;c[l+4>>2]=s|1;c[l+s>>2]=s;return}s=(r&-8)+m|0;t=r>>>3;do if(r>>>0>=256){o=c[d+24>>2]|0;e=c[d+12>>2]|0;do if((e|0)==(d|0)){k=d+16|0;j=k+4|0;f=c[j>>2]|0;if(!f){n=c[k>>2]|0;if(!n){u=0;break}else{v=n;w=k}}else{v=f;w=j}while(1){j=v+20|0;f=c[j>>2]|0;if(f|0){v=f;w=j;continue}j=v+16|0;f=c[j>>2]|0;if(!f)break;else{v=f;w=j}}if(w>>>0>>0)ua();else{c[w>>2]=0;u=v;break}}else{j=c[d+8>>2]|0;if(j>>>0>>0)ua();f=j+12|0;if((c[f>>2]|0)!=(d|0))ua();k=e+8|0;if((c[k>>2]|0)==(d|0)){c[f>>2]=e;c[k>>2]=j;u=e;break}else ua()}while(0);if(o|0){e=c[d+28>>2]|0;h=2747556+(e<<2)|0;if((d|0)==(c[h>>2]|0)){c[h>>2]=u;if(!u){c[686814]=c[686814]&~(1<>>0<(c[686817]|0)>>>0)ua();e=o+16|0;if((c[e>>2]|0)==(d|0))c[e>>2]=u;else c[o+20>>2]=u;if(!u)break}e=c[686817]|0;if(u>>>0>>0)ua();c[u+24>>2]=o;h=d+16|0;g=c[h>>2]|0;do if(g|0)if(g>>>0>>0)ua();else{c[u+16>>2]=g;c[g+24>>2]=u;break}while(0);g=c[h+4>>2]|0;if(g|0)if(g>>>0<(c[686817]|0)>>>0)ua();else{c[u+20>>2]=g;c[g+24>>2]=u;break}}}else{g=c[d+8>>2]|0;e=c[d+12>>2]|0;o=2747292+(t<<1<<2)|0;if((g|0)!=(o|0)){if(g>>>0>>0)ua();if((c[g+12>>2]|0)!=(d|0))ua()}if((e|0)==(g|0)){c[686813]=c[686813]&~(1<>>0>>0)ua();o=e+8|0;if((c[o>>2]|0)==(d|0))x=o;else ua()}else x=e+8|0;c[g+12>>2]=e;c[x>>2]=g}while(0);c[l+4>>2]=s|1;c[l+s>>2]=s;if((l|0)==(c[686818]|0)){c[686815]=s;return}else y=s}else{c[a>>2]=r&-2;c[l+4>>2]=m|1;c[l+m>>2]=m;y=m}m=y>>>3;if(y>>>0<256){r=2747292+(m<<1<<2)|0;a=c[686813]|0;s=1<>2]|0;if(x>>>0<(c[686817]|0)>>>0)ua();else{z=x;A=m}}else{c[686813]=a|s;z=r;A=r+8|0}c[A>>2]=l;c[z+12>>2]=l;c[l+8>>2]=z;c[l+12>>2]=r;return}r=y>>>8;if(r)if(y>>>0>16777215)B=31;else{z=(r+1048320|0)>>>16&8;A=r<>>16&4;s=A<>>16&2;a=14-(r|z|A)+(s<>>15)|0;B=y>>>(a+7|0)&1|a<<1}else B=0;a=2747556+(B<<2)|0;c[l+28>>2]=B;c[l+20>>2]=0;c[l+16>>2]=0;A=c[686814]|0;s=1<>2]=l;c[l+24>>2]=a;c[l+12>>2]=l;c[l+8>>2]=l;return}s=y<<((B|0)==31?0:25-(B>>>1)|0);B=c[a>>2]|0;while(1){if((c[B+4>>2]&-8|0)==(y|0)){C=127;break}D=B+16+(s>>>31<<2)|0;a=c[D>>2]|0;if(!a){C=124;break}else{s=s<<1;B=a}}if((C|0)==124){if(D>>>0<(c[686817]|0)>>>0)ua();c[D>>2]=l;c[l+24>>2]=B;c[l+12>>2]=l;c[l+8>>2]=l;return}else if((C|0)==127){C=B+8|0;D=c[C>>2]|0;s=c[686817]|0;if(!(D>>>0>=s>>>0&B>>>0>=s>>>0))ua();c[D+12>>2]=l;c[C>>2]=l;c[l+8>>2]=D;c[l+12>>2]=B;c[l+24>>2]=0;return}}function vg(){}function wg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=b-d>>>0;e=b-d-(c>>>0>a>>>0|0)>>>0;return (D=e,a-c>>>0|0)|0}function xg(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;g=b&3;h=d|d<<8|d<<16|d<<24;i=f&~3;if(g){g=b+4-g|0;while((b|0)<(g|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(i|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 yg(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 zg(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b<>>32-c;return a<>>0;return (D=b+d+(e>>>0>>0|0)>>>0,e|0)|0}function Bg(b){b=b|0;var c=0;c=a[n+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[n+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[n+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[n+(b>>>24)>>0]|0)+24|0}function Cg(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,q=0,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;g=a;h=b;i=h;j=d;k=e;l=k;if(!i){m=(f|0)!=0;if(!l){if(m){c[f>>2]=(g>>>0)%(j>>>0);c[f+4>>2]=0}n=0;o=(g>>>0)/(j>>>0)>>>0;return (D=n,o)|0}else{if(!m){n=0;o=0;return (D=n,o)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;o=0;return (D=n,o)|0}}m=(l|0)==0;do if(j){if(!m){p=(V(l|0)|0)-(V(i|0)|0)|0;if(p>>>0<=31){q=p+1|0;r=31-p|0;s=p-31>>31;t=q;u=g>>>(q>>>0)&s|i<>>(q>>>0)&s;w=0;x=g<>2]=a|0;c[f+4>>2]=h|b&0;n=0;o=0;return (D=n,o)|0}r=j-1|0;if(r&j|0){s=(V(j|0)|0)+33-(V(i|0)|0)|0;q=64-s|0;p=32-s|0;y=p>>31;z=s-32|0;A=z>>31;t=s;u=p-1>>31&i>>>(z>>>0)|(i<>>(s>>>0))&A;v=A&i>>>(s>>>0);w=g<>>(z>>>0))&y|g<>31;break}if(f|0){c[f>>2]=r&g;c[f+4>>2]=0}if((j|0)==1){n=h|b&0;o=a|0|0;return (D=n,o)|0}else{r=Bg(j|0)|0;n=i>>>(r>>>0)|0;o=i<<32-r|g>>>(r>>>0)|0;return (D=n,o)|0}}else{if(m){if(f|0){c[f>>2]=(i>>>0)%(j>>>0);c[f+4>>2]=0}n=0;o=(i>>>0)/(j>>>0)>>>0;return (D=n,o)|0}if(!g){if(f|0){c[f>>2]=0;c[f+4>>2]=(i>>>0)%(l>>>0)}n=0;o=(i>>>0)/(l>>>0)>>>0;return (D=n,o)|0}r=l-1|0;if(!(r&l)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=r&i|b&0}n=0;o=i>>>((Bg(l|0)|0)>>>0);return (D=n,o)|0}r=(V(l|0)|0)-(V(i|0)|0)|0;if(r>>>0<=30){s=r+1|0;p=31-r|0;t=s;u=i<>>(s>>>0);v=i>>>(s>>>0);w=0;x=g<>2]=a|0;c[f+4>>2]=h|b&0;n=0;o=0;return (D=n,o)|0}while(0);if(!t){B=x;C=w;E=v;F=u;G=0;H=0}else{b=d|0|0;d=k|e&0;e=Ag(b|0,d|0,-1,-1)|0;k=D;h=x;x=w;w=v;v=u;u=t;t=0;do{a=h;h=x>>>31|h<<1;x=t|x<<1;g=v<<1|a>>>31|0;a=v>>>31|w<<1|0;wg(e|0,k|0,g|0,a|0)|0;i=D;l=i>>31|((i|0)<0?-1:0)<<1;t=l&1;v=wg(g|0,a|0,l&b|0,(((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1)&d|0)|0;w=D;u=u-1|0}while((u|0)!=0);B=h;C=x;E=w;F=v;G=0;H=t}t=C;C=0;if(f|0){c[f>>2]=F;c[f+4>>2]=E}n=(t|0)>>>31|(B|C)<<1|(C<<1|t>>>31)&0|G;o=(t<<1|0>>>31)&-2|H;return (D=n,o)|0}function Dg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Cg(a,b,c,d,0)|0}function Eg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=a&65535;d=b&65535;e=S(d,c)|0;f=a>>>16;a=(e>>>16)+(S(d,f)|0)|0;d=b>>>16;b=S(d,c)|0;return (D=(a>>>16)+(S(d,f)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|e&65535|0)|0}function Fg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;a=c;c=Eg(e,a)|0;f=D;return (D=(S(b,a)|0)+(S(d,e)|0)+f|f&0,c|0|0)|0}function Gg(a){a=a|0;var b=0,d=0;a=a+15&-16|0;b=c[k>>2]|0;d=b+a|0;if((a|0)>0&(d|0)<(b|0)|(d|0)<0){_()|0;ka(12);return -1}c[k>>2]=d;if((d|0)>(Z()|0)?(Y()|0)==0:0){ka(12);c[k>>2]=b;return -1}return b|0}function Hg(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|0;Cg(a,b,d,e,g)|0;i=f;return (D=c[g+4>>2]|0,c[g>>2]|0)|0}function Ig(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return oa(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if(!e)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 Jg(){return 0}function Kg(a,b){a=a|0;b=b|0;return Ba[a&7](b|0)|0}function Lg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ca[a&7](b|0,c|0,d|0)|0}function Mg(a,b,c){a=a|0;b=b|0;c=c|0;return Da[a&3](b|0,c|0)|0}function Ng(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ea[a&3](b|0,c|0,d|0,e|0)|0}function Og(a,b){a=a|0;b=b|0;Fa[a&7](b|0)}function Pg(a){a=a|0;W(0);return 0}function Qg(a,b,c){a=a|0;b=b|0;c=c|0;W(1);return 0}function Rg(a,b){a=a|0;b=b|0;W(2);return 0}function Sg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;W(3);return 0}function Tg(a){a=a|0;W(4)} + +// EMSCRIPTEN_END_FUNCS +var Ba=[Pg,bb,cc,Ld,ke,Pg,Pg,Pg];var Ca=[Qg,le,me,re,te,af,ag,Qg];var Da=[Rg,mc,tc,Rg];var Ea=[Sg,cb,dc,Md];var Fa=[Tg,db,ec,Nd,pe,se,Tg,Tg];return{___muldsi3:Eg,_sbrk:Gg,_i64Subtract:wg,_free:qg,_main:zc,_i64Add:Ag,_pthread_self:Jg,_memset:xg,_llvm_cttz_i32:Bg,_malloc:pg,_memcpy:Ig,___muldi3:Fg,_bitshift64Shl:zg,_bitshift64Lshr:yg,_fflush:Ff,___udivdi3:Dg,___uremdi3:Hg,___errno_location:oe,___udivmoddi4:Cg,runPostSets:vg,stackAlloc:Ga,stackSave:Ha,stackRestore:Ia,establishStackSpace:Ja,setThrew:Ka,setTempRet0:La,getTempRet0:Ma,dynCall_ii:Kg,dynCall_iiii:Lg,dynCall_iii:Mg,dynCall_iiiii:Ng,dynCall_vi:Og}}) + + +// EMSCRIPTEN_END_ASM +(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var ___muldsi3=Module["___muldsi3"]=asm["___muldsi3"];var _malloc=Module["_malloc"]=asm["_malloc"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _free=Module["_free"]=asm["_free"];var _main=Module["_main"]=asm["_main"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var ___udivmoddi4=Module["___udivmoddi4"]=asm["___udivmoddi4"];var _pthread_self=Module["_pthread_self"]=asm["_pthread_self"];var _memset=Module["_memset"]=asm["_memset"];var _llvm_cttz_i32=Module["_llvm_cttz_i32"]=asm["_llvm_cttz_i32"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _fflush=Module["_fflush"]=asm["_fflush"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var ___uremdi3=Module["___uremdi3"]=asm["___uremdi3"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.establishStackSpace=asm["establishStackSpace"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];Module["FS"]=FS;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}run() + + + + + + return sdldz80; +}; diff --git a/src/worker/workermain.js b/src/worker/workermain.js index 803bc71b..dda62af8 100644 --- a/src/worker/workermain.js +++ b/src/worker/workermain.js @@ -107,6 +107,28 @@ function parseListing(code, lineMatch, iline, ioffset, iinsns) { return lines; } +function parseSourceLines(code, lineMatch, offsetMatch) { + var lines = []; + var lastlinenum = 0; + for (var line of code.split(/\r?\n/)) { + var linem = lineMatch.exec(line); + if (linem && linem[1]) { + lastlinenum = parseInt(linem[1]); + } else if (lastlinenum) { + var linem = offsetMatch.exec(line); + if (linem && linem[1]) { + var offset = parseInt(linem[1], 16); + lines.push({ + line:lastlinenum, + offset:offset, + }); + lastlinenum = 0; + } + } + } + return lines; +} + function parseDASMListing(code, unresolved) { var errorMatch = /main.a [(](\d+)[)]: error: (.+)/; // 4 08ee a9 00 start lda #01workermain.js:23:5 @@ -323,7 +345,6 @@ function assemblelinkCA65(code, platform, warnings) { //logReadFiles:true, print:print_fn, printErr:print_fn, - //locateFile: function(s) { return "" + s; }, }); var FS = CA65['FS']; setupFS(FS); @@ -337,7 +358,6 @@ function assemblelinkCA65(code, platform, warnings) { //logReadFiles:true, print:print_fn, printErr:print_fn, - //locateFile: function(s) { return "" + s; }, }); var FS = LD65['FS']; setupFS(FS); @@ -379,7 +399,6 @@ function compileCC65(code, platform) { //logReadFiles:true, print:print_fn, printErr:match_fn, - //locateFile: function(s) { return "" + s; }, }); var FS = CC65['FS']; setupFS(FS); @@ -395,13 +414,13 @@ function compileCC65(code, platform) { function assembleZ80ASM(code, platform, ccompile) { load("z80asm"); + var origin = 0; // TODO: configurable var Module = z80asm({ noInitialRun:true, //logReadFiles:true, print:print_fn, printErr:print_fn, TOTAL_MEMORY:64*1024*1024, - //locateFile: function(s) { return "" + s; }, }); var FS = Module['FS']; //setupFS(FS); @@ -410,10 +429,9 @@ function assembleZ80ASM(code, platform, ccompile) { code = code.replace(/^(\w+)\s*=/gim,"DEFC $1 ="); code = code.replace(/\tXREF /gi,"\tEXTERN "); code = code.replace(/\tXDEF /gi,"\tPUBLIC "); - //console.log(code.split("\n")); FS.writeFile("main.asm", code); try { - Module.callMain(["-b", "-s", "-l", "-m", "main.asm"]); + Module.callMain(["-b", "-s", "-l", "-m", "-g", "--origin=" + origin.toString(16), "main.asm"]); try { var aerr = FS.readFile("main.err", {'encoding':'utf8'}); // TODO if (aerr.length) { @@ -433,13 +451,14 @@ l_main00101 = 0003, L: test */ var amap = FS.readFile("main.map", {'encoding':'utf8'}); // TODO var aout = FS.readFile("main.bin", {'encoding':'binary'}); - var asmlines = parseListing(alst, /(\d+)(\s+)([0-9A-F]+)\s+([0-9A-F][0-9A-F ]*[0-9A-F])\s+([A-Z_.].+)/i, 1, 2, 3); - var srclines = parseListing(alst, /(\d+)\s+([0-9A-F]+)\s+;[(]null[)]:(\d+)/i, 3, 2, 1); + var asmlines = parseListing(alst, /^(\d+)\s+([0-9A-F]+)\s+([0-9A-F][0-9A-F ]*[0-9A-F])\s+/i, 1, 2, 3, 4); + var srclines = parseListing(alst, /^(\d+)\s+([0-9A-F]+)\s+;[(]null[)]:(\d+)/i, 3, 2, 1); return { exitstatus:Module.EXITSTATUS, output:aout, errors:[], lines:ccompile ? srclines : asmlines, + listing:ccompile ? asmlines : null, intermediate:{listing:alst, mapfile:amap}, }; } catch (e) { @@ -447,31 +466,142 @@ l_main00101 = 0003, L: test } } +var PLATFORM_PARAMS = { + 'spaceinv': { + code_start: 0x0, + code_size: 0x2000, + data_start: 0x2000, + data_size: 0x400, + }, +}; + +function hexToArray(s, ofs) { + var buf = new ArrayBuffer(s.length/2); + var arr = new Uint8Array(buf); + for (var i=0; i (.+)/; // TODO + function match_fn(s) { + var matches = match_re.exec(s); + if (matches) { + var errline = parseInt(matches[1]); + msvc_errors.push({ + line:1, // TODO: errline, + msg:matches[1] + }); + } + } + var ASZ80 = sdasz80({ + noInitialRun:true, + //logReadFiles:true, + print:match_fn, + printErr:match_fn, + }); + var FS = ASZ80['FS']; + FS.writeFile("main.asm", code, {encoding:'utf8'}); + ASZ80.callMain(['-plosgffwy', 'main.asm']); + if (msvc_errors.length) { + return {errors:msvc_errors}; + } + objout = FS.readFile("main.rel", {encoding:'utf8'}); + lstout = FS.readFile("main.lst", {encoding:'utf8'}); + symout = FS.readFile("main.sym", {encoding:'utf8'}); + }{ + var LDZ80 = sdldz80({ + noInitialRun:true, + //logReadFiles:true, + print:match_msvc, + printErr:function() { }, + }); + var FS = LDZ80['FS']; + FS.writeFile("main.rel", objout, {encoding:'utf8'}); + //FS.writeFile("main.lst", lstout, {encoding:'utf8'}); + LDZ80.callMain(['-mjwx', '-i', 'main.ihx', '-y', + '-b', '_CODE=0x'+params.code_start.toString(16), + '-b', '_DATA=0x'+params.data_start.toString(16), + //'-k', '/usr/share/sdcc/lib/z80', + //'-l', 'z80', + 'main.rel']); + var hexout = FS.readFile("main.ihx", {encoding:'utf8'}); + var mapout = FS.readFile("main.noi", {encoding:'utf8'}); + var dbgout = FS.readFile("main.cdb", {encoding:'utf8'}); + // 0000 21 02 00 [10] 52 ld hl, #2 + // TODO: offset by start address? + var asmlines = parseListing(lstout, /^\s*([0-9A-F]+)\s+([0-9A-F][0-9A-F r]*[0-9A-F])\s+\[([0-9 ]+)\]\s+(\d+) (.*)/i, 4, 1, 2, 5, 3); + var srclines = parseSourceLines(lstout, /^\s+\d+ ;\(null\):(\d+):/i, /^\s*([0-9A-F]{4})/i); + console.log(lstout); // TODO + return { + exitstatus:LDZ80.EXITSTATUS, + output:parseIHX(hexout, params.code_start, params.code_size), + lines:ccompile ? srclines : asmlines, + listing:ccompile ? asmlines : null, + errors:msvc_errors, // TODO? + intermediate:{listing:lstout, map:mapout, symbols:symout, debug:dbgout}, + }; + } +} + function compileSDCC(code, platform) { load("sdcc"); + var params = PLATFORM_PARAMS[platform]; + if (!params) throw Error("Platform not supported: " + platform); var SDCC = sdcc({ noInitialRun:true, noFSInit:true, - //logReadFiles:true, print:print_fn, printErr:match_msvc, - //locateFile: function(s) { return "" + s; }, }); var FS = SDCC['FS']; setupStdin(FS, code); setupFS(FS); //FS.writeFile("main.c", code, {encoding:'utf8'}); msvc_errors = []; - SDCC.callMain(['--vc', '--c1mode', '--std-sdcc99', '--fomit-frame-pointer', - '-mz80', '--asm=z80asm', '-o', 'test.asm']); + SDCC.callMain(['--vc', '--c1mode', '--std-sdcc99', '-mz80', + '--debug', + //'--asm=z80asm', + '--fomit-frame-pointer', '--opt-code-speed', + '-o', 'test.asm']); try { var asmout = FS.readFile("test.asm", {encoding:'utf8'}); - var result = assembleZ80ASM(asmout, platform, true); - result.errors = result.errors.concat(msvc_errors); - return result; } catch(e) { return {errors:msvc_errors}; } + var result = assemblelinkSDASZ80(asmout, platform, true); + result.errors = result.errors.concat(msvc_errors); + return result; } var TOOLS = { @@ -481,6 +611,7 @@ var TOOLS = { 'cc65': compileCC65, 'ca65': assemblelinkCA65, 'z80asm': assembleZ80ASM, + 'sdasz80': assemblelinkSDASZ80, 'sdcc': compileSDCC, } diff --git a/test/cli/worker.js b/test/cli/worker.js index 3d192e6b..a4c56c7f 100644 --- a/test/cli/worker.js +++ b/test/cli/worker.js @@ -93,12 +93,15 @@ describe('Worker', function() { compile('z80asm', 'ddwiuweq', 'none', done, 0, 0, 1); }); it('should assemble Z80ASM', function(done) { - compile('z80asm', '\tMODULE test\n\tXREF _puts\n\tld hl,$0000\n\tret\n', 'none', done, 4, 2, 0); + compile('z80asm', '\tMODULE test\n\tXREF _puts\n\tld hl,$0000\n\tret\n', 'spaceinv', done, 4, 2, 0); }); it('should NOT compile SDCC', function(done) { - compile('sdcc', 'foobar', 'none', done, 0, 0, 1); + compile('sdcc', 'foobar', 'spaceinv', done, 0, 0, 1); + }); + it('should assemble SDASZ80', function(done) { + compile('sdcc', '\tMODULE test\n\tXREF _puts\n\tld hl,$0000\n\tret\n', 'spaceinv', done, 8192, 2, 1); }); it('should compile SDCC', function(done) { - compile('sdcc', 'int main(int argc) {\nint x=1; int y=2;\nreturn x+y+argc;\n}', 'none', done, 16, 2, 0); + compile('sdcc', 'int foo=0;\nint main(int argc) {\nint x=1;\nint y=2+argc;\nreturn x+y+argc;\n}', 'spaceinv', done, 8192, 3, 0); }); });