var DracoEncoderModule = function(DracoEncoderModule) { DracoEncoderModule = DracoEncoderModule || {}; var Module = DracoEncoderModule; // included code may refer to Module (e.g. from file packager), so alias it var isRuntimeInitialized=false;var isModuleParsed=false;Module["onRuntimeInitialized"]=(function(){isRuntimeInitialized=true;if(isModuleParsed){if(typeof Module["onModuleLoaded"]==="function"){Module["onModuleLoaded"](Module)}}});Module["onModuleParsed"]=(function(){isModuleParsed=true;if(isRuntimeInitialized){if(typeof Module["onModuleLoaded"]==="function"){Module["onModuleLoaded"](Module)}}});function isVersionSupported(versionString){if(typeof versionString!=="string")return false;const version=versionString.split(".");if(version.length<2||version.length>3)return false;if(version[0]==1&&version[1]>=0&&version[1]<=2)return true;if(version[0]!=0||version[1]>10)return false;return true}Module["isVersionSupported"]=isVersionSupported;var Module;if(!Module)Module=(typeof DracoEncoderModule!=="undefined"?DracoEncoderModule:null)||{};var moduleOverrides={};var key;for(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 shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);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};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);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"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}else{Module["read"]=function shell_read(){throw"no read() available"}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}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}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}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);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function shell_print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function shell_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(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw new Error("Unknown runtime environment. Where are we?")}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"}if(!Module["quit"]){Module["quit"]=(function(status,toThrow){throw toThrow})}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value;return 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};var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}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"]};function ccall(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)}}var ALLOC_STATIC=2;var ALLOC_NONE=4;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 stop;ptr=ret;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)}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)}}}}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}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}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}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function demangle(func){return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(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)}var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;var MIN_TOTAL_MEMORY=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}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 allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}var OLD_TOTAL_MEMORY=TOTAL_MEMORY;TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){TOTAL_MEMORY=OLD_TOTAL_MEMORY;return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["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)}function addOnPreMain(cb){__ATMAIN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}assert(Math["imul"]&&Math["fround"]&&Math["clz32"]&&Math["trunc"],"this is a legacy browser, build with LEGACY_VM_SUPPORT");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 addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}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["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=Runtime.GLOBAL_BASE;STATICTOP=STATIC_BASE+24752;__ATINIT__.push();memoryInitializer="data:application/octet-stream;base64,tBsAAPwbAAAYAAAAAAAAAIwbAAAjHAAAtBsAAK4cAAAYAAAAAAAAAIwbAAByHQAAtBsAAKEfAAAwAAAAAAAAAIwbAADDHwAAtBsAAOgfAAAwAAAAAAAAALQbAAAzLQAASAAAAAAAAAC0GwAAGCAAAIAAAAAAAAAAtBsAAHEgAACQAAAAAAAAALQbAADFIAAAoAAAAAAAAAC0GwAA+SAAALAAAAAAAAAAjBsAACQhAAC0GwAASCEAAMgAAAAAAAAAjBsAAOYhAAC0GwAAFyMAAOAAAAAAAAAAtBsAAK8jAACAAAAAAAAAALQbAAA4JAAA4AAAAAAAAAC0GwAA0iQAAOAAAAAAAAAAtBsAAGQlAADgAAAAAAAAALQbAAAKJgAA4AAAAAAAAAC0GwAApSYAAOAAAAAAAAAAtBsAADsnAABQAQAAAAAAAIwbAADmJwAAtBsAAJEoAABoAQAAAAAAALQbAAA2KQAAgAAAAAAAAAC0GwAAzCkAAGgBAAAAAAAAtBsAAHMqAABoAQAAAAAAALQbAAASKwAAaAEAAAAAAAC0GwAAxSsAAGgBAAAAAAAAtBsAAG0sAABoAQAAAAAAALQbAAClRAAAYAAAAAAAAAC0GwAATTIAAOgBAAAAAAAAtBsAAL4yAACQAAAAAAAAALQbAADWNAAACAIAAAAAAACMGwAAjDUAALQbAAD1NwAAIAIAAAAAAAC0GwAApTgAAOgBAAAAAAAAtBsAAOY5AAAgAgAAAAAAALQbAAAvOwAAIAIAAAAAAAC0GwAA2TsAACACAAAAAAAAtBsAAJc8AAAgAgAAAAAAALQbAABKPQAAIAIAAAAAAAC0GwAA+D0AAJACAAAAAAAAjBsAALs+AAC0GwAAfj8AAKgCAAAAAAAAtBsAADtAAADoAQAAAAAAALQbAADpQAAAqAIAAAAAAAC0GwAAqEEAAKgCAAAAAAAAtBsAAF9CAACoAgAAAAAAALQbAAAqQwAAqAIAAAAAAAC0GwAA6kMAAKgCAAAAAAAAtBsAANBEAABgAAAAAAAAALQbAADURQAAmAMAAAAAAAC0GwAA1kgAAIADAAAAAAAAjBsAAPVFAAC0GwAAPUYAAFADAAAAAAAAjBsAAAdHAACMGwAAIUcAALQbAABcRwAAUAMAAAAAAAC0GwAAGUgAAFADAAAAAAAAjBsAACJJAAC0GwAAUEkAAIADAAAAAAAAtBsAAKNJAADIAwAAAAAAALQbAADpSQAAmAMAAAAAAAC0GwAAz0kAAFADAAAAAAAAjBsAAAlKAAC0GwAA30oAAMgDAAAAAAAAtBsAAAFLAADIAwAAAAAAALQbAACSTgAAAAQAAAAAAACMGwAAn1EAAIwbAACxXAAAtBsAABFdAAAgBAAAAAAAALQbAAC+XAAAMAQAAAAAAACMGwAA31wAALQbAADsXAAAEAQAAAAAAAC0GwAA810AAAgEAAAAAAAAtBsAAANeAABIBAAAAAAAALQbAAA4XgAAIAQAAAAAAAC0GwAAFF4AAGgEAAAAAAAAAAAAAAgAAAABAAAAAgAAAAEAAAABAAAAAQAAAAAAAAAgAAAAAwAAAAQAAAACAAAAAgAAAAIAAAAAAADAAAAAwAAAAAAwAAAABQAAAAYAAAABAAAAAwAAAAEAAAAEAAAABQAAAAIAAAAGAAAABwAAAAMAAAABAAAACAAAAAAAAAA4AAAABQAAAAcAAAABAAAAAwAAAAQAAAAEAAAABQAAAAIAAAAGAAAABwAAAAMAAAAJAAAACgAAAAAAAABIAAAACAAAAAkAAAADAAAACwAAAAwAAAAEAAAADQAAAAUAAAAGAAAADgAAAA8AAAAFAAAAAAAAAFAAAAAKAAAACwAAAAYAAAAQAAAABwAAABEAAAASAAAABwAAABMAAAAUAAAACAAAABUAAAAWAAAACQAAAAEAAAAAAAAAYAAAAAwAAAANAAAACAAAAAsAAAAXAAAABAAAAA0AAAAFAAAACgAAAA4AAAAPAAAACQAAAAIAAAAKAAAAAAAAwAAAAACAAAAADgAAAA8AAAABAAAACwAAAAEAAAAMAAAAGAAAABkAAAANAAAADgAAABoAAAABAAAAAAAAAHAAAAAOAAAAEAAAAA8AAAALAAAAEAAAAAwAAAAYAAAAGQAAAA0AAAAOAAAAGgAAAAEAAAAAAAAAMAEAAA4AAAARAAAAEQAAAAsAAAASAAAADAAAABgAAAAZAAAADQAAAA4AAAAaAAAAAgAAAAAAAAAgAQAADgAAABIAAAATAAAACwAAABQAAAAMAAAAGAAAABkAAAANAAAADgAAABoAAAADAAAAAAAAABABAAATAAAAFAAAABUAAAALAAAAFgAAAAwAAAAYAAAAGQAAAA0AAAAOAAAAGwAAAAQAAAAAAAAAAAEAABUAAAAWAAAAFwAAAAsAAAAYAAAAGQAAABwAAAAdAAAADQAAAA4AAAAeAAAABQAAAAAAAADwAAAAFwAAABgAAAAaAAAACwAAABsAAAAcAAAAHwAAACAAAAANAAAADgAAACEAAAAGAAAAAAAAANAAAAAZAAAAGgAAAB0AAAALAAAAHgAAAB8AAAAiAAAAIwAAAA0AAAAOAAAAJAAAAAcAAAAAAAAAuAAAABsAAAAcAAAAJQAAACAAAAADAAAAAAAAALgBAAAOAAAAHQAAACEAAAALAAAAIgAAAAwAAAAYAAAAGQAAAA0AAAAOAAAAGgAAAAgAAAAAAAAAqAEAAA4AAAAeAAAAIwAAAAsAAAAkAAAADAAAABgAAAAZAAAADQAAAA4AAAAaAAAACQAAAAAAAACYAQAAHwAAACAAAAAlAAAACwAAACYAAAAMAAAAGAAAABkAAAANAAAADgAAACYAAAAKAAAAAAAAAIgBAAAhAAAAIgAAACcAAAALAAAAKAAAACkAAAAnAAAAKAAAAA0AAAAOAAAAKQAAAAsAAAAAAAAAeAEAACMAAAAkAAAAKgAAAAsAAAArAAAALAAAACoAAAArAAAADQAAAA4AAAAsAAAADAAAAAAAAABYAQAAJQAAACYAAAAtAAAACwAAAC4AAAAvAAAALQAAAC4AAAANAAAADgAAAC8AAAANAAAAAAAAAEABAAAnAAAAKAAAADAAAAAwAAAABAAAAAAAAADIAQAAKQAAACoAAAALAAAACwAAABcAAAAEAAAAMQAAADEAAAAyAAAADgAAAA8AAAAJAAAABQAAAAwAAAAAAAAA2AEAACsAAAAsAAAAMwAAADQAAAA1AAAANgAAADIAAAAzAAAANwAAADgAAAA0AAAADgAAAAAAAABwAgAAKwAAAC0AAAA5AAAANAAAADoAAAA2AAAAMgAAADMAAAA3AAAAOAAAADQAAAAPAAAAAAAAAGACAAArAAAALgAAADsAAAA0AAAAPAAAADYAAAAyAAAAMwAAADcAAAA4AAAANAAAABAAAAAAAAAAUAIAAC8AAAAwAAAAPQAAADQAAAA+AAAANgAAADIAAAAzAAAANwAAADgAAAA1AAAAEQAAAAAAAABAAgAAMQAAADIAAAA/AAAANAAAAEAAAABBAAAANgAAADcAAAA3AAAAOAAAADgAAAASAAAAAAAAADACAAAzAAAANAAAAEIAAAA0AAAAQwAAAEQAAAA5AAAAOgAAADcAAAA4AAAAOwAAABMAAAAAAAAAEAIAADUAAAA2AAAARQAAADQAAABGAAAARwAAADwAAAA9AAAANwAAADgAAAA+AAAAFAAAAAAAAAD4AQAANwAAADgAAAA/AAAASAAAAAYAAAAAAAAA+AIAACsAAAA5AAAASQAAADQAAABKAAAANgAAADIAAAAzAAAANwAAADgAAAA0AAAAFQAAAAAAAADoAgAAKwAAADoAAABLAAAANAAAAEwAAAA2AAAAMgAAADMAAAA3AAAAOAAAADQAAAAWAAAAAAAAANgCAAA7AAAAPAAAAE0AAAA0AAAATgAAADYAAAAyAAAAMwAAADcAAAA4AAAAQAAAABcAAAAAAAAAyAIAAD0AAAA+AAAATwAAADQAAABQAAAAUQAAAEEAAABCAAAANwAAADgAAABDAAAAGAAAAAAAAAC4AgAAPwAAAEAAAABSAAAANAAAAFMAAABUAAAARAAAAEUAAAA3AAAAOAAAAEYAAAAZAAAAAAAAAJgCAABBAAAAQgAAAFUAAAA0AAAAVgAAAFcAAABHAAAASAAAADcAAAA4AAAASQAAABoAAAAAAAAAgAIAAEMAAABEAAAASgAAAFgAAAAHAAAAAAAAAAgDAABFAAAARgAAAA0AAAALAAAAFwAAAAQAAABLAAAAWQAAAFoAAAAOAAAADwAAAAkAAAACAAAADgAAAAAAAAAYAwAARwAAAEgAAABbAAAAXAAAAF0AAABeAAAAXwAAAGAAAABhAAAATAAAAE0AAABiAAAAYwAAAE4AAABPAAAAZAAAAAAAAAAoAwAASQAAAEoAAABQAAAAUQAAAFIAAABTAAAAVAAAAGUAAABmAAAAVQAAAGcAAAABAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAABAAwAASwAAAEwAAABWAAAAaAAAAAAAAAA4AwAATQAAAE4AAABPAAAAAAAAwAAAAABgAwAAUAAAAFEAAABXAAAAaQAAAAAAAABYAwAAUgAAAFMAAABUAAAAAAAAAHADAABVAAAAVgAAAFgAAABqAAAAAAAAAIgDAABXAAAAWAAAAFkAAABaAAAAWwAAAFwAAABdAAAAawAAAGwAAABeAAAAbQAAAAAAAAABAAAABQAAAAIAAAAFAAAAAwAAAAUAAAAEAAAAAAAAAJgDAABZAAAAWgAAAFsAAAABAAAAbgAAAF4AAABfAAAAYAAAAGEAAAABAAAAXwAAAGIAAABvAAAAYAAAAGEAAAABAAAAAAAAAKgDAABZAAAAWwAAAFsAAABwAAAAbgAAAF4AAABfAAAAYAAAAGEAAABiAAAAXwAAAGIAAABvAAAAYAAAAGEAAABxAAAAAAAAALgDAABcAAAAXQAAAGMAAAByAAAAAAAAAMgDAABZAAAAXgAAAHMAAAABAAAAbgAAAF4AAAB0AAAAYAAAAGEAAAABAAAAXwAAAGIAAAAAAAAA0AMAAFkAAABfAAAAcwAAAHUAAABuAAAAXgAAAHYAAABgAAAAYQAAAGQAAABfAAAAYgAAAAAAAADgAwAAWQAAAGAAAABzAAAAdwAAAG4AAABeAAAAeAAAAGAAAABhAAAAZQAAAF8AAABiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAVlVVVQIAAAAAAAAAAgAAAJqZmZkDAAAAVlVVVQMAAAAlSZIkAwAAAAAAAAADAAAAyHEcxwQAAACamZmZBAAAAEYXXXQEAAAAVlVVVQQAAAA8sRM7BAAAACVJkiQEAAAAEhEREQQAAAAAAAAABAAAAOLh4eEFAAAAyHEcxwUAAADLayivBQAAAJqZmZkFAAAAh2EYhgUAAABGF110BQAAAJGFLGQFAAAAVlVVVQUAAAB7FK5HBQAAADyxEzsFAAAA20toLwUAAAAlSZIkBQAAABKWexoFAAAAEhEREQUAAACFEEIIBQAAAAAAAAAFAAAACB988AYAAADi4eHhBgAAANVBHdQGAAAAyHEcxwYAAABNkc+6BgAAAMtrKK8GAAAApUEapAYAAACamZmZBgAAAPoYnI8GAAAAh2EYhgYAAAAY9AV9BgAAAEYXXXQGAAAAbcEWbAYAAACRhSxkBgAAALqCmFwGAAAAVlVVVQYAAABzCl5OBgAAAHsUrkcGAAAAQkFBQQYAAAA8sRM7BgAAALPPITUGAAAA20toLwYAAACfEuQpBgAAACVJkiQGAAAA3UdwHwYAAAASlnsaBgAAAPjlsRUGAAAAEhEREQYAAAD8FJcMBgAAAIUQQggGAAAABUEQBAYAAAAAAAAABgAAAPmBH/gHAAAACB988AcAAADAGhPpBwAAAOLh4eEHAAAAbAfm2gcAAADVQR3UBwAAAJFohc0HAAAAyHEcxwcAAAA5cODABwAAAE2Rz7oHAAAATxvotAcAAADLayivBwAAAAf2jqkHAAAApUEapAcAAABS6cieBwAAAJqZmZkHAAAAzg+LlAcAAAD6GJyPBwAAAPeQy4oHAAAAh2EYhgcAAACCgYGBBwAAABj0BX0HAAAAGMikeAcAAABGF110BwAAAMEFLnAHAAAAbcEWbAcAAABpgRZoBwAAAJGFLGQHAAAABhZYYAcAAAC6gphcBwAAAAkj7VgHAAAAVlVVVQcAAACvftBRBwAAAHMKXk4HAAAABmr9SgcAAAB7FK5HBwAAAFeGb0QHAAAAQkFBQQcAAADPyyI+BwAAADyxEzsHAAAAOYETOAcAAACzzyE1BwAAAKM0PjIHAAAA20toLwcAAADZtJ8sBwAAAJ8S5CkHAAAAiQs1JwcAAAAlSZIkBwAAABN4+yEHAAAA3UdwHwcAAADbavAcBwAAABKWexoHAAAAGYERGAcAAAD45bEVBwAAABSBXBMHAAAAEhEREQcAAAC/Vs8OBwAAAPwUlwwHAAAApxBoCgcAAACFEEIIBwAAADDdJAYHAAAABUEQBAcAAAARCAQCBwAAAAAAAAAHAAAAIPAH/AgAAAD5gR/4CAAAAOVZRvQIAAAACB988AgAAAAxe8DsCAAAAMAaE+kIAAAAkaxz5QgAAADi4eHhCAAAAEBuXd4IAAAAbAfm2ggAAABMZXvXCAAAANVBHdQIAAAA91jL0AgAAACRaIXNCAAAAFYwS8oIAAAAyHEcxwgAAAAd8PjDCAAAADlw4MAIAAAAmrjSvQgAAABNkc+6CAAAAN7D1rcIAAAATxvotAgAAAAHZAOyCAAAAMtrKK8IAAAArQFXrAgAAAAH9o6pCAAAAG4a0KYIAAAApUEapAgAAACYP22hCAAAAFLpyJ4IAAAA7xQtnAgAAACamZmZCAAAAIFPDpcIAAAAzg+LlAgAAACetA+SCAAAAPoYnI8IAAAA1BgwjQgAAAD3kMuKCAAAAAtfbogIAAAAh2EYhggAAACsd8mDCAAAAIKBgYEIAAAA0V9AfwgAAAAY9AV9CAAAAI8g0noIAAAAGMikeAgAAABEzn12CAAAAEYXXXQIAAAA9YdCcggAAADBBS5wCAAAALV2H24IAAAAbcEWbAgAAAAWzRNqCAAAAGmBFmgIAAAApsYeZggAAACRhSxkCAAAAHGnP2IIAAAABhZYYAgAAACOu3VeCAAAALqCmFwIAAAAsVbAWggAAAAJI+1YCAAAAMbTHlcIAAAAVlVVVQgAAACQlJBTCAAAAK9+0FEIAAAAUQEVUAgAAABzCl5OCAAAAHOIq0wIAAAABmr9SggAAAA8nlNJCAAAAHsUrkcIAAAAgLwMRggAAABXhm9ECAAAAF5i1kIIAAAAQkFBQQgAAAD8E7A/CAAAAM/LIj4IAAAASFqZPAgAAAA8sRM7CAAAAMLCkTkIAAAAOYETOAgAAAA+35g2CAAAALPPITUIAAAAtkWuMwgAAACjND4yCAAAABSQ0TAIAAAA20toLwgAAAAFXAIuCAAAANm0nywIAAAA0UpAKwgAAACfEuQpCAAAACkBiygIAAAAiQs1JwgAAAAJJ+IlCAAAACVJkiQIAAAAimdFIwgAAAATePshCAAAAMdwtCAIAAAA3UdwHwgAAAC08y4eCAAAANtq8BwIAAAABaS0GwgAAAASlnsaCAAAAAk4RRkIAAAAGYERGAgAAACVaOAWCAAAAPjlsRUIAAAA4fCFFAgAAAAUgVwTCAAAAHaONRIIAAAAEhEREQgAAAAQAe8PCAAAAL9Wzw4IAAAAiQqyDQgAAAD8FJcMCAAAAMNufgsIAAAApxBoCggAAACR81MJCAAAAIUQQggIAAAApWAyBwgAAAAw3SQGCAAAAH5/GQUIAAAABUEQBAgAAABSGwkDCAAAABEIBAIIAAAAAgEBAQgAAAAAAADAAAAAAPADAABhAAAAYgAAAAgAAAADAAAAeQAAAGMAAAAJAAAAAAAAwAAAAAAABAAAZAAAAGUAAAAKAAAABAAAAHkAAABjAAAACwAAAAAAAMADAAAA6BcAAAUAAAAAAAAAAAAAAHoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAQAAAApGAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHhgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAABkAAAA6AMAABAnAACghgEAQEIPAICWmAAA4fUFX3CJAP8JLw8AAAAAAgAAAAMAAAAFAAAABwAAAAsAAAANAAAAEQAAABMAAAAXAAAAHQAAAB8AAAAlAAAAKQAAACsAAAAvAAAANQAAADsAAAA9AAAAQwAAAEcAAABJAAAATwAAAFMAAABZAAAAYQAAAGUAAABnAAAAawAAAG0AAABxAAAAfwAAAIMAAACJAAAAiwAAAJUAAACXAAAAnQAAAKMAAACnAAAArQAAALMAAAC1AAAAvwAAAMEAAADFAAAAxwAAANMAAAABAAAACwAAAA0AAAARAAAAEwAAABcAAAAdAAAAHwAAACUAAAApAAAAKwAAAC8AAAA1AAAAOwAAAD0AAABDAAAARwAAAEkAAABPAAAAUwAAAFkAAABhAAAAZQAAAGcAAABrAAAAbQAAAHEAAAB5AAAAfwAAAIMAAACJAAAAiwAAAI8AAACVAAAAlwAAAJ0AAACjAAAApwAAAKkAAACtAAAAswAAALUAAAC7AAAAvwAAAMEAAADFAAAAxwAAANEAAAACAAAAqFwAAAAAAAAQBAAAZgAAAGcAAABoAAAAaQAAABIAAAABAAAAAQAAAAEAAAAAAAAAOAQAAGYAAABqAAAAaAAAAGkAAAASAAAAAgAAAAIAAAACAAAAAAAAAEgEAABrAAAAbAAAAHsAAAAAAAAAWAQAAGsAAABtAAAAewAAAE41ZHJhY28yOEF0dHJpYnV0ZU9jdGFoZWRyb25UcmFuc2Zvcm1FAE41ZHJhY28xOEF0dHJpYnV0ZVRyYW5zZm9ybUUAL2dvb2dsZS9zcmMvY2xvdWQvb3N0YXZhL2ZpeC9nb29nbGUzL3RoaXJkX3BhcnR5L2RyYWNvL3NyYy9kcmFjby9hdHRyaWJ1dGVzL2F0dHJpYnV0ZV9vY3RhaGVkcm9uX3RyYW5zZm9ybS5jYwBONWRyYWNvMzBBdHRyaWJ1dGVRdWFudGl6YXRpb25UcmFuc2Zvcm1FAGlzX2luaXRpYWxpemVkKCkAL2dvb2dsZS9zcmMvY2xvdWQvb3N0YXZhL2ZpeC9nb29nbGUzL3RoaXJkX3BhcnR5L2RyYWNvL3NyYy9kcmFjby9hdHRyaWJ1dGVzL2F0dHJpYnV0ZV9xdWFudGl6YXRpb25fdHJhbnNmb3JtLmNjAEdlbmVyYXRlUG9ydGFibGVBdHRyaWJ1dGUATjVkcmFjbzE3QXR0cmlidXRlc0VuY29kZXJFAChjb21wcmVzc2lvbl9sZXZlbCkgPD0gKDYpAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXgvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vY29tcHJlc3Npb24vYXR0cmlidXRlcy9rZF90cmVlX2F0dHJpYnV0ZXNfZW5jb2Rlci5jYwBFbmNvZGVEYXRhTmVlZGVkQnlQb3J0YWJsZVRyYW5zZm9ybXMAKHRydWUpID09ICgoZW5kIC0gYmVnaW4pID4gMCkAL2dvb2dsZS9zcmMvY2xvdWQvb3N0YXZhL2ZpeC9nb29nbGUzL3RoaXJkX3BhcnR5L2RyYWNvL3NyYy9kcmFjby9jb21wcmVzc2lvbi9wb2ludF9jbG91ZC9hbGdvcml0aG1zL2R5bmFtaWNfaW50ZWdlcl9wb2ludHNfa2RfdHJlZV9lbmNvZGVyLmgARW5jb2RlSW50ZXJuYWwAL2dvb2dsZS9zcmMvY2xvdWQvb3N0YXZhL2ZpeC9nb29nbGUzL3RoaXJkX3BhcnR5L2RyYWNvL3NyYy9kcmFjby9jb3JlL2JpdF9jb2RlcnMvZGlyZWN0X2JpdF9lbmNvZGVyLmgAKHRydWUpID09IChlbmQgLSBiZWdpbiAhPSAwKQBHZXRBeGlzAE1ldGhvZCBub3Qgc3VwcG9ydGVkLiAKAE41ZHJhY28yM0tkVHJlZUF0dHJpYnV0ZXNFbmNvZGVyRQBONWRyYWNvMjZTZXF1ZW50aWFsQXR0cmlidXRlRW5jb2RlckUATjVkcmFjbzM3U2VxdWVudGlhbEF0dHJpYnV0ZUVuY29kZXJzQ29udHJvbGxlckUATjVkcmFjbzI4UHJlZGljdGlvblNjaGVtZURlbHRhRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVFRQBONWRyYWNvMjNQcmVkaWN0aW9uU2NoZW1lRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVFRQBONWRyYWNvMzdQcmVkaWN0aW9uU2NoZW1lVHlwZWRFbmNvZGVySW50ZXJmYWNlSWlpRUUATjVkcmFjbzMyUHJlZGljdGlvblNjaGVtZUVuY29kZXJJbnRlcmZhY2VFAE41ZHJhY28yNVByZWRpY3Rpb25TY2hlbWVJbnRlcmZhY2VFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQAvZ29vZ2xlL3NyYy9jbG91ZC9vc3RhdmEvZml4L2dvb2dsZTMvdGhpcmRfcGFydHkvZHJhY28vc3JjL2RyYWNvL2NvbXByZXNzaW9uL2F0dHJpYnV0ZXMvcHJlZGljdGlvbl9zY2hlbWVzL3ByZWRpY3Rpb25fc2NoZW1lX3dyYXBfdHJhbnNmb3JtX2Jhc2UuaABONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbEVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ0TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNQb3J0YWJsZUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28zNk1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzU2TWVzaFByZWRpY3Rpb25TY2hlbWVDb25zdHJhaW5lZE11bHRpUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280NU1lc2hQcmVkaWN0aW9uU2NoZW1lTXVsdGlQYXJhbGxlbG9ncmFtRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQwTWVzaFByZWRpY3Rpb25TY2hlbWVQYXJhbGxlbG9ncmFtRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQyTWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxFbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVFbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ0TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNQb3J0YWJsZUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMzZNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc0VuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNTZNZXNoUHJlZGljdGlvblNjaGVtZUNvbnN0cmFpbmVkTXVsdGlQYXJhbGxlbG9ncmFtRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280NU1lc2hQcmVkaWN0aW9uU2NoZW1lTXVsdGlQYXJhbGxlbG9ncmFtRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280ME1lc2hQcmVkaWN0aW9uU2NoZW1lUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQB1c2VfYnVpbHRfaW5fYXR0cmlidXRlX2NvbXByZXNzaW9uAE41ZHJhY28zM1NlcXVlbnRpYWxJbnRlZ2VyQXR0cmlidXRlRW5jb2RlckUAKG1heF9xdWFudGl6ZWRfdmFsdWUgJSAyKSA9PSAoMSkAL2dvb2dsZS9zcmMvY2xvdWQvb3N0YXZhL2ZpeC9nb29nbGUzL3RoaXJkX3BhcnR5L2RyYWNvL3NyYy9kcmFjby9jb21wcmVzc2lvbi9hdHRyaWJ1dGVzL3ByZWRpY3Rpb25fc2NoZW1lcy9wcmVkaWN0aW9uX3NjaGVtZV9ub3JtYWxfb2N0YWhlZHJvbl90cmFuc2Zvcm1fYmFzZS5oAHNldF9tYXhfcXVhbnRpemVkX3ZhbHVlAChxKSA+PSAoMikAL2dvb2dsZS9zcmMvY2xvdWQvb3N0YXZhL2ZpeC9nb29nbGUzL3RoaXJkX3BhcnR5L2RyYWNvL3NyYy9kcmFjby9jb21wcmVzc2lvbi9hdHRyaWJ1dGVzL25vcm1hbF9jb21wcmVzc2lvbl91dGlscy5oAFNldFF1YW50aXphdGlvbkJpdHMAKHEpIDw9ICgzMCkAZmFsc2UAL2dvb2dsZS9zcmMvY2xvdWQvb3N0YXZhL2ZpeC9nb29nbGUzL3RoaXJkX3BhcnR5L2RyYWNvL3NyYy9kcmFjby9jb21wcmVzc2lvbi9hdHRyaWJ1dGVzL3NlcXVlbnRpYWxfbm9ybWFsX2F0dHJpYnV0ZV9lbmNvZGVyLmgAQ3JlYXRlSW50UHJlZGljdGlvblNjaGVtZQAocHJlZF92YWxzWzBdKSA8PSAodGhpcy0+Y2VudGVyX3ZhbHVlKCkgKiAyKQAvZ29vZ2xlL3NyYy9jbG91ZC9vc3RhdmEvZml4L2dvb2dsZTMvdGhpcmRfcGFydHkvZHJhY28vc3JjL2RyYWNvL2NvbXByZXNzaW9uL2F0dHJpYnV0ZXMvcHJlZGljdGlvbl9zY2hlbWVzL3ByZWRpY3Rpb25fc2NoZW1lX25vcm1hbF9vY3RhaGVkcm9uX2Nhbm9uaWNhbGl6ZWRfZW5jb2RpbmdfdHJhbnNmb3JtLmgAQ29tcHV0ZUNvcnJlY3Rpb24AKHByZWRfdmFsc1sxXSkgPD0gKHRoaXMtPmNlbnRlcl92YWx1ZSgpICogMikAKG9yaWdfdmFsc1swXSkgPD0gKHRoaXMtPmNlbnRlcl92YWx1ZSgpICogMikAKG9yaWdfdmFsc1sxXSkgPD0gKHRoaXMtPmNlbnRlcl92YWx1ZSgpICogMikAKDApIDw9IChwcmVkX3ZhbHNbMF0pACgwKSA8PSAocHJlZF92YWxzWzFdKQAoMCkgPD0gKG9yaWdfdmFsc1swXSkAKDApIDw9IChvcmlnX3ZhbHNbMV0pAChzKSA8PSAoY2VudGVyX3ZhbHVlXykASXNJbkRpYW1vbmQAKHQpIDw9IChjZW50ZXJfdmFsdWVfKQAocykgPj0gKC1jZW50ZXJfdmFsdWVfKQAodCkgPj0gKC1jZW50ZXJfdmFsdWVfKQAoeCkgPD0gKHRoaXMtPmNlbnRlcl92YWx1ZSgpICogMikATWFrZVBvc2l0aXZlACgqcykgPD0gKGNlbnRlcl92YWx1ZV8pAEludmVydERpYW1vbmQAKCp0KSA8PSAoY2VudGVyX3ZhbHVlXykAKCpzKSA+PSAoLWNlbnRlcl92YWx1ZV8pACgqdCkgPj0gKC1jZW50ZXJfdmFsdWVfKQBONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFFbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRUVFAE41ZHJhY28yM1ByZWRpY3Rpb25TY2hlbWVFbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRUVFAHRoaXMtPklzSW5pdGlhbGl6ZWQoKQAvZ29vZ2xlL3NyYy9jbG91ZC9vc3RhdmEvZml4L2dvb2dsZTMvdGhpcmRfcGFydHkvZHJhY28vc3JjL2RyYWNvL2NvbXByZXNzaW9uL2F0dHJpYnV0ZXMvcHJlZGljdGlvbl9zY2hlbWVzL21lc2hfcHJlZGljdGlvbl9zY2hlbWVfZ2VvbWV0cmljX25vcm1hbF9wcmVkaWN0b3JfYXJlYS5oAENvbXB1dGVQcmVkaWN0ZWRWYWx1ZQAobm9ybWFsLkFic1N1bSgpKSA8PSAodXBwZXJfYm91bmQpAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXgvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vY29tcHJlc3Npb24vYXR0cmlidXRlcy9wcmVkaWN0aW9uX3NjaGVtZXMvbWVzaF9wcmVkaWN0aW9uX3NjaGVtZV9nZW9tZXRyaWNfbm9ybWFsX3ByZWRpY3Rvcl9iYXNlLmgAR2V0UG9zaXRpb25Gb3JDb3JuZXIATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXgvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vY29tcHJlc3Npb24vYXR0cmlidXRlcy9wcmVkaWN0aW9uX3NjaGVtZXMvbWVzaF9wcmVkaWN0aW9uX3NjaGVtZV9nZW9tZXRyaWNfbm9ybWFsX2VuY29kZXIuaABDb21wdXRlQ29ycmVjdGlvblZhbHVlcwAobnVtX2NvbXBvbmVudHMpID09ICgyKQAocHJlZF9ub3JtYWxfM2QuQWJzU3VtKCkpID09IChvY3RhaGVkcm9uX3Rvb2xfYm94Xy5jZW50ZXJfdmFsdWUoKSkAKHN0ZDo6YWJzKGludF92ZWNbMF0pICsgc3RkOjphYnMoaW50X3ZlY1sxXSkgKyBzdGQ6OmFicyhpbnRfdmVjWzJdKSkgPT0gKGNlbnRlcl92YWx1ZV8pAEludGVnZXJWZWN0b3JUb1F1YW50aXplZE9jdGFoZWRyYWxDb29yZHMAKGkpID09ICgwKQBHZXRQYXJlbnRBdHRyaWJ1dGVUeXBlAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVFbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQAvZ29vZ2xlL3NyYy9jbG91ZC9vc3RhdmEvZml4L2dvb2dsZTMvdGhpcmRfcGFydHkvZHJhY28vc3JjL2RyYWNvL2NvbXByZXNzaW9uL2F0dHJpYnV0ZXMvcHJlZGljdGlvbl9zY2hlbWVzL21lc2hfcHJlZGljdGlvbl9zY2hlbWVfdGV4X2Nvb3Jkc19wb3J0YWJsZV9lbmNvZGVyLmgATjVkcmFjbzQ0TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNQb3J0YWJsZUVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXgvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vY29tcHJlc3Npb24vYXR0cmlidXRlcy9wcmVkaWN0aW9uX3NjaGVtZXMvbWVzaF9wcmVkaWN0aW9uX3NjaGVtZV90ZXhfY29vcmRzX2VuY29kZXIuaABONWRyYWNvMzZNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc0VuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY281Nk1lc2hQcmVkaWN0aW9uU2NoZW1lQ29uc3RyYWluZWRNdWx0aVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDVNZXNoUHJlZGljdGlvblNjaGVtZU11bHRpUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280ME1lc2hQcmVkaWN0aW9uU2NoZW1lUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280NE1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzUG9ydGFibGVFbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzM2TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNFbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzU2TWVzaFByZWRpY3Rpb25TY2hlbWVDb25zdHJhaW5lZE11bHRpUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDVNZXNoUHJlZGljdGlvblNjaGVtZU11bHRpUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDBNZXNoUHJlZGljdGlvblNjaGVtZVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzMyU2VxdWVudGlhbE5vcm1hbEF0dHJpYnV0ZUVuY29kZXJFAE41ZHJhY28zOFNlcXVlbnRpYWxRdWFudGl6YXRpb25BdHRyaWJ1dGVFbmNvZGVyRQBwcmVkaWN0aW9uX3NjaGVtZQBlbmNvZGluZ19zcGVlZABkZWNvZGluZ19zcGVlZABxdWFudGl6YXRpb25fb3JpZ2luAHF1YW50aXphdGlvbl9yYW5nZQAgAGVuY29kaW5nX21ldGhvZABxdWFudGl6YXRpb25fYml0cwBJbnZhbGlkIGVuY29kaW5nIG1ldGhvZC4Ac3RhbmRhcmRfZWRnZWJyZWFrZXIAcHJlZGljdGl2ZV9lZGdlYnJlYWtlcgBlZGdlYnJlYWtlcl9tZXRob2QATjVkcmFjbzIyTWVzaEVkZ2VCcmVha2VyRW5jb2RlckUATjVkcmFjbzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUUATjVkcmFjbzIyTWVzaFRyYXZlcnNhbFNlcXVlbmNlcklOU18yMEVkZ2VCcmVha2VyVHJhdmVyc2VySU5TXzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVOU18zNk1lc2hBdHRyaWJ1dGVJbmRpY2VzRW5jb2RpbmdPYnNlcnZlcklTM19FRU5TXzE5RWRnZUJyZWFrZXJPYnNlcnZlckVFRUVFAE41ZHJhY28xNVBvaW50c1NlcXVlbmNlckUATjVkcmFjbzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMTFDb3JuZXJUYWJsZUVFRQBONWRyYWNvMjJNZXNoVHJhdmVyc2FsU2VxdWVuY2VySU5TXzIwRWRnZUJyZWFrZXJUcmF2ZXJzZXJJTlNfMjlDb3JuZXJUYWJsZVRyYXZlcnNhbFByb2Nlc3NvcklOU18xMUNvcm5lclRhYmxlRUVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzNfRUVOU18xOUVkZ2VCcmVha2VyT2JzZXJ2ZXJFRUVFRQBONWRyYWNvMjJNZXNoVHJhdmVyc2FsU2VxdWVuY2VySU5TXzI1UHJlZGljdGlvbkRlZ3JlZVRyYXZlcnNlcklOU18yOUNvcm5lclRhYmxlVHJhdmVyc2FsUHJvY2Vzc29ySU5TXzExQ29ybmVyVGFibGVFRUVOU18zNk1lc2hBdHRyaWJ1dGVJbmRpY2VzRW5jb2RpbmdPYnNlcnZlcklTM19FRUVFRUUAc3BsaXRfbWVzaF9vbl9zZWFtcwBONWRyYWNvMjZNZXNoRWRnZUJyZWFrZXJFbmNvZGVySW1wbElOU18zMU1lc2hFZGdlQnJlYWtlclRyYXZlcnNhbEVuY29kZXJFRUUATjVkcmFjbzM1TWVzaEVkZ2VCcmVha2VyRW5jb2RlckltcGxJbnRlcmZhY2VFAE41ZHJhY28yNk1lc2hFZGdlQnJlYWtlckVuY29kZXJJbXBsSU5TXzM4TWVzaEVkZ2VCcmVha2VyVHJhdmVyc2FsVmFsZW5jZUVuY29kZXJFRUUATjVkcmFjbzExTWVzaEVuY29kZXJFAGNvbXByZXNzX2Nvbm5lY3Rpdml0eQBONWRyYWNvMTVMaW5lYXJTZXF1ZW5jZXJFAE41ZHJhY28yMU1lc2hTZXF1ZW50aWFsRW5jb2RlckUATjVkcmFjbzE3UG9pbnRDbG91ZEVuY29kZXJFAEludmFsaWQgaW5wdXQgZ2VvbWV0cnkuAEZhaWxlZCB0byBpbml0aWFsaXplIGVuY29kZXIuAEZhaWxlZCB0byBlbmNvZGUgaW50ZXJuYWwgZGF0YS4ARmFpbGVkIHRvIGVuY29kZSBnZW9tZXRyeSBkYXRhLgBGYWlsZWQgdG8gZW5jb2RlIHBvaW50IGF0dHJpYnV0ZXMuAEZhaWxlZCB0byBlbmNvZGUgbWV0YWRhdGEuAERSQUNPAE41ZHJhY28yM1BvaW50Q2xvdWRLZFRyZWVFbmNvZGVyRQBONWRyYWNvMjdQb2ludENsb3VkU2VxdWVudGlhbEVuY29kZXJFAHN5bWJvbF9lbmNvZGluZ19tZXRob2QAc3ltYm9sX2VuY29kaW5nX2NvbXByZXNzaW9uX2xldmVsAChhbnNfLnN0YXRlKSA+PSAobF9yYW5zX2Jhc2UpAHdyaXRlX2VuZAAoYW5zXy5zdGF0ZSkgPCAobF9yYW5zX2Jhc2UgKiAyNTYpAChuYml0cykgPj0gKDApAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXgvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vY29yZS9lbmNvZGVyX2J1ZmZlci5oAFB1dEJpdHMAKG5iaXRzKSA8PSAoMzIpACh0cnVlKSA9PSAobmJpdHMgPD0gMzIpAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXgvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vY29yZS9iaXRfY29kZXJzL3JhbnNfYml0X2VuY29kZXIuY2MARW5jb2RlTGVhc3RTaWduaWZpY2FudEJpdHMzMgAodHJ1ZSkgPT0gKG5iaXRzID4gMCkAKGFucy0+c3RhdGUpID49ICgoMTAyNHUgKiA0KSkAL2dvb2dsZS9zcmMvY2xvdWQvb3N0YXZhL2ZpeC9nb29nbGUzL3RoaXJkX3BhcnR5L2RyYWNvL3NyYy9kcmFjby9jb3JlL2Fucy5oAGFuc193cml0ZV9lbmQAKGFucy0+c3RhdGUpIDwgKCgxMDI0dSAqIDQpICogMjU2KQAodmVydGV4X3ZhbGVuY2VfY2FjaGVfOF9iaXRfLnNpemUoKSkgPT0gKDApAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXgvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vbWVzaC9jb3JuZXJfdGFibGUuY2MAQ29tcHV0ZVZlcnRleENvcm5lcnMAKHZlcnRleF92YWxlbmNlX2NhY2hlXzMyX2JpdF8uc2l6ZSgpKSA9PSAoMCkAQ29tcHV0ZU9wcG9zaXRlQ29ybmVycwAodi52YWx1ZSgpKSA+PSAoMCkAQ29uZmlkZW50VmFsZW5jZQAodi52YWx1ZSgpKSA8IChudW1fdmVydGljZXMoKSkATjVkcmFjbzRNZXNoRQAoY29ybmVyLnZhbHVlKCkpIDwgKG51bV9jb3JuZXJzKCkpAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXgvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vbWVzaC9jb3JuZXJfdGFibGUuaABDb25maWRlbnRWZXJ0ZXgAKDApIDw9IChmYWNlX2lkLnZhbHVlKCkpAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXgvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vbWVzaC9tZXNoLmgAZmFjZQAoZmFjZV9pZC52YWx1ZSgpKSA8IChzdGF0aWNfY2FzdDxpbnQ+KGZhY2VzXy5zaXplKCkpKQAhaWRlbnRpdHlfbWFwcGluZ18AL2dvb2dsZS9zcmMvY2xvdWQvb3N0YXZhL2ZpeC9nb29nbGUzL3RoaXJkX3BhcnR5L2RyYWNvL3NyYy9kcmFjby9hdHRyaWJ1dGVzL3BvaW50X2F0dHJpYnV0ZS5oAFNldFBvaW50TWFwRW50cnkAKGF0dF9pZCkgPCAoc3RhdGljX2Nhc3Q8aW50MzJfdD4oYXR0cmlidXRlc18uc2l6ZSgpKSkAL2dvb2dsZS9zcmMvY2xvdWQvb3N0YXZhL2ZpeC9nb29nbGUzL3RoaXJkX3BhcnR5L2RyYWNvL3NyYy9kcmFjby9wb2ludF9jbG91ZC9wb2ludF9jbG91ZC5oAGF0dHJpYnV0ZQBhbGxvY2F0b3I8VD46OmFsbG9jYXRlKHNpemVfdCBuKSAnbicgZXhjZWVkcyBtYXhpbXVtIHN1cHBvcnRlZCBzaXplAGF0dF9pZCA+PSAwAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXgvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vcG9pbnRfY2xvdWQvcG9pbnRfY2xvdWQuY2MAU2V0QXR0cmlidXRlAE41ZHJhY28xMFBvaW50Q2xvdWRFACgwKSA8PSAoYXR0X2lkKQAoY29tcHJlc3Npb25fbGV2ZWxfKSA8PSAoNikAL2dvb2dsZS9zcmMvY2xvdWQvb3N0YXZhL2ZpeC9nb29nbGUzL3RoaXJkX3BhcnR5L2RyYWNvL3NyYy9kcmFjby9jb21wcmVzc2lvbi9wb2ludF9jbG91ZC9hbGdvcml0aG1zL2Zsb2F0X3BvaW50c190cmVlX2VuY29kZXIuY2MARmxvYXRQb2ludHNUcmVlRW5jb2RlcgBFbmNvZGVQb2ludENsb3VkS2RUcmVlSW50ZXJuYWwAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAETCQsLAAAJBgsAAAsABhEAAAAREREAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAANAAAABA0AAAAACQ4AAAAAAA4AAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAADwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAASEhIAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAAKAAAAAAoAAAAACQsAAAAAAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAE5BTgAwMTIzNDU2Nzg5QUJDREVGLgBUISIZDQECAxFLHAwQBAsdEh4naG5vcHFiIAUGDxMUFRoIFgcoJBcYCQoOGx8lI4OCfSYqKzw9Pj9DR0pNWFlaW1xdXl9gYWNkZWZnaWprbHJzdHl6e3wASWxsZWdhbCBieXRlIHNlcXVlbmNlAERvbWFpbiBlcnJvcgBSZXN1bHQgbm90IHJlcHJlc2VudGFibGUATm90IGEgdHR5AFBlcm1pc3Npb24gZGVuaWVkAE9wZXJhdGlvbiBub3QgcGVybWl0dGVkAE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AAGluZmluaXR5AG5hbgAlZAAlZgB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzOiAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZm9yZWlnbiBleGNlcHRpb24AdGVybWluYXRpbmcAdW5jYXVnaHQAU3Q5ZXhjZXB0aW9uAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAHB0aHJlYWRfb25jZSBmYWlsdXJlIGluIF9fY3hhX2dldF9nbG9iYWxzX2Zhc3QoKQBjYW5ub3QgY3JlYXRlIHB0aHJlYWQga2V5IGZvciBfX2N4YV9nZXRfZ2xvYmFscygpAGNhbm5vdCB6ZXJvIG91dCB0aHJlYWQgdmFsdWUgZm9yIF9fY3hhX2dldF9nbG9iYWxzKCkAdGVybWluYXRlX2hhbmRsZXIgdW5leHBlY3RlZGx5IHJldHVybmVkAFN0MTFsb2dpY19lcnJvcgBTdDEybGVuZ3RoX2Vycm9yAE4xMF9fY3h4YWJpdjExOV9fcG9pbnRlcl90eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fcGJhc2VfdHlwZV9pbmZvRQ==";var tempDoublePtr=STATICTOP;STATICTOP+=16;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()}function ___cxa_allocate_exception(size){return _malloc(size)}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:(function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var ptr in EXCEPTIONS.infos){var info=EXCEPTIONS.infos[ptr];if(info.adjusted===adjusted){return ptr}}return adjusted}),addRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++}),decRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0&&!info.rethrown){if(info.destructor){Module["dynCall_vi"](info.destructor,ptr)}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}}),clearRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0})};function ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(Runtime.setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(Runtime.setTempRet0(0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i>2];info.adjusted=thrown;return(Runtime.setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(Runtime.setTempRet0(throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}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);function ___gxx_personality_v0(){}var SYSCALLS={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}),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 ___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;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.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffer){___syscall146.buffers=[null,[],[]];___syscall146.printChar=(function(stream,curr){var buffer=___syscall146.buffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?Module["print"]:Module["printErr"])(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}})}for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Module["dynCall_v"](func);_pthread_once.seen[ptr]=1}function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}__ATEXIT__.push((function(){var fflush=Module["_fflush"];if(fflush)fflush(0);var printChar=___syscall146.printChar;if(!printChar)return;var buffers=___syscall146.buffers;if(buffers[1].length)printChar(1,10);if(buffers[2].length)printChar(2,10)}));DYNAMICTOP_PTR=Runtime.staticAlloc(4);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;var ASSERTIONS=false;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}function intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var decodeBase64=typeof atob==="function"?atob:(function(input){var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i2147483648)return false;b=new a(newBuffer);d=new c(newBuffer);f=new e(newBuffer);h=new g(newBuffer);j=new i(newBuffer);l=new k(newBuffer);n=new m(newBuffer);p=new o(newBuffer);buffer=newBuffer;return true} // EMSCRIPTEN_START_FUNCS function Mc(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+32|0;n=p+4|0;m=p;o=p+16|0;i=(_(e|0)|0)^31;if((e|0)>0)if(i>>>0>17){h=0;u=p;return h|0}else e=i+1|0;else e=1;do if(g){i=en(48)|0;f[n>>2]=i;f[n+8>>2]=-2147483600;f[n+4>>2]=33;j=i;k=19262;l=j+33|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));b[i+33>>0]=0;i=(Qh(g,n)|0)==0;if((b[n+11>>0]|0)<0)tq(f[n>>2]|0);if(!i){i=en(48)|0;f[n>>2]=i;f[n+8>>2]=-2147483600;f[n+4>>2]=33;j=i;k=19262;l=j+33|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));b[i+33>>0]=0;i=Hk(g,n)|0;if((b[n+11>>0]|0)<0)tq(f[n>>2]|0);if((i|0)<4){e=e+-2|0;break}if((i|0)<6){e=e+-1|0;break}if((i|0)>9){e=e+2|0;break}else{e=e+((i|0)>7&1)|0;break}}}while(0);e=(e|0)>1?e:1;e=(e|0)<18?e:18;b[o>>0]=e;g=h+16|0;l=f[g+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[g>>2]|0)>>>0>0)){f[m>>2]=f[h+4>>2];f[n>>2]=f[m>>2];Me(h,n,o,o+1|0)|0}do switch(e&31){case 1:case 0:{h=qe(a,c,d,h)|0;u=p;return h|0}case 2:{h=pe(a,c,d,h)|0;u=p;return h|0}case 3:{h=oe(a,c,d,h)|0;u=p;return h|0}case 4:{h=ne(a,c,d,h)|0;u=p;return h|0}case 5:{h=me(a,c,d,h)|0;u=p;return h|0}case 6:{h=le(a,c,d,h)|0;u=p;return h|0}case 7:{h=ke(a,c,d,h)|0;u=p;return h|0}case 8:{h=je(a,c,d,h)|0;u=p;return h|0}case 9:{h=ie(a,c,d,h)|0;u=p;return h|0}case 10:{h=he(a,c,d,h)|0;u=p;return h|0}case 11:{h=ge(a,c,d,h)|0;u=p;return h|0}case 12:{h=fe(a,c,d,h)|0;u=p;return h|0}case 13:{h=ee(a,c,d,h)|0;u=p;return h|0}case 14:{h=de(a,c,d,h)|0;u=p;return h|0}case 15:{h=ce(a,c,d,h)|0;u=p;return h|0}case 16:{h=be(a,c,d,h)|0;u=p;return h|0}case 17:{h=ae(a,c,d,h)|0;u=p;return h|0}case 18:{h=$d(a,c,d,h)|0;u=p;return h|0}default:{h=0;u=p;return h|0}}while(0);return 0}function Nc(a,c,d){a=a|0;c=c|0;d=d|0;var e=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;q=a+8|0;a:do if(f[q>>2]|0?(s=f[a>>2]|0,r=a+4|0,f[a>>2]=r,f[(f[r>>2]|0)+8>>2]=0,f[r>>2]=0,f[q>>2]=0,e=f[s+4>>2]|0,e=(e|0)==0?s:e,e|0):0){s=a+4|0;p=f[c>>2]|0;o=e;while(1){if((p|0)==(f[d>>2]|0))break;h=o+16|0;Vl(h,p+16|0)|0;Vl(o+28|0,p+28|0)|0;m=o+8|0;g=f[m>>2]|0;do if(g){e=f[g>>2]|0;if((e|0)==(o|0)){f[g>>2]=0;e=f[g+4>>2]|0;if(!e){n=g;break}while(1){g=f[e>>2]|0;if(g|0){e=g;continue}g=f[e+4>>2]|0;if(!g)break;else e=g}n=e;break}else{f[g+4>>2]=0;if(!e){n=g;break}while(1){g=f[e>>2]|0;if(g|0){e=g;continue}g=f[e+4>>2]|0;if(!g)break;else e=g}n=e;break}}else n=0;while(0);e=f[r>>2]|0;do if(e){l=b[h+11>>0]|0;k=l<<24>>24<0;l=k?f[o+20>>2]|0:l&255;k=k?f[h>>2]|0:h;j=e;while(1){g=j+16|0;h=b[g+11>>0]|0;i=h<<24>>24<0;h=i?f[j+20>>2]|0:h&255;e=h>>>0>>0?h:l;if((e|0)!=0?(t=jl(k,i?f[g>>2]|0:g,e)|0,(t|0)!=0):0)if((t|0)<0)h=24;else h=26;else if(l>>>0>>0)h=24;else h=26;if((h|0)==24){e=f[j>>2]|0;if(!e){h=25;break}}else if((h|0)==26){g=j+4|0;e=f[g>>2]|0;if(!e){h=28;break}}j=e}if((h|0)==25){e=j;g=j;break}else if((h|0)==28){e=j;break}}else{e=r;g=r}while(0);f[o>>2]=0;f[o+4>>2]=0;f[m>>2]=e;f[g>>2]=o;e=f[f[a>>2]>>2]|0;if(!e)e=o;else{f[a>>2]=e;e=f[g>>2]|0}Ie(f[s>>2]|0,e);f[q>>2]=(f[q>>2]|0)+1;e=f[p+4>>2]|0;if(!e){g=p+8|0;e=f[g>>2]|0;if((f[e>>2]|0)!=(p|0))do{p=f[g>>2]|0;g=p+8|0;e=f[g>>2]|0}while((f[e>>2]|0)!=(p|0))}else while(1){g=f[e>>2]|0;if(!g)break;else e=g}f[c>>2]=e;if(!n)break a;else{p=e;o=n}}e=f[o+8>>2]|0;if(!e)e=o;else while(1){g=f[e+8>>2]|0;if(!g)break;else e=g}oj(a,e)}while(0);e=f[c>>2]|0;i=f[d>>2]|0;if((e|0)==(i|0))return;do{hf(a,e+16|0)|0;g=f[e+4>>2]|0;if(!g){g=e+8|0;h=f[g>>2]|0;if((f[h>>2]|0)==(e|0))e=h;else do{d=f[g>>2]|0;g=d+8|0;e=f[g>>2]|0}while((f[e>>2]|0)!=(d|0))}else{e=g;while(1){g=f[e>>2]|0;if(!g)break;else e=g}}f[c>>2]=e}while((e|0)!=(i|0));return}function Oc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;switch(c|0){case 0:{l=24;m=-149;i=4;break}case 1:{l=53;m=-1074;i=4;break}case 2:{l=53;m=-1074;i=4;break}default:e=0.0}a:do if((i|0)==4){o=a+4|0;n=a+100|0;do{c=f[o>>2]|0;if(c>>>0<(f[n>>2]|0)>>>0){f[o>>2]=c+1;c=h[c>>0]|0}else c=_i(a)|0}while((Mp(c)|0)!=0);b:do switch(c|0){case 43:case 45:{g=1-(((c|0)==45&1)<<1)|0;c=f[o>>2]|0;if(c>>>0<(f[n>>2]|0)>>>0){f[o>>2]=c+1;c=h[c>>0]|0;k=g;break b}else{c=_i(a)|0;k=g;break b}}default:k=1}while(0);g=c;c=0;do{if((g|32|0)!=(b[23565+c>>0]|0))break;do if(c>>>0<7){g=f[o>>2]|0;if(g>>>0<(f[n>>2]|0)>>>0){f[o>>2]=g+1;g=h[g>>0]|0;break}else{g=_i(a)|0;break}}while(0);c=c+1|0}while(c>>>0<8);c:do switch(c|0){case 8:break;case 3:{i=23;break}default:{j=(d|0)!=0;if(j&c>>>0>3)if((c|0)==8)break c;else{i=23;break c}d:do if(!c){c=0;do{if((g|32|0)!=(b[23574+c>>0]|0))break d;do if(c>>>0<2){g=f[o>>2]|0;if(g>>>0<(f[n>>2]|0)>>>0){f[o>>2]=g+1;g=h[g>>0]|0;break}else{g=_i(a)|0;break}}while(0);c=c+1|0}while(c>>>0<3)}while(0);switch(c|0){case 3:{c=f[o>>2]|0;if(c>>>0<(f[n>>2]|0)>>>0){f[o>>2]=c+1;c=h[c>>0]|0}else c=_i(a)|0;if((c|0)==40)c=1;else{if(!(f[n>>2]|0)){e=B;break a}f[o>>2]=(f[o>>2]|0)+-1;e=B;break a}while(1){g=f[o>>2]|0;if(g>>>0<(f[n>>2]|0)>>>0){f[o>>2]=g+1;g=h[g>>0]|0}else g=_i(a)|0;if(!((g+-48|0)>>>0<10|(g+-65|0)>>>0<26)?!((g|0)==95|(g+-97|0)>>>0<26):0)break;c=c+1|0}if((g|0)==41){e=B;break a}g=(f[n>>2]|0)==0;if(!g)f[o>>2]=(f[o>>2]|0)+-1;if(!j){o=iq()|0;f[o>>2]=22;Pm(a,0);e=0.0;break a}if(!c){e=B;break a}while(1){c=c+-1|0;if(!g)f[o>>2]=(f[o>>2]|0)+-1;if(!c){e=B;break a}}}case 0:{if((g|0)==48){c=f[o>>2]|0;if(c>>>0<(f[n>>2]|0)>>>0){f[o>>2]=c+1;c=h[c>>0]|0}else c=_i(a)|0;if((c|32|0)==120){e=+Gc(a,l,m,k,d);break a}if(!(f[n>>2]|0))c=48;else{f[o>>2]=(f[o>>2]|0)+-1;c=48}}else c=g;e=+pb(a,c,l,m,k,d);break a}default:{if(f[n>>2]|0)f[o>>2]=(f[o>>2]|0)+-1;o=iq()|0;f[o>>2]=22;Pm(a,0);e=0.0;break a}}}}while(0);if((i|0)==23){g=(f[n>>2]|0)==0;if(!g)f[o>>2]=(f[o>>2]|0)+-1;if((d|0)!=0&c>>>0>3)do{if(!g)f[o>>2]=(f[o>>2]|0)+-1;c=c+-1|0}while(c>>>0>3)}e=+$($(k|0)*$(C))}while(0);return +e}function Pc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var 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,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;E=u;u=u+32|0;x=E+16|0;C=E+12|0;B=E+8|0;D=E+4|0;w=E;s=e>>>0>1073741823?-1:e<<2;y=qq(s)|0;fj(y|0,0,s|0)|0;s=f[a+28>>2]|0;t=f[a+32>>2]|0;z=a+36|0;k=f[z>>2]|0;g=f[k+4>>2]|0;l=f[k>>2]|0;A=g-l|0;n=A>>2;m=n+-1|0;a:do if((A|0)>4){A=a+8|0;v=s+12|0;i=g-l>>2>>>0>m>>>0;if((e|0)<=0){if(i){h=l;j=n;o=m}else{d=k;Jp(d)}while(1){g=f[h+(o<<2)>>2]|0;d=X(o,e)|0;do if((g|0)>=0?(p=f[(f[v>>2]|0)+(g<<2)>>2]|0,(p|0)>=0):0){f[w>>2]=p;f[x>>2]=f[w>>2];eh(x,s,t,C,B,D);if((f[C>>2]|0)>=(o|0)){H=32;break}if((f[B>>2]|0)>=(o|0)){H=32;break}if((f[D>>2]|0)<(o|0))bi(A,b+(d<<2)|0,y,c+(d<<2)|0);else H=32}else H=29;while(0);if((H|0)==29)H=32;if((H|0)==32){H=0;bi(A,b+(d<<2)|0,b+((X(j+-2|0,e)|0)<<2)|0,c+(d<<2)|0)}if((o|0)<=1)break a;d=o+-1|0;g=f[z>>2]|0;h=f[g>>2]|0;if((f[g+4>>2]|0)-h>>2>>>0<=d>>>0)break;else{j=o;o=d}}Jp(g)}if(i){q=l;r=n;F=m}else{p=k;Jp(p)}while(1){g=f[q+(F<<2)>>2]|0;k=X(F,e)|0;do if((g|0)>=0?(G=f[(f[v>>2]|0)+(g<<2)>>2]|0,(G|0)>=0):0){f[w>>2]=G;f[x>>2]=f[w>>2];eh(x,s,t,C,B,D);g=f[C>>2]|0;if((g|0)>=(F|0)){H=16;break}d=f[B>>2]|0;if((d|0)>=(F|0)){H=16;break}i=f[D>>2]|0;if((i|0)>=(F|0)){H=16;break}j=X(g,e)|0;h=X(d,e)|0;d=X(i,e)|0;g=0;do{f[y+(g<<2)>>2]=(f[b+(g+d<<2)>>2]|0)+(f[b+(g+h<<2)>>2]|0)-(f[b+(g+j<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0));bi(A,b+(k<<2)|0,y,c+(k<<2)|0)}else H=15;while(0);if((H|0)==15)H=16;if((H|0)==16){H=0;bi(A,b+(k<<2)|0,b+((X(r+-2|0,e)|0)<<2)|0,c+(k<<2)|0)}if((F|0)<=1)break a;d=F+-1|0;g=f[z>>2]|0;q=f[g>>2]|0;if((f[g+4>>2]|0)-q>>2>>>0<=d>>>0)break;else{r=F;F=d}}Jp(g)}while(0);if((e|0)<=0){H=a+8|0;bi(H,b,y,c);rq(y);u=E;return 1}fj(y|0,0,e<<2|0)|0;H=a+8|0;bi(H,b,y,c);rq(y);u=E;return 1}function Qc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=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,v=0,w=0;v=u;u=u+16|0;r=v+8|0;q=v+4|0;o=v;p=a+64|0;c=f[p>>2]|0;if(((f[c+28>>2]|0)-(f[c+24>>2]|0)|0)<=0){u=v;return}s=a+52|0;k=a+56|0;m=a+60|0;i=a+12|0;j=a+28|0;t=a+40|0;l=a+44|0;n=a+48|0;b=0;h=0;do{d=f[(f[c+24>>2]|0)+(h<<2)>>2]|0;if((d|0)>=0){e=b+1|0;f[r>>2]=b;c=f[k>>2]|0;if((c|0)==(f[m>>2]|0))Ji(s,r);else{f[c>>2]=b;f[k>>2]=c+4}f[q>>2]=d;f[o>>2]=0;a:do if(!(f[(f[i>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)))c=d;else{c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;g=f[a>>2]|0;if(!(1<<(c&31)&f[g+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[p>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;b=c+1|0;if((c|0)>=0){c=((b|0)%3|0|0)==0?c+-2|0:b;f[o>>2]=c;if((c|0)<=-1){c=d;break}while(1){f[q>>2]=c;b=c+1|0;b=((b|0)%3|0|0)==0?c+-2|0:b;if(1<<(b&31)&f[g+(b>>>5<<2)>>2]|0){b=-1073741824;break}if((b|0)<0)break;b=f[(f[(f[p>>2]|0)+12>>2]|0)+(b<<2)>>2]|0;d=b+1|0;if((b|0)<0)break;b=((d|0)%3|0|0)==0?b+-2|0:d;f[o>>2]=b;if((b|0)>-1)c=b;else break a}f[o>>2]=b;break}}}else c=-1073741824;f[o>>2]=c;c=d}while(0);f[(f[j>>2]|0)+(c<<2)>>2]=f[r>>2];c=f[l>>2]|0;if((c|0)==(f[n>>2]|0))Ji(t,q);else{f[c>>2]=f[q>>2];f[l>>2]=c+4}c=f[p>>2]|0;b=f[q>>2]|0;b:do if((b|0)>=0){d=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((d|0)>=0){d=f[(f[c+12>>2]|0)+(d<<2)>>2]|0;if((d|0)>=0){d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;f[o>>2]=d;if((d|0)>-1&(d|0)!=(b|0)){b=d;while(1){g=b+1|0;g=((g|0)%3|0|0)==0?b+-2|0:g;do if(f[(f[a>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)){b=e+1|0;f[r>>2]=e;c=f[k>>2]|0;if((c|0)==(f[m>>2]|0))Ji(s,r);else{f[c>>2]=e;f[k>>2]=c+4}c=f[l>>2]|0;if((c|0)==(f[n>>2]|0)){Ji(t,o);e=b;break}else{f[c>>2]=f[o>>2];f[l>>2]=c+4;e=b;break}}while(0);f[(f[j>>2]|0)+(f[o>>2]<<2)>>2]=f[r>>2];c=f[p>>2]|0;b=f[o>>2]|0;if((b|0)<0)break;b=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((b|0)<0)break;b=f[(f[c+12>>2]|0)+(b<<2)>>2]|0;if((b|0)<0)break;b=b+(((b>>>0)%3|0|0)==0?2:-1)|0;f[o>>2]=b;if(!((b|0)>-1?(b|0)!=(f[q>>2]|0):0)){b=e;break b}}f[o>>2]=b;b=e}else b=e}else{b=d;w=26}}else{b=d;w=26}}else w=26;while(0);if((w|0)==26){w=0;f[o>>2]=b;b=e}}h=h+1|0}while((h|0)<((f[c+28>>2]|0)-(f[c+24>>2]|0)>>2|0));u=v;return}function Rc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.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,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Qn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else jh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*1048576.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==1048576){if(q){a=0;u=w;return a|0}}else s=12}else{i=0;s=12}if((s|0)==12){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Jp(t);else{l=v<<2;n=en(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;fj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;xb(n,o,p);a:do if((i|0)<1048576){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=1048576-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>1048576;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-1048576|0;g=i;while(1){e=1048576.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=27;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==1048576){g=1048576;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==27){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);tq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=1048576){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+_g(+(g>>>0)*9.5367431640625e-07)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ee(a,d)|0;u=w;return a|0}function Sc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.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,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Qn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else jh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*1048576.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==1048576){if(q){a=0;u=w;return a|0}}else s=12}else{i=0;s=12}if((s|0)==12){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Jp(t);else{l=v<<2;n=en(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;fj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;yb(n,o,p);a:do if((i|0)<1048576){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=1048576-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>1048576;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-1048576|0;g=i;while(1){e=1048576.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=27;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==1048576){g=1048576;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==27){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);tq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=1048576){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+_g(+(g>>>0)*9.5367431640625e-07)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ee(a,d)|0;u=w;return a|0}function Tc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.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,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Qn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else jh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*1048576.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==1048576){if(q){a=0;u=w;return a|0}}else s=12}else{i=0;s=12}if((s|0)==12){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Jp(t);else{l=v<<2;n=en(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;fj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;zb(n,o,p);a:do if((i|0)<1048576){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=1048576-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>1048576;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-1048576|0;g=i;while(1){e=1048576.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=27;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==1048576){g=1048576;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==27){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);tq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=1048576){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+_g(+(g>>>0)*9.5367431640625e-07)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ee(a,d)|0;u=w;return a|0}function Uc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.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,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Qn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else jh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*1048576.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==1048576){if(q){a=0;u=w;return a|0}}else s=12}else{i=0;s=12}if((s|0)==12){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Jp(t);else{l=v<<2;n=en(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;fj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;Ab(n,o,p);a:do if((i|0)<1048576){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=1048576-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>1048576;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-1048576|0;g=i;while(1){e=1048576.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=27;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==1048576){g=1048576;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==27){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);tq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=1048576){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+_g(+(g>>>0)*9.5367431640625e-07)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ee(a,d)|0;u=w;return a|0}function Vc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.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,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Qn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else jh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*1048576.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==1048576){if(q){a=0;u=w;return a|0}}else s=12}else{i=0;s=12}if((s|0)==12){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Jp(t);else{l=v<<2;n=en(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;fj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;Bb(n,o,p);a:do if((i|0)<1048576){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=1048576-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>1048576;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-1048576|0;g=i;while(1){e=1048576.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=27;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==1048576){g=1048576;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==27){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);tq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=1048576){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+_g(+(g>>>0)*9.5367431640625e-07)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ee(a,d)|0;u=w;return a|0}function Wc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.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,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Qn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else jh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*524288.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==524288){if(q){a=0;u=w;return a|0}}else s=12}else{i=0;s=12}if((s|0)==12){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Jp(t);else{l=v<<2;n=en(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;fj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;Cb(n,o,p);a:do if((i|0)<524288){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=524288-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>524288;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-524288|0;g=i;while(1){e=524288.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=27;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==524288){g=524288;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==27){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);tq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=524288){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+_g(+(g>>>0)*1.9073486328125e-06)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ee(a,d)|0;u=w;return a|0}function Xc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.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,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Qn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else jh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*262144.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==262144){if(q){a=0;u=w;return a|0}}else s=12}else{i=0;s=12}if((s|0)==12){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Jp(t);else{l=v<<2;n=en(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;fj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;Db(n,o,p);a:do if((i|0)<262144){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=262144-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>262144;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-262144|0;g=i;while(1){e=262144.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=27;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==262144){g=262144;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==27){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);tq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=262144){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+_g(+(g>>>0)*3.814697265625e-06)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ee(a,d)|0;u=w;return a|0}function Yc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.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,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Qn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else jh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*65536.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==65536){if(q){a=0;u=w;return a|0}}else s=12}else{i=0;s=12}if((s|0)==12){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Jp(t);else{l=v<<2;n=en(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;fj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;Eb(n,o,p);a:do if((i|0)<65536){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=65536-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>65536;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-65536|0;g=i;while(1){e=65536.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=27;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==65536){g=65536;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==27){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);tq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=65536){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+_g(+(g>>>0)*.0000152587890625)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ee(a,d)|0;u=w;return a|0}function Zc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.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,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Qn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else jh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*32768.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==32768){if(q){a=0;u=w;return a|0}}else s=12}else{i=0;s=12}if((s|0)==12){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Jp(t);else{l=v<<2;n=en(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;fj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;Fb(n,o,p);a:do if((i|0)<32768){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=32768-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>32768;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-32768|0;g=i;while(1){e=32768.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=27;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==32768){g=32768;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==27){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);tq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=32768){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+_g(+(g>>>0)*.000030517578125)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ee(a,d)|0;u=w;return a|0}function _c(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.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,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Qn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else jh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*8192.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==8192){if(q){a=0;u=w;return a|0}}else s=12}else{i=0;s=12}if((s|0)==12){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Jp(t);else{l=v<<2;n=en(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;fj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;Gb(n,o,p);a:do if((i|0)<8192){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=8192-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>8192;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-8192|0;g=i;while(1){e=8192.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=27;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==8192){g=8192;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==27){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);tq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=8192){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+_g(+(g>>>0)*.0001220703125)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ee(a,d)|0;u=w;return a|0}function $c(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.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,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Qn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else jh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==4096){if(q){a=0;u=w;return a|0}}else s=12}else{i=0;s=12}if((s|0)==12){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Jp(t);else{l=v<<2;n=en(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;fj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;Hb(n,o,p);a:do if((i|0)<4096){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=4096-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-4096|0;g=i;while(1){e=4096.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=27;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==4096){g=4096;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==27){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);tq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=4096){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+_g(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ee(a,d)|0;u=w;return a|0}function ad(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.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,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Qn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else jh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==4096){if(q){a=0;u=w;return a|0}}else s=12}else{i=0;s=12}if((s|0)==12){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Jp(t);else{l=v<<2;n=en(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;fj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;Ob(n,o,p);a:do if((i|0)<4096){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=4096-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-4096|0;g=i;while(1){e=4096.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=27;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==4096){g=4096;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==27){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);tq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=4096){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+_g(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ee(a,d)|0;u=w;return a|0}function bd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.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,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Qn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else jh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==4096){if(q){a=0;u=w;return a|0}}else s=12}else{i=0;s=12}if((s|0)==12){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Jp(t);else{l=v<<2;n=en(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;fj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;Ib(n,o,p);a:do if((i|0)<4096){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=4096-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-4096|0;g=i;while(1){e=4096.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=27;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==4096){g=4096;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==27){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);tq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=4096){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+_g(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ee(a,d)|0;u=w;return a|0}function cd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.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,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Qn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else jh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==4096){if(q){a=0;u=w;return a|0}}else s=12}else{i=0;s=12}if((s|0)==12){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Jp(t);else{l=v<<2;n=en(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;fj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;Jb(n,o,p);a:do if((i|0)<4096){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=4096-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-4096|0;g=i;while(1){e=4096.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=27;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==4096){g=4096;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==27){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);tq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=4096){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+_g(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ee(a,d)|0;u=w;return a|0}function dd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.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,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Qn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else jh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==4096){if(q){a=0;u=w;return a|0}}else s=12}else{i=0;s=12}if((s|0)==12){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Jp(t);else{l=v<<2;n=en(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;fj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;Kb(n,o,p);a:do if((i|0)<4096){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=4096-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-4096|0;g=i;while(1){e=4096.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=27;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==4096){g=4096;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==27){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);tq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=4096){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+_g(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ee(a,d)|0;u=w;return a|0}function ed(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.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,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Qn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else jh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==4096){if(q){a=0;u=w;return a|0}}else s=12}else{i=0;s=12}if((s|0)==12){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Jp(t);else{l=v<<2;n=en(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;fj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;Lb(n,o,p);a:do if((i|0)<4096){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=4096-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-4096|0;g=i;while(1){e=4096.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=27;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==4096){g=4096;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==27){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);tq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=4096){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+_g(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ee(a,d)|0;u=w;return a|0}function fd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.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,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Qn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else jh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==4096){if(q){a=0;u=w;return a|0}}else s=12}else{i=0;s=12}if((s|0)==12){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Jp(t);else{l=v<<2;n=en(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;fj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;Mb(n,o,p);a:do if((i|0)<4096){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=4096-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-4096|0;g=i;while(1){e=4096.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=27;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==4096){g=4096;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==27){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);tq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=4096){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+_g(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ee(a,d)|0;u=w;return a|0}function gd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.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,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Qn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else jh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==4096){if(q){a=0;u=w;return a|0}}else s=12}else{i=0;s=12}if((s|0)==12){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Jp(t);else{l=v<<2;n=en(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;fj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;Nb(n,o,p);a:do if((i|0)<4096){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=4096-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-4096|0;g=i;while(1){e=4096.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=27;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==4096){g=4096;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==27){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);tq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=4096){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+_g(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ee(a,d)|0;u=w;return a|0}function hd(a,c){a=a|0;c=c|0;var d=0,e=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,v=0,w=0,x=0;x=u;u=u+32|0;r=x;s=x+20|0;q=x+24|0;v=x+8|0;n=f[a>>2]|0;d=n+8|0;t=f[n>>2]|0;n=f[n+4>>2]|0;d=Qn(t|0,n|0,f[d>>2]|0,f[d+4>>2]|0)|0;g=I;g=Qn((d|0)==0&(g|0)==0&1|0,0,d|0,g|0)|0;g=~~((+(t>>>0)+4294967296.0*+(n>>>0))/(+(g>>>0)+4294967296.0*+(I>>>0))*256.0+.5)>>>0;g=g>>>0<255?g:255;g=((g|0)==0&1)+g&255;b[q>>0]=g;n=a+12|0;t=a+16|0;d=((f[t>>2]|0)-(f[n>>2]|0)<<1)+64|0;f[v>>2]=0;w=v+4|0;f[w>>2]=0;f[v+8>>2]=0;if(!d)o=0;else{if((d|0)<0)Jp(v);e=en(d)|0;f[w>>2]=e;f[v>>2]=e;f[v+8>>2]=e+d;do{b[e>>0]=0;e=(f[w>>2]|0)+1|0;f[w>>2]=e;d=d+-1|0}while((d|0)!=0);o=f[v>>2]|0}p=a+28|0;d=(f[p>>2]|0)+-1|0;a:do if((d|0)>-1){k=a+24|0;e=4096;h=0;while(1){i=256-(g&255)|0;j=(f[k>>2]&1<>>0>=g<<12>>>0){b[o+h>>0]=e;e=e>>>8;h=h+1|0}dn(f[3980+(g<<3)>>2]|0,0,e|0,0)|0;e=e+(j?0:i&255)+(X((I+e|0)>>>(f[3980+(g<<3)+4>>2]|0),256-g|0)|0)|0;d=d+-1|0;if((d|0)<=-1)break a;g=b[q>>0]|0}}else{e=4096;h=0}while(0);d=f[t>>2]|0;if((d|0)==(f[n>>2]|0))g=e;else{g=h;while(1){d=d+-4|0;m=f[d>>2]|0;j=31;while(1){i=b[q>>0]|0;k=256-(i&255)|0;l=(1<>>0>>0)h=g;else{b[o+g>>0]=e;e=e>>>8;h=g+1|0}dn(f[3980+(i<<3)>>2]|0,0,e|0,0)|0;e=e+(l?0:k&255)+(X((I+e|0)>>>(f[3980+(i<<3)+4>>2]|0),256-i|0)|0)|0;if((j|0)<=0)break;else{g=h;j=j+-1|0}}if((d|0)==(f[n>>2]|0)){g=e;break}else g=h}}if(g>>>0<=4095)ra(19673,19703,132,19779);if(g>>>0>=1048576)ra(19793,19703,133,19779);d=g+-4096|0;do if(d>>>0>=64){e=o+h|0;if(d>>>0<16384){d=g+12288|0;b[e>>0]=d;g=2;e=e+1|0;d=d>>>8;break}else{d=g+8384512|0;b[e>>0]=d;b[e+1>>0]=d>>>8;g=3;e=e+2|0;d=d>>>16;break}}else{g=1;e=o+h|0}while(0);b[e>>0]=d;e=g+h|0;g=c+16|0;o=g;n=f[o+4>>2]|0;if(!((n|0)>0|(n|0)==0&(f[o>>2]|0)>>>0>0)){f[s>>2]=f[c+4>>2];f[r>>2]=f[s>>2];Me(c,r,q,q+1|0)|0}Th(e,c)|0;d=f[v>>2]|0;q=g;o=f[q+4>>2]|0;if(!((o|0)>0|(o|0)==0&(f[q>>2]|0)>>>0>0)){f[s>>2]=f[c+4>>2];f[r>>2]=f[s>>2];Me(c,r,d,d+e|0)|0}d=r;f[d>>2]=0;f[d+4>>2]=0;nf(a,2,r);d=f[a+12>>2]|0;e=f[t>>2]|0;if((e|0)!=(d|0))f[t>>2]=e+(~((e+-4-d|0)>>>2)<<2);f[a+24>>2]=0;f[p>>2]=0;d=f[v>>2]|0;if(!d){u=x;return}if((f[w>>2]|0)!=(d|0))f[w>>2]=d;tq(d);u=x;return}function id(a,b){a=a|0;b=b|0;var c=0,d=0,e=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,v=0,w=0;w=u;u=u+16|0;v=w+8|0;l=w+4|0;p=w;q=a+124|0;f[q>>2]=(f[q>>2]|0)+1;q=a+88|0;m=a+120|0;j=f[m>>2]|0;c=j+1|0;do if((j|0)>=0){c=((c|0)%3|0|0)==0?j+-2|0:c;if(!((j>>>0)%3|0)){h=j+2|0;break}else{h=j+-1|0;break}}else{c=j;h=j}while(0);r=a+104|0;o=a+92|0;e=f[o>>2]|0;i=e+(c<<2)|0;g=f[r>>2]|0;d=g+(f[i>>2]<<2)|0;t=f[d>>2]|0;switch(b|0){case 1:case 0:{f[d>>2]=t+-1;j=g+(f[e+(h<<2)>>2]<<2)|0;f[j>>2]=(f[j>>2]|0)+-1;if((b|0)==1){if((h|0)>=0?(k=f[(f[(f[q>>2]|0)+12>>2]|0)+(h<<2)>>2]|0,(k|0)>-1):0){g=a+64|0;e=k;d=1;do{k=f[g>>2]|0;j=f[(f[k>>2]|0)+36>>2]|0;f[l>>2]=(e>>>0)/3|0;f[v>>2]=f[l>>2];if(Na[j&127](k,v)|0)break;k=e+1|0;e=((k|0)%3|0|0)==0?e+-2|0:k;if((e|0)<0){s=12;break}e=f[(f[(f[q>>2]|0)+12>>2]|0)+(e<<2)>>2]|0;d=d+1|0}while((e|0)>-1);if((s|0)==12)d=d+1|0;g=f[r>>2]|0;e=f[o>>2]|0}else d=1;f[g+(f[e+(f[m>>2]<<2)>>2]<<2)>>2]=d;h=a+108|0;d=f[h>>2]|0;g=d-g>>2;if((c|0)>=0?(n=f[(f[(f[q>>2]|0)+12>>2]|0)+(c<<2)>>2]|0,(n|0)>-1):0){e=a+64|0;d=n;c=1;do{n=f[e>>2]|0;m=f[(f[n>>2]|0)+36>>2]|0;f[p>>2]=(d>>>0)/3|0;f[v>>2]=f[p>>2];if(Na[m&127](n,v)|0)break;n=d+1|0;f[(f[o>>2]|0)+((((n|0)%3|0|0)==0?d+-2|0:n)<<2)>>2]=g;d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((d|0)<0){s=20;break}d=f[(f[(f[q>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;c=c+1|0}while((d|0)>-1);if((s|0)==20)c=c+1|0;d=f[h>>2]|0}else c=1;f[v>>2]=c;if(d>>>0<(f[a+112>>2]|0)>>>0){f[d>>2]=c;f[h>>2]=d+4}else Ji(r,v)}break}case 5:{s=g+(f[e+(j<<2)>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-1;s=g+(f[i>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-1;s=g+(f[e+(h<<2)>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-2;break}case 3:{s=g+(f[e+(j<<2)>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-1;s=g+(f[i>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-2;s=g+(f[e+(h<<2)>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-1;break}case 7:{s=g+(f[e+(j<<2)>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-2;s=g+(f[i>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-2;s=g+(f[e+(h<<2)>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-2;break}default:{}}i=a+116|0;e=f[i>>2]|0;if((e|0)==-1){f[i>>2]=b;u=w;return}d=f[a+128>>2]|0;if((t|0)<(d|0))c=d;else{c=f[a+132>>2]|0;c=(t|0)>(c|0)?c:t}h=c-d|0;g=f[a+136>>2]|0;c=f[3612+(e<<2)>>2]|0;f[v>>2]=c;e=g+(h*12|0)+4|0;d=f[e>>2]|0;if(d>>>0<(f[g+(h*12|0)+8>>2]|0)>>>0){f[d>>2]=c;f[e>>2]=d+4}else Ji(g+(h*12|0)|0,v);f[i>>2]=b;u=w;return}function jd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var 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;t=f[a+28>>2]|0;u=f[a+32>>2]|0;v=e>>>0>1073741823?-1:e<<2;w=qq(v)|0;fj(w|0,0,v|0)|0;x=qq(v)|0;fj(x|0,0,v|0)|0;v=a+36|0;h=f[v>>2]|0;i=f[h+4>>2]|0;j=f[h>>2]|0;g=i-j|0;a:do if((g|0)>4){d=g>>2;p=(e|0)>0;s=a+8|0;q=t+64|0;o=t+28|0;n=e<<2;g=d+-1|0;if(i-j>>2>>>0>g>>>0){k=j;r=d;B=g}else{m=h;Jp(m)}while(1){m=f[k+(B<<2)>>2]|0;if(p)fj(w|0,0,n|0)|0;if((m|0)>-1){l=f[t>>2]|0;k=m;j=0;do{if(((f[l+(k>>>5<<2)>>2]&1<<(k&31)|0)==0?(C=f[(f[(f[q>>2]|0)+12>>2]|0)+(k<<2)>>2]|0,(C|0)>=0):0)?(A=f[o>>2]|0,i=f[u>>2]|0,y=f[i+(f[A+(C<<2)>>2]<<2)>>2]|0,z=C+1|0,z=f[i+(f[A+((((z|0)%3|0|0)==0?C+-2|0:z)<<2)>>2]<<2)>>2]|0,A=f[i+(f[A+((((C>>>0)%3|0|0)==0?2:-1)+C<<2)>>2]<<2)>>2]|0,(y|0)<(B|0)&(z|0)<(B|0)&(A|0)<(B|0)):0){d=X(y,e)|0;h=X(z,e)|0;i=X(A,e)|0;if(p){g=0;do{f[x+(g<<2)>>2]=(f[b+(g+i<<2)>>2]|0)+(f[b+(g+h<<2)>>2]|0)-(f[b+(g+d<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0));if(p){g=0;do{i=w+(g<<2)|0;f[i>>2]=(f[i>>2]|0)+(f[x+(g<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}}j=j+1|0}g=(((k>>>0)%3|0|0)==0?2:-1)+k|0;do if(!(f[l+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=f[(f[(f[q>>2]|0)+12>>2]|0)+(g<<2)>>2]|0;if((g|0)>=0)if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}}else g=-1073741824;while(0);k=(g|0)==(m|0)?-1073741824:g}while((k|0)>-1);g=X(B,e)|0;if(!j)D=28;else{if(p){d=0;do{r=w+(d<<2)|0;f[r>>2]=(f[r>>2]|0)/(j|0)|0;d=d+1|0}while((d|0)!=(e|0))}bi(s,b+(g<<2)|0,w,c+(g<<2)|0)}}else{g=X(B,e)|0;D=28}if((D|0)==28){D=0;bi(s,b+(g<<2)|0,b+((X(r+-2|0,e)|0)<<2)|0,c+(g<<2)|0)}if((B|0)<=1)break a;g=f[v>>2]|0;k=f[g>>2]|0;d=B+-1|0;if((f[g+4>>2]|0)-k>>2>>>0<=d>>>0)break;else{r=B;B=d}}Jp(g)}while(0);if((e|0)<=0){a=a+8|0;bi(a,b,w,c);rq(x);rq(w);return 1}fj(w|0,0,e<<2|0)|0;a=a+8|0;bi(a,b,w,c);rq(x);rq(w);return 1}function kd(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;m=o;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;g=en(16)|0;f[m>>2]=g;f[m+8>>2]=-2147483632;f[m+4>>2]=15;i=g;h=17754;j=i+15|0;do{b[i>>0]=b[h>>0]|0;i=i+1|0;h=h+1|0}while((i|0)<(j|0));b[g+15>>0]=0;k=Dk(c,m,-1)|0;if((b[m+11>>0]|0)<0)tq(f[m>>2]|0);switch(k|0){case 0:{g=en(52)|0;i=g;j=i+52|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));Fn(g);h=3932;break}case -1:{if((gi(c)|0)==10){g=en(52)|0;i=g;j=i+52|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));Fn(g);h=3932}else n=7;break}default:n=7}a:do if((n|0)==7){g=gl(d,0)|0;b:do if(((g|0?((f[d+12>>2]|0)-(f[d+8>>2]|0)|0)==4:0)?(f[g+56>>2]|0)==0:0)?(b[g+24>>0]|0)==3:0){switch(f[g+28>>2]|0){case 9:{f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;g=en(32)|0;f[m>>2]=g;f[m+8>>2]=-2147483616;f[m+4>>2]=17;i=g;h=17770;j=i+17|0;do{b[i>>0]=b[h>>0]|0;i=i+1|0;h=h+1|0}while((i|0)<(j|0));b[g+17>>0]=0;j=c+16|0;h=f[j>>2]|0;if(h){g=j;i=h;c:while(1){h=i;while(1){if((f[h+16>>2]|0)>=0)break;h=f[h+4>>2]|0;if(!h)break c}i=f[h>>2]|0;if(!i){g=h;break}else g=h}if(((g|0)!=(j|0)?(f[g+16>>2]|0)<=0:0)?(l=g+20|0,(Qh(l,m)|0)!=0):0)g=Dk(l,m,-1)|0;else n=21}else n=21;if((n|0)==21)g=Dk(c,m,-1)|0;if((b[m+11>>0]|0)<0)tq(f[m>>2]|0);if((g|0)<1)break b;break}case 6:break;default:break b}g=en(52)|0;i=g;j=i+52|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));Fn(g);h=3876;break a}while(0);if((k|0)!=1){g=en(52)|0;i=g;j=i+52|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));Fn(g);h=3932;break}f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;g=en(32)|0;f[m>>2]=g;f[m+8>>2]=-2147483616;f[m+4>>2]=24;i=g;h=17788;j=i+24|0;do{b[i>>0]=b[h>>0]|0;i=i+1|0;h=h+1|0}while((i|0)<(j|0));b[g+24>>0]=0;f[a>>2]=-1;gj(a+4|0,m);if((b[m+11>>0]|0)<0)tq(f[m>>2]|0);u=o;return}while(0);f[g>>2]=h;So(g,d);zd(a,g,c,e);Ra[f[(f[g>>2]|0)+4>>2]&127](g);u=o;return}function ld(a,b){a=a|0;b=b|0;var c=0,e=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=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)tq(c);f[e>>2]=0;return}if(b>>>0>1073741823){a=sa(8)|0;xo(a,20710);f[a>>2]=7152;wa(a|0,1112,107)}r=en(b<<2)|0;c=f[a>>2]|0;f[a>>2]=r;if(c|0)tq(c);f[e>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;c=f[h+4>>2]|0;q=b+-1|0;r=(q&b|0)==0;if(!r){if(c>>>0>=b>>>0)c=(c>>>0)%(b>>>0)|0}else c=c&q;f[(f[a>>2]|0)+(c<<2)>>2]=e;e=f[h>>2]|0;if(!e)return;else{i=h;g=e;e=h}a:while(1){p=e;b:while(1){c:do if(r){e=g;while(1){o=f[e+4>>2]&q;if((o|0)==(c|0))break c;h=(f[a>>2]|0)+(o<<2)|0;if(!(f[h>>2]|0)){c=o;break b}h=e+8|0;n=h+2|0;l=e+12|0;m=h+6|0;g=f[e>>2]|0;d:do if(!g)g=e;else{k=d[h>>1]|0;h=e;while(1){j=g+8|0;if(k<<16>>16!=(d[j>>1]|0)){g=h;break d}if((d[n>>1]|0)!=(d[j+2>>1]|0)){g=h;break d}if((d[l>>1]|0)!=(d[g+12>>1]|0)){g=h;break d}if((d[m>>1]|0)!=(d[j+6>>1]|0)){g=h;break d}h=f[g>>2]|0;if(!h)break;else{j=g;g=h;h=j}}}while(0);f[p>>2]=f[g>>2];f[g>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[i>>2]|0;if(!e){c=43;break a}}}else{e=g;while(1){g=f[e+4>>2]|0;if(g>>>0>=b>>>0)g=(g>>>0)%(b>>>0)|0;if((g|0)==(c|0))break c;h=(f[a>>2]|0)+(g<<2)|0;if(!(f[h>>2]|0)){c=g;break b}j=e+8|0;o=j+2|0;m=e+12|0;n=j+6|0;h=f[e>>2]|0;e:do if(!h)h=e;else{l=d[j>>1]|0;j=e;while(1){k=h+8|0;if(l<<16>>16!=(d[k>>1]|0)){h=j;break e}if((d[o>>1]|0)!=(d[k+2>>1]|0)){h=j;break e}if((d[m>>1]|0)!=(d[h+12>>1]|0)){h=j;break e}if((d[n>>1]|0)!=(d[k+6>>1]|0)){h=j;break e}j=f[h>>2]|0;if(!j)break;else{k=h;h=j;j=k}}}while(0);f[p>>2]=f[h>>2];f[h>>2]=f[f[(f[a>>2]|0)+(g<<2)>>2]>>2];f[f[(f[a>>2]|0)+(g<<2)>>2]>>2]=e;e=f[i>>2]|0;if(!e){c=43;break a}}}while(0);g=f[e>>2]|0;if(!g){c=43;break a}else{i=e;p=e}}f[h>>2]=p;g=f[e>>2]|0;if(!g){c=43;break}else i=e}if((c|0)==43)return}function md(a,c){a=a|0;c=c|0;var d=0,e=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=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)tq(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=sa(8)|0;xo(a,20710);f[a>>2]=7152;wa(a|0,1112,107)}r=en(c<<2)|0;d=f[a>>2]|0;f[a>>2]=r;if(d|0)tq(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;d=f[h+4>>2]|0;q=c+-1|0;r=(q&c|0)==0;if(!r){if(d>>>0>=c>>>0)d=(d>>>0)%(c>>>0)|0}else d=d&q;f[(f[a>>2]|0)+(d<<2)>>2]=e;e=f[h>>2]|0;if(!e)return;else{i=h;g=e;e=h}a:while(1){p=e;b:while(1){c:do if(r){e=g;while(1){o=f[e+4>>2]&q;if((o|0)==(d|0))break c;h=(f[a>>2]|0)+(o<<2)|0;if(!(f[h>>2]|0)){d=o;break b}h=e+8|0;n=h+1|0;l=h+2|0;m=h+3|0;g=f[e>>2]|0;d:do if(!g)g=e;else{k=b[h>>0]|0;h=e;while(1){j=g+8|0;if(k<<24>>24!=(b[j>>0]|0)){g=h;break d}if((b[n>>0]|0)!=(b[j+1>>0]|0)){g=h;break d}if((b[l>>0]|0)!=(b[j+2>>0]|0)){g=h;break d}if((b[m>>0]|0)!=(b[j+3>>0]|0)){g=h;break d}h=f[g>>2]|0;if(!h)break;else{j=g;g=h;h=j}}}while(0);f[p>>2]=f[g>>2];f[g>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[i>>2]|0;if(!e){d=43;break a}}}else{e=g;while(1){g=f[e+4>>2]|0;if(g>>>0>=c>>>0)g=(g>>>0)%(c>>>0)|0;if((g|0)==(d|0))break c;h=(f[a>>2]|0)+(g<<2)|0;if(!(f[h>>2]|0)){d=g;break b}j=e+8|0;o=j+1|0;m=j+2|0;n=j+3|0;h=f[e>>2]|0;e:do if(!h)h=e;else{l=b[j>>0]|0;j=e;while(1){k=h+8|0;if(l<<24>>24!=(b[k>>0]|0)){h=j;break e}if((b[o>>0]|0)!=(b[k+1>>0]|0)){h=j;break e}if((b[m>>0]|0)!=(b[k+2>>0]|0)){h=j;break e}if((b[n>>0]|0)!=(b[k+3>>0]|0)){h=j;break e}j=f[h>>2]|0;if(!j)break;else{k=h;h=j;j=k}}}while(0);f[p>>2]=f[h>>2];f[h>>2]=f[f[(f[a>>2]|0)+(g<<2)>>2]>>2];f[f[(f[a>>2]|0)+(g<<2)>>2]>>2]=e;e=f[i>>2]|0;if(!e){d=43;break a}}}while(0);g=f[e>>2]|0;if(!g){d=43;break a}else{i=e;p=e}}f[h>>2]=p;g=f[e>>2]|0;if(!g){d=43;break}else i=e}if((d|0)==43)return}function nd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)tq(c);f[d>>2]=0;return}if(b>>>0>1073741823){a=sa(8)|0;xo(a,20710);f[a>>2]=7152;wa(a|0,1112,107)}p=en(b<<2)|0;c=f[a>>2]|0;f[a>>2]=p;if(c|0)tq(c);f[d>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;c=f[g+4>>2]|0;o=b+-1|0;p=(o&b|0)==0;if(!p){if(c>>>0>=b>>>0)c=(c>>>0)%(b>>>0)|0}else c=c&o;f[(f[a>>2]|0)+(c<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{h=g;e=d;d=g}a:while(1){n=d;b:while(1){c:do if(p){d=e;while(1){m=f[d+4>>2]&o;if((m|0)==(c|0))break c;g=(f[a>>2]|0)+(m<<2)|0;if(!(f[g>>2]|0)){c=m;break b}l=d+12|0;j=d+16|0;k=d+20|0;e=f[d>>2]|0;d:do if(!e)e=d;else{i=f[d+8>>2]|0;g=d;while(1){if((i|0)!=(f[e+8>>2]|0)){e=g;break d}if((f[l>>2]|0)!=(f[e+12>>2]|0)){e=g;break d}if((f[j>>2]|0)!=(f[e+16>>2]|0)){e=g;break d}if((f[k>>2]|0)!=(f[e+20>>2]|0)){e=g;break d}g=f[e>>2]|0;if(!g)break;else{q=e;e=g;g=q}}}while(0);f[n>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(m<<2)>>2]>>2];f[f[(f[a>>2]|0)+(m<<2)>>2]>>2]=d;d=f[h>>2]|0;if(!d){c=43;break a}}}else{d=e;while(1){e=f[d+4>>2]|0;if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0;if((e|0)==(c|0))break c;g=(f[a>>2]|0)+(e<<2)|0;if(!(f[g>>2]|0)){c=e;break b}m=d+12|0;k=d+16|0;l=d+20|0;g=f[d>>2]|0;e:do if(!g)g=d;else{j=f[d+8>>2]|0;i=d;while(1){if((j|0)!=(f[g+8>>2]|0)){g=i;break e}if((f[m>>2]|0)!=(f[g+12>>2]|0)){g=i;break e}if((f[k>>2]|0)!=(f[g+16>>2]|0)){g=i;break e}if((f[l>>2]|0)!=(f[g+20>>2]|0)){g=i;break e}i=f[g>>2]|0;if(!i)break;else{q=g;g=i;i=q}}}while(0);f[n>>2]=f[g>>2];f[g>>2]=f[f[(f[a>>2]|0)+(e<<2)>>2]>>2];f[f[(f[a>>2]|0)+(e<<2)>>2]>>2]=d;d=f[h>>2]|0;if(!d){c=43;break a}}}while(0);e=f[d>>2]|0;if(!e){c=43;break a}else{h=d;n=d}}f[g>>2]=n;e=f[d>>2]|0;if(!e){c=43;break}else h=d}if((c|0)==43)return}function od(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;switch(c|0){case 1:{b=en(40)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2868;e=b;f[a>>2]=e;return}case 2:{b=en(40)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2924;e=b;f[a>>2]=e;return}case 4:{b=en(92)|0;f[b+4>>2]=d;h=b+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=b+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[b>>2]=2980;h=b+40|0;c=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(c|0));e=b;f[a>>2]=e;return}case 3:{b=en(68)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=3036;e=b+40|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;e=b;f[a>>2]=e;return}case 5:{b=en(84)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=3092;f[b+40>>2]=0;f[b+44>>2]=0;f[b+56>>2]=0;f[b+60>>2]=0;f[b+64>>2]=0;e=b+68|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];e=b;f[a>>2]=e;return}case 6:{b=en(120)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=3148;f[b+44>>2]=0;f[b+48>>2]=0;e=b+52|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b+40>>2]=3204;f[b+68>>2]=1;e=b+72|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;gn(b+88|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function pd(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;switch(c|0){case 1:{b=en(40)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2504;e=b;f[a>>2]=e;return}case 2:{b=en(40)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2560;e=b;f[a>>2]=e;return}case 4:{b=en(92)|0;f[b+4>>2]=d;h=b+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=b+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[b>>2]=2616;h=b+40|0;c=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(c|0));e=b;f[a>>2]=e;return}case 3:{b=en(68)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2672;e=b+40|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;e=b;f[a>>2]=e;return}case 5:{b=en(84)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2728;f[b+40>>2]=0;f[b+44>>2]=0;f[b+56>>2]=0;f[b+60>>2]=0;f[b+64>>2]=0;e=b+68|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];e=b;f[a>>2]=e;return}case 6:{b=en(120)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2784;f[b+44>>2]=0;f[b+48>>2]=0;e=b+52|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b+40>>2]=2840;f[b+68>>2]=1;e=b+72|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;gn(b+88|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function qd(a,b){a=a|0;b=b|0;var c=0,d=0,e=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,v=0,w=0,x=0;x=u;u=u+1264|0;t=x+1252|0;q=x+1248|0;v=x+16|0;d=x+1244|0;i=x+1240|0;w=x+8|0;r=x+1236|0;e=x+1232|0;g=x+1228|0;h=x+1224|0;j=x+1220|0;k=x+1216|0;l=x+1212|0;m=x+1208|0;n=x+1204|0;o=x+12|0;p=x+4|0;s=x;c=f[a+48>>2]|0;if(c>>>0>=7)ra(20932,20960,45,21112);switch(c|0){case 0:{Qe(v,3);f[d>>2]=f[b>>2];f[i>>2]=f[b+4>>2];f[w>>2]=(f[a>>2]|0)+1;f[q>>2]=f[d>>2];f[t>>2]=f[i>>2];qf(v,q,t,w,a+16|0)|0;jf(v);u=x;return 1}case 1:{Qe(v,3);f[r>>2]=f[b>>2];f[e>>2]=f[b+4>>2];f[w>>2]=(f[a>>2]|0)+1;f[q>>2]=f[r>>2];f[t>>2]=f[e>>2];qf(v,q,t,w,a+16|0)|0;jf(v);u=x;return 1}case 2:{Pe(v,3);f[g>>2]=f[b>>2];f[h>>2]=f[b+4>>2];f[w>>2]=(f[a>>2]|0)+1;f[q>>2]=f[g>>2];f[t>>2]=f[h>>2];rf(v,q,t,w,a+16|0)|0;kf(v);u=x;return 1}case 3:{Pe(v,3);f[j>>2]=f[b>>2];f[k>>2]=f[b+4>>2];f[w>>2]=(f[a>>2]|0)+1;f[q>>2]=f[j>>2];f[t>>2]=f[k>>2];rf(v,q,t,w,a+16|0)|0;kf(v);u=x;return 1}case 4:{Oe(v,3);f[l>>2]=f[b>>2];f[m>>2]=f[b+4>>2];f[w>>2]=(f[a>>2]|0)+1;f[q>>2]=f[l>>2];f[t>>2]=f[m>>2];Ze(v,q,t,w,a+16|0)|0;Xe(v);u=x;return 1}case 5:{Oe(v,3);f[n>>2]=f[b>>2];f[o>>2]=f[b+4>>2];f[w>>2]=(f[a>>2]|0)+1;f[q>>2]=f[n>>2];f[t>>2]=f[o>>2];Ze(v,q,t,w,a+16|0)|0;Xe(v);u=x;return 1}default:{Oe(v,3);f[p>>2]=f[b>>2];f[s>>2]=f[b+4>>2];f[w>>2]=(f[a>>2]|0)+1;f[q>>2]=f[p>>2];f[t>>2]=f[s>>2];Ye(v,q,t,w,a+16|0)|0;Xe(v);u=x;return 1}}return 0}function rd(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)tq(c);f[e>>2]=0;return}if(b>>>0>1073741823){a=sa(8)|0;xo(a,20710);f[a>>2]=7152;wa(a|0,1112,107)}q=en(b<<2)|0;c=f[a>>2]|0;f[a>>2]=q;if(c|0)tq(c);f[e>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;c=f[h+4>>2]|0;p=b+-1|0;q=(p&b|0)==0;if(!q){if(c>>>0>=b>>>0)c=(c>>>0)%(b>>>0)|0}else c=c&p;f[(f[a>>2]|0)+(c<<2)>>2]=e;e=f[h>>2]|0;if(!e)return;else{i=h;g=e;e=h}a:while(1){o=e;b:while(1){c:do if(q){e=g;while(1){n=f[e+4>>2]&p;if((n|0)==(c|0))break c;h=(f[a>>2]|0)+(n<<2)|0;if(!(f[h>>2]|0)){c=n;break b}h=e+8|0;m=e+12|0;g=f[e>>2]|0;d:do if(!g)g=e;else{l=d[h>>1]|0;k=h+2|0;h=e;while(1){j=g+8|0;if(l<<16>>16!=(d[j>>1]|0)){g=h;break d}if((d[k>>1]|0)!=(d[j+2>>1]|0)){g=h;break d}if((d[m>>1]|0)!=(d[g+12>>1]|0)){g=h;break d}h=f[g>>2]|0;if(!h)break;else{j=g;g=h;h=j}}}while(0);f[o>>2]=f[g>>2];f[g>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=e;e=f[i>>2]|0;if(!e){c=41;break a}}}else{e=g;while(1){g=f[e+4>>2]|0;if(g>>>0>=b>>>0)g=(g>>>0)%(b>>>0)|0;if((g|0)==(c|0))break c;h=(f[a>>2]|0)+(g<<2)|0;if(!(f[h>>2]|0)){c=g;break b}j=e+8|0;n=e+12|0;h=f[e>>2]|0;e:do if(!h)h=e;else{m=d[j>>1]|0;l=j+2|0;j=e;while(1){k=h+8|0;if(m<<16>>16!=(d[k>>1]|0)){h=j;break e}if((d[l>>1]|0)!=(d[k+2>>1]|0)){h=j;break e}if((d[n>>1]|0)!=(d[h+12>>1]|0)){h=j;break e}j=f[h>>2]|0;if(!j)break;else{k=h;h=j;j=k}}}while(0);f[o>>2]=f[h>>2];f[h>>2]=f[f[(f[a>>2]|0)+(g<<2)>>2]>>2];f[f[(f[a>>2]|0)+(g<<2)>>2]>>2]=e;e=f[i>>2]|0;if(!e){c=41;break a}}}while(0);g=f[e>>2]|0;if(!g){c=41;break a}else{i=e;o=e}}f[h>>2]=o;g=f[e>>2]|0;if(!g){c=41;break}else i=e}if((c|0)==41)return}function sd(a,c){a=a|0;c=c|0;var d=0,e=0,g=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;r=b[c+11>>0]|0;m=r<<24>>24<0;u=m?f[c>>2]|0:c;r=m?f[c+4>>2]|0:r&255;if(r>>>0>3){c=u;g=r;d=r;while(1){m=X(h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24,1540483477)|0;g=(X(m>>>24^m,1540483477)|0)^(X(g,1540483477)|0);d=d+-4|0;if(d>>>0<=3)break;else c=c+4|0}m=r+-4|0;d=m&-4;e=u+(d+4)|0;c=g;d=m-d|0}else{e=u;c=r;d=r}switch(d|0){case 3:{i=h[e+2>>0]<<16^c;q=6;break}case 2:{i=c;q=6;break}case 1:{j=c;q=7;break}default:k=c}if((q|0)==6){j=h[e+1>>0]<<8^i;q=7}if((q|0)==7)k=X(h[e>>0]^j,1540483477)|0;m=X(k>>>13^k,1540483477)|0;m=m>>>15^m;k=f[a+4>>2]|0;if(!k){w=0;return w|0}i=k+-1|0;d=(i&k|0)==0;if(!d)if(m>>>0>>0)l=m;else l=(m>>>0)%(k>>>0)|0;else l=m&i;c=f[(f[a>>2]|0)+(l<<2)>>2]|0;if(!c){w=0;return w|0}c=f[c>>2]|0;if(!c){w=0;return w|0}j=(r|0)==0;if(d){a:while(1){q=f[c+4>>2]|0;d=(q|0)==(m|0);if(!(d|(q&i|0)==(l|0))){c=0;q=41;break}do if(d?(n=c+8|0,o=b[n+11>>0]|0,p=o<<24>>24<0,o=o&255,((p?f[c+12>>2]|0:o)|0)==(r|0)):0){d=f[n>>2]|0;e=p?d:n;if(p){if(j){q=41;break a}if(!(jl(e,u,r)|0)){q=41;break a}else break}if(j){q=41;break a}if((d&255)<<24>>24==(b[u>>0]|0)){d=o;e=n;g=u;do{d=d+-1|0;e=e+1|0;if(!d){q=41;break a}g=g+1|0}while((b[e>>0]|0)==(b[g>>0]|0))}}while(0);c=f[c>>2]|0;if(!c){c=0;q=41;break}}if((q|0)==41)return c|0}else s=c;b:while(1){c=f[s+4>>2]|0;d=(c|0)==(m|0);if(!d){if(c>>>0>=k>>>0)c=(c>>>0)%(k>>>0)|0;if((c|0)!=(l|0)){c=0;q=41;break}if(d)q=33}else q=33;do if((q|0)==33?(q=0,t=s+8|0,v=b[t+11>>0]|0,w=v<<24>>24<0,v=v&255,((w?f[s+12>>2]|0:v)|0)==(r|0)):0){c=f[t>>2]|0;d=w?c:t;if(w){if(j){c=s;q=41;break b}if(!(jl(d,u,r)|0)){c=s;q=41;break b}else break}if(j){c=s;q=41;break b}if((c&255)<<24>>24==(b[u>>0]|0)){c=v;d=t;e=u;do{c=c+-1|0;d=d+1|0;if(!c){c=s;q=41;break b}e=e+1|0}while((b[d>>0]|0)==(b[e>>0]|0))}}while(0);s=f[s>>2]|0;if(!s){c=0;q=41;break}}if((q|0)==41)return c|0;return 0}function td(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)tq(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=sa(8)|0;xo(a,20710);f[a>>2]=7152;wa(a|0,1112,107)}q=en(c<<2)|0;d=f[a>>2]|0;f[a>>2]=q;if(d|0)tq(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;d=f[h+4>>2]|0;p=c+-1|0;q=(p&c|0)==0;if(!q){if(d>>>0>=c>>>0)d=(d>>>0)%(c>>>0)|0}else d=d&p;f[(f[a>>2]|0)+(d<<2)>>2]=e;e=f[h>>2]|0;if(!e)return;else{i=h;g=e;e=h}a:while(1){o=e;b:while(1){c:do if(q){e=g;while(1){n=f[e+4>>2]&p;if((n|0)==(d|0))break c;h=(f[a>>2]|0)+(n<<2)|0;if(!(f[h>>2]|0)){d=n;break b}h=e+8|0;m=h+1|0;l=h+2|0;g=f[e>>2]|0;d:do if(!g)g=e;else{k=b[h>>0]|0;h=e;while(1){j=g+8|0;if(k<<24>>24!=(b[j>>0]|0)){g=h;break d}if((b[m>>0]|0)!=(b[j+1>>0]|0)){g=h;break d}if((b[l>>0]|0)!=(b[j+2>>0]|0)){g=h;break d}h=f[g>>2]|0;if(!h)break;else{j=g;g=h;h=j}}}while(0);f[o>>2]=f[g>>2];f[g>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=e;e=f[i>>2]|0;if(!e){d=41;break a}}}else{e=g;while(1){g=f[e+4>>2]|0;if(g>>>0>=c>>>0)g=(g>>>0)%(c>>>0)|0;if((g|0)==(d|0))break c;h=(f[a>>2]|0)+(g<<2)|0;if(!(f[h>>2]|0)){d=g;break b}j=e+8|0;n=j+1|0;m=j+2|0;h=f[e>>2]|0;e:do if(!h)h=e;else{l=b[j>>0]|0;j=e;while(1){k=h+8|0;if(l<<24>>24!=(b[k>>0]|0)){h=j;break e}if((b[n>>0]|0)!=(b[k+1>>0]|0)){h=j;break e}if((b[m>>0]|0)!=(b[k+2>>0]|0)){h=j;break e}j=f[h>>2]|0;if(!j)break;else{k=h;h=j;j=k}}}while(0);f[o>>2]=f[h>>2];f[h>>2]=f[f[(f[a>>2]|0)+(g<<2)>>2]>>2];f[f[(f[a>>2]|0)+(g<<2)>>2]>>2]=e;e=f[i>>2]|0;if(!e){d=41;break a}}}while(0);g=f[e>>2]|0;if(!g){d=41;break a}else{i=e;o=e}}f[h>>2]=o;g=f[e>>2]|0;if(!g){d=41;break}else i=e}if((d|0)==41)return}function ud(a,c){a=a|0;c=c|0;var d=0,e=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;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)tq(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=sa(8)|0;xo(a,20710);f[a>>2]=7152;wa(a|0,1112,107)}s=en(c<<2)|0;d=f[a>>2]|0;f[a>>2]=s;if(d|0)tq(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;g=f[e>>2]|0;if(!g)return;d=f[g+4>>2]|0;r=c+-1|0;s=(r&c|0)==0;if(!s){if(d>>>0>=c>>>0)d=(d>>>0)%(c>>>0)|0}else d=d&r;f[(f[a>>2]|0)+(d<<2)>>2]=e;e=f[g>>2]|0;if(!e)return;else{h=g;i=e;e=g}a:while(1){q=h;g=i;p=e;b:while(1){e=g;while(1){g=f[e+4>>2]|0;if(!s){if(g>>>0>=c>>>0)g=(g>>>0)%(c>>>0)|0}else g=g&r;if((g|0)==(d|0))break;h=(f[a>>2]|0)+(g<<2)|0;if(!(f[h>>2]|0))break b;h=f[e>>2]|0;c:do if(!h)h=e;else{n=e+8|0;m=b[n+11>>0]|0;k=m<<24>>24<0;m=m&255;o=k?f[e+12>>2]|0:m;l=(o|0)==0;if(k){i=e;while(1){j=h+8|0;m=b[j+11>>0]|0;k=m<<24>>24<0;if((o|0)!=((k?f[h+12>>2]|0:m&255)|0)){h=i;break c}if(!l?jl(f[n>>2]|0,k?f[j>>2]|0:j,o)|0:0){h=i;break c}i=f[h>>2]|0;if(!i)break c;else{m=h;h=i;i=m}}}if(l){i=e;while(1){o=b[h+8+11>>0]|0;if((o<<24>>24<0?f[h+12>>2]|0:o&255)|0){h=i;break c}i=f[h>>2]|0;if(!i)break c;else{o=h;h=i;i=o}}}l=e;while(1){i=h+8|0;k=b[i+11>>0]|0;j=k<<24>>24<0;if((o|0)!=((j?f[h+12>>2]|0:k&255)|0)){h=l;break c}i=j?f[i>>2]|0:i;if((f[n>>2]&255)<<24>>24==(b[i>>0]|0)){j=m;k=n}else{h=l;break c}while(1){j=j+-1|0;k=k+1|0;if(!j)break;i=i+1|0;if((b[k>>0]|0)!=(b[i>>0]|0)){h=l;break c}}i=f[h>>2]|0;if(!i)break;else{l=h;h=i}}}while(0);f[p>>2]=f[h>>2];f[h>>2]=f[f[(f[a>>2]|0)+(g<<2)>>2]>>2];f[f[(f[a>>2]|0)+(g<<2)>>2]>>2]=e;e=f[q>>2]|0;if(!e){d=43;break a}}g=f[e>>2]|0;if(!g){d=43;break a}else{q=e;p=e}}f[h>>2]=p;i=f[e>>2]|0;if(!i){d=43;break}else{h=e;d=g}}if((d|0)==43)return}function vd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)tq(c);f[d>>2]=0;return}if(b>>>0>1073741823){a=sa(8)|0;xo(a,20710);f[a>>2]=7152;wa(a|0,1112,107)}o=en(b<<2)|0;c=f[a>>2]|0;f[a>>2]=o;if(c|0)tq(c);f[d>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;c=f[g+4>>2]|0;n=b+-1|0;o=(n&b|0)==0;if(!o){if(c>>>0>=b>>>0)c=(c>>>0)%(b>>>0)|0}else c=c&n;f[(f[a>>2]|0)+(c<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{h=g;e=d;d=g}a:while(1){m=d;b:while(1){c:do if(o){d=e;while(1){l=f[d+4>>2]&n;if((l|0)==(c|0))break c;g=(f[a>>2]|0)+(l<<2)|0;if(!(f[g>>2]|0)){c=l;break b}k=d+12|0;j=d+16|0;e=f[d>>2]|0;d:do if(!e)e=d;else{i=f[d+8>>2]|0;g=d;while(1){if((i|0)!=(f[e+8>>2]|0)){e=g;break d}if((f[k>>2]|0)!=(f[e+12>>2]|0)){e=g;break d}if((f[j>>2]|0)!=(f[e+16>>2]|0)){e=g;break d}g=f[e>>2]|0;if(!g)break;else{p=e;e=g;g=p}}}while(0);f[m>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(l<<2)>>2]>>2];f[f[(f[a>>2]|0)+(l<<2)>>2]>>2]=d;d=f[h>>2]|0;if(!d){c=41;break a}}}else{d=e;while(1){e=f[d+4>>2]|0;if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0;if((e|0)==(c|0))break c;g=(f[a>>2]|0)+(e<<2)|0;if(!(f[g>>2]|0)){c=e;break b}l=d+12|0;k=d+16|0;g=f[d>>2]|0;e:do if(!g)g=d;else{j=f[d+8>>2]|0;i=d;while(1){if((j|0)!=(f[g+8>>2]|0)){g=i;break e}if((f[l>>2]|0)!=(f[g+12>>2]|0)){g=i;break e}if((f[k>>2]|0)!=(f[g+16>>2]|0)){g=i;break e}i=f[g>>2]|0;if(!i)break;else{p=g;g=i;i=p}}}while(0);f[m>>2]=f[g>>2];f[g>>2]=f[f[(f[a>>2]|0)+(e<<2)>>2]>>2];f[f[(f[a>>2]|0)+(e<<2)>>2]>>2]=d;d=f[h>>2]|0;if(!d){c=41;break a}}}while(0);e=f[d>>2]|0;if(!e){c=41;break a}else{h=d;m=d}}f[g>>2]=m;e=f[d>>2]|0;if(!e){c=41;break}else h=d}if((c|0)==41)return}function wd(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;o=a+4|0;t=f[c>>2]|0;c=t;do if((t|0)!=(o|0)){j=t+16|0;i=b[j+11>>0]|0;m=i<<24>>24<0;i=m?f[t+20>>2]|0:i&255;q=b[g+11>>0]|0;r=q<<24>>24<0;q=r?f[g+4>>2]|0:q&255;l=i>>>0>>0;h=l?i:q;if((h|0)!=0?(k=jl(r?f[g>>2]|0:g,m?f[j>>2]|0:j,h)|0,(k|0)!=0):0){if((k|0)<0)break}else u=4;if((u|0)==4?q>>>0>>0:0)break;h=q>>>0>>0?q:i;if((h|0)!=0?(n=jl(m?f[j>>2]|0:j,r?f[g>>2]|0:g,h)|0,(n|0)!=0):0){if((n|0)>=0)u=36}else u=20;if((u|0)==20?!l:0)u=36;if((u|0)==36){f[d>>2]=c;f[e>>2]=c;d=e;return d|0}m=t+4|0;h=f[m>>2]|0;if(!h){i=t+8|0;h=f[i>>2]|0;if((f[h>>2]|0)!=(t|0))do{p=f[i>>2]|0;i=p+8|0;h=f[i>>2]|0}while((f[h>>2]|0)!=(p|0))}else while(1){i=f[h>>2]|0;if(!i)break;else h=i}do if((h|0)!=(o|0)){j=h+16|0;k=b[j+11>>0]|0;l=k<<24>>24<0;k=l?f[h+20>>2]|0:k&255;i=k>>>0>>0?k:q;if((i|0)!=0?(s=jl(r?f[g>>2]|0:g,l?f[j>>2]|0:j,i)|0,(s|0)!=0):0){if((s|0)<0)break}else u=30;if((u|0)==30?q>>>0>>0:0)break;d=mg(a,d,g)|0;return d|0}while(0);if(!(f[t+4>>2]|0)){f[d>>2]=c;d=m;return d|0}else{f[d>>2]=h;d=h;return d|0}}while(0);e=f[t>>2]|0;do if((t|0)!=(f[a>>2]|0)){if(!e){h=t;while(1){c=f[h+8>>2]|0;if((f[c>>2]|0)==(h|0))h=c;else{h=c;break}}}else{h=e;while(1){c=f[h+4>>2]|0;if(!c)break;else h=c}}c=h;j=h+16|0;k=b[g+11>>0]|0;l=k<<24>>24<0;k=l?f[g+4>>2]|0:k&255;i=b[j+11>>0]|0;m=i<<24>>24<0;i=m?f[h+20>>2]|0:i&255;h=k>>>0>>0?k:i;if((h|0)!=0?(p=jl(m?f[j>>2]|0:j,l?f[g>>2]|0:g,h)|0,(p|0)!=0):0){if((p|0)<0)break}else u=12;if((u|0)==12?i>>>0>>0:0)break;d=mg(a,d,g)|0;return d|0}while(0);if(!e){f[d>>2]=t;d=t;return d|0}else{u=c;f[d>>2]=u;d=u+4|0;return d|0}return 0}function xd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var 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;u=a+8|0;f[u>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else ri(j,e-k|0);if(d){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{t=f[b+(i<<2)>>2]|0;s=(t|0)<(g|0);g=s?t:g;h=s?h:(t|0)>(h|0)?t:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;t=1-g+h|0;f[a+20>>2]=t;g=(t|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(t&1))f[h>>2]=g+-1}else d=0;g=d-e|0;if((g|0)>0){o=0-e|0;r=a+16|0;n=a+32|0;t=a+12|0;s=a+28|0;q=a+20|0;p=a+24|0;d=f[u>>2]|0;do{l=b+(g<<2)|0;m=c+(g<<2)|0;if((d|0)>0){k=0;j=l+(o<<2)|0;while(1){if((d|0)>0){i=0;do{d=f[j+(i<<2)>>2]|0;h=f[r>>2]|0;if((d|0)>(h|0)){d=f[n>>2]|0;f[d+(i<<2)>>2]=h}else{w=f[t>>2]|0;h=f[n>>2]|0;f[h+(i<<2)>>2]=(d|0)<(w|0)?w:d;d=h}i=i+1|0}while((i|0)<(f[u>>2]|0));i=d}else i=f[n>>2]|0;d=(f[l+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=m+(k<<2)|0;f[h>>2]=d;if((d|0)>=(f[s>>2]|0)){if((d|0)>(f[p>>2]|0)){d=d-(f[q>>2]|0)|0;v=41}}else{d=(f[q>>2]|0)+d|0;v=41}if((v|0)==41){v=0;f[h>>2]=d}k=k+1|0;d=f[u>>2]|0;if((k|0)>=(d|0))break;else j=i}}g=g-e|0}while((g|0)>0)}else d=f[u>>2]|0;w=e>>>0>1073741823?-1:e<<2;m=qq(w)|0;fj(m|0,0,w|0)|0;if((d|0)<=0){rq(m);return 1}o=a+16|0;l=a+32|0;q=a+12|0;p=a+28|0;n=a+20|0;k=a+24|0;j=0;h=m;do{if((d|0)>0){i=0;do{d=f[h+(i<<2)>>2]|0;g=f[o>>2]|0;if((d|0)>(g|0)){d=f[l>>2]|0;f[d+(i<<2)>>2]=g}else{a=f[q>>2]|0;w=f[l>>2]|0;f[w+(i<<2)>>2]=(d|0)<(a|0)?a:d;d=w}i=i+1|0}while((i|0)<(f[u>>2]|0));h=d}else h=f[l>>2]|0;d=(f[b+(j<<2)>>2]|0)-(f[h+(j<<2)>>2]|0)|0;g=c+(j<<2)|0;f[g>>2]=d;if((d|0)>=(f[p>>2]|0)){if((d|0)>(f[k>>2]|0)){d=d-(f[n>>2]|0)|0;v=26}}else{d=(f[n>>2]|0)+d|0;v=26}if((v|0)==26){v=0;f[g>>2]=d}j=j+1|0;d=f[u>>2]|0}while((j|0)<(d|0));rq(m);return 1}function yd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+32|0;i=r+20|0;j=r+12|0;p=r;g=r+16|0;h=r+24|0;k=a+16|0;jn(k);e=(f[d+4>>2]|0)-(f[c+4>>2]|0)|0;m=a+12|0;f[m>>2]=e;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;Pi(p,e);f[g>>2]=p;f[i>>2]=f[g>>2];Hc(c,d,a,i)|0;g=a+32|0;c=g;d=f[c>>2]|0;c=f[c+4>>2]|0;if(!((c|0)>0|(c|0)==0&d>>>0>0)){f[j>>2]=f[a+20>>2];f[i>>2]=f[j>>2];Me(k,i,6112,6116)|0;d=g;c=f[d+4>>2]|0;d=f[d>>2]|0}e=a+8|0;b[h>>0]=f[e>>2];if(!((c|0)>0|(c|0)==0&d>>>0>0)){f[j>>2]=f[a+20>>2];f[i>>2]=f[j>>2];Me(k,i,h,h+1|0)|0;d=g;c=f[d+4>>2]|0;d=f[d>>2]|0}if(!((c|0)>0|(c|0)==0&d>>>0>0)?(f[j>>2]=f[a+20>>2],f[i>>2]=f[j>>2],Me(k,i,a,a+4|0)|0,h=g,d=f[h+4>>2]|0,n=a+4|0,!((d|0)>0|(d|0)==0&(f[h>>2]|0)>>>0>0)):0){f[j>>2]=f[a+20>>2];f[i>>2]=f[j>>2];Me(k,i,n,n+4|0)|0;n=g;h=f[n+4>>2]|0;if(!((h|0)>0|(h|0)==0&(f[n>>2]|0)>>>0>0)){f[j>>2]=f[a+20>>2];f[i>>2]=f[j>>2];Me(k,i,m,m+4|0)|0}}else o=9;if((f[e>>2]|0)==1?(l=a+48|0,o=g,n=f[o+4>>2]|0,!((n|0)>0|(n|0)==0&(f[o>>2]|0)>>>0>0)):0){f[j>>2]=f[a+20>>2];f[i>>2]=f[j>>2];Me(k,i,l,l+4|0)|0}do if(f[m>>2]|0)if((f[e>>2]|0)==1){e=qd(a,p)|0;break}else{Al(8073,23,1,f[1529]|0)|0;e=0;break}else e=1;while(0);c=f[p>>2]|0;if(!c){u=r;return e|0}d=f[q>>2]|0;if((d|0)!=(c|0))f[q>>2]=d+(~(((d+-12-c|0)>>>0)/12|0)*12|0);tq(c);u=r;return e|0}function zd(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;f[c+48>>2]=d;f[c+44>>2]=e;e=f[c+8>>2]|0;g=c+12|0;d=f[g>>2]|0;if((d|0)!=(e|0))do{h=d+-4|0;f[g>>2]=h;d=f[h>>2]|0;f[h>>2]=0;if(d|0)Ra[f[(f[d>>2]|0)+4>>2]&127](d);d=f[g>>2]|0}while((d|0)!=(e|0));d=f[c+20>>2]|0;g=c+24|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);d=f[c+32>>2]|0;g=c+36|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);if(!(f[c+4>>2]|0)){d=en(32)|0;f[i>>2]=d;f[i+8>>2]=-2147483616;f[i+4>>2]=23;e=d;g=18981;c=e+23|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(c|0));b[d+23>>0]=0;f[a>>2]=-1;gj(a+4|0,i);if((b[i+11>>0]|0)<0)tq(f[i>>2]|0);u=j;return}Pd(a,c);if(f[a>>2]|0){u=j;return}h=a+4|0;d=h+11|0;if((b[d>>0]|0)<0)tq(f[h>>2]|0);Ii(a,c);if(f[a>>2]|0){u=j;return}if((b[d>>0]|0)<0)tq(f[h>>2]|0);if(!(Ma[f[(f[c>>2]|0)+16>>2]&127](c)|0)){d=en(32)|0;f[i>>2]=d;f[i+8>>2]=-2147483616;f[i+4>>2]=29;e=d;g=19005;c=e+29|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(c|0));b[d+29>>0]=0;f[a>>2]=-1;gj(h,i);if((b[i+11>>0]|0)<0)tq(f[i>>2]|0);u=j;return}if(!(Ma[f[(f[c>>2]|0)+20>>2]&127](c)|0)){d=en(32)|0;f[i>>2]=d;f[i+8>>2]=-2147483616;f[i+4>>2]=31;e=d;g=19035;c=e+31|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(c|0));b[d+31>>0]=0;f[a>>2]=-1;gj(h,i);if((b[i+11>>0]|0)<0)tq(f[i>>2]|0);u=j;return}if(!(Ma[f[(f[c>>2]|0)+24>>2]&127](c)|0)){d=en(32)|0;f[i>>2]=d;f[i+8>>2]=-2147483616;f[i+4>>2]=31;e=d;g=19067;c=e+31|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(c|0));b[d+31>>0]=0;f[a>>2]=-1;gj(h,i);if((b[i+11>>0]|0)<0)tq(f[i>>2]|0);u=j;return}if(Ma[f[(f[c>>2]|0)+28>>2]&127](c)|0){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=j;return}d=en(48)|0;f[i>>2]=d;f[i+8>>2]=-2147483600;f[i+4>>2]=34;e=d;g=19099;c=e+34|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(c|0));b[d+34>>0]=0;f[a>>2]=-1;gj(h,i);if((b[i+11>>0]|0)<0)tq(f[i>>2]|0);u=j;return}function Ad(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)tq(c);f[e>>2]=0;return}if(b>>>0>1073741823){a=sa(8)|0;xo(a,20710);f[a>>2]=7152;wa(a|0,1112,107)}p=en(b<<2)|0;c=f[a>>2]|0;f[a>>2]=p;if(c|0)tq(c);f[e>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;c=f[h+4>>2]|0;o=b+-1|0;p=(o&b|0)==0;if(!p){if(c>>>0>=b>>>0)c=(c>>>0)%(b>>>0)|0}else c=c&o;f[(f[a>>2]|0)+(c<<2)>>2]=e;e=f[h>>2]|0;if(!e)return;else{i=h;g=e;e=h}a:while(1){m=i;n=e;b:while(1){c:do if(p){e=g;while(1){l=f[e+4>>2]&o;if((l|0)==(c|0))break c;h=(f[a>>2]|0)+(l<<2)|0;if(!(f[h>>2]|0)){c=l;break b}h=e+8|0;g=f[e>>2]|0;d:do if(!g)g=e;else{k=d[h>>1]|0;j=h+2|0;h=e;while(1){i=g+8|0;if(k<<16>>16!=(d[i>>1]|0)){g=h;break d}if((d[j>>1]|0)!=(d[i+2>>1]|0)){g=h;break d}h=f[g>>2]|0;if(!h)break;else{i=g;g=h;h=i}}}while(0);f[n>>2]=f[g>>2];f[g>>2]=f[f[(f[a>>2]|0)+(l<<2)>>2]>>2];f[f[(f[a>>2]|0)+(l<<2)>>2]>>2]=e;e=f[m>>2]|0;if(!e){c=39;break a}}}else{e=g;while(1){g=f[e+4>>2]|0;if(g>>>0>=b>>>0)g=(g>>>0)%(b>>>0)|0;if((g|0)==(c|0))break c;h=(f[a>>2]|0)+(g<<2)|0;if(!(f[h>>2]|0)){c=g;break b}i=e+8|0;h=f[e>>2]|0;e:do if(!h)h=e;else{l=d[i>>1]|0;k=i+2|0;i=e;while(1){j=h+8|0;if(l<<16>>16!=(d[j>>1]|0)){h=i;break e}if((d[k>>1]|0)!=(d[j+2>>1]|0)){h=i;break e}i=f[h>>2]|0;if(!i)break;else{j=h;h=i;i=j}}}while(0);f[n>>2]=f[h>>2];f[h>>2]=f[f[(f[a>>2]|0)+(g<<2)>>2]>>2];f[f[(f[a>>2]|0)+(g<<2)>>2]>>2]=e;e=f[m>>2]|0;if(!e){c=39;break a}}}while(0);g=f[e>>2]|0;if(!g){c=39;break a}else{m=e;n=e}}f[h>>2]=n;g=f[e>>2]|0;if(!g){c=39;break}else i=e}if((c|0)==39)return}function Bd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)tq(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=sa(8)|0;xo(a,20710);f[a>>2]=7152;wa(a|0,1112,107)}p=en(c<<2)|0;d=f[a>>2]|0;f[a>>2]=p;if(d|0)tq(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;d=f[h+4>>2]|0;o=c+-1|0;p=(o&c|0)==0;if(!p){if(d>>>0>=c>>>0)d=(d>>>0)%(c>>>0)|0}else d=d&o;f[(f[a>>2]|0)+(d<<2)>>2]=e;e=f[h>>2]|0;if(!e)return;else{i=h;g=e;e=h}a:while(1){m=i;n=e;b:while(1){c:do if(p){e=g;while(1){l=f[e+4>>2]&o;if((l|0)==(d|0))break c;h=(f[a>>2]|0)+(l<<2)|0;if(!(f[h>>2]|0)){d=l;break b}h=e+8|0;g=f[e>>2]|0;d:do if(!g)g=e;else{k=b[h>>0]|0;j=h+1|0;h=e;while(1){i=g+8|0;if(k<<24>>24!=(b[i>>0]|0)){g=h;break d}if((b[j>>0]|0)!=(b[i+1>>0]|0)){g=h;break d}h=f[g>>2]|0;if(!h)break;else{i=g;g=h;h=i}}}while(0);f[n>>2]=f[g>>2];f[g>>2]=f[f[(f[a>>2]|0)+(l<<2)>>2]>>2];f[f[(f[a>>2]|0)+(l<<2)>>2]>>2]=e;e=f[m>>2]|0;if(!e){d=39;break a}}}else{e=g;while(1){g=f[e+4>>2]|0;if(g>>>0>=c>>>0)g=(g>>>0)%(c>>>0)|0;if((g|0)==(d|0))break c;h=(f[a>>2]|0)+(g<<2)|0;if(!(f[h>>2]|0)){d=g;break b}i=e+8|0;h=f[e>>2]|0;e:do if(!h)h=e;else{l=b[i>>0]|0;k=i+1|0;i=e;while(1){j=h+8|0;if(l<<24>>24!=(b[j>>0]|0)){h=i;break e}if((b[k>>0]|0)!=(b[j+1>>0]|0)){h=i;break e}i=f[h>>2]|0;if(!i)break;else{j=h;h=i;i=j}}}while(0);f[n>>2]=f[h>>2];f[h>>2]=f[f[(f[a>>2]|0)+(g<<2)>>2]>>2];f[f[(f[a>>2]|0)+(g<<2)>>2]>>2]=e;e=f[m>>2]|0;if(!e){d=39;break a}}}while(0);g=f[e>>2]|0;if(!g){d=39;break a}else{m=e;n=e}}f[h>>2]=n;g=f[e>>2]|0;if(!g){d=39;break}else i=e}if((d|0)==39)return}function Cd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var 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,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=u;u=u+16|0;y=A+4|0;x=A;f[a+72>>2]=e;f[a+64>>2]=g;v=qq(e>>>0>1073741823?-1:e<<2)|0;w=a+68|0;g=f[w>>2]|0;f[w>>2]=v;if(g|0)rq(g);v=a+8|0;f[v>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else ri(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{s=f[b+(i<<2)>>2]|0;r=(s|0)<(g|0);g=r?s:g;h=r?h:(s|0)>(h|0)?s:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;s=1-g+h|0;f[a+20>>2]=s;g=(s|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(s&1))f[h>>2]=g+-1}s=a+56|0;h=f[s>>2]|0;i=f[h+4>>2]|0;j=f[h>>2]|0;g=i-j|0;if((g|0)<=0){u=A;return 1}g=(g>>>2)+-1|0;p=a+16|0;m=a+32|0;r=a+12|0;q=a+28|0;o=a+20|0;n=a+24|0;if(i-j>>2>>>0>g>>>0){t=j;z=g}else{d=h;Jp(d)}while(1){f[x>>2]=f[t+(z<<2)>>2];f[y>>2]=f[x>>2];xc(a,y,b,z);d=X(z,e)|0;l=b+(d<<2)|0;d=c+(d<<2)|0;g=f[v>>2]|0;if((g|0)>0){k=0;i=f[w>>2]|0;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[p>>2]|0;if((g|0)>(h|0)){g=f[m>>2]|0;f[g+(j<<2)>>2]=h}else{h=f[r>>2]|0;t=f[m>>2]|0;f[t+(j<<2)>>2]=(g|0)<(h|0)?h:g;g=t}j=j+1|0}while((j|0)<(f[v>>2]|0));i=g}else i=f[m>>2]|0;g=(f[l+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=d+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[q>>2]|0)){if((g|0)>(f[n>>2]|0)){g=g-(f[o>>2]|0)|0;B=31}}else{g=(f[o>>2]|0)+g|0;B=31}if((B|0)==31){B=0;f[h>>2]=g}k=k+1|0;g=f[v>>2]|0}while((k|0)<(g|0))}z=z+-1|0;if((z|0)<=-1){B=15;break}g=f[s>>2]|0;t=f[g>>2]|0;if((f[g+4>>2]|0)-t>>2>>>0<=z>>>0){B=16;break}}if((B|0)==15){u=A;return 1}else if((B|0)==16)Jp(g);return 0}function Dd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var 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,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=u;u=u+16|0;y=A+4|0;x=A;f[a+72>>2]=e;f[a+64>>2]=g;v=qq(e>>>0>1073741823?-1:e<<2)|0;w=a+68|0;g=f[w>>2]|0;f[w>>2]=v;if(g|0)rq(g);v=a+8|0;f[v>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else ri(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{s=f[b+(i<<2)>>2]|0;r=(s|0)<(g|0);g=r?s:g;h=r?h:(s|0)>(h|0)?s:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;s=1-g+h|0;f[a+20>>2]=s;g=(s|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(s&1))f[h>>2]=g+-1}s=a+56|0;h=f[s>>2]|0;i=f[h+4>>2]|0;j=f[h>>2]|0;g=i-j|0;if((g|0)<=0){u=A;return 1}g=(g>>>2)+-1|0;p=a+16|0;m=a+32|0;r=a+12|0;q=a+28|0;o=a+20|0;n=a+24|0;if(i-j>>2>>>0>g>>>0){t=j;z=g}else{d=h;Jp(d)}while(1){f[x>>2]=f[t+(z<<2)>>2];f[y>>2]=f[x>>2];sc(a,y,b,z);d=X(z,e)|0;l=b+(d<<2)|0;d=c+(d<<2)|0;g=f[v>>2]|0;if((g|0)>0){k=0;i=f[w>>2]|0;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[p>>2]|0;if((g|0)>(h|0)){g=f[m>>2]|0;f[g+(j<<2)>>2]=h}else{h=f[r>>2]|0;t=f[m>>2]|0;f[t+(j<<2)>>2]=(g|0)<(h|0)?h:g;g=t}j=j+1|0}while((j|0)<(f[v>>2]|0));i=g}else i=f[m>>2]|0;g=(f[l+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=d+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[q>>2]|0)){if((g|0)>(f[n>>2]|0)){g=g-(f[o>>2]|0)|0;B=31}}else{g=(f[o>>2]|0)+g|0;B=31}if((B|0)==31){B=0;f[h>>2]=g}k=k+1|0;g=f[v>>2]|0}while((k|0)<(g|0))}z=z+-1|0;if((z|0)<=-1){B=15;break}g=f[s>>2]|0;t=f[g>>2]|0;if((f[g+4>>2]|0)-t>>2>>>0<=z>>>0){B=16;break}}if((B|0)==15){u=A;return 1}else if((B|0)==16)Jp(g);return 0}function Ed(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+48|0;i=q+32|0;h=q+28|0;o=q+16|0;p=q;j=a+16|0;d=f[j>>2]|0;if(d|0){g=f[b>>2]|0;c=j;a:while(1){e=d;while(1){if((f[e+16>>2]|0)>=(g|0))break;d=f[e+4>>2]|0;if(!d)break a;else e=d}d=f[e>>2]|0;if(!d){c=e;break}else c=e}if((c|0)!=(j|0)?(g|0)>=(f[c+16>>2]|0):0){p=c;p=p+20|0;u=q;return p|0}}Uo(o);f[p>>2]=f[b>>2];l=p+4|0;f[p+8>>2]=0;k=p+12|0;f[k>>2]=0;m=p+8|0;f[l>>2]=m;c=f[o>>2]|0;n=o+4|0;if((c|0)!=(n|0)){g=m;do{d=c+16|0;f[h>>2]=g;f[i>>2]=f[h>>2];Zg(l,i,d,d)|0;d=f[c+4>>2]|0;if(!d){d=c+8|0;e=f[d>>2]|0;if((f[e>>2]|0)==(c|0))c=e;else do{b=f[d>>2]|0;d=b+8|0;c=f[d>>2]|0}while((f[c>>2]|0)!=(b|0))}else{c=d;while(1){d=f[c>>2]|0;if(!d)break;else c=d}}}while((c|0)!=(n|0))}i=a+12|0;c=f[j>>2]|0;do if(c){g=f[p>>2]|0;e=a+16|0;while(1){d=f[c+16>>2]|0;if((g|0)<(d|0)){d=f[c>>2]|0;if(!d){d=23;break}else e=c}else{if((d|0)>=(g|0)){d=27;break}e=c+4|0;d=f[e>>2]|0;if(!d){d=26;break}}c=d}if((d|0)==23){h=c;e=c;break}else if((d|0)==26){h=c;break}else if((d|0)==27){h=c;break}}else{h=j;e=j}while(0);c=f[e>>2]|0;if(!c){c=en(32)|0;f[c+16>>2]=f[p>>2];b=c+20|0;f[b>>2]=f[l>>2];g=c+24|0;d=f[p+8>>2]|0;f[g>>2]=d;j=f[k>>2]|0;f[c+28>>2]=j;if(!j)f[b>>2]=g;else{f[d+8>>2]=g;f[l>>2]=m;f[m>>2]=0;f[k>>2]=0}f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=h;f[e>>2]=c;d=f[f[i>>2]>>2]|0;if(!d)d=c;else{f[i>>2]=d;d=f[e>>2]|0}Ie(f[a+16>>2]|0,d);a=a+20|0;f[a>>2]=(f[a>>2]|0)+1}oj(p+4|0,f[m>>2]|0);oj(o,f[n>>2]|0);p=c;p=p+20|0;u=q;return p|0}function Fd(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+32|0;n=q+4|0;m=q;p=q+16|0;l=a+48|0;c=f[l>>2]|0;d=en(32)|0;f[n>>2]=d;f[n+8>>2]=-2147483616;f[n+4>>2]=20;i=d;j=17813;k=i+20|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[d+20>>0]=0;h=Bk(c+24|0,n)|0;if((b[n+11>>0]|0)<0)tq(f[n>>2]|0);c=f[l>>2]|0;d=en(32)|0;f[n>>2]=d;f[n+8>>2]=-2147483616;f[n+4>>2]=22;i=d;j=17834;k=i+22|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[d+22>>0]=0;g=Bk(c+24|0,n)|0;if((b[n+11>>0]|0)<0)tq(f[n>>2]|0);o=a+56|0;c=f[o>>2]|0;f[o>>2]=0;if(c|0)Ra[f[(f[c>>2]|0)+4>>2]&127](c);e=f[a+52>>2]|0;e=((f[e+100>>2]|0)-(f[e+96>>2]|0)|0)<12e3;c=f[l>>2]|0;d=en(32)|0;f[n>>2]=d;f[n+8>>2]=-2147483616;f[n+4>>2]=18;i=d;j=17857;k=i+18|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[d+18>>0]=0;c=Dk(c,n,-1)|0;if((b[n+11>>0]|0)<0)tq(f[n>>2]|0);switch(c|0){case -1:{if(h?e|((gi(f[l>>2]|0)|0)>4|g^1):0)e=13;else e=17;break}case 0:{if(h)e=13;else e=21;break}case 2:{e=17;break}default:e=21}if((e|0)==13){c=f[a+44>>2]|0;b[p>>0]=0;l=c+16|0;k=f[l+4>>2]|0;if(!((k|0)>0|(k|0)==0&(f[l>>2]|0)>>>0>0)){f[m>>2]=f[c+4>>2];f[n>>2]=f[m>>2];Me(c,n,p,p+1|0)|0}c=en(296)|0;Ki(c);d=f[o>>2]|0;f[o>>2]=c;if(d){Ra[f[(f[d>>2]|0)+4>>2]&127](d);e=21}}else if((e|0)==17){c=f[a+44>>2]|0;b[p>>0]=2;l=c+16|0;k=f[l+4>>2]|0;if(!((k|0)>0|(k|0)==0&(f[l>>2]|0)>>>0>0)){f[m>>2]=f[c+4>>2];f[n>>2]=f[m>>2];Me(c,n,p,p+1|0)|0}c=en(360)|0;ii(c);d=f[o>>2]|0;f[o>>2]=c;if(d){Ra[f[(f[d>>2]|0)+4>>2]&127](d);e=21}}if((e|0)==21){c=f[o>>2]|0;if(!c){a=0;u=q;return a|0}}a=Na[f[(f[c>>2]|0)+8>>2]&127](c,a)|0;u=q;return a|0}function Gd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)tq(c);f[d>>2]=0;return}if(b>>>0>1073741823){a=sa(8)|0;xo(a,20710);f[a>>2]=7152;wa(a|0,1112,107)}n=en(b<<2)|0;c=f[a>>2]|0;f[a>>2]=n;if(c|0)tq(c);f[d>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;c=f[g+4>>2]|0;m=b+-1|0;n=(m&b|0)==0;if(!n){if(c>>>0>=b>>>0)c=(c>>>0)%(b>>>0)|0}else c=c&m;f[(f[a>>2]|0)+(c<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{h=g;e=d;d=g}a:while(1){k=h;l=d;b:while(1){c:do if(n){d=e;while(1){j=f[d+4>>2]&m;if((j|0)==(c|0))break c;g=(f[a>>2]|0)+(j<<2)|0;if(!(f[g>>2]|0)){c=j;break b}i=d+12|0;e=f[d>>2]|0;d:do if(!e)e=d;else{h=f[d+8>>2]|0;g=d;while(1){if((h|0)!=(f[e+8>>2]|0)){e=g;break d}if((f[i>>2]|0)!=(f[e+12>>2]|0)){e=g;break d}g=f[e>>2]|0;if(!g)break;else{o=e;e=g;g=o}}}while(0);f[l>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(j<<2)>>2]>>2];f[f[(f[a>>2]|0)+(j<<2)>>2]>>2]=d;d=f[k>>2]|0;if(!d){c=39;break a}}}else{d=e;while(1){e=f[d+4>>2]|0;if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0;if((e|0)==(c|0))break c;g=(f[a>>2]|0)+(e<<2)|0;if(!(f[g>>2]|0)){c=e;break b}j=d+12|0;g=f[d>>2]|0;e:do if(!g)g=d;else{i=f[d+8>>2]|0;h=d;while(1){if((i|0)!=(f[g+8>>2]|0)){g=h;break e}if((f[j>>2]|0)!=(f[g+12>>2]|0)){g=h;break e}h=f[g>>2]|0;if(!h)break;else{o=g;g=h;h=o}}}while(0);f[l>>2]=f[g>>2];f[g>>2]=f[f[(f[a>>2]|0)+(e<<2)>>2]>>2];f[f[(f[a>>2]|0)+(e<<2)>>2]>>2]=d;d=f[k>>2]|0;if(!d){c=39;break a}}}while(0);e=f[d>>2]|0;if(!e){c=39;break a}else{k=d;l=d}}f[g>>2]=l;e=f[d>>2]|0;if(!e){c=39;break}else h=d}if((c|0)==39)return}function Hd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=c;n=d;i=n;if(!k){g=(e|0)!=0;if(!i){if(g){f[e>>2]=(l>>>0)%(h>>>0);f[e+4>>2]=0}n=0;e=(l>>>0)/(h>>>0)>>>0;return (I=n,e)|0}else{if(!g){n=0;e=0;return (I=n,e)|0}f[e>>2]=a|0;f[e+4>>2]=b&0;n=0;e=0;return (I=n,e)|0}}g=(i|0)==0;do if(h){if(!g){g=(_(i|0)|0)-(_(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;f[e+4>>2]=j|b&0;n=0;e=0;return (I=n,e)|0}g=h-1|0;if(g&h|0){i=(_(h|0)|0)+33-(_(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(e|0){f[e>>2]=g&l;f[e+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (I=o,p)|0}else{p=om(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (I=o,p)|0}}else{if(g){if(e|0){f[e>>2]=(k>>>0)%(h>>>0);f[e+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (I=o,p)|0}if(!l){if(e|0){f[e>>2]=0;f[e+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (I=o,p)|0}g=i-1|0;if(!(g&i)){if(e|0){f[e>>2]=a|0;f[e+4>>2]=g&k|b&0}o=0;p=k>>>((om(i|0)|0)>>>0);return (I=o,p)|0}g=(_(i|0)|0)-(_(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;f[e+4>>2]=j|b&0;o=0;p=0;return (I=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=c|0|0;l=n|d&0;k=Qn(m|0,l|0,-1,-1)|0;c=I;j=i;i=0;do{d=j;j=g>>>31|j<<1;g=i|g<<1;d=a<<1|d>>>31|0;n=a>>>31|b<<1|0;co(k|0,c|0,d|0,n|0)|0;p=I;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=co(d|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=I;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(e|0){f[e>>2]=a;f[e+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (I=o,p)|0}function Id(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var 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,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=u;u=u+16|0;x=A+4|0;w=A;z=a+60|0;f[a+64>>2]=g;v=a+8|0;f[v>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else ri(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{s=f[b+(i<<2)>>2]|0;r=(s|0)<(g|0);g=r?s:g;h=r?h:(s|0)>(h|0)?s:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;s=1-g+h|0;f[a+20>>2]=s;g=(s|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(s&1))f[h>>2]=g+-1}s=a+56|0;h=f[s>>2]|0;i=f[h+4>>2]|0;j=f[h>>2]|0;g=i-j|0;if((g|0)<=0){u=A;return 1}g=(g>>>2)+-1|0;n=a+68|0;p=a+16|0;m=a+32|0;r=a+12|0;q=a+28|0;o=a+20|0;a=a+24|0;if(i-j>>2>>>0>g>>>0){t=j;y=g}else{d=h;Jp(d)}while(1){f[w>>2]=f[t+(y<<2)>>2];f[x>>2]=f[w>>2];nb(z,x,b,y);d=X(y,e)|0;l=b+(d<<2)|0;d=c+(d<<2)|0;g=f[v>>2]|0;if((g|0)>0){k=0;i=n;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[p>>2]|0;if((g|0)>(h|0)){g=f[m>>2]|0;f[g+(j<<2)>>2]=h}else{h=f[r>>2]|0;t=f[m>>2]|0;f[t+(j<<2)>>2]=(g|0)<(h|0)?h:g;g=t}j=j+1|0}while((j|0)<(f[v>>2]|0));i=g}else i=f[m>>2]|0;g=(f[l+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=d+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[q>>2]|0)){if((g|0)>(f[a>>2]|0)){g=g-(f[o>>2]|0)|0;B=28}}else{g=(f[o>>2]|0)+g|0;B=28}if((B|0)==28){B=0;f[h>>2]=g}k=k+1|0;g=f[v>>2]|0}while((k|0)<(g|0))}y=y+-1|0;if((y|0)<=-1){B=13;break}g=f[s>>2]|0;t=f[g>>2]|0;if((f[g+4>>2]|0)-t>>2>>>0<=y>>>0){B=14;break}}if((B|0)==13){u=A;return 1}else if((B|0)==14)Jp(g);return 0}function Jd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var 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,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=u;u=u+16|0;x=A+4|0;w=A;z=a+60|0;f[a+64>>2]=g;v=a+8|0;f[v>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else ri(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{s=f[b+(i<<2)>>2]|0;r=(s|0)<(g|0);g=r?s:g;h=r?h:(s|0)>(h|0)?s:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;s=1-g+h|0;f[a+20>>2]=s;g=(s|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(s&1))f[h>>2]=g+-1}s=a+56|0;h=f[s>>2]|0;i=f[h+4>>2]|0;j=f[h>>2]|0;g=i-j|0;if((g|0)<=0){u=A;return 1}g=(g>>>2)+-1|0;n=a+68|0;p=a+16|0;m=a+32|0;r=a+12|0;q=a+28|0;o=a+20|0;a=a+24|0;if(i-j>>2>>>0>g>>>0){t=j;y=g}else{d=h;Jp(d)}while(1){f[w>>2]=f[t+(y<<2)>>2];f[x>>2]=f[w>>2];kb(z,x,b,y);d=X(y,e)|0;l=b+(d<<2)|0;d=c+(d<<2)|0;g=f[v>>2]|0;if((g|0)>0){k=0;i=n;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[p>>2]|0;if((g|0)>(h|0)){g=f[m>>2]|0;f[g+(j<<2)>>2]=h}else{h=f[r>>2]|0;t=f[m>>2]|0;f[t+(j<<2)>>2]=(g|0)<(h|0)?h:g;g=t}j=j+1|0}while((j|0)<(f[v>>2]|0));i=g}else i=f[m>>2]|0;g=(f[l+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=d+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[q>>2]|0)){if((g|0)>(f[a>>2]|0)){g=g-(f[o>>2]|0)|0;B=28}}else{g=(f[o>>2]|0)+g|0;B=28}if((B|0)==28){B=0;f[h>>2]=g}k=k+1|0;g=f[v>>2]|0}while((k|0)<(g|0))}y=y+-1|0;if((y|0)<=-1){B=13;break}g=f[s>>2]|0;t=f[g>>2]|0;if((f[g+4>>2]|0)-t>>2>>>0<=y>>>0){B=14;break}}if((B|0)==13){u=A;return 1}else if((B|0)==14)Jp(g);return 0}function Kd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=f[a>>2]|0;i=a+4|0;d=f[i>>2]|0;h=c+4|0;if((d|0)==(e|0)){g=h;d=a;j=f[h>>2]|0;h=e;f[d>>2]=j;f[g>>2]=h;h=c+8|0;e=f[i>>2]|0;d=f[h>>2]|0;f[i>>2]=d;f[h>>2]=e;h=a+8|0;a=c+12|0;i=f[h>>2]|0;e=f[a>>2]|0;f[h>>2]=e;f[a>>2]=i;a=f[g>>2]|0;f[c>>2]=a;return}g=f[h>>2]|0;do{j=d;d=d+-108|0;f[g+-108>>2]=f[d>>2];l=j+-104|0;f[g+-104>>2]=f[l>>2];k=j+-100|0;f[g+-100>>2]=f[k>>2];m=j+-96|0;f[g+-96>>2]=f[m>>2];f[l>>2]=0;f[k>>2]=0;f[m>>2]=0;m=j+-92|0;f[g+-92>>2]=f[m>>2];k=j+-88|0;f[g+-88>>2]=f[k>>2];l=j+-84|0;f[g+-84>>2]=f[l>>2];f[m>>2]=0;f[k>>2]=0;f[l>>2]=0;b[g+-80>>0]=b[j+-80>>0]|0;l=g+-76|0;k=j+-76|0;f[l>>2]=0;m=g+-72|0;f[m>>2]=0;f[g+-68>>2]=0;f[l>>2]=f[k>>2];l=j+-72|0;f[m>>2]=f[l>>2];m=j+-68|0;f[g+-68>>2]=f[m>>2];f[m>>2]=0;f[l>>2]=0;f[k>>2]=0;k=g+-64|0;l=j+-64|0;f[k>>2]=0;m=g+-60|0;f[m>>2]=0;f[g+-56>>2]=0;f[k>>2]=f[l>>2];k=j+-60|0;f[m>>2]=f[k>>2];m=j+-56|0;f[g+-56>>2]=f[m>>2];f[m>>2]=0;f[k>>2]=0;f[l>>2]=0;l=g+-52|0;k=j+-52|0;f[l>>2]=0;m=g+-48|0;f[m>>2]=0;f[g+-44>>2]=0;f[l>>2]=f[k>>2];l=j+-48|0;f[m>>2]=f[l>>2];m=j+-44|0;f[g+-44>>2]=f[m>>2];f[m>>2]=0;f[l>>2]=0;f[k>>2]=0;f[g+-40>>2]=f[j+-40>>2];b[g+-36>>0]=b[j+-36>>0]|0;k=g+-32|0;l=j+-32|0;f[k>>2]=0;m=g+-28|0;f[m>>2]=0;f[g+-24>>2]=0;f[k>>2]=f[l>>2];k=j+-28|0;f[m>>2]=f[k>>2];m=j+-24|0;f[g+-24>>2]=f[m>>2];f[m>>2]=0;f[k>>2]=0;f[l>>2]=0;l=g+-20|0;k=j+-20|0;f[l>>2]=0;m=g+-16|0;f[m>>2]=0;f[g+-12>>2]=0;f[l>>2]=f[k>>2];l=j+-16|0;f[m>>2]=f[l>>2];m=j+-12|0;f[g+-12>>2]=f[m>>2];f[m>>2]=0;f[l>>2]=0;f[k>>2]=0;f[g+-8>>2]=f[j+-8>>2];f[g+-4>>2]=f[j+-4>>2];g=(f[h>>2]|0)+-108|0;f[h>>2]=g}while((d|0)!=(e|0));m=h;l=a;k=g;j=f[a>>2]|0;f[l>>2]=k;f[m>>2]=j;j=c+8|0;l=f[i>>2]|0;k=f[j>>2]|0;f[i>>2]=k;f[j>>2]=l;j=a+8|0;l=c+12|0;k=f[j>>2]|0;a=f[l>>2]|0;f[j>>2]=a;f[l>>2]=k;m=f[m>>2]|0;f[c>>2]=m;return}function Ld(a,c){a=a|0;c=c|0;var d=0,e=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;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)tq(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=sa(8)|0;xo(a,20710);f[a>>2]=7152;wa(a|0,1112,107)}v=en(c<<2)|0;d=f[a>>2]|0;f[a>>2]=v;if(d|0)tq(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;g=f[e>>2]|0;if(!g)return;d=f[g+4>>2]|0;u=c+-1|0;v=(u&c|0)==0;if(!v){if(d>>>0>=c>>>0)d=(d>>>0)%(c>>>0)|0}else d=d&u;f[(f[a>>2]|0)+(d<<2)>>2]=e;e=f[g>>2]|0;if(!e)return;t=a+24|0;h=g;i=e;e=g;a:while(1){s=h;g=i;r=e;b:while(1){e=g;while(1){g=f[e+4>>2]|0;if(!v){if(g>>>0>=c>>>0)g=(g>>>0)%(c>>>0)|0}else g=g&u;if((g|0)==(d|0))break;h=(f[a>>2]|0)+(g<<2)|0;if(!(f[h>>2]|0))break b;h=f[e>>2]|0;c:do if(!h)h=e;else{p=f[e+8>>2]|0;n=f[t>>2]|0;o=f[n+8>>2]|0;n=(f[n+12>>2]|0)-o|0;q=n>>>2;if((n|0)>0)l=e;else while(1){i=f[h>>2]|0;if(!i)break c;else h=i}while(1){m=f[h+8>>2]|0;n=0;do{i=f[o+(n<<2)>>2]|0;j=(b[i+84>>0]|0)==0;if(j)k=f[(f[i+68>>2]|0)+(p<<2)>>2]|0;else k=p;if((q|0)<=(n|0)){d=37;break a}if(j)i=f[(f[i+68>>2]|0)+(m<<2)>>2]|0;else i=m;n=n+1|0;if((k|0)!=(i|0)){h=l;break c}}while((n|0)<(q|0));i=f[h>>2]|0;if(!i)break;else{l=h;h=i}}}while(0);f[r>>2]=f[h>>2];f[h>>2]=f[f[(f[a>>2]|0)+(g<<2)>>2]>>2];f[f[(f[a>>2]|0)+(g<<2)>>2]>>2]=e;e=f[s>>2]|0;if(!e){d=42;break a}}g=f[e>>2]|0;if(!g){d=42;break a}else{s=e;r=e}}f[h>>2]=r;i=f[e>>2]|0;if(!i){d=42;break}else{h=e;d=g}}if((d|0)==37)ra(20555,20609,68,20700);else if((d|0)==42)return}function Md(a,c,d){a=a|0;c=c|0;d=d|0;var e=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,v=0,w=0,x=0;x=u;u=u+176|0;i=x+136|0;w=x+104|0;v=x;l=x+72|0;q=en(88)|0;j=f[c+8>>2]|0;f[q+4>>2]=0;f[q>>2]=3500;m=q+12|0;f[m>>2]=3524;o=q+64|0;f[o>>2]=0;f[q+68>>2]=0;f[q+72>>2]=0;g=q+16|0;h=g+44|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));f[q+76>>2]=j;f[q+80>>2]=d;r=q+84|0;f[r>>2]=0;n=q;f[w>>2]=3524;e=w+4|0;k=e+4|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;k=f[c+12>>2]|0;s=v+4|0;f[s>>2]=3524;p=v+56|0;f[p>>2]=0;t=v+60|0;f[t>>2]=0;f[v+64>>2]=0;g=v+8|0;h=g+44|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));g=k;f[e>>2]=g;g=((f[g+4>>2]|0)-(f[k>>2]|0)>>2>>>0)/3|0;b[i>>0]=0;$g(w+8|0,g,i);Ra[f[(f[w>>2]|0)+8>>2]&127](w);mf(l,w);mf(i,l);f[v>>2]=f[i+4>>2];g=v+4|0;Xf(g,i)|0;f[i>>2]=3524;e=f[i+20>>2]|0;if(e|0)tq(e);e=f[i+8>>2]|0;if(e|0)tq(e);f[v+36>>2]=k;f[v+40>>2]=d;f[v+44>>2]=j;f[v+48>>2]=q;f[l>>2]=3524;e=f[l+20>>2]|0;if(e|0)tq(e);e=f[l+8>>2]|0;if(e|0)tq(e);f[r>>2]=c+72;f[q+8>>2]=f[v>>2];Xf(m,g)|0;e=q+44|0;c=v+36|0;f[e>>2]=f[c>>2];f[e+4>>2]=f[c+4>>2];f[e+8>>2]=f[c+8>>2];f[e+12>>2]=f[c+12>>2];b[e+16>>0]=b[c+16>>0]|0;_f(o,f[p>>2]|0,f[t>>2]|0);f[a>>2]=n;e=f[p>>2]|0;if(e|0){g=f[t>>2]|0;if((g|0)!=(e|0))f[t>>2]=g+(~((g+-4-e|0)>>>2)<<2);tq(e)}f[s>>2]=3524;e=f[v+24>>2]|0;if(e|0)tq(e);e=f[v+12>>2]|0;if(e|0)tq(e);f[w>>2]=3524;e=f[w+20>>2]|0;if(e|0)tq(e);e=f[w+8>>2]|0;if(!e){u=x;return}tq(e);u=x;return}function Nd(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+16|0;n=r+4|0;m=r;k=a+12|0;b=f[k>>2]|0;p=(f[b+4>>2]|0)-(f[b>>2]|0)|0;o=p>>2;if((p|0)<=0){u=r;return 1}j=a+152|0;p=a+140|0;l=a+144|0;i=a+148|0;a=0;a:while(1){f[m>>2]=(a>>>0)/3|0;f[n>>2]=f[m>>2];if(!(ui(b,n)|0)?(f[(f[(f[k>>2]|0)+12>>2]|0)+(a<<2)>>2]|0)==-1073741824:0){b=f[k>>2]|0;d=a+1|0;d=((d|0)%3|0|0)==0?a+-2|0:d;if((d|0)<0)d=-1073741824;else{c=f[b>>2]|0;if((d|0)>=((f[b+4>>2]|0)-c>>2|0)){q=8;break}d=f[c+(d<<2)>>2]|0}c=f[j>>2]|0;if((f[c+(d<<2)>>2]|0)==-1){h=f[l>>2]|0;b=f[i>>2]|0;if((h|0)==(b<<5|0)){if((h+1|0)<0){q=13;break}b=b<<6;c=h+32&-32;hi(p,h>>>0<1073741823?(b>>>0>>0?c:b):2147483647);b=f[l>>2]|0;c=f[j>>2]|0}else b=h;f[l>>2]=b+1;g=(f[p>>2]|0)+(b>>>5<<2)|0;f[g>>2]=f[g>>2]&~(1<<(b&31));b=c+(d<<2)|0;if((f[b>>2]|0)==-1){d=a;while(1){f[b>>2]=h;b=d+1|0;if((d|0)<0)b=d;else b=((b|0)%3|0|0)==0?d+-2|0:b;b:do if((b|0)>=0){g=f[k>>2]|0;e=f[g+12>>2]|0;while(1){d=f[e+(b<<2)>>2]|0;if((d|0)==-1073741824)break;b=d+1|0;if((d|0)<0)b=d;else b=((b|0)%3|0|0)==0?d+-2|0:b;if((b|0)<0){q=20;break b}}e=b+1|0;e=((e|0)%3|0|0)==0?b+-2|0:e;if((e|0)<0){d=-1073741824;e=b}else{d=f[g>>2]|0;if((e|0)>=((f[g+4>>2]|0)-d>>2|0)){q=29;break a}d=f[d+(e<<2)>>2]|0;e=b}}else q=20;while(0);if((q|0)==20){q=0;b=(b|0)==-1073741824;do{}while(!b);d=-1073741824;e=-1073741824}b=c+(d<<2)|0;if((f[b>>2]|0)!=-1)break;else d=e}}}}a=a+1|0;if((a|0)>=(o|0)){q=3;break}b=f[k>>2]|0}if((q|0)==3){u=r;return 1}else if((q|0)==8)ra(20128,20163,98,20248);else if((q|0)==13)Jp(p);else if((q|0)==29)ra(20128,20163,98,20248);return 0}function Od(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=f[b>>2]|0;i=a+12|0;j=(k|0)<0;do if(!j)if(!((k>>>0)%3|0)){d=k+2|0;break}else{d=k+-1|0;break}else d=k;while(0);a:do if((d|0)<0)o=7;else{g=f[i>>2]|0;h=f[g+12>>2]|0;while(1){e=f[h+(d<<2)>>2]|0;if((e|0)==-1073741824){m=g;g=0;break a}b=e+1|0;if((e|0)<0)d=e;else d=((b|0)%3|0|0)==0?e+-2|0:b;if((d|0)<0){o=7;break}}}while(0);if((o|0)==7){b=(d|0)==-1073741824;do{}while(!b);m=f[i>>2]|0;g=1;d=-1073741824}do if(!j){b=f[m>>2]|0;if((k|0)<((f[m+4>>2]|0)-b>>2|0)){n=f[b+(k<<2)>>2]|0;break}else ra(20128,20163,98,20248)}else n=-1073741824;while(0);if(c){b=(f[a+84>>2]|0)+(n>>>5<<2)|0;f[b>>2]=f[b>>2]|1<<(n&31);b=1}else b=0;c=f[(f[a+152>>2]|0)+(n<<2)>>2]|0;e=(f[a+140>>2]|0)+(c>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(c&31);e=d+1|0;do if(!g){c=((e|0)%3|0|0)==0?d+-2|0:e;if((c|0)>=0?(c|0)>=((f[m+4>>2]|0)-(f[m>>2]|0)>>2|0):0)ra(20128,20163,98,20248);g=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((g|0)>=0){e=f[m>>2]|0;if((g|0)<((f[m+4>>2]|0)-e>>2|0)){l=f[e+(g<<2)>>2]|0;break}else ra(20128,20163,98,20248)}else l=-1073741824}else l=-1073741824;while(0);if((l|0)==(n|0)){o=b;return o|0}h=a+84|0;i=m+12|0;j=m+4|0;e=l;b:while(1){l=(f[h>>2]|0)+(e>>>5<<2)|0;f[l>>2]=f[l>>2]|1<<(e&31);b=b+1|0;e=d+1|0;if((d|0)>=0)d=((e|0)%3|0|0)==0?d+-2|0:e;c:do if((d|0)>=0){g=f[i>>2]|0;while(1){e=f[g+(d<<2)>>2]|0;if((e|0)==-1073741824)break;d=e+1|0;if((e|0)<0)d=e;else d=((d|0)%3|0|0)==0?e+-2|0:d;if((d|0)<0){o=34;break c}}g=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((g|0)<0)e=-1073741824;else{e=f[m>>2]|0;if((g|0)>=((f[j>>2]|0)-e>>2|0)){o=43;break b}e=f[e+(g<<2)>>2]|0}}else o=34;while(0);if((o|0)==34){o=0;d=(d|0)==-1073741824;do{}while(!d);e=-1073741824;d=-1073741824}if((e|0)==(n|0)){o=45;break}}if((o|0)==43)ra(20128,20163,98,20248);else if((o|0)==45)return b|0;return 0}function Pd(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;o=q+4|0;n=q;j=q+12|0;k=q+11|0;l=q+10|0;p=q+8|0;m=c+44|0;e=f[m>>2]|0;g=e+16|0;h=f[g>>2]|0;g=f[g+4>>2]|0;if(!((g|0)>0|(g|0)==0&h>>>0>0)){f[n>>2]=f[e+4>>2];f[o>>2]=f[n>>2];Me(e,o,19161,19166)|0;e=f[m>>2]|0;h=e+16|0;g=f[h+4>>2]|0;h=f[h>>2]|0}b[j>>0]=2;b[k>>0]=2;if(!((g|0)>0|(g|0)==0&h>>>0>0)?(f[n>>2]=f[e+4>>2],f[o>>2]=f[n>>2],Me(e,o,j,j+1|0)|0,i=f[m>>2]|0,j=i+16|0,h=f[j+4>>2]|0,!((h|0)>0|(h|0)==0&(f[j>>2]|0)>>>0>0)):0){f[n>>2]=f[i+4>>2];f[o>>2]=f[n>>2];Me(i,o,k,k+1|0)|0}e=(Ma[f[(f[c>>2]|0)+8>>2]&127](c)|0)&255;b[l>>0]=e;e=f[m>>2]|0;k=e+16|0;j=f[k+4>>2]|0;if(!((j|0)>0|(j|0)==0&(f[k>>2]|0)>>>0>0)){f[n>>2]=f[e+4>>2];f[o>>2]=f[n>>2];Me(e,o,l,l+1|0)|0;e=f[m>>2]|0}l=Ma[f[(f[c>>2]|0)+12>>2]&127](c)|0;b[p>>0]=l;l=e+16|0;k=f[l+4>>2]|0;if(!((k|0)>0|(k|0)==0&(f[l>>2]|0)>>>0>0)){f[n>>2]=f[e+4>>2];f[o>>2]=f[n>>2];Me(e,o,p,p+1|0)|0}d[p>>1]=(f[(f[c+4>>2]|0)+4>>2]|0)==0?0:-32768;e=f[m>>2]|0;c=e+16|0;m=f[c+4>>2]|0;if((m|0)>0|(m|0)==0&(f[c>>2]|0)>>>0>0){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=q;return}f[n>>2]=f[e+4>>2];f[o>>2]=f[n>>2];Me(e,o,p,p+2|0)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=q;return}function Qd(a,c,d){a=a|0;c=c|0;d=d|0;var e=Ka,g=0,h=Ka,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;y=u;u=u+16|0;i=y;g=a+4|0;if((f[g>>2]|0)!=-1){x=0;u=y;return x|0}f[g>>2]=d;v=b[c+24>>0]|0;w=v<<24>>24;x=a+20|0;n[x>>2]=$(0.0);f[i>>2]=0;d=i+4|0;f[d>>2]=0;f[i+8>>2]=0;do if(v<<24>>24)if(v<<24>>24<0)Jp(i);else{k=w<<2;j=en(k)|0;f[i>>2]=j;l=j+(w<<2)|0;f[i+8>>2]=l;fj(j|0,0,k|0)|0;k=j+(w<<2)|0;f[d>>2]=k;break}else{j=0;k=0;l=0}while(0);t=a+8|0;d=f[t>>2]|0;i=a+12|0;if(!d)d=a+16|0;else{g=f[i>>2]|0;if((g|0)!=(d|0))f[i>>2]=g+(~((g+-4-d|0)>>>2)<<2);tq(d);d=a+16|0;f[d>>2]=0;f[i>>2]=0;f[t>>2]=0}f[t>>2]=j;f[i>>2]=k;f[d>>2]=l;s=w>>>0>1073741823?-1:w<<2;r=qq(s)|0;s=qq(s)|0;m=c+48|0;o=f[m>>2]|0;p=c+40|0;l=f[p>>2]|0;q=f[c>>2]|0;Sg(s|0,(f[q>>2]|0)+o|0,l|0)|0;Sg(f[t>>2]|0,(f[q>>2]|0)+o|0,l|0)|0;l=f[m>>2]|0;m=f[m+4>>2]|0;o=f[p>>2]|0;p=f[p+4>>2]|0;q=f[c>>2]|0;Sg(r|0,(f[q>>2]|0)+l|0,o|0)|0;k=f[c+80>>2]|0;a:do if((k|0)>1){if(v<<24>>24<=0){d=1;while(1){c=dn(o|0,p|0,d|0,((d|0)<0)<<31>>31|0)|0;c=Qn(c|0,I|0,l|0,m|0)|0;Sg(s|0,(f[q>>2]|0)+c|0,o|0)|0;d=d+1|0;if((d|0)>=(k|0))break a}}i=f[t>>2]|0;j=1;do{a=dn(o|0,p|0,j|0,((j|0)<0)<<31>>31|0)|0;a=Qn(a|0,I|0,l|0,m|0)|0;Sg(s|0,(f[q>>2]|0)+a|0,o|0)|0;a=0;do{g=i+(a<<2)|0;h=$(n[g>>2]);d=s+(a<<2)|0;e=$(n[d>>2]);if(h>e){n[g>>2]=e;e=$(n[d>>2])}d=r+(a<<2)|0;if($(n[d>>2])>2]=e;a=a+1|0}while((a|0)!=(w|0));j=j+1|0}while((j|0)<(k|0))}while(0);if(v<<24>>24>0){d=f[t>>2]|0;e=$(n[x>>2]);g=0;do{h=$(n[r+(g<<2)>>2]);h=$(h-$(n[d+(g<<2)>>2]));if(h>e){n[x>>2]=h;e=h}g=g+1|0}while((g|0)!=(w|0))}rq(s);rq(r);x=1;u=y;return x|0}function Rd(a,b){a=+a;b=+b;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;p[s>>3]=a;c=f[s>>2]|0;k=f[s+4>>2]|0;p[s>>3]=b;l=f[s>>2]|0;m=f[s+4>>2]|0;d=En(c|0,k|0,52)|0;d=d&2047;h=En(l|0,m|0,52)|0;h=h&2047;n=k&-2147483648;j=zn(l|0,m|0,1)|0;i=I;a:do if(!((j|0)==0&(i|0)==0)?(g=bo(b)|0,e=I&2147483647,!((d|0)==2047|(e>>>0>2146435072|(e|0)==2146435072&g>>>0>0))):0){e=zn(c|0,k|0,1)|0;g=I;if(!(g>>>0>i>>>0|(g|0)==(i|0)&e>>>0>j>>>0))return +((e|0)==(j|0)&(g|0)==(i|0)?a*0.0:a);if(!d){d=zn(c|0,k|0,12)|0;e=I;if((e|0)>-1|(e|0)==-1&d>>>0>4294967295){g=d;d=0;do{d=d+-1|0;g=zn(g|0,e|0,1)|0;e=I}while((e|0)>-1|(e|0)==-1&g>>>0>4294967295)}else d=0;c=zn(c|0,k|0,1-d|0)|0;i=I}else i=k&1048575|1048576;if(!h){e=zn(l|0,m|0,12)|0;g=I;if((g|0)>-1|(g|0)==-1&e>>>0>4294967295){h=0;do{h=h+-1|0;e=zn(e|0,g|0,1)|0;g=I}while((g|0)>-1|(g|0)==-1&e>>>0>4294967295)}else h=0;l=zn(l|0,m|0,1-h|0)|0;k=I}else k=m&1048575|1048576;j=co(c|0,i|0,l|0,k|0)|0;e=I;g=(e|0)>-1|(e|0)==-1&j>>>0>4294967295;b:do if((d|0)>(h|0)){while(1){if(g)if((j|0)==0&(e|0)==0)break;else c=j;else e=i;c=zn(c|0,e|0,1)|0;i=I;d=d+-1|0;j=co(c|0,i|0,l|0,k|0)|0;e=I;g=(e|0)>-1|(e|0)==-1&j>>>0>4294967295;if((d|0)<=(h|0)){h=j;break b}}b=a*0.0;break a}else h=j;while(0);if(g)if((h|0)==0&(e|0)==0){b=a*0.0;break}else c=h;else e=i;if(e>>>0<1048576|(e|0)==1048576&c>>>0<0)do{c=zn(c|0,e|0,1)|0;e=I;d=d+-1|0}while(e>>>0<1048576|(e|0)==1048576&c>>>0<0);if((d|0)>0){m=Qn(c|0,e|0,0,-1048576)|0;c=I;d=zn(d|0,0,52)|0;c=c|I;d=m|d}else{d=En(c|0,e|0,1-d|0)|0;c=I}f[s>>2]=d;f[s+4>>2]=c|n;b=+p[s>>3]}else o=3;while(0);if((o|0)==3){b=a*b;b=b/b}return +b}function Sd(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)tq(c);f[e>>2]=0;return}if(b>>>0>1073741823){a=sa(8)|0;xo(a,20710);f[a>>2]=7152;wa(a|0,1112,107)}n=en(b<<2)|0;c=f[a>>2]|0;f[a>>2]=n;if(c|0)tq(c);f[e>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;c=f[h+4>>2]|0;m=b+-1|0;n=(m&b|0)==0;if(!n){if(c>>>0>=b>>>0)c=(c>>>0)%(b>>>0)|0}else c=c&m;f[(f[a>>2]|0)+(c<<2)>>2]=e;e=f[h>>2]|0;if(!e)return;else{j=h;g=e;i=h}a:while(1){b:do if(n){l=j;while(1){e=g;while(1){k=f[e+4>>2]&m;if((k|0)==(c|0))break;h=(f[a>>2]|0)+(k<<2)|0;if(!(f[h>>2]|0)){c=k;break b}j=e+8|0;h=e;while(1){g=f[h>>2]|0;if(!g)break;if((d[j>>1]|0)==(d[g+8>>1]|0))h=g;else break}f[i>>2]=g;f[h>>2]=f[f[(f[a>>2]|0)+(k<<2)>>2]>>2];f[f[(f[a>>2]|0)+(k<<2)>>2]>>2]=e;e=f[l>>2]|0;if(!e){c=37;break a}}g=f[e>>2]|0;if(!g){c=37;break a}else{l=e;i=e}}}else{l=j;k=i;while(1){e=g;while(1){g=f[e+4>>2]|0;if(g>>>0>=b>>>0)g=(g>>>0)%(b>>>0)|0;if((g|0)==(c|0))break;h=(f[a>>2]|0)+(g<<2)|0;if(!(f[h>>2]|0)){i=k;c=g;break b}j=e+8|0;i=e;while(1){h=f[i>>2]|0;if(!h)break;if((d[j>>1]|0)==(d[h+8>>1]|0))i=h;else break}f[k>>2]=h;f[i>>2]=f[f[(f[a>>2]|0)+(g<<2)>>2]>>2];f[f[(f[a>>2]|0)+(g<<2)>>2]>>2]=e;e=f[l>>2]|0;if(!e){c=37;break a}}g=f[e>>2]|0;if(!g){c=37;break a}else{l=e;k=e}}}while(0);f[h>>2]=i;g=f[e>>2]|0;if(!g){c=37;break}else{j=e;i=e}}if((c|0)==37)return}function Td(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)tq(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=sa(8)|0;xo(a,20710);f[a>>2]=7152;wa(a|0,1112,107)}n=en(c<<2)|0;d=f[a>>2]|0;f[a>>2]=n;if(d|0)tq(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;d=f[h+4>>2]|0;m=c+-1|0;n=(m&c|0)==0;if(!n){if(d>>>0>=c>>>0)d=(d>>>0)%(c>>>0)|0}else d=d&m;f[(f[a>>2]|0)+(d<<2)>>2]=e;e=f[h>>2]|0;if(!e)return;else{j=h;g=e;i=h}a:while(1){b:do if(n){l=j;while(1){e=g;while(1){k=f[e+4>>2]&m;if((k|0)==(d|0))break;h=(f[a>>2]|0)+(k<<2)|0;if(!(f[h>>2]|0)){d=k;break b}j=e+8|0;h=e;while(1){g=f[h>>2]|0;if(!g)break;if((b[j>>0]|0)==(b[g+8>>0]|0))h=g;else break}f[i>>2]=g;f[h>>2]=f[f[(f[a>>2]|0)+(k<<2)>>2]>>2];f[f[(f[a>>2]|0)+(k<<2)>>2]>>2]=e;e=f[l>>2]|0;if(!e){d=37;break a}}g=f[e>>2]|0;if(!g){d=37;break a}else{l=e;i=e}}}else{l=j;k=i;while(1){e=g;while(1){g=f[e+4>>2]|0;if(g>>>0>=c>>>0)g=(g>>>0)%(c>>>0)|0;if((g|0)==(d|0))break;h=(f[a>>2]|0)+(g<<2)|0;if(!(f[h>>2]|0)){i=k;d=g;break b}j=e+8|0;i=e;while(1){h=f[i>>2]|0;if(!h)break;if((b[j>>0]|0)==(b[h+8>>0]|0))i=h;else break}f[k>>2]=h;f[i>>2]=f[f[(f[a>>2]|0)+(g<<2)>>2]>>2];f[f[(f[a>>2]|0)+(g<<2)>>2]>>2]=e;e=f[l>>2]|0;if(!e){d=37;break a}}g=f[e>>2]|0;if(!g){d=37;break a}else{l=e;k=e}}}while(0);f[h>>2]=i;g=f[e>>2]|0;if(!g){d=37;break}else{j=e;i=e}}if((d|0)==37)return}function Ud(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)tq(c);f[d>>2]=0;return}if(b>>>0>1073741823){a=sa(8)|0;xo(a,20710);f[a>>2]=7152;wa(a|0,1112,107)}m=en(b<<2)|0;c=f[a>>2]|0;f[a>>2]=m;if(c|0)tq(c);f[d>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;c=f[g+4>>2]|0;l=b+-1|0;m=(l&b|0)==0;if(!m){if(c>>>0>=b>>>0)c=(c>>>0)%(b>>>0)|0}else c=c&l;f[(f[a>>2]|0)+(c<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{i=g;e=d;h=g}a:while(1){b:do if(m){k=i;while(1){d=e;while(1){j=f[d+4>>2]&l;if((j|0)==(c|0))break;g=(f[a>>2]|0)+(j<<2)|0;if(!(f[g>>2]|0)){c=j;break b}i=d+8|0;g=d;while(1){e=f[g>>2]|0;if(!e)break;if((f[i>>2]|0)==(f[e+8>>2]|0))g=e;else break}f[h>>2]=e;f[g>>2]=f[f[(f[a>>2]|0)+(j<<2)>>2]>>2];f[f[(f[a>>2]|0)+(j<<2)>>2]>>2]=d;d=f[k>>2]|0;if(!d){c=37;break a}}e=f[d>>2]|0;if(!e){c=37;break a}else{k=d;h=d}}}else{k=i;j=h;while(1){d=e;while(1){e=f[d+4>>2]|0;if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0;if((e|0)==(c|0))break;g=(f[a>>2]|0)+(e<<2)|0;if(!(f[g>>2]|0)){h=j;c=e;break b}i=d+8|0;h=d;while(1){g=f[h>>2]|0;if(!g)break;if((f[i>>2]|0)==(f[g+8>>2]|0))h=g;else break}f[j>>2]=g;f[h>>2]=f[f[(f[a>>2]|0)+(e<<2)>>2]>>2];f[f[(f[a>>2]|0)+(e<<2)>>2]>>2]=d;d=f[k>>2]|0;if(!d){c=37;break a}}e=f[d>>2]|0;if(!e){c=37;break a}else{k=d;j=d}}}while(0);f[g>>2]=h;e=f[d>>2]|0;if(!e){c=37;break}else{i=d;h=d}}if((c|0)==37)return}function Vd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=f[c>>2]|0;l=f[b>>2]|0;b=m-l|0;o=(b|0)/12|0;if(!b)ra(8036,7778,232,8065);n=a+8|0;h=f[n>>2]|0;if((b|0)<768){if(h>>>0<=1){a=0;return a|0}c=f[e>>2]|0;g=1;b=0;do{b=(f[c+(b<<2)>>2]|0)>>>0>(f[c+(g<<2)>>2]|0)>>>0?g:b;g=g+1|0}while(g>>>0>>0);return b|0}if(h){j=f[e>>2]|0;k=f[a+1140>>2]|0;h=f[d>>2]|0;i=f[a+1128>>2]|0;if((l|0)==(m|0)){c=0;do{f[k+(c<<2)>>2]=(f[a>>2]|0)-(f[j+(c<<2)>>2]|0);b=i+(c<<2)|0;l=f[b>>2]|0;m=o-l|0;f[b>>2]=m>>>0>>0?l:m;c=c+1|0;b=f[n>>2]|0}while(c>>>0>>0)}else{d=0;do{g=(f[a>>2]|0)-(f[j+(d<<2)>>2]|0)|0;f[k+(d<<2)>>2]=g;g=(1<>2]|0)|0;e=i+(d<<2)|0;b=l;c=f[e>>2]|0;do{c=c+((f[b+(d<<2)>>2]|0)>>>0>>0&1)|0;f[e>>2]=c;b=b+12|0}while((b|0)!=(m|0));b=o-c|0;f[e>>2]=b>>>0>>0?c:b;d=d+1|0;b=f[n>>2]|0}while(d>>>0>>0)}if(b){e=f[a+1140>>2]|0;h=a+1128|0;c=0;d=0;g=0;do{if(f[e+(d<<2)>>2]|0){o=f[(f[h>>2]|0)+(d<<2)>>2]|0;n=g>>>0>>0;c=n?d:c;g=n?o:g}d=d+1|0}while(d>>>0>>0);i=c}else i=0}else i=0;d=a+1088|0;j=a+1104|0;b=f[j>>2]|0;g=32-b|0;h=a+1100|0;c=f[h>>2]|0;if((g|0)<4){e=i&15;g=4-g|0;f[j>>2]=g;g=e>>>g|c;f[h>>2]=g;c=a+1092|0;b=f[c>>2]|0;if((b|0)==(f[a+1096>>2]|0))Ji(d,h);else{f[b>>2]=g;f[c>>2]=b+4}f[h>>2]=e<<32-(f[j>>2]|0);a=i;return a|0}g=c|i<<28>>>b;f[h>>2]=g;o=b+4|0;f[j>>2]=o;if((o|0)!=32){a=i;return a|0}c=a+1092|0;b=f[c>>2]|0;if((b|0)==(f[a+1096>>2]|0))Ji(d,h);else{f[b>>2]=g;f[c>>2]=b+4}f[h>>2]=0;f[j>>2]=0;a=i;return a|0}function Wd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=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;p=f[a>>2]|0;h=p;n=(f[b>>2]|0)-h|0;b=p+(n>>2<<2)|0;j=f[c>>2]|0;e=f[d>>2]|0;r=e-j|0;k=r>>2;c=j;q=e;if((r|0)<=0){r=b;return r|0}m=a+8|0;g=f[m>>2]|0;r=a+4|0;o=f[r>>2]|0;l=o;if((k|0)<=(g-l>>2|0)){j=b;i=l-j|0;d=i>>2;if((k|0)>(d|0)){d=c+(d<<2)|0;e=d;if((d|0)==(q|0))d=o;else{h=q+-4-e|0;g=o;while(1){f[g>>2]=f[d>>2];d=d+4|0;if((d|0)==(q|0))break;else g=g+4|0}d=o+((h>>>2)+1<<2)|0;f[r>>2]=d}if((i|0)<=0){r=b;return r|0}}else d=o;k=d-(b+(k<<2))>>2;g=b+(k<<2)|0;if(g>>>0>>0){h=(o+(0-k<<2)+~j|0)>>>2;i=d;j=g;while(1){f[i>>2]=f[j>>2];j=j+4|0;if(j>>>0>=o>>>0)break;else i=i+4|0}f[r>>2]=d+(h+1<<2)}if(k|0)do{g=g+-4|0;d=d+-4|0;f[d>>2]=f[g>>2]}while((g|0)!=(b|0));if((c|0)==(e|0)){r=b;return r|0}else d=b;while(1){f[d>>2]=f[c>>2];c=c+4|0;if((c|0)==(e|0))break;else d=d+4|0}return b|0}d=(l-h>>2)+k|0;if(d>>>0>1073741823)Jp(a);g=g-h|0;i=g>>1;d=g>>2>>>0<536870911?(i>>>0>>0?d:i):1073741823;i=b;g=n>>2;do if(d)if(d>>>0>1073741823){r=sa(8)|0;xo(r,20710);f[r>>2]=7152;wa(r|0,1112,107)}else{e=en(d<<2)|0;break}else e=0;while(0);k=e+(g<<2)|0;h=e+(d<<2)|0;if((c|0)==(q|0))d=k;else{e=((q+-4-j|0)>>>2)+1|0;d=k;while(1){f[d>>2]=f[c>>2];c=c+4|0;if((c|0)==(q|0))break;else d=d+4|0}d=k+(e<<2)|0}e=k+(0-g<<2)|0;if((n|0)>0)Sg(e|0,p|0,n|0)|0;c=l-i|0;if((c|0)>0){Sg(d|0,b|0,c|0)|0;b=d+(c>>>2<<2)|0}else b=d;f[a>>2]=e;f[r>>2]=b;f[m>>2]=h;if(!p){r=k;return r|0}tq(p);r=k;return r|0}function Xd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;switch(b-a>>2|0){case 2:{i=b+-4|0;g=f[i>>2]|0;h=f[a>>2]|0;d=f[c>>2]|0;c=f[d>>2]|0;e=(f[d+4>>2]|0)-c>>3;if(e>>>0<=g>>>0)Jp(d);if(e>>>0<=h>>>0)Jp(d);if((f[c+(g<<3)>>2]|0)>>>0>=(f[c+(h<<3)>>2]|0)>>>0){a=1;return a|0}f[a>>2]=g;f[i>>2]=h;a=1;return a|0}case 3:{wg(a,a+4|0,b+-4|0,c)|0;a=1;return a|0}case 4:{Tg(a,a+4|0,a+8|0,b+-4|0,c)|0;a=1;return a|0}case 5:{Nf(a,a+4|0,a+8|0,a+12|0,b+-4|0,c)|0;a=1;return a|0}case 1:case 0:{a=1;return a|0}default:{d=a+8|0;wg(a,a+4|0,d,c)|0;e=a+12|0;a:do if((e|0)!=(b|0)){m=f[c>>2]|0;k=f[m>>2]|0;l=(f[m+4>>2]|0)-k>>3;c=0;b:while(1){j=f[e>>2]|0;g=f[d>>2]|0;if(l>>>0<=j>>>0){c=14;break}if(l>>>0<=g>>>0){c=16;break}i=k+(j<<3)|0;if((f[i>>2]|0)>>>0<(f[k+(g<<3)>>2]|0)>>>0){h=e;while(1){f[h>>2]=g;if((d|0)==(a|0)){d=a;break}h=d+-4|0;g=f[h>>2]|0;if(l>>>0<=g>>>0){c=20;break b}if((f[i>>2]|0)>>>0>=(f[k+(g<<3)>>2]|0)>>>0)break;else{p=d;d=h;h=p}}f[d>>2]=j;c=c+1|0;if((c|0)==8){n=0;o=(e+4|0)==(b|0);break a}}d=e+4|0;if((d|0)==(b|0)){n=1;o=0;break a}else{p=e;e=d;d=p}}if((c|0)==14)Jp(m);else if((c|0)==16)Jp(m);else if((c|0)==20)Jp(m)}else{n=1;o=0}while(0);p=o|n;return p|0}}return 0}function Yd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var 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;r=e>>>0>1073741823?-1:e<<2;t=qq(r)|0;fj(t|0,0,r|0)|0;r=f[a+28>>2]|0;s=a+36|0;h=f[s>>2]|0;i=f[h+4>>2]|0;j=f[h>>2]|0;g=i-j|0;a:do if((g|0)>4){d=g>>2;m=f[a+32>>2]|0;q=a+8|0;p=r+64|0;n=r+28|0;o=(e|0)>0;g=d+-1|0;if(i-j>>2>>>0>g>>>0){k=j;l=d;x=g}else{j=h;Jp(j)}while(1){g=f[k+(x<<2)>>2]|0;j=X(x,e)|0;if((!((g|0)<0?1:(1<<(g&31)&f[(f[r>>2]|0)+(g>>>5<<2)>>2]|0)!=0)?(y=f[(f[(f[p>>2]|0)+12>>2]|0)+(g<<2)>>2]|0,(y|0)>=0):0)?(w=f[n>>2]|0,k=f[m>>2]|0,u=f[k+(f[w+(y<<2)>>2]<<2)>>2]|0,v=y+1|0,v=f[k+(f[w+((((v|0)%3|0|0)==0?y+-2|0:v)<<2)>>2]<<2)>>2]|0,w=f[k+(f[w+((((y>>>0)%3|0|0)==0?2:-1)+y<<2)>>2]<<2)>>2]|0,(u|0)<(x|0)&(v|0)<(x|0)&(w|0)<(x|0)):0){d=X(u,e)|0;h=X(v,e)|0;i=X(w,e)|0;if(o){g=0;do{f[t+(g<<2)>>2]=(f[b+(g+i<<2)>>2]|0)+(f[b+(g+h<<2)>>2]|0)-(f[b+(g+d<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}bi(q,b+(j<<2)|0,t,c+(j<<2)|0)}else bi(q,b+(j<<2)|0,b+((X(l+-2|0,e)|0)<<2)|0,c+(j<<2)|0);if((x|0)<=1)break a;g=f[s>>2]|0;k=f[g>>2]|0;d=x+-1|0;if((f[g+4>>2]|0)-k>>2>>>0<=d>>>0)break;else{l=x;x=d}}Jp(g)}while(0);if((e|0)<=0){a=a+8|0;bi(a,b,t,c);rq(t);return 1}fj(t|0,0,e<<2|0)|0;a=a+8|0;bi(a,b,t,c);rq(t);return 1}function Zd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;g=f[b>>2]|0;b=g*3|0;d=a+12|0;e=a+152|0;g=(g|0)<0;if(g)a=b;else a=f[(f[(f[d>>2]|0)+12>>2]|0)+(b<<2)>>2]|0;if((a|0)==-1073741824){l=0;k=b;f[c>>2]=k;return l|0}j=f[d>>2]|0;do if(!g){a=f[j>>2]|0;if((b|0)<((f[j+4>>2]|0)-a>>2|0)){h=f[a+(b<<2)>>2]|0;break}else ra(20128,20163,98,20248)}else h=-1073741824;while(0);e=f[e>>2]|0;if((f[e+(h<<2)>>2]|0)==-1){a=b+1|0;if(!g)b=((a|0)%3|0|0)==0?b+-2|0:a;d=(b|0)<0;if(d)a=b;else a=f[(f[j+12>>2]|0)+(b<<2)>>2]|0;if((a|0)==-1073741824){l=0;k=b;f[c>>2]=k;return l|0}do if(!d){a=f[j>>2]|0;if((b|0)<((f[j+4>>2]|0)-a>>2|0)){i=f[a+(b<<2)>>2]|0;break}else ra(20128,20163,98,20248)}else i=-1073741824;while(0);if((f[e+(i<<2)>>2]|0)==-1){a=b+1|0;if(!d){b=((a|0)%3|0|0)==0?b+-2|0:a;if((b|0)<0){a=b;d=1}else{a=b;d=0;b=f[(f[j+12>>2]|0)+(b<<2)>>2]|0}}else{a=b;d=1}if((b|0)==-1073741824){l=0;k=a;f[c>>2]=k;return l|0}do if(!d){b=f[j>>2]|0;if((a|0)<((f[j+4>>2]|0)-b>>2|0)){k=f[b+(a<<2)>>2]|0;break}else ra(20128,20163,98,20248)}else k=-1073741824;while(0);if((f[e+(k<<2)>>2]|0)==-1){b=a+1|0;if(d){l=1;k=a;f[c>>2]=k;return l|0}l=1;k=((b|0)%3|0|0)==0?a+-2|0:b;f[c>>2]=k;return l|0}else b=a}}if((b|0)<=-1){l=0;k=b;f[c>>2]=k;return l|0}d=j+12|0;a=b;while(1){b=(((a>>>0)%3|0|0)==0?2:-1)+a|0;if((b|0)<0)break;b=f[(f[d>>2]|0)+(b<<2)>>2]|0;if((b|0)<0){l=14;break}b=b+(((b>>>0)%3|0|0)==0?2:-1)|0;if((b|0)>-1)a=b;else{l=14;break}}if((l|0)==14?(a|0)<0:0){l=0;k=a;f[c>>2]=k;return l|0}if(!((a>>>0)%3|0)){l=0;k=a+2|0;f[c>>2]=k;return l|0}else{l=0;k=a+-1|0;f[c>>2]=k;return l|0}return 0}function _d(a,c){a=a|0;c=c|0;var d=0,e=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;t=u;u=u+16|0;p=t+4|0;q=t;s=t+8|0;r=a+4|0;o=a+8|0;Th((f[o>>2]|0)-(f[r>>2]|0)>>2,c)|0;d=f[r>>2]|0;if((f[o>>2]|0)==(d|0)){u=t;return 1}n=a+32|0;m=c+16|0;h=c+4|0;i=s+1|0;j=s+1|0;l=s+1|0;k=s+1|0;a=d;g=0;while(1){a=f[a+(g<<2)>>2]|0;d=f[n>>2]|0;if((a|0)<=-1){a=5;break}e=f[d+8>>2]|0;if(((f[d+12>>2]|0)-e>>2|0)<=(a|0)){a=7;break}e=f[e+(a<<2)>>2]|0;b[s>>0]=f[e+56>>2];a=m;d=f[a>>2]|0;a=f[a+4>>2]|0;if(!((a|0)>0|(a|0)==0&d>>>0>0)){f[q>>2]=f[h>>2];f[p>>2]=f[q>>2];Me(c,p,s,k)|0;d=m;a=f[d+4>>2]|0;d=f[d>>2]|0}b[s>>0]=f[e+28>>2];if(!((a|0)>0|(a|0)==0&d>>>0>0)){f[q>>2]=f[h>>2];f[p>>2]=f[q>>2];Me(c,p,s,l)|0;d=m;a=f[d+4>>2]|0;d=f[d>>2]|0}b[s>>0]=b[e+24>>0]|0;if(!((a|0)>0|(a|0)==0&d>>>0>0)){f[q>>2]=f[h>>2];f[p>>2]=f[q>>2];Me(c,p,s,j)|0;d=m;a=f[d+4>>2]|0;d=f[d>>2]|0}b[s>>0]=b[e+32>>0]|0;if(!((a|0)>0|(a|0)==0&d>>>0>0)){f[q>>2]=f[h>>2];f[p>>2]=f[q>>2];Me(c,p,s,i)|0}Th(f[e+60>>2]|0,c)|0;g=g+1|0;a=f[r>>2]|0;if(g>>>0>=(f[o>>2]|0)-a>>2>>>0){a=3;break}}if((a|0)==3){u=t;return 1}else if((a|0)==5)ra(20916,20609,59,20700);else if((a|0)==7)ra(20555,20609,60,20700);return 0}function $d(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|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;r=u;u=u+64|0;p=r+48|0;o=r;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Jp(p);else{i=en(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;fj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);d=(c|0)>0;if(d){g=0;do{n=i+(f[a+(g<<2)>>2]<<3)|0;m=n;m=Qn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;g=g+1|0}while((g|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;Rc(o,i,h-i>>3,e)|0;n=o+16|0;n=zn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Qn(n|0,I|0,39,0)|0;n=En(n|0,I|0,3)|0;n=Qn(n|0,I|0,8,0)|0;l=Qn(n|0,I|0,l|0,0)|0;tl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=4194304;if(d){g=4194304;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;d=j<<10;if(g>>>0>=d>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=g;g=(f[n>>2]|0)>>>8;f[n>>2]=g}while(g>>>0>=d>>>0);g=(((g>>>0)/(j>>>0)|0)<<20)+((g>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=g}while((k|0)>1)}Ef(o,e);h=f[o>>2]|0;if(h|0){d=o+4|0;g=f[d>>2]|0;if((g|0)!=(h|0))f[d>>2]=g+(~((g+-8-h|0)>>>3)<<3);tq(h)}g=f[p>>2]|0;if(!g){u=r;return 1}d=f[q>>2]|0;if((d|0)!=(g|0))f[q>>2]=d+(~((d+-8-g|0)>>>3)<<3);tq(g);u=r;return 1}function ae(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|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;r=u;u=u+64|0;p=r+48|0;o=r;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Jp(p);else{i=en(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;fj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);d=(c|0)>0;if(d){g=0;do{n=i+(f[a+(g<<2)>>2]<<3)|0;m=n;m=Qn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;g=g+1|0}while((g|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;Sc(o,i,h-i>>3,e)|0;n=o+16|0;n=zn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Qn(n|0,I|0,39,0)|0;n=En(n|0,I|0,3)|0;n=Qn(n|0,I|0,8,0)|0;l=Qn(n|0,I|0,l|0,0)|0;tl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=4194304;if(d){g=4194304;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;d=j<<10;if(g>>>0>=d>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=g;g=(f[n>>2]|0)>>>8;f[n>>2]=g}while(g>>>0>=d>>>0);g=(((g>>>0)/(j>>>0)|0)<<20)+((g>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=g}while((k|0)>1)}Ef(o,e);h=f[o>>2]|0;if(h|0){d=o+4|0;g=f[d>>2]|0;if((g|0)!=(h|0))f[d>>2]=g+(~((g+-8-h|0)>>>3)<<3);tq(h)}g=f[p>>2]|0;if(!g){u=r;return 1}d=f[q>>2]|0;if((d|0)!=(g|0))f[q>>2]=d+(~((d+-8-g|0)>>>3)<<3);tq(g);u=r;return 1}function be(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|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;r=u;u=u+64|0;p=r+48|0;o=r;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Jp(p);else{i=en(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;fj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);d=(c|0)>0;if(d){g=0;do{n=i+(f[a+(g<<2)>>2]<<3)|0;m=n;m=Qn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;g=g+1|0}while((g|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;Tc(o,i,h-i>>3,e)|0;n=o+16|0;n=zn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Qn(n|0,I|0,39,0)|0;n=En(n|0,I|0,3)|0;n=Qn(n|0,I|0,8,0)|0;l=Qn(n|0,I|0,l|0,0)|0;tl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=4194304;if(d){g=4194304;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;d=j<<10;if(g>>>0>=d>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=g;g=(f[n>>2]|0)>>>8;f[n>>2]=g}while(g>>>0>=d>>>0);g=(((g>>>0)/(j>>>0)|0)<<20)+((g>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=g}while((k|0)>1)}Ef(o,e);h=f[o>>2]|0;if(h|0){d=o+4|0;g=f[d>>2]|0;if((g|0)!=(h|0))f[d>>2]=g+(~((g+-8-h|0)>>>3)<<3);tq(h)}g=f[p>>2]|0;if(!g){u=r;return 1}d=f[q>>2]|0;if((d|0)!=(g|0))f[q>>2]=d+(~((d+-8-g|0)>>>3)<<3);tq(g);u=r;return 1}function ce(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|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;r=u;u=u+64|0;p=r+48|0;o=r;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Jp(p);else{i=en(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;fj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);d=(c|0)>0;if(d){g=0;do{n=i+(f[a+(g<<2)>>2]<<3)|0;m=n;m=Qn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;g=g+1|0}while((g|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;Uc(o,i,h-i>>3,e)|0;n=o+16|0;n=zn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Qn(n|0,I|0,39,0)|0;n=En(n|0,I|0,3)|0;n=Qn(n|0,I|0,8,0)|0;l=Qn(n|0,I|0,l|0,0)|0;tl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=4194304;if(d){g=4194304;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;d=j<<10;if(g>>>0>=d>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=g;g=(f[n>>2]|0)>>>8;f[n>>2]=g}while(g>>>0>=d>>>0);g=(((g>>>0)/(j>>>0)|0)<<20)+((g>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=g}while((k|0)>1)}Ef(o,e);h=f[o>>2]|0;if(h|0){d=o+4|0;g=f[d>>2]|0;if((g|0)!=(h|0))f[d>>2]=g+(~((g+-8-h|0)>>>3)<<3);tq(h)}g=f[p>>2]|0;if(!g){u=r;return 1}d=f[q>>2]|0;if((d|0)!=(g|0))f[q>>2]=d+(~((d+-8-g|0)>>>3)<<3);tq(g);u=r;return 1}function de(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|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;r=u;u=u+64|0;p=r+48|0;o=r;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Jp(p);else{i=en(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;fj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);d=(c|0)>0;if(d){g=0;do{n=i+(f[a+(g<<2)>>2]<<3)|0;m=n;m=Qn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;g=g+1|0}while((g|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;Vc(o,i,h-i>>3,e)|0;n=o+16|0;n=zn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Qn(n|0,I|0,39,0)|0;n=En(n|0,I|0,3)|0;n=Qn(n|0,I|0,8,0)|0;l=Qn(n|0,I|0,l|0,0)|0;tl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=4194304;if(d){g=4194304;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;d=j<<10;if(g>>>0>=d>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=g;g=(f[n>>2]|0)>>>8;f[n>>2]=g}while(g>>>0>=d>>>0);g=(((g>>>0)/(j>>>0)|0)<<20)+((g>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=g}while((k|0)>1)}Ef(o,e);h=f[o>>2]|0;if(h|0){d=o+4|0;g=f[d>>2]|0;if((g|0)!=(h|0))f[d>>2]=g+(~((g+-8-h|0)>>>3)<<3);tq(h)}g=f[p>>2]|0;if(!g){u=r;return 1}d=f[q>>2]|0;if((d|0)!=(g|0))f[q>>2]=d+(~((d+-8-g|0)>>>3)<<3);tq(g);u=r;return 1}function ee(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|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;r=u;u=u+64|0;p=r+48|0;o=r;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Jp(p);else{i=en(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;fj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);d=(c|0)>0;if(d){g=0;do{n=i+(f[a+(g<<2)>>2]<<3)|0;m=n;m=Qn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;g=g+1|0}while((g|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;Wc(o,i,h-i>>3,e)|0;n=o+16|0;n=zn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Qn(n|0,I|0,39,0)|0;n=En(n|0,I|0,3)|0;n=Qn(n|0,I|0,8,0)|0;l=Qn(n|0,I|0,l|0,0)|0;tl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=2097152;if(d){g=2097152;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;d=j<<10;if(g>>>0>=d>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=g;g=(f[n>>2]|0)>>>8;f[n>>2]=g}while(g>>>0>=d>>>0);g=(((g>>>0)/(j>>>0)|0)<<19)+((g>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=g}while((k|0)>1)}Ff(o,e);h=f[o>>2]|0;if(h|0){d=o+4|0;g=f[d>>2]|0;if((g|0)!=(h|0))f[d>>2]=g+(~((g+-8-h|0)>>>3)<<3);tq(h)}g=f[p>>2]|0;if(!g){u=r;return 1}d=f[q>>2]|0;if((d|0)!=(g|0))f[q>>2]=d+(~((d+-8-g|0)>>>3)<<3);tq(g);u=r;return 1}function fe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|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;r=u;u=u+64|0;p=r+48|0;o=r;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Jp(p);else{i=en(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;fj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);d=(c|0)>0;if(d){g=0;do{n=i+(f[a+(g<<2)>>2]<<3)|0;m=n;m=Qn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;g=g+1|0}while((g|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;Xc(o,i,h-i>>3,e)|0;n=o+16|0;n=zn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Qn(n|0,I|0,39,0)|0;n=En(n|0,I|0,3)|0;n=Qn(n|0,I|0,8,0)|0;l=Qn(n|0,I|0,l|0,0)|0;tl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=1048576;if(d){g=1048576;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;d=j<<10;if(g>>>0>=d>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=g;g=(f[n>>2]|0)>>>8;f[n>>2]=g}while(g>>>0>=d>>>0);g=(((g>>>0)/(j>>>0)|0)<<18)+((g>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=g}while((k|0)>1)}Gf(o,e);h=f[o>>2]|0;if(h|0){d=o+4|0;g=f[d>>2]|0;if((g|0)!=(h|0))f[d>>2]=g+(~((g+-8-h|0)>>>3)<<3);tq(h)}g=f[p>>2]|0;if(!g){u=r;return 1}d=f[q>>2]|0;if((d|0)!=(g|0))f[q>>2]=d+(~((d+-8-g|0)>>>3)<<3);tq(g);u=r;return 1}function ge(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|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;r=u;u=u+64|0;p=r+48|0;o=r;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Jp(p);else{i=en(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;fj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);d=(c|0)>0;if(d){g=0;do{n=i+(f[a+(g<<2)>>2]<<3)|0;m=n;m=Qn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;g=g+1|0}while((g|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;Yc(o,i,h-i>>3,e)|0;n=o+16|0;n=zn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Qn(n|0,I|0,39,0)|0;n=En(n|0,I|0,3)|0;n=Qn(n|0,I|0,8,0)|0;l=Qn(n|0,I|0,l|0,0)|0;tl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=262144;if(d){g=262144;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;d=j<<10;if(g>>>0>=d>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=g;g=(f[n>>2]|0)>>>8;f[n>>2]=g}while(g>>>0>=d>>>0);g=(((g>>>0)/(j>>>0)|0)<<16)+((g>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=g}while((k|0)>1)}Hf(o,e);h=f[o>>2]|0;if(h|0){d=o+4|0;g=f[d>>2]|0;if((g|0)!=(h|0))f[d>>2]=g+(~((g+-8-h|0)>>>3)<<3);tq(h)}g=f[p>>2]|0;if(!g){u=r;return 1}d=f[q>>2]|0;if((d|0)!=(g|0))f[q>>2]=d+(~((d+-8-g|0)>>>3)<<3);tq(g);u=r;return 1}function he(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|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;r=u;u=u+64|0;p=r+48|0;o=r;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Jp(p);else{i=en(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;fj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);d=(c|0)>0;if(d){g=0;do{n=i+(f[a+(g<<2)>>2]<<3)|0;m=n;m=Qn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;g=g+1|0}while((g|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;Zc(o,i,h-i>>3,e)|0;n=o+16|0;n=zn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Qn(n|0,I|0,39,0)|0;n=En(n|0,I|0,3)|0;n=Qn(n|0,I|0,8,0)|0;l=Qn(n|0,I|0,l|0,0)|0;tl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=131072;if(d){g=131072;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;d=j<<10;if(g>>>0>=d>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=g;g=(f[n>>2]|0)>>>8;f[n>>2]=g}while(g>>>0>=d>>>0);g=(((g>>>0)/(j>>>0)|0)<<15)+((g>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=g}while((k|0)>1)}If(o,e);h=f[o>>2]|0;if(h|0){d=o+4|0;g=f[d>>2]|0;if((g|0)!=(h|0))f[d>>2]=g+(~((g+-8-h|0)>>>3)<<3);tq(h)}g=f[p>>2]|0;if(!g){u=r;return 1}d=f[q>>2]|0;if((d|0)!=(g|0))f[q>>2]=d+(~((d+-8-g|0)>>>3)<<3);tq(g);u=r;return 1}function ie(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|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;r=u;u=u+64|0;p=r+48|0;o=r;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Jp(p);else{i=en(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;fj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);d=(c|0)>0;if(d){g=0;do{n=i+(f[a+(g<<2)>>2]<<3)|0;m=n;m=Qn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;g=g+1|0}while((g|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;_c(o,i,h-i>>3,e)|0;n=o+16|0;n=zn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Qn(n|0,I|0,39,0)|0;n=En(n|0,I|0,3)|0;n=Qn(n|0,I|0,8,0)|0;l=Qn(n|0,I|0,l|0,0)|0;tl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=32768;if(d){g=32768;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;d=j<<10;if(g>>>0>=d>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=g;g=(f[n>>2]|0)>>>8;f[n>>2]=g}while(g>>>0>=d>>>0);g=(((g>>>0)/(j>>>0)|0)<<13)+((g>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=g}while((k|0)>1)}Mf(o,e);h=f[o>>2]|0;if(h|0){d=o+4|0;g=f[d>>2]|0;if((g|0)!=(h|0))f[d>>2]=g+(~((g+-8-h|0)>>>3)<<3);tq(h)}g=f[p>>2]|0;if(!g){u=r;return 1}d=f[q>>2]|0;if((d|0)!=(g|0))f[q>>2]=d+(~((d+-8-g|0)>>>3)<<3);tq(g);u=r;return 1}function je(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|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;r=u;u=u+64|0;p=r+48|0;o=r;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Jp(p);else{i=en(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;fj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);d=(c|0)>0;if(d){g=0;do{n=i+(f[a+(g<<2)>>2]<<3)|0;m=n;m=Qn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;g=g+1|0}while((g|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;$c(o,i,h-i>>3,e)|0;n=o+16|0;n=zn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Qn(n|0,I|0,39,0)|0;n=En(n|0,I|0,3)|0;n=Qn(n|0,I|0,8,0)|0;l=Qn(n|0,I|0,l|0,0)|0;tl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(d){g=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;d=j<<10;if(g>>>0>=d>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=g;g=(f[n>>2]|0)>>>8;f[n>>2]=g}while(g>>>0>=d>>>0);g=(((g>>>0)/(j>>>0)|0)<<12)+((g>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=g}while((k|0)>1)}rg(o,e);h=f[o>>2]|0;if(h|0){d=o+4|0;g=f[d>>2]|0;if((g|0)!=(h|0))f[d>>2]=g+(~((g+-8-h|0)>>>3)<<3);tq(h)}g=f[p>>2]|0;if(!g){u=r;return 1}d=f[q>>2]|0;if((d|0)!=(g|0))f[q>>2]=d+(~((d+-8-g|0)>>>3)<<3);tq(g);u=r;return 1}function ke(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|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;r=u;u=u+64|0;p=r+48|0;o=r;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Jp(p);else{i=en(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;fj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);d=(c|0)>0;if(d){g=0;do{n=i+(f[a+(g<<2)>>2]<<3)|0;m=n;m=Qn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;g=g+1|0}while((g|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;ad(o,i,h-i>>3,e)|0;n=o+16|0;n=zn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Qn(n|0,I|0,39,0)|0;n=En(n|0,I|0,3)|0;n=Qn(n|0,I|0,8,0)|0;l=Qn(n|0,I|0,l|0,0)|0;tl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(d){g=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;d=j<<10;if(g>>>0>=d>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=g;g=(f[n>>2]|0)>>>8;f[n>>2]=g}while(g>>>0>=d>>>0);g=(((g>>>0)/(j>>>0)|0)<<12)+((g>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=g}while((k|0)>1)}rg(o,e);h=f[o>>2]|0;if(h|0){d=o+4|0;g=f[d>>2]|0;if((g|0)!=(h|0))f[d>>2]=g+(~((g+-8-h|0)>>>3)<<3);tq(h)}g=f[p>>2]|0;if(!g){u=r;return 1}d=f[q>>2]|0;if((d|0)!=(g|0))f[q>>2]=d+(~((d+-8-g|0)>>>3)<<3);tq(g);u=r;return 1}function le(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|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;r=u;u=u+64|0;p=r+48|0;o=r;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Jp(p);else{i=en(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;fj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);d=(c|0)>0;if(d){g=0;do{n=i+(f[a+(g<<2)>>2]<<3)|0;m=n;m=Qn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;g=g+1|0}while((g|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;bd(o,i,h-i>>3,e)|0;n=o+16|0;n=zn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Qn(n|0,I|0,39,0)|0;n=En(n|0,I|0,3)|0;n=Qn(n|0,I|0,8,0)|0;l=Qn(n|0,I|0,l|0,0)|0;tl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(d){g=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;d=j<<10;if(g>>>0>=d>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=g;g=(f[n>>2]|0)>>>8;f[n>>2]=g}while(g>>>0>=d>>>0);g=(((g>>>0)/(j>>>0)|0)<<12)+((g>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=g}while((k|0)>1)}rg(o,e);h=f[o>>2]|0;if(h|0){d=o+4|0;g=f[d>>2]|0;if((g|0)!=(h|0))f[d>>2]=g+(~((g+-8-h|0)>>>3)<<3);tq(h)}g=f[p>>2]|0;if(!g){u=r;return 1}d=f[q>>2]|0;if((d|0)!=(g|0))f[q>>2]=d+(~((d+-8-g|0)>>>3)<<3);tq(g);u=r;return 1}function me(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|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;r=u;u=u+64|0;p=r+48|0;o=r;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Jp(p);else{i=en(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;fj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);d=(c|0)>0;if(d){g=0;do{n=i+(f[a+(g<<2)>>2]<<3)|0;m=n;m=Qn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;g=g+1|0}while((g|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;cd(o,i,h-i>>3,e)|0;n=o+16|0;n=zn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Qn(n|0,I|0,39,0)|0;n=En(n|0,I|0,3)|0;n=Qn(n|0,I|0,8,0)|0;l=Qn(n|0,I|0,l|0,0)|0;tl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(d){g=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;d=j<<10;if(g>>>0>=d>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=g;g=(f[n>>2]|0)>>>8;f[n>>2]=g}while(g>>>0>=d>>>0);g=(((g>>>0)/(j>>>0)|0)<<12)+((g>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=g}while((k|0)>1)}rg(o,e);h=f[o>>2]|0;if(h|0){d=o+4|0;g=f[d>>2]|0;if((g|0)!=(h|0))f[d>>2]=g+(~((g+-8-h|0)>>>3)<<3);tq(h)}g=f[p>>2]|0;if(!g){u=r;return 1}d=f[q>>2]|0;if((d|0)!=(g|0))f[q>>2]=d+(~((d+-8-g|0)>>>3)<<3);tq(g);u=r;return 1}function ne(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|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;r=u;u=u+64|0;p=r+48|0;o=r;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Jp(p);else{i=en(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;fj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);d=(c|0)>0;if(d){g=0;do{n=i+(f[a+(g<<2)>>2]<<3)|0;m=n;m=Qn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;g=g+1|0}while((g|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;dd(o,i,h-i>>3,e)|0;n=o+16|0;n=zn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Qn(n|0,I|0,39,0)|0;n=En(n|0,I|0,3)|0;n=Qn(n|0,I|0,8,0)|0;l=Qn(n|0,I|0,l|0,0)|0;tl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(d){g=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;d=j<<10;if(g>>>0>=d>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=g;g=(f[n>>2]|0)>>>8;f[n>>2]=g}while(g>>>0>=d>>>0);g=(((g>>>0)/(j>>>0)|0)<<12)+((g>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=g}while((k|0)>1)}rg(o,e);h=f[o>>2]|0;if(h|0){d=o+4|0;g=f[d>>2]|0;if((g|0)!=(h|0))f[d>>2]=g+(~((g+-8-h|0)>>>3)<<3);tq(h)}g=f[p>>2]|0;if(!g){u=r;return 1}d=f[q>>2]|0;if((d|0)!=(g|0))f[q>>2]=d+(~((d+-8-g|0)>>>3)<<3);tq(g);u=r;return 1}function oe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|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;r=u;u=u+64|0;p=r+48|0;o=r;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Jp(p);else{i=en(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;fj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);d=(c|0)>0;if(d){g=0;do{n=i+(f[a+(g<<2)>>2]<<3)|0;m=n;m=Qn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;g=g+1|0}while((g|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;ed(o,i,h-i>>3,e)|0;n=o+16|0;n=zn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Qn(n|0,I|0,39,0)|0;n=En(n|0,I|0,3)|0;n=Qn(n|0,I|0,8,0)|0;l=Qn(n|0,I|0,l|0,0)|0;tl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(d){g=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;d=j<<10;if(g>>>0>=d>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=g;g=(f[n>>2]|0)>>>8;f[n>>2]=g}while(g>>>0>=d>>>0);g=(((g>>>0)/(j>>>0)|0)<<12)+((g>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=g}while((k|0)>1)}rg(o,e);h=f[o>>2]|0;if(h|0){d=o+4|0;g=f[d>>2]|0;if((g|0)!=(h|0))f[d>>2]=g+(~((g+-8-h|0)>>>3)<<3);tq(h)}g=f[p>>2]|0;if(!g){u=r;return 1}d=f[q>>2]|0;if((d|0)!=(g|0))f[q>>2]=d+(~((d+-8-g|0)>>>3)<<3);tq(g);u=r;return 1}function pe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|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;r=u;u=u+64|0;p=r+48|0;o=r;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Jp(p);else{i=en(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;fj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);d=(c|0)>0;if(d){g=0;do{n=i+(f[a+(g<<2)>>2]<<3)|0;m=n;m=Qn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;g=g+1|0}while((g|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;fd(o,i,h-i>>3,e)|0;n=o+16|0;n=zn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Qn(n|0,I|0,39,0)|0;n=En(n|0,I|0,3)|0;n=Qn(n|0,I|0,8,0)|0;l=Qn(n|0,I|0,l|0,0)|0;tl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(d){g=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;d=j<<10;if(g>>>0>=d>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=g;g=(f[n>>2]|0)>>>8;f[n>>2]=g}while(g>>>0>=d>>>0);g=(((g>>>0)/(j>>>0)|0)<<12)+((g>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=g}while((k|0)>1)}rg(o,e);h=f[o>>2]|0;if(h|0){d=o+4|0;g=f[d>>2]|0;if((g|0)!=(h|0))f[d>>2]=g+(~((g+-8-h|0)>>>3)<<3);tq(h)}g=f[p>>2]|0;if(!g){u=r;return 1}d=f[q>>2]|0;if((d|0)!=(g|0))f[q>>2]=d+(~((d+-8-g|0)>>>3)<<3);tq(g);u=r;return 1}function qe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|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;r=u;u=u+64|0;p=r+48|0;o=r;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Jp(p);else{i=en(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;fj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);d=(c|0)>0;if(d){g=0;do{n=i+(f[a+(g<<2)>>2]<<3)|0;m=n;m=Qn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;g=g+1|0}while((g|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;gd(o,i,h-i>>3,e)|0;n=o+16|0;n=zn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Qn(n|0,I|0,39,0)|0;n=En(n|0,I|0,3)|0;n=Qn(n|0,I|0,8,0)|0;l=Qn(n|0,I|0,l|0,0)|0;tl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(d){g=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;d=j<<10;if(g>>>0>=d>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=g;g=(f[n>>2]|0)>>>8;f[n>>2]=g}while(g>>>0>=d>>>0);g=(((g>>>0)/(j>>>0)|0)<<12)+((g>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=g}while((k|0)>1)}rg(o,e);h=f[o>>2]|0;if(h|0){d=o+4|0;g=f[d>>2]|0;if((g|0)!=(h|0))f[d>>2]=g+(~((g+-8-h|0)>>>3)<<3);tq(h)}g=f[p>>2]|0;if(!g){u=r;return 1}d=f[q>>2]|0;if((d|0)!=(g|0))f[q>>2]=d+(~((d+-8-g|0)>>>3)<<3);tq(g);u=r;return 1}function re(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=u;u=u+48|0;i=m+40|0;j=m+36|0;l=m+32|0;k=m;g=a+60|0;Th(f[g>>2]|0,b)|0;gn(k);Xk(k);c=f[a+56>>2]|0;g=f[g>>2]|0;e=g>>>5;h=c+(e<<2)|0;g=g&31;d=(e|0)!=0;a:do if(e|g|0){if(!g){e=d;d=1;while(1){if(e){g=0;while(1){e=(f[c>>2]&1<>2]&1<>2]&1<>2]&1<>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Me(b,i,l,l+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[l>>2]=f[a+20>>2];if((d|0)>0|(d|0)==0&c>>>0>0){sj(k);u=m;return 1}f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Me(b,i,l,l+4|0)|0;sj(k);u=m;return 1}function se(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=u;u=u+48|0;i=m+40|0;j=m+36|0;l=m+32|0;k=m;g=a+80|0;Th(f[g>>2]|0,b)|0;gn(k);Xk(k);c=f[a+76>>2]|0;g=f[g>>2]|0;e=g>>>5;h=c+(e<<2)|0;g=g&31;d=(e|0)!=0;a:do if(e|g|0){if(!g){e=d;d=1;while(1){if(e){g=0;while(1){e=(f[c>>2]&1<>2]&1<>2]&1<>2]&1<>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Me(b,i,l,l+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[l>>2]=f[a+16>>2];if((d|0)>0|(d|0)==0&c>>>0>0){sj(k);u=m;return 1}f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Me(b,i,l,l+4|0)|0;sj(k);u=m;return 1}function te(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+32|0;n=p+8|0;o=p;m=c+4|0;i=f[(f[m>>2]|0)+48>>2]|0;l=c+12|0;h=f[l>>2]|0;d=en(32)|0;f[n>>2]=d;f[n+8>>2]=-2147483616;f[n+4>>2]=17;c=d;e=17770;g=c+17|0;do{b[c>>0]=b[e>>0]|0;c=c+1|0;e=e+1|0}while((c|0)<(g|0));b[d+17>>0]=0;g=i+16|0;c=f[g>>2]|0;if(c){d=g;a:while(1){e=c;while(1){if((f[e+16>>2]|0)>=(h|0))break;c=f[e+4>>2]|0;if(!c)break a;else e=c}c=f[e>>2]|0;if(!c){d=e;break}else d=e}if(((d|0)!=(g|0)?(h|0)>=(f[d+16>>2]|0):0)?(j=d+20|0,(Qh(j,n)|0)!=0):0)d=Dk(j,n,-1)|0;else k=10}else k=10;if((k|0)==10)d=Dk(i,n,-1)|0;if((b[n+11>>0]|0)<0)tq(f[n>>2]|0);d=(1<>2]=-1;f[n+4>>2]=-1;f[n+8>>2]=-1;f[n+12>>2]=-1;if(((d|0)%2|0|0)!=1)ra(11615,11648,68,11808);c=(_(d|0)|0)^31;d=c+1|0;if(!c)ra(11832,11843,60,11958);if(d>>>0>=31)ra(11978,11843,61,11958);f[n>>2]=d;k=2<>2]=k+-1;k=k+-2|0;f[n+8>>2]=k;f[n+12>>2]=(k|0)/2|0;switch(mi(f[l>>2]|0,f[m>>2]|0)|0){case 6:{ch(o,6,f[l>>2]|0,f[m>>2]|0,n);f[a>>2]=f[o>>2];u=p;return}case 0:{ch(o,0,f[l>>2]|0,f[m>>2]|0,n);f[a>>2]=f[o>>2];u=p;return}default:ra(11990,11996,69,12122)}}function ue(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=u;u=u+16|0;i=l+4|0;j=l;e=l+9|0;k=l+8|0;c=f[(f[a+184>>2]|0)+(c<<2)>>2]&255;b[e>>0]=c;g=a+4|0;d=f[(f[g>>2]|0)+44>>2]|0;m=d+16|0;n=f[m+4>>2]|0;if(!((n|0)>0|(n|0)==0&(f[m>>2]|0)>>>0>0)){f[j>>2]=f[d+4>>2];f[i>>2]=f[j>>2];Me(d,i,e,e+1|0)|0;c=b[e>>0]|0}a:do if(c<<24>>24>-1){d=a+172|0;n=f[(f[d>>2]|0)+((c<<24>>24)*108|0)>>2]|0;m=(Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0)+52|0;e=b[e>>0]|0;c=f[d>>2]|0;d=f[c+(e*108|0)+104>>2]|0;switch(f[(f[(f[m>>2]|0)+84>>2]|0)+(n<<2)>>2]|0){case 0:{h=7;break a}case 1:{if(b[c+(e*108|0)+28>>0]|0){h=7;break a}break}default:{}}c=f[(f[g>>2]|0)+44>>2]|0;b[k>>0]=1;n=c+16|0;m=f[n+4>>2]|0;if(!((m|0)>0|(m|0)==0&(f[n>>2]|0)>>>0>0)){f[j>>2]=f[c+4>>2];f[i>>2]=f[j>>2];Me(c,i,k,k+1|0)|0}}else{d=f[a+68>>2]|0;h=7}while(0);if((h|0)==7){c=f[(f[g>>2]|0)+44>>2]|0;b[k>>0]=0;n=c+16|0;m=f[n+4>>2]|0;if(!((m|0)>0|(m|0)==0&(f[n>>2]|0)>>>0>0)){f[j>>2]=f[c+4>>2];f[i>>2]=f[j>>2];Me(c,i,k,k+1|0)|0}}c=f[(f[g>>2]|0)+44>>2]|0;b[k>>0]=d;n=c+16|0;m=f[n+4>>2]|0;if((m|0)>0|(m|0)==0&(f[n>>2]|0)>>>0>0){u=l;return 1}f[j>>2]=f[c+4>>2];f[i>>2]=f[j>>2];Me(c,i,k,k+1|0)|0;u=l;return 1}function ve(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=Ka,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=Ka,B=Ka;y=u;u=u+16|0;x=y;h=c+4|0;if((f[h>>2]|0)==-1)ra(7383,7400,113,7512);q=e+4|0;j=b[d+24>>0]|0;w=j<<24>>24;xi(a,c,(f[q>>2]|0)-(f[e>>2]|0)>>2,w,g,d);o=f[a>>2]|0;o=(f[f[o>>2]>>2]|0)+(f[o+48>>2]|0)|0;v=f[h>>2]|0;gp(x);to(x,$(n[c+20>>2]),(1<>>0>1073741823?-1:w<<2)|0;g=f[q>>2]|0;a=f[e>>2]|0;q=a;if((g|0)==(a|0)){rq(v);u=y;return}r=d+68|0;s=d+48|0;t=d+40|0;k=c+8|0;l=x+4|0;p=(b[d+84>>0]|0)==0;m=g-a>>2;if(j<<24>>24>0){e=0;c=0}else{g=0;do{a=f[q+(g<<2)>>2]|0;if(p)a=f[(f[r>>2]|0)+(a<<2)>>2]|0;w=s;o=f[w>>2]|0;w=f[w+4>>2]|0;l=t;x=f[l>>2]|0;l=dn(x|0,f[l+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;w=Qn(l|0,I|0,o|0,w|0)|0;Sg(v|0,(f[f[d>>2]>>2]|0)+w|0,x|0)|0;g=g+1|0}while(g>>>0>>0);rq(v);u=y;return}while(1){a=f[q+(c<<2)>>2]|0;if(p)a=f[(f[r>>2]|0)+(a<<2)>>2]|0;h=s;j=f[h>>2]|0;h=f[h+4>>2]|0;z=t;g=f[z>>2]|0;a=dn(g|0,f[z+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Qn(a|0,I|0,j|0,h|0)|0;Sg(v|0,(f[f[d>>2]>>2]|0)+a|0,g|0)|0;a=f[k>>2]|0;i=$(n[x>>2]);g=0;h=e;while(1){A=$(n[v+(g<<2)>>2]);A=$(A-$(n[a+(g<<2)>>2]));j=A<$(0.0);B=$(-A);A=$((j?B:A)/i);z=~~$(J($($($(f[l>>2]|0)*A)+$(.5))));f[o+(h<<2)>>2]=j?0-z|0:z;g=g+1|0;if((g|0)==(w|0))break;else h=h+1|0}c=c+1|0;if(c>>>0>=m>>>0)break;else e=w+e|0}rq(v);u=y;return}function we(a,b){a=a|0;b=b|0;var c=0,d=Ka,e=Ka,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=Ka;m=f[b>>2]|0;j=a+4|0;i=f[j>>2]|0;k=(i|0)==0;a:do if(!k){g=i+-1|0;c=(g&i|0)==0;if(!c)if(m>>>0>>0)h=m;else h=(m>>>0)%(i>>>0)|0;else h=g&m;b=f[(f[a>>2]|0)+(h<<2)>>2]|0;if(!b)b=h;else{if(c){do{b=f[b>>2]|0;if(!b){b=h;break a}l=f[b+4>>2]|0;if(!((l|0)==(m|0)|(l&g|0)==(h|0))){b=h;break a}}while((f[b+8>>2]|0)!=(m|0));a=b+12|0;return a|0}do{b=f[b>>2]|0;if(!b){b=h;break a}c=f[b+4>>2]|0;if((c|0)!=(m|0)){if(c>>>0>=i>>>0)c=(c>>>0)%(i>>>0)|0;if((c|0)!=(h|0)){b=h;break a}}}while((f[b+8>>2]|0)!=(m|0));a=b+12|0;return a|0}}else b=0;while(0);l=en(16)|0;f[l+8>>2]=m;f[l+12>>2]=0;f[l+4>>2]=m;f[l>>2]=0;h=a+12|0;e=$(((f[h>>2]|0)+1|0)>>>0);p=$(i>>>0);d=$(n[a+16>>2]);do if(k|e>$(p*d)){b=(i>>>0<3|(i+-1&i|0)!=0)&1|i<<1;c=~~$(W($(e/d)))>>>0;yi(a,b>>>0>>0?c:b);b=f[j>>2]|0;c=b+-1|0;if(!(c&b)){g=b;b=c&m;break}if(m>>>0>>0){g=b;b=m}else{g=b;b=(m>>>0)%(b>>>0)|0}}else g=i;while(0);c=(f[a>>2]|0)+(b<<2)|0;b=f[c>>2]|0;if(!b){b=a+8|0;f[l>>2]=f[b>>2];f[b>>2]=l;f[c>>2]=b;b=f[l>>2]|0;if(b|0){b=f[b+4>>2]|0;c=g+-1|0;if(c&g){if(b>>>0>=g>>>0)b=(b>>>0)%(g>>>0)|0}else b=b&c;b=(f[a>>2]|0)+(b<<2)|0;o=30}}else{f[l>>2]=f[b>>2];o=30}if((o|0)==30)f[b>>2]=l;f[h>>2]=(f[h>>2]|0)+1;a=l;a=a+12|0;return a|0}function xe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=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;p=f[b>>2]|0;k=f[b+4>>2]|0;n=((f[c>>2]|0)-p<<3)+(f[c+4>>2]|0)-k|0;c=p;if((n|0)<=0){b=d+4|0;d=f[d>>2]|0;f[a>>2]=d;a=a+4|0;d=f[b>>2]|0;f[a>>2]=d;return}if(!k){l=d+4|0;e=f[l>>2]|0;g=n}else{i=32-k|0;m=(n|0)<(i|0)?n:i;i=-1>>>(i-m|0)&-1<>2];l=d+4|0;e=f[l>>2]|0;j=32-e|0;g=j>>>0>>0?j:m;h=f[d>>2]|0;e=f[h>>2]&~(-1>>>(j-g|0)&-1<>2]=e;j=f[l>>2]|0;f[h>>2]=(j>>>0>k>>>0?i<>>(k-j|0))|e;e=(f[l>>2]|0)+g|0;h=h+(e>>>5<<2)|0;f[d>>2]=h;e=e&31;f[l>>2]=e;j=m-g|0;if((j|0)>0){f[h>>2]=i>>>(k+g|0)|f[h>>2]&~(-1>>>(32-j|0));f[l>>2]=j;e=j}c=c+4|0;f[b>>2]=c;g=n-m|0}p=32-e|0;o=-1<31){n=~o;m=f[d>>2]|0;j=g+-32|0;h=j>>>5;i=h+1|0;h=j-(h<<5)|0;j=f[m>>2]|0;k=m;e=g;g=c;while(1){q=f[g>>2]|0;r=j&n;f[k>>2]=r;f[k>>2]=q<>2]|r;k=k+4|0;j=f[k>>2]&o|q>>>p;f[k>>2]=j;e=e+-32|0;if((e|0)<=31)break;else g=g+4|0}c=c+(i<<2)|0;f[b>>2]=c;f[d>>2]=m+(i<<2)}else h=g;if((h|0)<=0){q=l;r=f[d>>2]|0;f[a>>2]=r;r=a+4|0;q=f[q>>2]|0;f[r>>2]=q;return}i=f[c>>2]&-1>>>(32-h|0);g=(p|0)<(h|0)?p:h;e=f[d>>2]|0;c=f[e>>2]&~(-1<>2]&-1>>>(p-g|0));f[e>>2]=c;f[e>>2]=c|i<>2];c=(f[l>>2]|0)+g|0;e=e+(c>>>5<<2)|0;f[d>>2]=e;f[l>>2]=c&31;c=h-g|0;if((c|0)<=0){q=l;r=f[d>>2]|0;f[a>>2]=r;r=a+4|0;q=f[q>>2]|0;f[r>>2]=q;return}f[e>>2]=f[e>>2]&~(-1>>>(32-c|0))|i>>>g;f[l>>2]=c;q=l;r=f[d>>2]|0;f[a>>2]=r;r=a+4|0;q=f[q>>2]|0;f[r>>2]=q;return}function ye(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+32|0;j=k;g=f[a+8>>2]|0;e=a+4|0;d=f[e>>2]|0;if(((g-d|0)/108|0)>>>0>=c>>>0){do{f[d>>2]=-1;em(d+4|0);b[d+72>>0]=1;j=d+76|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[j+24>>2]=0;d=(f[e>>2]|0)+108|0;f[e>>2]=d;c=c+-1|0}while((c|0)!=0);u=k;return}e=f[a>>2]|0;h=(d-e|0)/108|0;d=h+c|0;if(d>>>0>39768215)Jp(a);g=(g-e|0)/108|0;i=g<<1;d=g>>>0<19884107?(i>>>0>>0?d:i):39768215;f[j+12>>2]=0;f[j+16>>2]=a+8;do if(d)if(d>>>0>39768215){k=sa(8)|0;xo(k,20710);f[k>>2]=7152;wa(k|0,1112,107)}else{e=en(d*108|0)|0;break}else e=0;while(0);f[j>>2]=e;h=e+(h*108|0)|0;i=j+8|0;f[i>>2]=h;g=j+4|0;f[g>>2]=h;f[j+12>>2]=e+(d*108|0);d=h;do{f[d>>2]=-1;em(d+4|0);b[d+72>>0]=1;h=d+76|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;d=(f[i>>2]|0)+108|0;f[i>>2]=d;c=c+-1|0}while((c|0)!=0);Kd(a,j);h=f[g>>2]|0;c=f[i>>2]|0;if((c|0)!=(h|0))do{f[i>>2]=c+-108;d=f[c+-20>>2]|0;if(d|0){g=c+-16|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);tq(d)}d=f[c+-32>>2]|0;if(d|0){g=c+-28|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);tq(d)}Aj(c+-104|0);c=f[i>>2]|0}while((c|0)!=(h|0));c=f[j>>2]|0;if(c|0)tq(c);u=k;return}function ze(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+16|0;m=r+4|0;l=r;f[a+64>>2]=b;q=a+128|0;f[q>>2]=2;p=a+132|0;f[p>>2]=7;g=Ma[f[(f[b>>2]|0)+32>>2]&127](b)|0;n=a+88|0;f[n>>2]=g;k=a+104|0;g=(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2;j=a+108|0;b=f[j>>2]|0;c=f[k>>2]|0;h=b-c>>2;d=c;e=b;if(g>>>0<=h>>>0){if(g>>>0>>0?(i=d+(g<<2)|0,(e|0)!=(i|0)):0){b=e+(~((e+-4-i|0)>>>2)<<2)|0;f[j>>2]=b}}else{ri(k,g-h|0);c=f[k>>2]|0;b=f[j>>2]|0}if((b-c|0)>0){b=0;do{h=f[n>>2]|0;f[l>>2]=b;f[m>>2]=f[l>>2];h=_k(h,m)|0;i=f[k>>2]|0;f[i+(b<<2)>>2]=h;b=b+1|0}while((b|0)<((f[j>>2]|0)-i>>2|0))}j=a+92|0;b=f[n>>2]|0;c=f[b>>2]|0;i=(f[b+4>>2]|0)-c>>2;g=a+96|0;e=f[g>>2]|0;d=f[j>>2]|0;h=e-d>>2;if(i>>>0<=h>>>0){if(i>>>0>>0?(o=d+(i<<2)|0,(e|0)!=(o|0)):0)f[g>>2]=e+(~((e+-4-o|0)>>>2)<<2)}else{ri(j,i-h|0);c=f[n>>2]|0;b=c;c=f[c>>2]|0}b=(f[b+4>>2]|0)-c|0;if((b|0)>0){d=b>>2;b=0;do{f[(f[j>>2]|0)+(b<<2)>>2]=f[c+(b<<2)>>2];b=b+1|0}while((b|0)<(d|0))}e=(f[p>>2]|0)-(f[q>>2]|0)+1|0;g=a+136|0;h=a+140|0;b=f[h>>2]|0;c=f[g>>2]|0;d=(b-c|0)/12|0;if(e>>>0>d>>>0){Lf(g,e-d|0);u=r;return 1}if(e>>>0>=d>>>0){u=r;return 1}e=c+(e*12|0)|0;if((b|0)==(e|0)){u=r;return 1}do{c=b+-12|0;f[h>>2]=c;d=f[c>>2]|0;if(!d)b=c;else{c=b+-8|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);tq(d);b=f[h>>2]|0}}while((b|0)!=(e|0));u=r;return 1}function Ae(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;l=n;j=f[(f[c+4>>2]|0)+(d<<2)>>2]|0;e=f[c+28>>2]|0;d=f[e+4>>2]|0;if((j|0)<=-1)ra(20916,20609,59,20700);c=f[d+8>>2]|0;if(((f[d+12>>2]|0)-c>>2|0)<=(j|0))ra(20555,20609,60,20700);i=f[c+(j<<2)>>2]|0;switch(f[i+28>>2]|0){case 5:case 6:case 3:case 4:case 1:case 2:{m=en(40)|0;eo(m);f[a>>2]=m;u=n;return}case 9:{m=7;break}default:{}}if((m|0)==7){h=f[e+48>>2]|0;d=en(32)|0;f[l>>2]=d;f[l+8>>2]=-2147483616;f[l+4>>2]=17;e=d;c=17770;g=e+17|0;do{b[e>>0]=b[c>>0]|0;e=e+1|0;c=c+1|0}while((e|0)<(g|0));b[d+17>>0]=0;g=h+16|0;c=f[g>>2]|0;if(c){d=g;a:while(1){e=c;while(1){if((f[e+16>>2]|0)>=(j|0))break;c=f[e+4>>2]|0;if(!c)break a;else e=c}c=f[e>>2]|0;if(!c){d=e;break}else d=e}if(((d|0)!=(g|0)?(j|0)>=(f[d+16>>2]|0):0)?(k=d+20|0,(Qh(k,l)|0)!=0):0)d=Dk(k,l,-1)|0;else m=16}else m=16;if((m|0)==16)d=Dk(h,l,-1)|0;if((b[l+11>>0]|0)<0)tq(f[l>>2]|0);if((d|0)>0)if((f[i+56>>2]|0)==1){d=en(48)|0;e=d;g=e+48|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));eo(d);f[d>>2]=2384;f[d+40>>2]=1168;f[d+44>>2]=-1;m=d;f[a>>2]=m;u=n;return}else{m=en(64)|0;vm(m);f[a>>2]=m;u=n;return}}m=en(36)|0;xm(m);f[a>>2]=m;u=n;return}function Be(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=f[b>>2]|0;k=b+4|0;e=f[k>>2]|0;h=((f[c>>2]|0)-m<<3)+(f[c+4>>2]|0)-e|0;c=m;if((h|0)<=0){b=d+4|0;d=f[d>>2]|0;f[a>>2]=d;a=a+4|0;d=f[b>>2]|0;f[a>>2]=d;return}if(!e){l=d+4|0;e=f[l>>2]|0}else{i=32-e|0;m=(h|0)<(i|0)?h:i;i=-1>>>(i-m|0)&-1<>2];l=d+4|0;c=f[l>>2]|0;j=32-c|0;e=j>>>0>>0?j:m;g=f[d>>2]|0;c=f[g>>2]&~(-1>>>(j-e|0)&-1<>2]=c;j=f[l>>2]|0;n=f[k>>2]|0;f[g>>2]=(j>>>0>n>>>0?i<>>(n-j|0))|c;c=(f[l>>2]|0)+e|0;g=g+(c>>>5<<2)|0;f[d>>2]=g;c=c&31;f[l>>2]=c;j=m-e|0;if((j|0)>0){c=f[g>>2]&~(-1>>>(32-j|0));f[g>>2]=c;f[g>>2]=i>>>((f[k>>2]|0)+e|0)|c;f[l>>2]=j;c=j}n=(f[b>>2]|0)+4|0;f[b>>2]=n;e=c;c=n;h=h-m|0}j=32-e|0;i=-1<31){g=~i;e=h;do{m=f[c>>2]|0;n=f[d>>2]|0;k=f[n>>2]&g;f[n>>2]=k;f[n>>2]=m<>2]|k;n=n+4|0;f[d>>2]=n;f[n>>2]=f[n>>2]&i|m>>>j;e=e+-32|0;c=(f[b>>2]|0)+4|0;f[b>>2]=c}while((e|0)>31);h=h&31}if((h|0)<=0){b=l;n=f[d>>2]|0;f[a>>2]=n;n=a+4|0;a=f[b>>2]|0;f[n>>2]=a;return}i=f[c>>2]&-1>>>(32-h|0);g=(j|0)<(h|0)?j:h;e=f[d>>2]|0;c=f[e>>2]&~(-1<>2]&-1>>>(j-g|0));f[e>>2]=c;f[e>>2]=c|i<>2];c=(f[l>>2]|0)+g|0;e=e+(c>>>5<<2)|0;f[d>>2]=e;f[l>>2]=c&31;c=h-g|0;if((c|0)<=0){b=l;n=f[d>>2]|0;f[a>>2]=n;n=a+4|0;a=f[b>>2]|0;f[n>>2]=a;return}f[e>>2]=f[e>>2]&~(-1>>>(32-c|0))|i>>>g;f[l>>2]=c;b=l;n=f[d>>2]|0;f[a>>2]=n;n=a+4|0;a=f[b>>2]|0;f[n>>2]=a;return}function Ce(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=u;u=u+48|0;h=l+36|0;k=l+24|0;i=l+12|0;j=l;if(!c){m=0;u=l;return m|0}f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;g=Xj(d)|0;if(g>>>0>4294967279)Jp(h);if(g>>>0<11){b[h+11>>0]=g;if(!g)a=h;else{a=h;m=7}}else{m=g+16&-16;a=en(m)|0;f[h>>2]=a;f[h+8>>2]=m|-2147483648;f[h+4>>2]=g;m=7}if((m|0)==7)Sg(a|0,d|0,g|0)|0;b[a+g>>0]=0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;g=Xj(e)|0;if(g>>>0>4294967279)Jp(k);if(g>>>0<11){b[k+11>>0]=g;if(!g)a=k;else{a=k;m=13}}else{m=g+16&-16;a=en(m)|0;f[k>>2]=a;f[k+8>>2]=m|-2147483648;f[k+4>>2]=g;m=13}if((m|0)==13)Sg(a|0,e|0,g|0)|0;b[a+g>>0]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;g=Xj(d)|0;if(g>>>0>4294967279)Jp(i);if(g>>>0<11){b[i+11>>0]=g;if(!g)a=i;else{a=i;m=19}}else{m=g+16&-16;a=en(m)|0;f[i>>2]=a;f[i+8>>2]=m|-2147483648;f[i+4>>2]=g;m=19}if((m|0)==19)Sg(a|0,d|0,g|0)|0;b[a+g>>0]=0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;g=Xj(e)|0;if(g>>>0>4294967279)Jp(j);if(g>>>0<11){b[j+11>>0]=g;if(!g)a=j;else{a=j;m=25}}else{m=g+16&-16;a=en(m)|0;f[j>>2]=a;f[j+8>>2]=m|-2147483648;f[j+4>>2]=g;m=25}if((m|0)==25)Sg(a|0,e|0,g|0)|0;b[a+g>>0]=0;Zm(c,i,j);if((b[j+11>>0]|0)<0)tq(f[j>>2]|0);if((b[i+11>>0]|0)<0)tq(f[i>>2]|0);if((b[k+11>>0]|0)<0)tq(f[k>>2]|0);if((b[h+11>>0]|0)<0)tq(f[h>>2]|0);m=1;u=l;return m|0}function De(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+32|0;p=r+16|0;n=r+12|0;m=r+8|0;o=r+4|0;q=r;Uo(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;e=a+24|0;Uo(e);if((a|0)!=(b|0)){f[m>>2]=f[b>>2];f[o>>2]=b+4;f[n>>2]=f[m>>2];f[p>>2]=f[o>>2];Nc(a,n,p)}d=b+24|0;if((e|0)!=(d|0)){f[m>>2]=f[d>>2];f[o>>2]=b+28;f[n>>2]=f[m>>2];f[p>>2]=f[o>>2];Nc(e,n,p)}f[q>>2]=0;l=c+8|0;k=c+12|0;d=f[k>>2]|0;e=f[l>>2]|0;if((d-e|0)<=0){u=r;return}j=b+16|0;c=0;while(1){if((c|0)<=-1){d=9;break}i=f[(f[e+(c<<2)>>2]|0)+56>>2]|0;b=f[j>>2]|0;if(b){h=j;g=b;a:while(1){b=g;while(1){if((f[b+16>>2]|0)>=(i|0))break;b=f[b+4>>2]|0;if(!b){b=h;break a}}g=f[b>>2]|0;if(!g)break;else h=b}if((b|0)!=(j|0)?(i|0)>=(f[b+16>>2]|0):0){e=b+20|0;d=Ed(a,q)|0;if((d|0)!=(e|0)){f[m>>2]=f[e>>2];f[o>>2]=b+24;f[n>>2]=f[m>>2];f[p>>2]=f[o>>2];Nc(d,n,p)}c=f[q>>2]|0;e=f[l>>2]|0;d=f[k>>2]|0}}c=c+1|0;f[q>>2]=c;if((c|0)>=(d-e>>2|0)){d=7;break}}if((d|0)==7){u=r;return}else if((d|0)==9)ra(20916,20609,59,20700)}function Ee(a,c){a=a|0;c=c|0;var d=0,e=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,v=0;t=u;u=u+16|0;n=t+4|0;o=t;r=t+8|0;q=a+12|0;Th(f[q>>2]|0,c)|0;if(!(f[q>>2]|0)){s=1;u=t;return s|0}p=c+16|0;j=c+4|0;k=r+1|0;l=r+1|0;m=r+1|0;d=0;while(1){i=f[a>>2]|0;h=f[i+(d<<3)>>2]|0;if(h>>>0>63)if(h>>>0>16383)if(h>>>0>4194303){d=0;s=20;break}else{g=2;s=13}else{g=1;s=13}else if(!h){g=d+1|0;e=0;do{if(f[i+(g+e<<3)>>2]|0)break;e=e+1|0}while(e>>>0<63);b[r>>0]=e<<2|3;i=p;h=f[i+4>>2]|0;if(!((h|0)>0|(h|0)==0&(f[i>>2]|0)>>>0>0)){f[o>>2]=f[j>>2];f[n>>2]=f[o>>2];Me(c,n,r,m)|0}d=e+d|0}else{g=0;s=13}if((s|0)==13){s=0;b[r>>0]=g|h<<2;i=p;e=f[i+4>>2]|0;if(!((e|0)>0|(e|0)==0&(f[i>>2]|0)>>>0>0)){f[o>>2]=f[j>>2];f[n>>2]=f[o>>2];Me(c,n,r,l)|0}if(g){e=0;do{e=e+1|0;b[r>>0]=h>>>((e<<3)+-2|0);i=p;v=f[i+4>>2]|0;if(!((v|0)>0|(v|0)==0&(f[i>>2]|0)>>>0>0)){f[o>>2]=f[j>>2];f[n>>2]=f[o>>2];Me(c,n,r,k)|0}}while((e|0)<(g|0))}}d=d+1|0;if(d>>>0>=(f[q>>2]|0)>>>0){d=1;s=20;break}}if((s|0)==20){u=t;return d|0}return 0}function Fe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=u;u=u+32|0;o=p+8|0;j=p;n=a+4|0;g=f[n>>2]|0;if(g>>>0>=b>>>0){f[n>>2]=b;u=p;return}m=a+8|0;e=f[m>>2]|0;h=e<<5;d=b-g|0;if(h>>>0>>0|g>>>0>(h-d|0)>>>0){f[o>>2]=0;l=o+4|0;f[l>>2]=0;k=o+8|0;f[k>>2]=0;if((b|0)<0)Jp(a);e=e<<6;b=b+31&-32;hi(o,h>>>0<1073741823?(e>>>0>>0?b:e):2147483647);b=f[n>>2]|0;f[l>>2]=b+d;e=f[a>>2]|0;h=e;g=f[o>>2]|0;b=(h+(b>>>5<<2)-e<<3)+(b&31)|0;if((b|0)>0){i=b>>>5;fm(g|0,e|0,i<<2|0)|0;e=b-(i<<5)|0;b=g+(i<<2)|0;g=b;if((e|0)>0){q=-1>>>(32-e|0);f[b>>2]=f[b>>2]&~q|f[h+(i<<2)>>2]&q}else e=0}else e=0;f[j>>2]=g;f[j+4>>2]=e;b=j;e=f[b>>2]|0;b=f[b+4>>2]|0;g=f[a>>2]|0;f[a>>2]=f[o>>2];f[o>>2]=g;q=f[n>>2]|0;f[n>>2]=f[l>>2];f[l>>2]=q;q=f[m>>2]|0;f[m>>2]=f[k>>2];f[k>>2]=q;if(g|0)tq(g)}else{e=(f[a>>2]|0)+(g>>>5<<2)|0;f[n>>2]=b;b=g&31}if(!d){u=p;return}h=(b|0)==0;g=e;if(c){if(!h){e=32-b|0;q=e>>>0>d>>>0?d:e;f[g>>2]=f[g>>2]|-1>>>(e-q|0)&-1<>>5;fj(e|0,-1,q<<2|0)|0;e=d-(q<<5)|0;d=g+(q<<2)|0;if(!e){u=p;return}f[d>>2]=f[d>>2]|-1>>>(32-e|0);u=p;return}else{if(!h){e=32-b|0;q=e>>>0>d>>>0?d:e;f[g>>2]=f[g>>2]&~(-1>>>(e-q|0)&-1<>>5;fj(e|0,0,q<<2|0)|0;e=d-(q<<5)|0;d=g+(q<<2)|0;if(!e){u=p;return}f[d>>2]=f[d>>2]&~(-1>>>(32-e|0));u=p;return}}function Ge(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;l=n;h=a+4|0;d=f[h>>2]|0;e=f[(f[a>>2]|0)+52>>2]|0;if(!d){if(!(Oa[e&31](a,c,0)|0)){m=0;u=n;return m|0}}else if(!(Oa[e&31](a,c,f[(f[d+4>>2]|0)+80>>2]|0)|0)){m=0;u=n;return m|0}if(!(b[a+28>>0]|0)){m=1;u=n;return m|0}j=f[a+8>>2]|0;i=f[a+32>>2]|0;d=f[j+80>>2]|0;f[l>>2]=0;k=l+4|0;f[k>>2]=0;f[l+8>>2]=0;do if(d)if(d>>>0>1073741823)Jp(l);else{a=d<<2;g=en(a)|0;f[l>>2]=g;m=g+(d<<2)|0;f[l+8>>2]=m;fj(g|0,0,a|0)|0;f[k>>2]=m;break}else{g=0;m=0}while(0);e=f[c+4>>2]|0;d=f[c>>2]|0;c=d;a:do if((e|0)!=(d|0)){a=e-d>>2;if(b[j+84>>0]|0){d=0;while(1){f[g+(f[c+(d<<2)>>2]<<2)>>2]=d;d=d+1|0;if(d>>>0>=a>>>0)break a}}d=f[j+68>>2]|0;e=0;do{f[g+(f[d+(f[c+(e<<2)>>2]<<2)>>2]<<2)>>2]=e;e=e+1|0}while(e>>>0>>0)}while(0);c=f[(f[(f[h>>2]|0)+4>>2]|0)+80>>2]|0;if((c|0)>0){e=j+68|0;a=(b[i+84>>0]|0)==0;g=f[l>>2]|0;d=i+68|0;if(!(b[j+84>>0]|0)){if(!a)ra(20425,20444,89,20538);a=f[e>>2]|0;d=f[d>>2]|0;e=0;do{f[d+(e<<2)>>2]=f[g+(f[a+(e<<2)>>2]<<2)>>2];e=e+1|0}while((e|0)<(c|0))}else{if(!a)ra(20425,20444,89,20538);d=f[d>>2]|0;e=0;do{f[d+(e<<2)>>2]=f[g+(e<<2)>>2];e=e+1|0}while((e|0)<(c|0))}}d=f[l>>2]|0;if(d|0){if((m|0)!=(d|0))f[k>>2]=m+(~((m+-4-d|0)>>>2)<<2);tq(d)}m=1;u=n;return m|0}function He(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=b+12|0;h=f[m>>2]|0;l=c+4|0;k=(f[l>>2]|0)-h|0;e=c;f[e>>2]=(f[c>>2]|0)-h;f[e+4>>2]=k;e=(f[d>>2]|0)-h|0;k=d+4|0;h=(f[k>>2]|0)-h|0;g=d;f[g>>2]=e;f[g+4>>2]=h;g=f[m>>2]|0;if((g|0)<(e|0))ra(12612,11843,250,12635);if((g|0)<(h|0))ra(12647,11843,251,12635);i=0-g|0;if((e|0)<(i|0))ra(12670,11843,252,12635);if((h|0)<(i|0))ra(12694,11843,253,12635);if((((h|0)>-1?h:0-h|0)+((e|0)>-1?e:0-e|0)|0)>(g|0)){Rh(b,c,l);Rh(b,d,k);e=f[d>>2]|0}if(!e){g=f[k>>2]|0;if(!g)g=0;else j=14}else{g=f[k>>2]|0;if(!((e|0)<0&(g|0)<1))j=14}if((j|0)==14){if(!e)h=(g|0)==0?0:(g|0)>0?3:1;else h=(e|0)>0?(g>>31)+2|0:(g|0)<1?0:3;e=f[c>>2]|0;g=f[l>>2]|0;switch(h|0){case 1:{j=c;f[j>>2]=g;f[j+4>>2]=0-e;e=f[k>>2]|0;g=0-(f[d>>2]|0)|0;break}case 2:{j=c;f[j>>2]=0-e;f[j+4>>2]=0-g;e=0-(f[d>>2]|0)|0;g=0-(f[k>>2]|0)|0;break}case 3:{j=c;f[j>>2]=0-g;f[j+4>>2]=e;e=0-(f[k>>2]|0)|0;g=f[d>>2]|0;break}default:{j=c;f[j>>2]=e;f[j+4>>2]=g;e=f[d>>2]|0;g=f[k>>2]|0}}f[d>>2]=e;f[d+4>>2]=g}e=(f[c>>2]|0)-e|0;f[a>>2]=e;i=(f[l>>2]|0)-g|0;h=a+4|0;f[h>>2]=i;g=f[m>>2]<<1;if((g|0)<(e|0))ra(12718,11843,313,12752);if((e|0)<0)e=(f[b+4>>2]|0)+e|0;f[a>>2]=e;if((g|0)<(i|0))ra(12718,11843,313,12752);if((i|0)>=0){b=i;f[h>>2]=b;return}b=(f[b+4>>2]|0)+i|0;f[h>>2]=b;return}function Ie(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;i=(c|0)==(a|0);b[c+12>>0]=i&1;if(i)return;while(1){h=f[c+8>>2]|0;g=h+12|0;if(b[g>>0]|0){d=23;break}i=h+8|0;e=f[i>>2]|0;d=f[e>>2]|0;if((d|0)==(h|0)){d=f[e+4>>2]|0;if(!d){d=7;break}d=d+12|0;if(!(b[d>>0]|0))c=d;else{d=7;break}}else{if(!d){d=16;break}d=d+12|0;if(!(b[d>>0]|0))c=d;else{d=16;break}}b[g>>0]=1;i=(e|0)==(a|0);b[e+12>>0]=i&1;b[c>>0]=1;if(i){d=23;break}else c=e}if((d|0)==7){if((f[h>>2]|0)==(c|0))c=h;else{a=h+4|0;d=f[a>>2]|0;c=f[d>>2]|0;f[a>>2]=c;if(!c)c=e;else{f[c+8>>2]=h;c=f[i>>2]|0}f[d+8>>2]=c;c=f[i>>2]|0;f[((f[c>>2]|0)==(h|0)?c:c+4|0)>>2]=d;f[d>>2]=h;f[i>>2]=d;c=d;e=f[d+8>>2]|0}b[c+12>>0]=1;b[e+12>>0]=0;c=f[e>>2]|0;g=c+4|0;d=f[g>>2]|0;f[e>>2]=d;if(d|0)f[d+8>>2]=e;i=e+8|0;f[c+8>>2]=f[i>>2];h=f[i>>2]|0;f[((f[h>>2]|0)==(e|0)?h:h+4|0)>>2]=c;f[g>>2]=e;f[i>>2]=c;return}else if((d|0)==16){if((f[h>>2]|0)==(c|0)){g=f[h>>2]|0;d=g+4|0;c=f[d>>2]|0;f[h>>2]=c;if(c){f[c+8>>2]=h;e=f[i>>2]|0}f[g+8>>2]=e;c=f[i>>2]|0;f[((f[c>>2]|0)==(h|0)?c:c+4|0)>>2]=g;f[d>>2]=h;f[i>>2]=g;c=g;e=f[g+8>>2]|0}else c=h;b[c+12>>0]=1;b[e+12>>0]=0;i=e+4|0;c=f[i>>2]|0;d=f[c>>2]|0;f[i>>2]=d;if(d|0)f[d+8>>2]=e;i=e+8|0;f[c+8>>2]=f[i>>2];h=f[i>>2]|0;f[((f[h>>2]|0)==(e|0)?h:h+4|0)>>2]=c;f[c>>2]=e;f[i>>2]=c;return}else if((d|0)==23)return}function Je(a){a=a|0;var b=0,c=0,d=0,e=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;s=u;u=u+16|0;q=s+4|0;k=s;f[q>>2]=0;r=q+4|0;f[r>>2]=0;f[q+8>>2]=0;m=a+52|0;b=f[m>>2]|0;j=(f[b+100>>2]|0)-(f[b+96>>2]|0)|0;n=(j|0)/12|0;do if((j|0)>0){j=q+8|0;c=f[b+96>>2]|0;if(((f[b+100>>2]|0)-c|0)>0){d=c;l=0;i=0}else ra(20371,20289,64,20366);while(1){g=f[d+(l*12|0)>>2]|0;c=g-i|0;c=((c|0)>-1?c:0-c|0)<<1|c>>>31;f[k>>2]=c;b=f[r>>2]|0;e=f[j>>2]|0;if((b|0)==(e|0)){Ji(q,k);c=f[r>>2]|0;e=f[j>>2]|0}else{f[b>>2]=c;c=b+4|0;f[r>>2]=c}h=f[d+(l*12|0)+4>>2]|0;b=h-g|0;b=((b|0)>-1?b:0-b|0)<<1|b>>>31;f[k>>2]=b;if((c|0)==(e|0)){Ji(q,k);c=f[r>>2]|0;e=f[j>>2]|0}else{f[c>>2]=b;c=c+4|0;f[r>>2]=c}i=f[d+(l*12|0)+8>>2]|0;b=i-h|0;b=((b|0)>-1?b:0-b|0)<<1|b>>>31;f[k>>2]=b;if((c|0)==(e|0))Ji(q,k);else{f[c>>2]=b;f[r>>2]=c+4}l=l+1|0;if((l|0)>=(n|0)){b=3;break}h=f[m>>2]|0;d=f[h+96>>2]|0;if((l|0)>=(((f[h+100>>2]|0)-d|0)/12|0|0)){b=5;break}}if((b|0)==3){o=f[q>>2]|0;p=f[r>>2]|0;break}else if((b|0)==5)ra(20371,20289,64,20366)}else{o=0;p=0}while(0);Dc(o,p-o>>2,1,0,f[a+44>>2]|0)|0;c=f[q>>2]|0;if(!c){u=s;return 1}b=f[r>>2]|0;if((b|0)!=(c|0))f[r>>2]=b+(~((b+-4-c|0)>>>2)<<2);tq(c);u=s;return 1}function Ke(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=f[a+8>>2]|0;k=a+76|0;d=f[k>>2]|0;m=f[d+80>>2]|0;r=c+84|0;b[r>>0]=0;j=c+68|0;h=c+72|0;g=f[h>>2]|0;e=f[j>>2]|0;l=g-e>>2;if(m>>>0<=l>>>0){if(m>>>0>>0?(i=e+(m<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{ph(j,m-l|0,3488);m=f[k>>2]|0;d=m;m=f[m+80>>2]|0}o=(f[d+100>>2]|0)-(f[d+96>>2]|0)|0;p=(o|0)/12|0;if((o|0)<=0){r=1;return r|0}o=a+80|0;a=c+68|0;c=q+4|0;n=d+96|0;k=d+100|0;l=0;while(1){d=f[n>>2]|0;if((l|0)>=(((f[k>>2]|0)-d|0)/12|0|0)){e=9;break}h=l*3|0;e=f[q>>2]|0;if((h|0)>=((f[c>>2]|0)-e>>2|0)){e=11;break}i=f[(f[o>>2]|0)+12>>2]|0;e=f[i+(f[e+(h<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=15;break}if(b[r>>0]|0){e=14;break}j=f[a>>2]|0;f[j+(f[d+(l*12|0)>>2]<<2)>>2]=e;g=h+1|0;e=f[q>>2]|0;if((g|0)>=((f[c>>2]|0)-e>>2|0)){e=11;break}e=f[i+(f[e+(g<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=15;break}f[j+(f[d+(l*12|0)+4>>2]<<2)>>2]=e;g=h+2|0;e=f[q>>2]|0;if((g|0)>=((f[c>>2]|0)-e>>2|0)){e=11;break}e=f[i+(f[e+(g<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=15;break}f[j+(f[d+(l*12|0)+8>>2]<<2)>>2]=e;l=l+1|0;if((l|0)>=(p|0)){d=1;e=15;break}}if((e|0)==9)ra(20371,20289,64,20366);else if((e|0)==11)ra(20128,20163,98,20248);else if((e|0)==14)ra(20425,20444,89,20538);else if((e|0)==15)return d|0;return 0}function Le(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=f[a+8>>2]|0;k=a+112|0;d=f[k>>2]|0;m=f[d+80>>2]|0;r=c+84|0;b[r>>0]=0;j=c+68|0;h=c+72|0;g=f[h>>2]|0;e=f[j>>2]|0;l=g-e>>2;if(m>>>0<=l>>>0){if(m>>>0>>0?(i=e+(m<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{ph(j,m-l|0,3488);m=f[k>>2]|0;d=m;m=f[m+80>>2]|0}o=(f[d+100>>2]|0)-(f[d+96>>2]|0)|0;p=(o|0)/12|0;if((o|0)<=0){r=1;return r|0}o=a+116|0;a=c+68|0;c=q+4|0;n=d+96|0;k=d+100|0;l=0;while(1){d=f[n>>2]|0;if((l|0)>=(((f[k>>2]|0)-d|0)/12|0|0)){e=9;break}h=l*3|0;e=f[q>>2]|0;if((h|0)>=((f[c>>2]|0)-e>>2|0)){e=11;break}i=f[(f[o>>2]|0)+12>>2]|0;e=f[i+(f[e+(h<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=15;break}if(b[r>>0]|0){e=14;break}j=f[a>>2]|0;f[j+(f[d+(l*12|0)>>2]<<2)>>2]=e;g=h+1|0;e=f[q>>2]|0;if((g|0)>=((f[c>>2]|0)-e>>2|0)){e=11;break}e=f[i+(f[e+(g<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=15;break}f[j+(f[d+(l*12|0)+4>>2]<<2)>>2]=e;g=h+2|0;e=f[q>>2]|0;if((g|0)>=((f[c>>2]|0)-e>>2|0)){e=11;break}e=f[i+(f[e+(g<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=15;break}f[j+(f[d+(l*12|0)+8>>2]<<2)>>2]=e;l=l+1|0;if((l|0)>=(p|0)){d=1;e=15;break}}if((e|0)==9)ra(20371,20289,64,20366);else if((e|0)==11)ra(20128,20163,98,20248);else if((e|0)==14)ra(20425,20444,89,20538);else if((e|0)==15)return d|0;return 0}function Me(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=f[a>>2]|0;i=k;j=(f[c>>2]|0)-i|0;c=k+j|0;l=e-d|0;if((l|0)<=0){o=c;return o|0}n=a+8|0;h=f[n>>2]|0;o=a+4|0;m=f[o>>2]|0;g=m;if((l|0)<=(h-g|0)){i=g-c|0;if((l|0)>(i|0)){j=d+i|0;if((j|0)==(e|0))g=m;else{g=m;h=j;do{b[g>>0]=b[h>>0]|0;h=h+1|0;g=(f[o>>2]|0)+1|0;f[o>>2]=g}while((h|0)!=(e|0))}if((i|0)>0)e=j;else{o=c;return o|0}}else g=m;j=g-(c+l)|0;h=c+j|0;if(h>>>0>>0){i=g;do{b[i>>0]=b[h>>0]|0;h=h+1|0;i=(f[o>>2]|0)+1|0;f[o>>2]=i}while((h|0)!=(m|0))}if(j|0)fm(g+(0-j)|0,c|0,j|0)|0;if((e|0)==(d|0)){o=c;return o|0}else g=c;while(1){b[g>>0]=b[d>>0]|0;d=d+1|0;if((d|0)==(e|0))break;else g=g+1|0}return c|0}g=g-i+l|0;if((g|0)<0)Jp(a);l=h-i|0;h=l<<1;h=l>>>0<1073741823?(h>>>0>>0?g:h):2147483647;l=c;if(!h)i=0;else i=en(h)|0;m=i+j|0;g=m;j=i+h|0;if((d|0)==(e|0)){d=k;h=g}else{h=m;do{b[h>>0]=b[d>>0]|0;h=g+1|0;g=h;d=d+1|0}while((d|0)!=(e|0));d=f[a>>2]|0;h=g}g=l-d|0;i=m+(0-g)|0;if((g|0)>0)Sg(i|0,d|0,g|0)|0;g=(f[o>>2]|0)-l|0;if((g|0)>0){l=h;Sg(l|0,c|0,g|0)|0;d=f[a>>2]|0;c=l+g|0}else c=h;f[a>>2]=i;f[o>>2]=c;f[n>>2]=j;if(!d){o=m;return o|0}tq(d);o=m;return o|0}function Ne(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;g=n;if((f[c+56>>2]|0)==-1){e=-1;u=n;return e|0}m=en(96)|0;rl(m,c);f[g>>2]=m;m=lh(a,g)|0;i=f[g>>2]|0;f[g>>2]=0;if(i|0){k=i+88|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0){g=f[c+8>>2]|0;if(g|0){h=c+12|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;tq(g)}tq(c)}c=f[i+68>>2]|0;if(c|0){h=i+72|0;g=f[h>>2]|0;if((g|0)!=(c|0))f[h>>2]=g+(~((g+-4-c|0)>>>2)<<2);tq(c)}k=i+64|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0){g=f[c>>2]|0;if(g|0){h=c+4|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;tq(g)}tq(c)}tq(i)}if((m|0)<=-1)ra(20916,20609,67,20700);j=a+8|0;k=a+12|0;c=f[j>>2]|0;if(((f[k>>2]|0)-c>>2|0)<=(m|0))ra(20555,20609,68,20700);i=c+(m<<2)|0;c=f[i>>2]|0;do if(!d){d=f[a+80>>2]|0;b[c+84>>0]=0;a=c+68|0;h=c+72|0;g=f[h>>2]|0;c=f[a>>2]|0;i=g-c>>2;if(d>>>0>i>>>0){ph(a,d-i|0,6108);break}if(d>>>0>>0?(l=c+(d<<2)|0,(g|0)!=(l|0)):0)f[h>>2]=g+(~((g+-4-l|0)>>>2)<<2)}else{b[c+84>>0]=1;h=f[c+68>>2]|0;g=c+72|0;c=f[g>>2]|0;if((c|0)!=(h|0))f[g>>2]=c+(~((c+-4-h|0)>>>2)<<2);f[(f[i>>2]|0)+80>>2]=f[a+80>>2]}while(0);if((e|0)<=0){e=m;u=n;return e|0}c=f[j>>2]|0;if(((f[k>>2]|0)-c>>2|0)<=(m|0))ra(20555,20609,68,20700);nj(f[c+(m<<2)>>2]|0,e)|0;e=m;u=n;return e|0}function Oe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=u;u=u+16|0;i=j;f[a>>2]=0;f[a+8>>2]=b;zh(a+12|0);gn(a+1036|0);Zn(a+1068|0);Zn(a+1088|0);Zn(a+1108|0);d=a+1128|0;f[d>>2]=0;c=a+1132|0;f[c>>2]=0;f[a+1136>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)Jp(d);else{e=b<<2;k=en(e)|0;f[d>>2]=k;g=k+(b<<2)|0;f[a+1136>>2]=g;fj(k|0,0,e|0)|0;f[c>>2]=g;break}while(0);d=a+1140|0;f[d>>2]=0;c=a+1144|0;f[c>>2]=0;f[a+1148>>2]=0;if(!h){g=b<<2;e=en(g)|0;f[d>>2]=e;k=e+(b<<2)|0;f[a+1148>>2]=k;fj(e|0,0,g|0)|0;f[c>>2]=k}d=a+1152|0;f[d>>2]=0;c=a+1156|0;f[c>>2]=0;f[a+1160>>2]=0;if(!h){g=b<<2;e=en(g)|0;f[d>>2]=e;k=e+(b<<2)|0;f[a+1160>>2]=k;fj(e|0,0,g|0)|0;f[c>>2]=k}g=b<<5|1;f[i>>2]=0;e=i+4|0;f[e>>2]=0;f[i+8>>2]=0;if(!h){d=b<<2;c=en(d)|0;f[i>>2]=c;k=c+(b<<2)|0;f[i+8>>2]=k;fj(c|0,0,d|0)|0;f[e>>2]=k}bk(a+1164|0,g,i);c=f[i>>2]|0;if(c|0){d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);tq(c)}f[i>>2]=0;e=i+4|0;f[e>>2]=0;f[i+8>>2]=0;if(!h){h=b<<2;d=en(h)|0;f[i>>2]=d;k=d+(b<<2)|0;f[i+8>>2]=k;fj(d|0,0,h|0)|0;f[e>>2]=k}bk(a+1176|0,g,i);c=f[i>>2]|0;if(!c){u=j;return}d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);tq(c);u=j;return}function Pe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=u;u=u+16|0;i=j;f[a>>2]=0;f[a+8>>2]=b;gn(a+12|0);Zn(a+44|0);Zn(a+64|0);Zn(a+84|0);d=a+104|0;f[d>>2]=0;c=a+108|0;f[c>>2]=0;f[a+112>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)Jp(d);else{e=b<<2;k=en(e)|0;f[d>>2]=k;g=k+(b<<2)|0;f[a+112>>2]=g;fj(k|0,0,e|0)|0;f[c>>2]=g;break}while(0);d=a+116|0;f[d>>2]=0;c=a+120|0;f[c>>2]=0;f[a+124>>2]=0;if(!h){g=b<<2;e=en(g)|0;f[d>>2]=e;k=e+(b<<2)|0;f[a+124>>2]=k;fj(e|0,0,g|0)|0;f[c>>2]=k}d=a+128|0;f[d>>2]=0;c=a+132|0;f[c>>2]=0;f[a+136>>2]=0;if(!h){g=b<<2;e=en(g)|0;f[d>>2]=e;k=e+(b<<2)|0;f[a+136>>2]=k;fj(e|0,0,g|0)|0;f[c>>2]=k}g=b<<5|1;f[i>>2]=0;e=i+4|0;f[e>>2]=0;f[i+8>>2]=0;if(!h){d=b<<2;c=en(d)|0;f[i>>2]=c;k=c+(b<<2)|0;f[i+8>>2]=k;fj(c|0,0,d|0)|0;f[e>>2]=k}bk(a+140|0,g,i);c=f[i>>2]|0;if(c|0){d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);tq(c)}f[i>>2]=0;e=i+4|0;f[e>>2]=0;f[i+8>>2]=0;if(!h){h=b<<2;d=en(h)|0;f[i>>2]=d;k=d+(b<<2)|0;f[i+8>>2]=k;fj(d|0,0,h|0)|0;f[e>>2]=k}bk(a+152|0,g,i);c=f[i>>2]|0;if(!c){u=j;return}d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);tq(c);u=j;return}function Qe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=u;u=u+16|0;i=j;f[a>>2]=0;f[a+8>>2]=b;Zn(a+12|0);Zn(a+32|0);Zn(a+52|0);Zn(a+72|0);d=a+92|0;f[d>>2]=0;c=a+96|0;f[c>>2]=0;f[a+100>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)Jp(d);else{e=b<<2;k=en(e)|0;f[d>>2]=k;g=k+(b<<2)|0;f[a+100>>2]=g;fj(k|0,0,e|0)|0;f[c>>2]=g;break}while(0);d=a+104|0;f[d>>2]=0;c=a+108|0;f[c>>2]=0;f[a+112>>2]=0;if(!h){g=b<<2;e=en(g)|0;f[d>>2]=e;k=e+(b<<2)|0;f[a+112>>2]=k;fj(e|0,0,g|0)|0;f[c>>2]=k}d=a+116|0;f[d>>2]=0;c=a+120|0;f[c>>2]=0;f[a+124>>2]=0;if(!h){g=b<<2;e=en(g)|0;f[d>>2]=e;k=e+(b<<2)|0;f[a+124>>2]=k;fj(e|0,0,g|0)|0;f[c>>2]=k}g=b<<5|1;f[i>>2]=0;e=i+4|0;f[e>>2]=0;f[i+8>>2]=0;if(!h){d=b<<2;c=en(d)|0;f[i>>2]=c;k=c+(b<<2)|0;f[i+8>>2]=k;fj(c|0,0,d|0)|0;f[e>>2]=k}bk(a+128|0,g,i);c=f[i>>2]|0;if(c|0){d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);tq(c)}f[i>>2]=0;e=i+4|0;f[e>>2]=0;f[i+8>>2]=0;if(!h){h=b<<2;d=en(h)|0;f[i>>2]=d;k=d+(b<<2)|0;f[i+8>>2]=k;fj(d|0,0,h|0)|0;f[e>>2]=k}bk(a+140|0,g,i);c=f[i>>2]|0;if(!c){u=j;return}d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);tq(c);u=j;return}function Re(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+144|0;m=q+136|0;p=q+104|0;i=q;j=en(124)|0;e=f[c+8>>2]|0;f[j+4>>2]=0;f[j>>2]=3544;f[j+12>>2]=3524;f[j+100>>2]=0;f[j+104>>2]=0;f[j+108>>2]=0;n=j+16|0;o=n+80|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(o|0));f[j+112>>2]=e;f[j+116>>2]=d;k=j+120|0;f[k>>2]=0;g=j;f[p>>2]=3524;l=p+4|0;h=l+4|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;h=f[c+12>>2]|0;f[i+4>>2]=3524;f[i+92>>2]=0;f[i+96>>2]=0;f[i+100>>2]=0;n=i+8|0;o=n+80|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(o|0));o=h;f[l>>2]=o;o=((f[o+4>>2]|0)-(f[h>>2]|0)>>2>>>0)/3|0;b[m>>0]=0;$g(p+8|0,o,m);Ra[f[(f[p>>2]|0)+8>>2]&127](p);f[i>>2]=f[l>>2];Xf(i+4|0,p)|0;f[i+36>>2]=h;f[i+40>>2]=d;f[i+44>>2]=e;f[i+48>>2]=j;f[k>>2]=c+72;vg(j,i);f[a>>2]=g;Fi(i);f[p>>2]=3524;e=f[p+20>>2]|0;if(e|0)tq(e);e=f[p+8>>2]|0;if(!e){u=q;return}tq(e);u=q;return}function Se(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3568;vi(a+200|0);b=f[a+184>>2]|0;if(b|0){d=a+188|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b)}aj(a+172|0);b=f[a+152>>2]|0;if(b|0){d=a+156|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b)}b=f[a+140>>2]|0;if(b|0)tq(b);b=f[a+128>>2]|0;if(b|0)do{d=b;b=f[b>>2]|0;tq(d)}while((b|0)!=0);d=a+120|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)tq(b);b=f[a+108>>2]|0;if(b|0){d=a+112|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);tq(b)}b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b)}b=f[a+84>>2]|0;if(b|0)tq(b);b=f[a+72>>2]|0;if(b|0){d=a+76|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b)}b=f[a+40>>2]|0;if(b|0){d=a+44|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b)}b=f[a+28>>2]|0;if(b|0)tq(b);b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b)}a=a+12|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;ti(b);tq(b);return}function Te(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3368;ij(a+200|0);b=f[a+184>>2]|0;if(b|0){d=a+188|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b)}aj(a+172|0);b=f[a+152>>2]|0;if(b|0){d=a+156|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b)}b=f[a+140>>2]|0;if(b|0)tq(b);b=f[a+128>>2]|0;if(b|0)do{d=b;b=f[b>>2]|0;tq(d)}while((b|0)!=0);d=a+120|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)tq(b);b=f[a+108>>2]|0;if(b|0){d=a+112|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);tq(b)}b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b)}b=f[a+84>>2]|0;if(b|0)tq(b);b=f[a+72>>2]|0;if(b|0){d=a+76|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b)}b=f[a+40>>2]|0;if(b|0){d=a+44|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b)}b=f[a+28>>2]|0;if(b|0)tq(b);b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b)}a=a+12|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;ti(b);tq(b);return}function Ue(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{d=(f[c>>2]|0)+(4-1)&~(4-1);b=f[d>>2]|0;f[c>>2]=d+4;f[a>>2]=b;break a}case 10:{d=(f[c>>2]|0)+(4-1)&~(4-1);b=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=b;f[d+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{d=(f[c>>2]|0)+(4-1)&~(4-1);b=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=b;f[d+4>>2]=0;break a}case 12:{d=(f[c>>2]|0)+(8-1)&~(8-1);b=d;e=f[b>>2]|0;b=f[b+4>>2]|0;f[c>>2]=d+8;d=a;f[d>>2]=e;f[d+4>>2]=b;break a}case 13:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;d=(d&65535)<<16>>16;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a}case 14:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d&65535;f[e+4>>2]=0;break a}case 15:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;d=(d&255)<<24>>24;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a}case 16:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d&255;f[e+4>>2]=0;break a}case 17:{e=(f[c>>2]|0)+(8-1)&~(8-1);g=+p[e>>3];f[c>>2]=e+8;p[a>>3]=g;break a}case 18:{e=(f[c>>2]|0)+(8-1)&~(8-1);g=+p[e>>3];f[c>>2]=e+8;p[a>>3]=g;break a}default:break a}while(0);while(0);return}function Ve(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=u;u=u+16|0;h=n+4|0;g=n;i=n+8|0;if(!(Ma[f[(f[a>>2]|0)+32>>2]&127](a)|0)){a=0;u=n;return a|0}m=a+44|0;d=f[m>>2]|0;k=a+8|0;j=a+12|0;e=f[j>>2]|0;c=f[k>>2]|0;b[i>>0]=(e-c|0)>>>2;o=d+16|0;p=f[o+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[o>>2]|0)>>>0>0)){f[g>>2]=f[d+4>>2];f[h>>2]=f[g>>2];Me(d,h,i,i+1|0)|0;c=f[k>>2]|0;e=f[j>>2]|0}a:do if((c|0)!=(e|0)){d=a+4|0;while(1){p=f[c>>2]|0;c=c+4|0;if(!(Oa[f[(f[p>>2]|0)+8>>2]&31](p,a,f[d>>2]|0)|0)){c=0;break}if((c|0)==(e|0))break a}u=n;return c|0}while(0);if(!(zc(a)|0)){p=0;u=n;return p|0}e=a+32|0;c=f[e>>2]|0;g=a+36|0;d=f[g>>2]|0;b:do if((c|0)!=(d|0)){do{if(!(Na[f[(f[a>>2]|0)+40>>2]&127](a,f[c>>2]|0)|0)){c=0;l=18;break}c=c+4|0}while((c|0)!=(d|0));if((l|0)==18){u=n;return c|0}c=f[e>>2]|0;d=f[g>>2]|0;if((c|0)!=(d|0)){while(1){p=f[(f[k>>2]|0)+(f[c>>2]<<2)>>2]|0;c=c+4|0;if(!(Na[f[(f[p>>2]|0)+12>>2]&127](p,f[m>>2]|0)|0)){c=0;break}if((c|0)==(d|0))break b}u=n;return c|0}}while(0);p=Ma[f[(f[a>>2]|0)+44>>2]&127](a)|0;u=n;return p|0}function We(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+32|0;m=n;l=n+16|0;h=f[b+4>>2]|0;if((d|0)<=-1)ra(20916,20609,59,20700);i=f[h+8>>2]|0;if(((f[h+12>>2]|0)-i>>2|0)<=(d|0))ra(20555,20609,60,20700);i=f[i+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(Ma[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1){j=Ma[f[(f[b>>2]|0)+48>>2]&127](b)|0;k=Na[f[(f[b>>2]|0)+56>>2]&127](b,d)|0;if((j|0)==0|(k|0)==0){f[a>>2]=0;u=n;return}h=Na[f[(f[b>>2]|0)+52>>2]&127](b,d)|0;if(!h){f[m>>2]=f[b+52>>2];f[m+4>>2]=j;f[m+12>>2]=k;f[m+8>>2]=k+12;pd(a,l,c,i,e,m,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=n;return}else{f[m>>2]=f[b+52>>2];f[m+4>>2]=h;f[m+12>>2]=k;f[m+8>>2]=k+12;od(a,l,c,i,e,m,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=n;return}}while(0);f[a>>2]=0;u=n;return}function Xe(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=a+1176|0;b=f[g>>2]|0;if(b|0){h=a+1180|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);tq(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}tq(b)}g=a+1164|0;b=f[g>>2]|0;if(b|0){h=a+1168|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);tq(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}tq(b)}b=f[a+1152>>2]|0;if(b|0){d=a+1156|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b)}b=f[a+1140>>2]|0;if(b|0){d=a+1144|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b)}b=f[a+1128>>2]|0;if(!b){h=a+1108|0;kl(h);h=a+1088|0;kl(h);h=a+1068|0;kl(h);h=a+1036|0;sj(h);a=a+12|0;yh(a);return}d=a+1132|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b);h=a+1108|0;kl(h);h=a+1088|0;kl(h);h=a+1068|0;kl(h);h=a+1036|0;sj(h);a=a+12|0;yh(a);return}function Ye(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;m=n+12|0;k=n+8|0;j=n+4|0;l=n;f[a>>2]=f[d>>2];i=f[c>>2]|0;h=f[b>>2]|0;c=a+4|0;f[c>>2]=(i-h|0)/12|0;d=e+16|0;g=d;b=f[g+4>>2]|0;if(!((b|0)>0|(b|0)==0&(f[g>>2]|0)>>>0>0)?(f[k>>2]=f[e+4>>2],f[m>>2]=f[k>>2],Me(e,m,a,a+4|0)|0,g=d,b=f[g+4>>2]|0,!((b|0)>0|(b|0)==0&(f[g>>2]|0)>>>0>0)):0){f[k>>2]=f[e+4>>2];f[m>>2]=f[k>>2];Me(e,m,c,c+4|0)|0}if(!(f[c>>2]|0)){u=n;return 1}hg(a+12|0);g=a+1068|0;Am(g);c=a+1088|0;Am(c);b=a+1108|0;Am(b);f[j>>2]=h;f[l>>2]=i;f[k>>2]=f[j>>2];f[m>>2]=f[l>>2];eb(a,k,m);d=0;do{hd(a+12+(d<<5)|0,e);d=d+1|0}while((d|0)!=32);hd(a+1036|0,e);og(g,e);og(c,e);og(b,e);u=n;return 1}function Ze(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;m=n+12|0;k=n+8|0;j=n+4|0;l=n;f[a>>2]=f[d>>2];i=f[c>>2]|0;h=f[b>>2]|0;c=a+4|0;f[c>>2]=(i-h|0)/12|0;d=e+16|0;g=d;b=f[g+4>>2]|0;if(!((b|0)>0|(b|0)==0&(f[g>>2]|0)>>>0>0)?(f[k>>2]=f[e+4>>2],f[m>>2]=f[k>>2],Me(e,m,a,a+4|0)|0,g=d,b=f[g+4>>2]|0,!((b|0)>0|(b|0)==0&(f[g>>2]|0)>>>0>0)):0){f[k>>2]=f[e+4>>2];f[m>>2]=f[k>>2];Me(e,m,c,c+4|0)|0}if(!(f[c>>2]|0)){u=n;return 1}hg(a+12|0);g=a+1068|0;Am(g);c=a+1088|0;Am(c);b=a+1108|0;Am(b);f[j>>2]=h;f[l>>2]=i;f[k>>2]=f[j>>2];f[m>>2]=f[l>>2];hb(a,k,m);d=0;do{hd(a+12+(d<<5)|0,e);d=d+1|0}while((d|0)!=32);hd(a+1036|0,e);og(g,e);og(c,e);og(b,e);u=n;return 1}function _e(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=u;u=u+48|0;j=m+44|0;i=m+40|0;l=m+36|0;g=m+32|0;k=m;f[g>>2]=f[a+60>>2];h=b+16|0;e=h;d=f[e+4>>2]|0;if(!((d|0)>0|(d|0)==0&(f[e>>2]|0)>>>0>0)){f[i>>2]=f[b+4>>2];f[j>>2]=f[i>>2];Me(b,j,g,g+4|0)|0}gn(k);Xk(k);if((f[g>>2]|0)>0){c=a+56|0;d=0;e=1;do{n=e;e=(f[(f[c>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)|0)!=0;cj(k,n^e^1);d=d+1|0}while((d|0)<(f[g>>2]|0))}hd(k,b);f[l>>2]=f[a+12>>2];d=h;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[i>>2]=f[b+4>>2];f[j>>2]=f[i>>2];Me(b,j,l,l+4|0)|0;c=h;d=f[c+4>>2]|0;c=f[c>>2]|0}f[l>>2]=f[a+20>>2];if((d|0)>0|(d|0)==0&c>>>0>0){sj(k);u=m;return 1}f[i>>2]=f[b+4>>2];f[j>>2]=f[i>>2];Me(b,j,l,l+4|0)|0;sj(k);u=m;return 1}function $e(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+32|0;m=n;l=n+16|0;h=f[b+4>>2]|0;if((d|0)<=-1)ra(20916,20609,59,20700);i=f[h+8>>2]|0;if(((f[h+12>>2]|0)-i>>2|0)<=(d|0))ra(20555,20609,60,20700);i=f[i+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(Ma[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1){j=Ma[f[(f[b>>2]|0)+48>>2]&127](b)|0;k=Na[f[(f[b>>2]|0)+56>>2]&127](b,d)|0;if((j|0)==0|(k|0)==0){f[a>>2]=0;u=n;return}h=Na[f[(f[b>>2]|0)+52>>2]&127](b,d)|0;if(!h){f[m>>2]=f[b+52>>2];f[m+4>>2]=j;f[m+12>>2]=k;f[m+8>>2]=k+12;Kc(a,l,c,i,e,m,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=n;return}else{f[m>>2]=f[b+52>>2];f[m+4>>2]=h;f[m+12>>2]=k;f[m+8>>2]=k+12;Jc(a,l,c,i,e,m,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=n;return}}while(0);f[a>>2]=0;u=n;return}function af(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=u;u=u+48|0;j=m+44|0;i=m+40|0;l=m+36|0;g=m+32|0;k=m;f[g>>2]=f[a+80>>2];h=b+16|0;e=h;d=f[e+4>>2]|0;if(!((d|0)>0|(d|0)==0&(f[e>>2]|0)>>>0>0)){f[i>>2]=f[b+4>>2];f[j>>2]=f[i>>2];Me(b,j,g,g+4|0)|0}gn(k);Xk(k);if((f[g>>2]|0)>0){c=a+76|0;d=0;e=1;do{n=e;e=(f[(f[c>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)|0)!=0;cj(k,n^e^1);d=d+1|0}while((d|0)<(f[g>>2]|0))}hd(k,b);f[l>>2]=f[a+12>>2];d=h;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[i>>2]=f[b+4>>2];f[j>>2]=f[i>>2];Me(b,j,l,l+4|0)|0;c=h;d=f[c+4>>2]|0;c=f[c>>2]|0}f[l>>2]=f[a+16>>2];if((d|0)>0|(d|0)==0&c>>>0>0){sj(k);u=m;return 1}f[i>>2]=f[b+4>>2];f[j>>2]=f[i>>2];Me(b,j,l,l+4|0)|0;sj(k);u=m;return 1}function bf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0;j=a+4|0;c=f[j>>2]|0;i=a+100|0;if(c>>>0<(f[i>>2]|0)>>>0){f[j>>2]=c+1;c=h[c>>0]|0}else c=_i(a)|0;switch(c|0){case 43:case 45:{d=(c|0)==45&1;c=f[j>>2]|0;if(c>>>0<(f[i>>2]|0)>>>0){f[j>>2]=c+1;c=h[c>>0]|0}else c=_i(a)|0;if((b|0)!=0&(c+-48|0)>>>0>9?(f[i>>2]|0)!=0:0){f[j>>2]=(f[j>>2]|0)+-1;g=d}else g=d;break}default:g=0}if((c+-48|0)>>>0>9)if(!(f[i>>2]|0)){d=-2147483648;c=0}else{f[j>>2]=(f[j>>2]|0)+-1;d=-2147483648;c=0}else{d=0;do{d=c+-48+(d*10|0)|0;c=f[j>>2]|0;if(c>>>0<(f[i>>2]|0)>>>0){f[j>>2]=c+1;c=h[c>>0]|0}else c=_i(a)|0}while((c+-48|0)>>>0<10&(d|0)<214748364);b=((d|0)<0)<<31>>31;if((c+-48|0)>>>0<10){do{b=dn(d|0,b|0,10,0)|0;d=I;c=Qn(c|0,((c|0)<0)<<31>>31|0,-48,-1)|0;d=Qn(c|0,I|0,b|0,d|0)|0;b=I;c=f[j>>2]|0;if(c>>>0<(f[i>>2]|0)>>>0){f[j>>2]=c+1;c=h[c>>0]|0}else c=_i(a)|0}while((c+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&d>>>0<2061584302));e=d;d=c}else{e=d;d=c}c=f[i>>2]|0;if((d+-48|0)>>>0<10)do{d=f[j>>2]|0;if(d>>>0>>0){f[j>>2]=d+1;d=h[d>>0]|0}else{d=_i(a)|0;c=f[i>>2]|0}}while((d+-48|0)>>>0<10);if(c|0)f[j>>2]=(f[j>>2]|0)+-1;j=(g|0)!=0;c=co(0,0,e|0,b|0)|0;d=j?I:b;c=j?c:e}I=d;return c|0}function cf(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=u;u=u+96|0;o=p;if(!c){o=-1;u=p;return o|0}Mm(o);uj(o,d,0,g&255,i,0,g<<2,0,0,0);j=Ne(c,o,1,e)|0;if((j|0)<=-1)ra(20916,20609,67,20700);a=f[c+8>>2]|0;if(((f[c+12>>2]|0)-a>>2|0)<=(j|0))ra(20555,20609,68,20700);a=f[a+(j<<2)>>2]|0;if((e|0)>0){m=a+84|0;k=a+68|0;l=a+40|0;i=a+64|0;d=0;do{if(!(b[m>>0]|0))a=f[(f[k>>2]|0)+(d<<2)>>2]|0;else a=d;r=h+((X(d,g)|0)<<2)|0;s=l;q=f[s>>2]|0;a=dn(a|0,((a|0)<0)<<31>>31|0,q|0,f[s+4>>2]|0)|0;Sg((f[f[i>>2]>>2]|0)+a|0,r|0,q|0)|0;d=d+1|0}while((d|0)!=(e|0))}i=c+80|0;a=f[i>>2]|0;if(a)if((a|0)==(e|0))n=14;else j=-1;else{f[i>>2]=e;n=14}s=o+88|0;a=f[s>>2]|0;f[s>>2]=0;if(a|0){i=f[a+8>>2]|0;if(i|0){d=a+12|0;if((f[d>>2]|0)!=(i|0))f[d>>2]=i;tq(i)}tq(a)}a=f[o+68>>2]|0;if(a|0){d=o+72|0;i=f[d>>2]|0;if((i|0)!=(a|0))f[d>>2]=i+(~((i+-4-a|0)>>>2)<<2);tq(a)}s=o+64|0;a=f[s>>2]|0;f[s>>2]=0;if(a|0){i=f[a>>2]|0;if(i|0){d=a+4|0;if((f[d>>2]|0)!=(i|0))f[d>>2]=i;tq(i)}tq(a)}s=j;u=p;return s|0}function df(a,c){a=a|0;c=c|0;var d=0,e=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;n=f[a+8>>2]|0;k=a+76|0;d=f[k>>2]|0;m=f[d+80>>2]|0;r=c+84|0;b[r>>0]=0;j=c+68|0;h=c+72|0;g=f[h>>2]|0;e=f[j>>2]|0;l=g-e>>2;if(m>>>0<=l>>>0){if(m>>>0>>0?(i=e+(m<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{ph(j,m-l|0,3488);m=f[k>>2]|0;d=m;m=f[m+80>>2]|0}p=(f[d+100>>2]|0)-(f[d+96>>2]|0)|0;q=(p|0)/12|0;if((p|0)<=0){r=1;return r|0}p=n+28|0;o=a+80|0;n=c+68|0;a=d+96|0;k=d+100|0;l=0;while(1){d=f[a>>2]|0;if((l|0)>=(((f[k>>2]|0)-d|0)/12|0|0)){e=9;break}i=l*3|0;g=f[p>>2]|0;h=f[(f[o>>2]|0)+12>>2]|0;e=f[h+(f[g+(i<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=14;break}if(b[r>>0]|0){e=12;break}j=f[n>>2]|0;f[j+(f[d+(l*12|0)>>2]<<2)>>2]=e;e=f[h+(f[g+(i+1<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=14;break}f[j+(f[d+(l*12|0)+4>>2]<<2)>>2]=e;e=f[h+(f[g+(i+2<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=14;break}f[j+(f[d+(l*12|0)+8>>2]<<2)>>2]=e;l=l+1|0;if((l|0)>=(q|0)){d=1;e=14;break}}if((e|0)==9)ra(20371,20289,64,20366);else if((e|0)==12)ra(20425,20444,89,20538);else if((e|0)==14)return d|0;return 0}function ef(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=d[b>>1]|0;n=d[b+2>>1]|0;o=d[b+4>>1]|0;i=d[b+6>>1]|0;l=((((m^318)&65535)+239^n&65535)+239^o&65535)+239^i&65535;j=f[a+4>>2]|0;if(!j){q=0;return q|0}e=j+-1|0;c=(e&j|0)==0;if(!c)if(l>>>0>>0)k=l;else k=(l>>>0)%(j>>>0)|0;else k=l&e;b=f[(f[a>>2]|0)+(k<<2)>>2]|0;if(!b){q=0;return q|0}b=f[b>>2]|0;if(!b){q=0;return q|0}if(c){while(1){h=f[b+4>>2]|0;a=(h|0)==(l|0);if(!(a|(h&e|0)==(k|0))){b=0;h=26;break}if((((a?(g=b+8|0,(d[g>>1]|0)==m<<16>>16):0)?(d[g+2>>1]|0)==n<<16>>16:0)?(d[b+12>>1]|0)==o<<16>>16:0)?(d[g+6>>1]|0)==i<<16>>16:0){h=26;break}b=f[b>>2]|0;if(!b){b=0;h=26;break}}if((h|0)==26)return b|0}else p=b;while(1){b=f[p+4>>2]|0;a=(b|0)==(l|0);if(!a){if(b>>>0>=j>>>0)b=(b>>>0)%(j>>>0)|0;if((b|0)!=(k|0)){b=0;h=26;break}if(a)h=22}else h=22;if(((((h|0)==22?(h=0,q=p+8|0,(d[q>>1]|0)==m<<16>>16):0)?(d[q+2>>1]|0)==n<<16>>16:0)?(d[p+12>>1]|0)==o<<16>>16:0)?(d[q+6>>1]|0)==i<<16>>16:0){b=p;h=26;break}p=f[p>>2]|0;if(!p){b=0;h=26;break}}if((h|0)==26)return b|0;return 0}function ff(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=b[c>>0]|0;n=b[c+1>>0]|0;o=b[c+2>>0]|0;i=b[c+3>>0]|0;l=(((m&255^318)+239^n&255)+239^o&255)+239^i&255;j=f[a+4>>2]|0;if(!j){q=0;return q|0}e=j+-1|0;d=(e&j|0)==0;if(!d)if(l>>>0>>0)k=l;else k=(l>>>0)%(j>>>0)|0;else k=l&e;c=f[(f[a>>2]|0)+(k<<2)>>2]|0;if(!c){q=0;return q|0}c=f[c>>2]|0;if(!c){q=0;return q|0}if(d){while(1){h=f[c+4>>2]|0;a=(h|0)==(l|0);if(!(a|(h&e|0)==(k|0))){c=0;h=26;break}if((((a?(g=c+8|0,(b[g>>0]|0)==m<<24>>24):0)?(b[g+1>>0]|0)==n<<24>>24:0)?(b[g+2>>0]|0)==o<<24>>24:0)?(b[g+3>>0]|0)==i<<24>>24:0){h=26;break}c=f[c>>2]|0;if(!c){c=0;h=26;break}}if((h|0)==26)return c|0}else p=c;while(1){c=f[p+4>>2]|0;a=(c|0)==(l|0);if(!a){if(c>>>0>=j>>>0)c=(c>>>0)%(j>>>0)|0;if((c|0)!=(k|0)){c=0;h=26;break}if(a)h=22}else h=22;if(((((h|0)==22?(h=0,q=p+8|0,(b[q>>0]|0)==m<<24>>24):0)?(b[q+1>>0]|0)==n<<24>>24:0)?(b[q+2>>0]|0)==o<<24>>24:0)?(b[q+3>>0]|0)==i<<24>>24:0){c=p;h=26;break}p=f[p>>2]|0;if(!p){c=0;h=26;break}}if((h|0)==26)return c|0;return 0}function gf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;m=n+24|0;k=n+16|0;j=n+8|0;l=n;f[a>>2]=3476;f[a+4>>2]=f[b+4>>2];h=a+8|0;i=b+8|0;f[h>>2]=0;e=a+12|0;f[e>>2]=0;d=a+16|0;f[d>>2]=0;g=b+12|0;c=f[g>>2]|0;do if(c|0)if((c|0)<0)Jp(h);else{c=((c+-1|0)>>>5)+1|0;o=en(c<<2)|0;f[h>>2]=o;f[e>>2]=0;f[d>>2]=c;e=f[i>>2]|0;f[j>>2]=e;f[j+4>>2]=0;i=f[g>>2]|0;f[l>>2]=e+(i>>>5<<2);f[l+4>>2]=i&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];$f(h,k,m);break}while(0);h=a+20|0;f[h>>2]=0;g=a+24|0;f[g>>2]=0;d=a+28|0;f[d>>2]=0;e=b+24|0;c=f[e>>2]|0;if(!c){u=n;return}if((c|0)<0)Jp(h);o=((c+-1|0)>>>5)+1|0;a=en(o<<2)|0;f[h>>2]=a;f[g>>2]=0;f[d>>2]=o;b=f[b+20>>2]|0;f[j>>2]=b;f[j+4>>2]=0;o=f[e>>2]|0;f[l>>2]=b+(o>>>5<<2);f[l+4>>2]=o&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];$f(h,k,m);u=n;return} function hf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=en(40)|0;e=l+16|0;gj(e,c);gj(l+28|0,c+12|0);c=a+4|0;d=f[c>>2]|0;do if(d){j=b[l+27>>0]|0;i=j<<24>>24<0;j=i?f[l+20>>2]|0:j&255;i=i?f[e>>2]|0:e;h=d;while(1){d=h+16|0;e=b[d+11>>0]|0;g=e<<24>>24<0;e=g?f[h+20>>2]|0:e&255;c=e>>>0>>0?e:j;if((c|0)!=0?(k=jl(i,g?f[d>>2]|0:d,c)|0,(k|0)!=0):0)if((k|0)<0)g=7;else g=9;else if(j>>>0>>0)g=7;else g=9;if((g|0)==7){c=f[h>>2]|0;if(!c){g=8;break}}else if((g|0)==9){d=h+4|0;c=f[d>>2]|0;if(!c){g=11;break}}h=c}if((g|0)==8){e=h;d=h;break}else if((g|0)==11){e=h;break}}else{e=c;d=c}while(0);f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=e;f[d>>2]=l;c=f[f[a>>2]>>2]|0;if(!c){k=l;j=a+4|0;j=f[j>>2]|0;Ie(j,k);a=a+8|0;k=f[a>>2]|0;k=k+1|0;f[a>>2]=k;return l|0}f[a>>2]=c;k=f[d>>2]|0;j=a+4|0;j=f[j>>2]|0;Ie(j,k);a=a+8|0;k=f[a>>2]|0;k=k+1|0;f[a>>2]=k;return l|0}function jf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=a+140|0;b=f[g>>2]|0;if(b|0){h=a+144|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);tq(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}tq(b)}g=a+128|0;b=f[g>>2]|0;if(b|0){h=a+132|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);tq(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}tq(b)}b=f[a+116>>2]|0;if(b|0){d=a+120|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b)}b=f[a+104>>2]|0;if(b|0){d=a+108|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b)}b=f[a+92>>2]|0;if(!b){h=a+72|0;kl(h);h=a+52|0;kl(h);h=a+32|0;kl(h);a=a+12|0;kl(a);return}d=a+96|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b);h=a+72|0;kl(h);h=a+52|0;kl(h);h=a+32|0;kl(h);a=a+12|0;kl(a);return}function kf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=a+152|0;b=f[g>>2]|0;if(b|0){h=a+156|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);tq(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}tq(b)}g=a+140|0;b=f[g>>2]|0;if(b|0){h=a+144|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);tq(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}tq(b)}b=f[a+128>>2]|0;if(b|0){d=a+132|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b)}b=f[a+116>>2]|0;if(b|0){d=a+120|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b)}b=f[a+104>>2]|0;if(!b){h=a+84|0;kl(h);h=a+64|0;kl(h);h=a+44|0;kl(h);a=a+12|0;sj(a);return}d=a+108|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b);h=a+84|0;kl(h);h=a+64|0;kl(h);h=a+44|0;kl(h);a=a+12|0;sj(a);return}function lf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=u;u=u+48|0;i=l+8|0;j=l+4|0;k=l;g=0;do{h=g;g=g+1|0;c=a+40+(h*12|0)+4|0;Th(f[c>>2]|0,b)|0;if(f[c>>2]|0){gn(i);Xk(i);c=(f[c>>2]|0)-g|0;if((c|0)>-1){e=a+40+(h*12|0)|0;do{d=0;while(1){m=d+c|0;cj(i,(f[(f[e>>2]|0)+(m>>>5<<2)>>2]&1<<(m&31)|0)!=0);if((d|0)<(h|0))d=d+1|0;else break}c=c-g|0}while((c|0)>-1)}hd(i,b);sj(i)}}while((g|0)<4);f[k>>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Me(b,i,k,k+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[k>>2]=f[a+20>>2];if((d|0)>0|(d|0)==0&c>>>0>0){u=l;return 1}f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Me(b,i,k,k+4|0)|0;u=l;return 1}function mf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;m=n+24|0;k=n+16|0;j=n+8|0;l=n;f[a>>2]=3524;f[a+4>>2]=f[b+4>>2];h=a+8|0;i=b+8|0;f[h>>2]=0;e=a+12|0;f[e>>2]=0;d=a+16|0;f[d>>2]=0;g=b+12|0;c=f[g>>2]|0;do if(c|0)if((c|0)<0)Jp(h);else{c=((c+-1|0)>>>5)+1|0;o=en(c<<2)|0;f[h>>2]=o;f[e>>2]=0;f[d>>2]=c;e=f[i>>2]|0;f[j>>2]=e;f[j+4>>2]=0;i=f[g>>2]|0;f[l>>2]=e+(i>>>5<<2);f[l+4>>2]=i&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];$f(h,k,m);break}while(0);h=a+20|0;f[h>>2]=0;g=a+24|0;f[g>>2]=0;d=a+28|0;f[d>>2]=0;e=b+24|0;c=f[e>>2]|0;if(!c){u=n;return}if((c|0)<0)Jp(h);o=((c+-1|0)>>>5)+1|0;a=en(o<<2)|0;f[h>>2]=a;f[g>>2]=0;f[d>>2]=o;b=f[b+20>>2]|0;f[j>>2]=b;f[j+4>>2]=0;o=f[e>>2]|0;f[l>>2]=b+(o>>>5<<2);f[l+4>>2]=o&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];$f(h,k,m);u=n;return}function nf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=a+8|0;d=f[i>>2]|0;h=f[a>>2]|0;j=h;do if(d-h>>3>>>0>=b>>>0){a=a+4|0;i=f[a>>2]|0;h=i-h>>3;g=h>>>0>>0;d=g?h:b;if(d|0){e=j;while(1){m=c;l=f[m+4>>2]|0;k=e;f[k>>2]=f[m>>2];f[k+4>>2]=l;d=d+-1|0;if(!d)break;else e=e+8|0}}if(!g){d=j+(b<<3)|0;if((i|0)==(d|0))return;else{e=a;d=i+(~((i+-8-d|0)>>>3)<<3)|0;break}}else{g=b-h|0;d=i;e=g;while(1){k=c;l=f[k+4>>2]|0;m=d;f[m>>2]=f[k>>2];f[m+4>>2]=l;e=e+-1|0;if(!e)break;else d=d+8|0}e=a;d=i+(g<<3)|0;break}}else{g=h;if(h){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(j|0))f[e>>2]=d+(~((d+-8-h|0)>>>3)<<3);tq(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(b>>>0>536870911)Jp(a);m=d>>2;d=d>>3>>>0<268435455?(m>>>0>>0?b:m):536870911;if(d>>>0>536870911)Jp(a);h=en(d<<3)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<3);d=h;e=b;while(1){k=c;l=f[k+4>>2]|0;m=d;f[m>>2]=f[k>>2];f[m+4>>2]=l;e=e+-1|0;if(!e)break;else d=d+8|0}e=g;d=h+(b<<3)|0}while(0);f[e>>2]=d;return}function of(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=u;u=u+48|0;i=l+8|0;j=l+4|0;k=l;g=0;do{h=g;g=g+1|0;c=a+60+(h*12|0)+4|0;Th(f[c>>2]|0,b)|0;if(f[c>>2]|0){gn(i);Xk(i);c=(f[c>>2]|0)-g|0;if((c|0)>-1){e=a+60+(h*12|0)|0;do{d=0;while(1){m=d+c|0;cj(i,(f[(f[e>>2]|0)+(m>>>5<<2)>>2]&1<<(m&31)|0)!=0);if((d|0)<(h|0))d=d+1|0;else break}c=c-g|0}while((c|0)>-1)}hd(i,b);sj(i)}}while((g|0)<4);f[k>>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Me(b,i,k,k+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[k>>2]=f[a+16>>2];if((d|0)>0|(d|0)==0&c>>>0>0){u=l;return 1}f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Me(b,i,k,k+4|0)|0;u=l;return 1}function pf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=f[c>>2]|0;m=f[l>>2]|0;g=f[a+4>>2]|0;c=f[l+4>>2]|0;i=g+-1|0;j=(i&g|0)==0;if(!j)if(c>>>0>>0)h=c;else h=(c>>>0)%(g>>>0)|0;else h=i&c;d=(f[a>>2]|0)+(h<<2)|0;k=f[d>>2]|0;while(1){c=f[k>>2]|0;if((c|0)==(l|0))break;else k=c}if((k|0)!=(a+8|0)){c=f[k+4>>2]|0;if(!j){if(c>>>0>=g>>>0)c=(c>>>0)%(g>>>0)|0}else c=c&i;if((c|0)==(h|0)){d=m;e=21}else e=13}else e=13;do if((e|0)==13){if(m|0){c=f[m+4>>2]|0;if(!j){if(c>>>0>=g>>>0)c=(c>>>0)%(g>>>0)|0}else c=c&i;if((c|0)==(h|0)){d=m;c=m;e=22;break}}f[d>>2]=0;d=f[l>>2]|0;e=21}while(0);if((e|0)==21){c=d;if(d)e=22}if((e|0)==22){d=f[d+4>>2]|0;if(!j){if(d>>>0>=g>>>0)d=(d>>>0)%(g>>>0)|0}else d=d&i;if((d|0)!=(h|0)){f[(f[a>>2]|0)+(d<<2)>>2]=k;c=f[l>>2]|0}}f[k>>2]=c;f[l>>2]=0;a=a+12|0;f[a>>2]=(f[a>>2]|0)+-1;if(!l)return m|0;d=l+8|0;c=f[l+20>>2]|0;if(c|0){e=l+24|0;if((f[e>>2]|0)!=(c|0))f[e>>2]=c;tq(c)}if((b[d+11>>0]|0)<0)tq(f[d>>2]|0);tq(l);return m|0}function qf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=u;u=u+16|0;k=l+12|0;i=l+8|0;h=l+4|0;j=l;f[a>>2]=f[d>>2];g=f[c>>2]|0;d=f[b>>2]|0;b=a+4|0;f[b>>2]=(g-d|0)/12|0;c=e+16|0;m=c;n=f[m+4>>2]|0;if(!((n|0)>0|(n|0)==0&(f[m>>2]|0)>>>0>0)?(f[i>>2]=f[e+4>>2],f[k>>2]=f[i>>2],Me(e,k,a,a+4|0)|0,n=c,m=f[n+4>>2]|0,!((m|0)>0|(m|0)==0&(f[n>>2]|0)>>>0>0)):0){f[i>>2]=f[e+4>>2];f[k>>2]=f[i>>2];Me(e,k,b,b+4|0)|0}if(!(f[b>>2]|0)){u=l;return 1}c=a+12|0;Am(c);b=a+32|0;Am(b);m=a+52|0;Am(m);n=a+72|0;Am(n);f[h>>2]=d;f[j>>2]=g;f[i>>2]=f[h>>2];f[k>>2]=f[j>>2];ib(a,i,k);og(c,e);og(b,e);og(m,e);og(n,e);u=l;return 1}function rf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=u;u=u+16|0;k=l+12|0;i=l+8|0;h=l+4|0;j=l;f[a>>2]=f[d>>2];g=f[c>>2]|0;d=f[b>>2]|0;b=a+4|0;f[b>>2]=(g-d|0)/12|0;c=e+16|0;m=c;n=f[m+4>>2]|0;if(!((n|0)>0|(n|0)==0&(f[m>>2]|0)>>>0>0)?(f[i>>2]=f[e+4>>2],f[k>>2]=f[i>>2],Me(e,k,a,a+4|0)|0,n=c,m=f[n+4>>2]|0,!((m|0)>0|(m|0)==0&(f[n>>2]|0)>>>0>0)):0){f[i>>2]=f[e+4>>2];f[k>>2]=f[i>>2];Me(e,k,b,b+4|0)|0}if(!(f[b>>2]|0)){u=l;return 1}c=a+12|0;Xk(c);b=a+44|0;Am(b);m=a+64|0;Am(m);n=a+84|0;Am(n);f[h>>2]=d;f[j>>2]=g;f[i>>2]=f[h>>2];f[k>>2]=f[j>>2];jb(a,i,k);hd(c,e);og(b,e);og(m,e);og(n,e);u=l;return 1}function sf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;j=n+12|0;k=n+8|0;d=n+4|0;g=n;if(!b){c=en(76)|0;b=en(12)|0;e=f[(f[a+4>>2]|0)+80>>2]|0;f[b+4>>2]=0;f[b>>2]=3796;f[b+8>>2]=e;f[g>>2]=b;nl(c,g,0);f[d>>2]=c;b=a+12|0;e=f[b>>2]|0;if(e>>>0<(f[a+16>>2]|0)>>>0){f[d>>2]=0;f[e>>2]=c;f[b>>2]=e+4}else Mg(a+8|0,d);c=f[d>>2]|0;f[d>>2]=0;if(c|0)Ra[f[(f[c>>2]|0)+4>>2]&127](c);c=f[g>>2]|0;f[g>>2]=0;if(!c){u=n;return 1}Ra[f[(f[c>>2]|0)+4>>2]&127](c);u=n;return 1}e=f[f[a+8>>2]>>2]|0;f[j>>2]=b;m=e+4|0;l=e+8|0;c=f[l>>2]|0;if((c|0)==(f[e+12>>2]|0))Ji(m,j);else{f[c>>2]=b;f[l>>2]=c+4}d=f[j>>2]|0;h=e+16|0;b=e+20|0;e=f[b>>2]|0;c=f[h>>2]|0;g=e-c>>2;if((d|0)>=(g|0)){a=d+1|0;f[k>>2]=-1;if(a>>>0<=g>>>0){if(a>>>0>>0?(i=c+(a<<2)|0,(e|0)!=(i|0)):0)f[b>>2]=e+(~((e+-4-i|0)>>>2)<<2)}else{ph(h,a-g|0,k);d=f[j>>2]|0;c=f[h>>2]|0}}f[c+(d<<2)>>2]=((f[l>>2]|0)-(f[m>>2]|0)>>2)+-1;u=n;return 1}function tf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+32|0;n=q+12|0;o=q;e=gl(c,0)|0;if(!e){f[a>>2]=0;u=q;return}d=f[c+96>>2]|0;c=(f[c+100>>2]|0)-d|0;m=(c|0)/12|0;f[n>>2]=0;p=n+4|0;f[p>>2]=0;f[n+8>>2]=0;if(c){if(m>>>0>357913941)Jp(n);l=en(c)|0;f[n>>2]=l;f[n+8>>2]=l+(m*12|0);fj(l|0,0,c|0)|0;f[p>>2]=l+c;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;if((c|0)>0){i=e+68|0;j=o+4|0;k=o+8|0;h=(b[e+84>>0]|0)==0;g=0;do{c=f[d+(g*12|0)>>2]|0;if(h){e=f[i>>2]|0;c=f[e+(c<<2)>>2]|0;f[o>>2]=c;f[j>>2]=f[e+(f[d+(g*12|0)+4>>2]<<2)>>2];e=e+(f[d+(g*12|0)+8>>2]<<2)|0}else{f[o>>2]=c;f[j>>2]=f[d+(g*12|0)+4>>2];e=d+(g*12|0)+8|0}e=f[e>>2]|0;f[k>>2]=e;f[l+(g*12|0)>>2]=c;f[l+(g*12|0)+4>>2]=f[j>>2];f[l+(g*12|0)+8>>2]=e;g=g+1|0}while((g|0)<(m|0))}}else{f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0}lk(a,n);d=f[n>>2]|0;if(d|0){c=f[p>>2]|0;if((c|0)!=(d|0))f[p>>2]=c+(~(((c+-12-d|0)>>>0)/12|0)*12|0);tq(d)}u=q;return}function uf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+16|0;j=m+4|0;k=m;l=a+8|0;g=f[l>>2]|0;Kj(f[a+4>>2]|0,(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2);g=a+100|0;h=f[l>>2]|0;h=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;f[j>>2]=0;d=a+104|0;b=f[d>>2]|0;c=f[g>>2]|0;i=b-c>>2;if(h>>>0<=i>>>0){if(h>>>0>>0?(e=c+(h<<2)|0,(b|0)!=(e|0)):0)f[d>>2]=b+(~((b+-4-e|0)>>>2)<<2)}else ph(g,h-i|0,j);d=a+120|0;b=f[d>>2]|0;if(!b){a=f[l>>2]|0;a=(f[a+4>>2]|0)-(f[a>>2]|0)>>2;b=(a>>>0)/3|0;if(a>>>0<=2){u=m;return 1}c=0;do{f[k>>2]=c*3;f[j>>2]=f[k>>2];wb(l,j);c=c+1|0}while((c|0)<(b|0));u=m;return 1}else{c=f[b>>2]|0;if((f[b+4>>2]|0)==(c|0)){u=m;return 1}b=0;do{f[k>>2]=f[c+(b<<2)>>2];f[j>>2]=f[k>>2];wb(l,j);b=b+1|0;a=f[d>>2]|0;c=f[a>>2]|0}while(b>>>0<(f[a+4>>2]|0)-c>>2>>>0);u=m;return 1}return 0}function vf(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;m=n;j=f[a+124>>2]|0;if(!j){u=n;return}i=j+-1|0;h=(i&j|0)==0;if(!h)if(j>>>0>g>>>0)k=g;else k=(g>>>0)%(j>>>0)|0;else k=i&g;d=f[(f[a+120>>2]|0)+(k<<2)>>2]|0;if(!d){u=n;return}d=f[d>>2]|0;if(!d){u=n;return}a:do if(h){while(1){j=f[d+4>>2]|0;h=(j|0)==(g|0);if(!(h|(j&i|0)==(k|0))){d=24;break}if(h?(f[d+8>>2]|0)==(g|0):0){l=d;break a}d=f[d>>2]|0;if(!d){d=24;break}}if((d|0)==24){u=n;return}}else{h=d;while(1){d=f[h+4>>2]|0;if((d|0)==(g|0)){if((f[h+8>>2]|0)==(g|0)){l=h;break a}}else{if(d>>>0>=j>>>0)d=(d>>>0)%(j>>>0)|0;if((d|0)!=(k|0)){d=24;break}}h=f[h>>2]|0;if(!h){d=24;break}}if((d|0)==24){u=n;return}}while(0);d=f[l+12>>2]|0;if((d|0)==-1){u=n;return}f[m>>2]=d;f[m+4>>2]=c;b[m+8>>0]=e&1;h=a+112|0;d=f[h>>2]|0;if((d|0)==(f[a+116>>2]|0))oi(a+108|0,m);else{f[d>>2]=f[m>>2];f[d+4>>2]=f[m+4>>2];f[d+8>>2]=f[m+8>>2];f[h>>2]=(f[h>>2]|0)+12}u=n;return}function wf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=f[b>>2]|0;l=f[b+4>>2]|0;m=f[b+8>>2]|0;g=f[b+12>>2]|0;j=(((k^318)+239^l)+239^m)+239^g;h=f[a+4>>2]|0;if(!h){n=0;return n|0}d=h+-1|0;c=(d&h|0)==0;if(!c)if(j>>>0>>0)i=j;else i=(j>>>0)%(h>>>0)|0;else i=j&d;b=f[(f[a>>2]|0)+(i<<2)>>2]|0;if(!b){n=0;return n|0}b=f[b>>2]|0;if(!b){n=0;return n|0}if(c){while(1){e=f[b+4>>2]|0;a=(e|0)==(j|0);if(!(a|(e&d|0)==(i|0))){b=0;e=26;break}if((((a?(f[b+8>>2]|0)==(k|0):0)?(f[b+12>>2]|0)==(l|0):0)?(f[b+16>>2]|0)==(m|0):0)?(f[b+20>>2]|0)==(g|0):0){e=26;break}b=f[b>>2]|0;if(!b){b=0;e=26;break}}if((e|0)==26)return b|0}else n=b;while(1){b=f[n+4>>2]|0;a=(b|0)==(j|0);if(!a){if(b>>>0>=h>>>0)b=(b>>>0)%(h>>>0)|0;if((b|0)!=(i|0)){b=0;e=26;break}if(a)e=22}else e=22;if(((((e|0)==22?(e=0,(f[n+8>>2]|0)==(k|0)):0)?(f[n+12>>2]|0)==(l|0):0)?(f[n+16>>2]|0)==(m|0):0)?(f[n+20>>2]|0)==(g|0):0){b=n;e=26;break}n=f[n>>2]|0;if(!n){b=0;e=26;break}}if((e|0)==26)return b|0;return 0}function xf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;m=o+4|0;n=o;k=o+8|0;i=d+11|0;j=b[i>>0]|0;g=j<<24>>24<0;if(g){a=f[d+4>>2]|0;if(a>>>0>255){c=0;u=o;return c|0}}else a=j&255;if(!a){b[k>>0]=0;d=c+16|0;l=f[d+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[d>>2]|0)>>>0>0)){f[n>>2]=f[c+4>>2];f[m>>2]=f[n>>2];Me(c,m,k,k+1|0)|0}c=1;u=o;return c|0}l=d+4|0;e=f[l>>2]|0;b[k>>0]=g?e:j&255;a=c+16|0;g=a;h=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&h>>>0>0)i=g;else{f[n>>2]=f[c+4>>2];f[m>>2]=f[n>>2];Me(c,m,k,k+1|0)|0;h=a;j=b[i>>0]|0;i=f[h+4>>2]|0;h=f[h>>2]|0;e=f[l>>2]|0}g=j<<24>>24<0;a=g?f[d>>2]|0:d;if(!((i|0)>0|(i|0)==0&h>>>0>0)){f[n>>2]=f[c+4>>2];f[m>>2]=f[n>>2];Me(c,m,a,a+(g?e:j&255)|0)|0}c=1;u=o;return c|0}function yf(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+12|0;h=f[a>>2]|0;j=a+8|0;c=f[j>>2]|0;d=(c|0)<0;if(!(b[i>>0]|0)){do if(!d)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);do if(!(1<<(c&31)&f[(f[h>>2]|0)+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[h+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;if((c|0)>=0)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}}}else c=-1073741824;while(0);f[j>>2]=c;return}e=c+1|0;if(!d)c=((e|0)%3|0|0)==0?c+-2|0:e;e=f[h>>2]|0;if(!(1<<(c&31)&f[e+(c>>>5<<2)>>2]))if((c|0)>=0){c=f[(f[(f[h+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;d=c+1|0;if((c|0)>=0){c=((d|0)%3|0|0)==0?c+-2|0:d;f[j>>2]=c;if((c|0)>=0){if((c|0)!=(f[a+4>>2]|0))return;f[j>>2]=-1073741824;return}}else g=7}else g=7;else{c=-1073741824;g=7}if((g|0)==7)f[j>>2]=c;c=f[a+4>>2]|0;do if((c|0)>=0)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);do if(!(1<<(c&31)&f[e+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[h+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;if((c|0)>=0)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}}}else c=-1073741824;while(0);f[j>>2]=c;b[i>>0]=0;return}function zf(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=d[b>>1]|0;n=d[b+2>>1]|0;i=d[b+4>>1]|0;l=(((m^318)&65535)+239^n&65535)+239^i&65535;j=f[a+4>>2]|0;if(!j){p=0;return p|0}e=j+-1|0;c=(e&j|0)==0;if(!c)if(l>>>0>>0)k=l;else k=(l>>>0)%(j>>>0)|0;else k=l&e;b=f[(f[a>>2]|0)+(k<<2)>>2]|0;if(!b){p=0;return p|0}b=f[b>>2]|0;if(!b){p=0;return p|0}if(c){while(1){h=f[b+4>>2]|0;a=(h|0)==(l|0);if(!(a|(h&e|0)==(k|0))){b=0;h=24;break}if(((a?(g=b+8|0,(d[g>>1]|0)==m<<16>>16):0)?(d[g+2>>1]|0)==n<<16>>16:0)?(d[b+12>>1]|0)==i<<16>>16:0){h=24;break}b=f[b>>2]|0;if(!b){b=0;h=24;break}}if((h|0)==24)return b|0}else o=b;while(1){b=f[o+4>>2]|0;a=(b|0)==(l|0);if(!a){if(b>>>0>=j>>>0)b=(b>>>0)%(j>>>0)|0;if((b|0)!=(k|0)){b=0;h=24;break}if(a)h=21}else h=21;if((((h|0)==21?(h=0,p=o+8|0,(d[p>>1]|0)==m<<16>>16):0)?(d[p+2>>1]|0)==n<<16>>16:0)?(d[o+12>>1]|0)==i<<16>>16:0){b=o;h=24;break}o=f[o>>2]|0;if(!o){b=0;h=24;break}}if((h|0)==24)return b|0;return 0}function Af(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var 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,v=0,w=0;r=u;u=u+48|0;n=r+24|0;o=r+8|0;p=r+4|0;q=r;h=c+4|0;if((f[h>>2]|0)==-1)ra(7383,7232,57,7512);m=e+4|0;xi(a,c,(f[m>>2]|0)-(f[e>>2]|0)>>2,2,g,d);l=f[a>>2]|0;l=(f[f[l>>2]>>2]|0)+(f[l+48>>2]|0)|0;a=f[h>>2]|0;if((a|0)<=1)ra(11832,11843,60,11958);if((a|0)>=31)ra(11978,11843,61,11958);f[o>>2]=a;a=1<>2]=a+-1;a=a+-2|0;f[o+8>>2]=a;f[o+12>>2]=(a|0)/2|0;a=f[e>>2]|0;if((f[m>>2]|0)==(a|0)){u=r;return}k=d+84|0;h=d+68|0;i=d+48|0;j=d+40|0;g=0;c=0;while(1){a=f[a+(c<<2)>>2]|0;if(!(b[k>>0]|0))a=f[(f[h>>2]|0)+(a<<2)>>2]|0;t=i;v=f[t>>2]|0;t=f[t+4>>2]|0;w=j;s=f[w>>2]|0;a=dn(s|0,f[w+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Qn(a|0,I|0,v|0,t|0)|0;Sg(n|0,(f[f[d>>2]>>2]|0)+a|0,s|0)|0;Jf(o,n,p,q);f[l+(g<<2)>>2]=f[p>>2];f[l+((g|1)<<2)>>2]=f[q>>2];c=c+1|0;a=f[e>>2]|0;if(c>>>0>=(f[m>>2]|0)-a>>2>>>0)break;else g=g+2|0}u=r;return}function Bf(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;i=u;u=u+80|0;j=i;g=i+64|0;Bl(j);k=f[(f[a+8>>2]|0)+56>>2]|0;h=X(Rl(5)|0,d)|0;uj(j,k,0,d&255,5,0,h,((h|0)<0)<<31>>31,0,0);h=en(96)|0;rl(h,j);nj(h,c)|0;f[g>>2]=h;Si(a,g);h=f[g>>2]|0;f[g>>2]=0;if(h|0){k=h+88|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0){c=f[d+8>>2]|0;if(c|0){g=d+12|0;if((f[g>>2]|0)!=(c|0))f[g>>2]=c;tq(c)}tq(d)}c=f[h+68>>2]|0;if(c|0){g=h+72|0;d=f[g>>2]|0;if((d|0)!=(c|0))f[g>>2]=d+(~((d+-4-c|0)>>>2)<<2);tq(c)}k=h+64|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0){c=f[d>>2]|0;if(c|0){g=d+4|0;if((f[g>>2]|0)!=(c|0))f[g>>2]=c;tq(c)}tq(d)}tq(h)}if(!e){u=i;return}a=f[a+32>>2]|0;b[a+84>>0]=0;c=a+68|0;a=a+72|0;h=f[a>>2]|0;d=f[c>>2]|0;g=h-d>>2;if(g>>>0>>0){ph(c,e-g|0,1532);u=i;return}if(g>>>0<=e>>>0){u=i;return}d=d+(e<<2)|0;if((h|0)==(d|0)){u=i;return}f[a>>2]=h+(~((h+-4-d|0)>>>2)<<2);u=i;return}function Cf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=b[c>>0]|0;n=b[c+1>>0]|0;i=b[c+2>>0]|0;l=((m&255^318)+239^n&255)+239^i&255;j=f[a+4>>2]|0;if(!j){p=0;return p|0}e=j+-1|0;d=(e&j|0)==0;if(!d)if(l>>>0>>0)k=l;else k=(l>>>0)%(j>>>0)|0;else k=l&e;c=f[(f[a>>2]|0)+(k<<2)>>2]|0;if(!c){p=0;return p|0}c=f[c>>2]|0;if(!c){p=0;return p|0}if(d){while(1){h=f[c+4>>2]|0;a=(h|0)==(l|0);if(!(a|(h&e|0)==(k|0))){c=0;h=24;break}if(((a?(g=c+8|0,(b[g>>0]|0)==m<<24>>24):0)?(b[g+1>>0]|0)==n<<24>>24:0)?(b[g+2>>0]|0)==i<<24>>24:0){h=24;break}c=f[c>>2]|0;if(!c){c=0;h=24;break}}if((h|0)==24)return c|0}else o=c;while(1){c=f[o+4>>2]|0;a=(c|0)==(l|0);if(!a){if(c>>>0>=j>>>0)c=(c>>>0)%(j>>>0)|0;if((c|0)!=(k|0)){c=0;h=24;break}if(a)h=21}else h=21;if((((h|0)==21?(h=0,p=o+8|0,(b[p>>0]|0)==m<<24>>24):0)?(b[p+1>>0]|0)==n<<24>>24:0)?(b[p+2>>0]|0)==i<<24>>24:0){c=o;h=24;break}o=f[o>>2]|0;if(!o){c=0;h=24;break}}if((h|0)==24)return c|0;return 0}function Df(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=f[b>>2]|0;d=f[c>>2]|0;g=d-l>>2;h=a+8|0;b=f[h>>2]|0;i=f[a>>2]|0;j=i;k=d;if(g>>>0<=b-i>>2>>>0){a=a+4|0;h=(f[a>>2]|0)-i>>2;e=g>>>0>h>>>0;h=e?l+(h<<2)|0:d;d=h-l|0;b=d>>2;if(b|0)fm(i|0,l|0,d|0)|0;d=j+(b<<2)|0;if(!e){b=f[a>>2]|0;if((b|0)==(d|0))return;f[a>>2]=b+(~((b+-4-d|0)>>>2)<<2);return}g=f[c>>2]|0;b=h;if((b|0)==(g|0))return;c=f[a>>2]|0;e=g+-4-h|0;d=c;while(1){f[d>>2]=f[b>>2];b=b+4|0;if((b|0)==(g|0))break;else d=d+4|0}f[a>>2]=c+((e>>>2)+1<<2);return}e=i;if(i){d=a+4|0;b=f[d>>2]|0;if((b|0)!=(j|0))f[d>>2]=b+(~((b+-4-i|0)>>>2)<<2);tq(e);f[h>>2]=0;f[d>>2]=0;f[a>>2]=0;b=0}if(g>>>0>1073741823)Jp(a);j=b>>1;b=b>>2>>>0<536870911?(j>>>0>>0?g:j):1073741823;if(b>>>0>1073741823)Jp(a);c=en(b<<2)|0;g=a+4|0;f[g>>2]=c;f[a>>2]=c;f[h>>2]=c+(b<<2);b=l;if((b|0)==(k|0))return;e=k+-4-l|0;d=c;while(1){f[d>>2]=f[b>>2];b=b+4|0;if((b|0)==(k|0))break;else d=d+4|0}f[g>>2]=c+((e>>>2)+1<<2);return}function Ef(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m;k=a+40|0;j=(f[c>>2]|0)+(f[k>>2]|0)|0;g=a+24|0;e=f[a+32>>2]|0;if(e>>>0<=4194303)ra(19296,19703,356,19326);if(e>>>0>=1073741824)ra(19336,19703,357,19326);d=e+-4194304|0;do if(d>>>0>=64){if(d>>>0<16384){a=a+28|0;h=(f[g>>2]|0)+(f[a>>2]|0)|0;d=e+-4177920|0;b[h>>0]=d;i=2;e=h+1|0;d=d>>>8;break}h=a+28|0;a=(f[g>>2]|0)+(f[h>>2]|0)|0;if(d>>>0<4194304){d=e+4194304|0;b[a>>0]=d;b[a+1>>0]=d>>>8;i=3;e=a+2|0;a=h;d=d>>>16;break}else{d=e+-1077936128|0;b[a>>0]=d;b[a+1>>0]=d>>>8;b[a+2>>0]=d>>>16;i=4;e=a+3|0;a=h;d=d>>>24;break}}else{a=a+28|0;i=1;e=(f[g>>2]|0)+(f[a>>2]|0)|0}while(0);b[e>>0]=d;h=(f[a>>2]|0)+i|0;i=((h|0)<0)<<31>>31;pn(l);kh(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;fm(j+g|0,j|0,h|0)|0;Sg(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=Qn(g|0,0,h|0,i|0)|0;k=Qn(j|0,I|0,d|0,k|0)|0;tl(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)tq(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;tq(d);u=m;return}function Ff(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m;k=a+40|0;j=(f[c>>2]|0)+(f[k>>2]|0)|0;g=a+24|0;e=f[a+32>>2]|0;if(e>>>0<=2097151)ra(19296,19703,356,19326);if(e>>>0>=536870912)ra(19336,19703,357,19326);d=e+-2097152|0;do if(d>>>0>=64){if(d>>>0<16384){a=a+28|0;h=(f[g>>2]|0)+(f[a>>2]|0)|0;d=e+-2080768|0;b[h>>0]=d;i=2;e=h+1|0;d=d>>>8;break}h=a+28|0;a=(f[g>>2]|0)+(f[h>>2]|0)|0;if(d>>>0<4194304){d=e+6291456|0;b[a>>0]=d;b[a+1>>0]=d>>>8;i=3;e=a+2|0;a=h;d=d>>>16;break}else{d=e+-1075838976|0;b[a>>0]=d;b[a+1>>0]=d>>>8;b[a+2>>0]=d>>>16;i=4;e=a+3|0;a=h;d=d>>>24;break}}else{a=a+28|0;i=1;e=(f[g>>2]|0)+(f[a>>2]|0)|0}while(0);b[e>>0]=d;h=(f[a>>2]|0)+i|0;i=((h|0)<0)<<31>>31;pn(l);kh(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;fm(j+g|0,j|0,h|0)|0;Sg(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=Qn(g|0,0,h|0,i|0)|0;k=Qn(j|0,I|0,d|0,k|0)|0;tl(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)tq(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;tq(d);u=m;return}function Gf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m;k=a+40|0;j=(f[c>>2]|0)+(f[k>>2]|0)|0;g=a+24|0;e=f[a+32>>2]|0;if(e>>>0<=1048575)ra(19296,19703,356,19326);if(e>>>0>=268435456)ra(19336,19703,357,19326);d=e+-1048576|0;do if(d>>>0>=64){if(d>>>0<16384){a=a+28|0;h=(f[g>>2]|0)+(f[a>>2]|0)|0;d=e+-1032192|0;b[h>>0]=d;i=2;e=h+1|0;d=d>>>8;break}h=a+28|0;a=(f[g>>2]|0)+(f[h>>2]|0)|0;if(d>>>0<4194304){d=e+7340032|0;b[a>>0]=d;b[a+1>>0]=d>>>8;i=3;e=a+2|0;a=h;d=d>>>16;break}else{d=e+-1074790400|0;b[a>>0]=d;b[a+1>>0]=d>>>8;b[a+2>>0]=d>>>16;i=4;e=a+3|0;a=h;d=d>>>24;break}}else{a=a+28|0;i=1;e=(f[g>>2]|0)+(f[a>>2]|0)|0}while(0);b[e>>0]=d;h=(f[a>>2]|0)+i|0;i=((h|0)<0)<<31>>31;pn(l);kh(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;fm(j+g|0,j|0,h|0)|0;Sg(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=Qn(g|0,0,h|0,i|0)|0;k=Qn(j|0,I|0,d|0,k|0)|0;tl(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)tq(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;tq(d);u=m;return}function Hf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m;k=a+40|0;j=(f[c>>2]|0)+(f[k>>2]|0)|0;g=a+24|0;e=f[a+32>>2]|0;if(e>>>0<=262143)ra(19296,19703,356,19326);if(e>>>0>=67108864)ra(19336,19703,357,19326);d=e+-262144|0;do if(d>>>0>=64){if(d>>>0<16384){a=a+28|0;h=(f[g>>2]|0)+(f[a>>2]|0)|0;d=e+-245760|0;b[h>>0]=d;i=2;e=h+1|0;d=d>>>8;break}h=a+28|0;a=(f[g>>2]|0)+(f[h>>2]|0)|0;if(d>>>0<4194304){d=e+8126464|0;b[a>>0]=d;b[a+1>>0]=d>>>8;i=3;e=a+2|0;a=h;d=d>>>16;break}else{d=e+-1074003968|0;b[a>>0]=d;b[a+1>>0]=d>>>8;b[a+2>>0]=d>>>16;i=4;e=a+3|0;a=h;d=d>>>24;break}}else{a=a+28|0;i=1;e=(f[g>>2]|0)+(f[a>>2]|0)|0}while(0);b[e>>0]=d;h=(f[a>>2]|0)+i|0;i=((h|0)<0)<<31>>31;pn(l);kh(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;fm(j+g|0,j|0,h|0)|0;Sg(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=Qn(g|0,0,h|0,i|0)|0;k=Qn(j|0,I|0,d|0,k|0)|0;tl(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)tq(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;tq(d);u=m;return}function If(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m;k=a+40|0;j=(f[c>>2]|0)+(f[k>>2]|0)|0;g=a+24|0;e=f[a+32>>2]|0;if(e>>>0<=131071)ra(19296,19703,356,19326);if(e>>>0>=33554432)ra(19336,19703,357,19326);d=e+-131072|0;do if(d>>>0>=64){if(d>>>0<16384){a=a+28|0;h=(f[g>>2]|0)+(f[a>>2]|0)|0;d=e+-114688|0;b[h>>0]=d;i=2;e=h+1|0;d=d>>>8;break}h=a+28|0;a=(f[g>>2]|0)+(f[h>>2]|0)|0;if(d>>>0<4194304){d=e+8257536|0;b[a>>0]=d;b[a+1>>0]=d>>>8;i=3;e=a+2|0;a=h;d=d>>>16;break}else{d=e+-1073872896|0;b[a>>0]=d;b[a+1>>0]=d>>>8;b[a+2>>0]=d>>>16;i=4;e=a+3|0;a=h;d=d>>>24;break}}else{a=a+28|0;i=1;e=(f[g>>2]|0)+(f[a>>2]|0)|0}while(0);b[e>>0]=d;h=(f[a>>2]|0)+i|0;i=((h|0)<0)<<31>>31;pn(l);kh(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;fm(j+g|0,j|0,h|0)|0;Sg(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=Qn(g|0,0,h|0,i|0)|0;k=Qn(j|0,I|0,d|0,k|0)|0;tl(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)tq(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;tq(d);u=m;return}function Jf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0.0,o=Ka,p=Ka,q=0.0,r=Ka;r=$(n[b>>2]);m=+$(K($(r)));p=$(n[b+4>>2]);m=m+ +$(K($(p)));o=$(n[b+8>>2]);m=m+ +$(K($(o)));h=m>1.0e-06;m=1.0/m;l=f[a+12>>2]|0;q=+(l|0);k=~~+J(+(q*(h?+r*m:1.0)+.5));g=~~+J(+(q*(h?+p*m:0.0)+.5));e=(k|0)>-1;k=e?k:0-k|0;i=l-k-((g|0)>-1?g:0-g|0)|0;b=(i|0)<0;g=(b?((g|0)>0?i:0-i|0):0)+g|0;i=b?0:i;i=(h?+o*m:0.0)<0.0?0-i|0:i;h=(g|0)>-1?g:0-g|0;b=(i|0)>-1?i:0-i|0;if((h+k+b|0)!=(l|0))ra(14162,11843,99,14250);if(!e){if((g|0)>=0)b=(f[a+8>>2]|0)-b|0;if((i|0)<0)k=h;else k=(f[a+8>>2]|0)-h|0}else{b=l+g|0;k=l+i|0}i=(b|0)==0;j=(k|0)==0;e=f[a+8>>2]|0;if(!(k|b)){a=e;l=e;f[c>>2]=a;f[d>>2]=l;return}g=(e|0)==(k|0);h=(e|0)==(b|0);if(i&g|j&h){a=e;l=e;f[c>>2]=a;f[d>>2]=l;return}if(i&(l|0)<(k|0)){a=0;l=(l<<1)-k|0;f[c>>2]=a;f[d>>2]=l;return}if((l|0)>(k|0)&h){a=b;l=(l<<1)-k|0;f[c>>2]=a;f[d>>2]=l;return}if((l|0)>(b|0)&g){a=(l<<1)-b|0;l=k;f[c>>2]=a;f[d>>2]=l;return}else{a=(l|0)<(b|0)&j?(l<<1)-b|0:b;l=k;f[c>>2]=a;f[d>>2]=l;return}}function Kf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+32|0;m=n;l=a+8|0;d=f[l>>2]|0;k=a+4|0;c=f[k>>2]|0;if(d-c>>2>>>0>=b>>>0){fj(c|0,0,b<<2|0)|0;f[k>>2]=c+(b<<2);u=n;return}e=f[a>>2]|0;g=c-e>>2;c=g+b|0;if(c>>>0>1073741823)Jp(a);i=d-e|0;j=i>>1;c=i>>2>>>0<536870911?(j>>>0>>0?c:j):1073741823;f[m+12>>2]=0;f[m+16>>2]=a+8;do if(c)if(c>>>0>1073741823){n=sa(8)|0;xo(n,20710);f[n>>2]=7152;wa(n|0,1112,107)}else{d=en(c<<2)|0;break}else d=0;while(0);f[m>>2]=d;g=d+(g<<2)|0;i=m+8|0;h=m+4|0;f[h>>2]=g;j=m+12|0;f[j>>2]=d+(c<<2);fj(g|0,0,b<<2|0)|0;f[i>>2]=g+(b<<2);d=f[a>>2]|0;c=f[k>>2]|0;if((c|0)==(d|0)){g=h;e=f[h>>2]|0}else{e=f[h>>2]|0;do{c=c+-4|0;b=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=b;e=(f[h>>2]|0)+-4|0;f[h>>2]=e}while((c|0)!=(d|0));g=h;d=f[a>>2]|0;c=f[k>>2]|0}f[a>>2]=e;f[g>>2]=d;f[k>>2]=f[i>>2];f[i>>2]=c;a=f[l>>2]|0;f[l>>2]=f[j>>2];f[j>>2]=a;f[m>>2]=f[g>>2];$h(m);u=n;return}function Lf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+8|0;d=f[m>>2]|0;l=a+4|0;c=f[l>>2]|0;e=c;if(((d-c|0)/12|0)>>>0>=b>>>0){fj(c|0,0,b*12|0)|0;f[l>>2]=e+(b*12|0);return}j=f[a>>2]|0;i=(c-j|0)/12|0;c=i+b|0;k=j;if(c>>>0>357913941)Jp(a);h=(d-j|0)/12|0;g=h<<1;g=h>>>0<178956970?(g>>>0>>0?c:g):357913941;do if(g)if(g>>>0>357913941){a=sa(8)|0;xo(a,20710);f[a>>2]=7152;wa(a|0,1112,107)}else{h=en(g*12|0)|0;break}else h=0;while(0);d=h+(i*12|0)|0;c=d;h=h+(g*12|0)|0;fj(d|0,0,b*12|0)|0;g=d+(b*12|0)|0;if((e|0)==(k|0))i=j;else{do{j=d+-12|0;b=e;e=e+-12|0;f[j>>2]=0;i=d+-8|0;f[i>>2]=0;f[d+-4>>2]=0;f[j>>2]=f[e>>2];j=b+-8|0;f[i>>2]=f[j>>2];b=b+-4|0;f[d+-4>>2]=f[b>>2];f[b>>2]=0;f[j>>2]=0;f[e>>2]=0;d=c+-12|0;c=d}while((e|0)!=(k|0));i=f[a>>2]|0;e=f[l>>2]|0}f[a>>2]=c;f[l>>2]=g;f[m>>2]=h;h=i;if((e|0)!=(h|0))do{c=e;e=e+-12|0;g=f[e>>2]|0;if(g|0){d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(g|0))f[d>>2]=c+(~((c+-4-g|0)>>>2)<<2);tq(g)}}while((e|0)!=(h|0));if(!i)return;tq(i);return}function Mf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m;k=a+40|0;j=(f[c>>2]|0)+(f[k>>2]|0)|0;g=a+24|0;e=f[a+32>>2]|0;if(e>>>0<=32767)ra(19296,19703,356,19326);if(e>>>0>=8388608)ra(19336,19703,357,19326);d=e+-32768|0;do if(d>>>0>=64){if(d>>>0<16384){a=a+28|0;h=(f[g>>2]|0)+(f[a>>2]|0)|0;d=e+-16384|0;b[h>>0]=d;i=2;e=h+1|0;d=d>>>8;break}h=a+28|0;a=(f[g>>2]|0)+(f[h>>2]|0)|0;if(d>>>0<4194304){d=e+8355840|0;b[a>>0]=d;b[a+1>>0]=d>>>8;i=3;e=a+2|0;a=h;d=d>>>16;break}else{i=e+-1073774592|0;b[a>>0]=i;b[a+1>>0]=i>>>8;b[a+2>>0]=i>>>16;i=4;e=a+3|0;a=h;d=192;break}}else{a=a+28|0;i=1;e=(f[g>>2]|0)+(f[a>>2]|0)|0}while(0);b[e>>0]=d;h=(f[a>>2]|0)+i|0;i=((h|0)<0)<<31>>31;pn(l);kh(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;fm(j+g|0,j|0,h|0)|0;Sg(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=Qn(g|0,0,h|0,i|0)|0;k=Qn(j|0,I|0,d|0,k|0)|0;tl(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)tq(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;tq(d);u=m;return}function Nf(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;m=Tg(a,b,c,d,g)|0;h=f[e>>2]|0;i=f[d>>2]|0;k=f[g>>2]|0;g=f[k>>2]|0;l=(f[k+4>>2]|0)-g>>3;if(l>>>0<=h>>>0)Jp(k);j=g;if(l>>>0<=i>>>0)Jp(k);if((f[j+(h<<3)>>2]|0)>>>0>=(f[j+(i<<3)>>2]|0)>>>0)return m|0;f[d>>2]=h;f[e>>2]=i;g=f[d>>2]|0;h=f[c>>2]|0;if(l>>>0<=g>>>0)Jp(k);if(l>>>0<=h>>>0)Jp(k);if((f[j+(g<<3)>>2]|0)>>>0>=(f[j+(h<<3)>>2]|0)>>>0){m=m+1|0;return m|0}f[c>>2]=g;f[d>>2]=h;g=f[c>>2]|0;h=f[b>>2]|0;if(l>>>0<=g>>>0)Jp(k);if(l>>>0<=h>>>0)Jp(k);if((f[j+(g<<3)>>2]|0)>>>0>=(f[j+(h<<3)>>2]|0)>>>0){m=m+2|0;return m|0}f[b>>2]=g;f[c>>2]=h;g=f[b>>2]|0;h=f[a>>2]|0;if(l>>>0<=g>>>0)Jp(k);if(l>>>0<=h>>>0)Jp(k);if((f[j+(g<<3)>>2]|0)>>>0>=(f[j+(h<<3)>>2]|0)>>>0){m=m+3|0;return m|0}f[a>>2]=g;f[b>>2]=h;m=m+4|0;return m|0}function Of(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;if((b|0)>=33)ra(19497,19521,46,19622);if((b|0)<=0)ra(19651,19521,47,19622);g=c>>>1&1431655765|c<<1&-1431655766;g=g>>>2&858993459|g<<2&-858993460;g=g>>>4&252645135|g<<4&-252645136;g=g>>>8&16711935|g<<8&-16711936;c=32-b|0;g=(g>>>16|g<<16)>>>c;d=g-(g>>>1&1431655765)|0;d=(d>>>2&858993459)+(d&858993459)|0;d=(X((d>>>4)+d&252645135,16843009)|0)>>>24;i=b-d|0;j=f[a>>2]|0;h=j;i=Qn(f[h>>2]|0,f[h+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;h=j;f[h>>2]=i;f[h+4>>2]=I;j=j+8|0;h=j;d=Qn(f[h>>2]|0,f[h+4>>2]|0,d|0,0)|0;f[j>>2]=d;f[j+4>>2]=I;j=a+28|0;d=f[j>>2]|0;h=32-d|0;i=a+24|0;do if((h|0)>=(b|0)){e=-1>>>c<>2]&~e|e&g<>2]=e;b=d+b|0;f[j>>2]=b;if((b|0)!=32)return;d=a+16|0;c=f[d>>2]|0;if((c|0)==(f[a+20>>2]|0)){Ji(a+12|0,i);d=0;c=0;break}else{f[c>>2]=e;f[d>>2]=c+4;d=0;c=0;break}}else{e=-1>>>d<>2]&~e|e&g<>2]=e;d=a+16|0;c=f[d>>2]|0;if((c|0)==(f[a+20>>2]|0))Ji(a+12|0,i);else{f[c>>2]=e;f[d>>2]=c+4}c=b-h|0;d=c;c=-1>>>(32-c|0)&g>>>h}while(0);f[i>>2]=c;f[j>>2]=d;return}function Pf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=b;h=c-m>>2;i=a+8|0;d=f[i>>2]|0;j=f[a>>2]|0;k=j;if(h>>>0<=d-j>>2>>>0){l=a+4|0;a=(f[l>>2]|0)-j>>2;h=h>>>0>a>>>0;a=b+(a<<2)|0;g=h?a:c;i=g;e=i-m|0;d=e>>2;if(d|0)fm(j|0,b|0,e|0)|0;d=k+(d<<2)|0;if(!h){b=f[l>>2]|0;if((b|0)==(d|0))return;f[l>>2]=b+(~((b+-4-d|0)>>>2)<<2);return}if((g|0)==(c|0))return;g=f[l>>2]|0;e=((c+-4-i|0)>>>2)+1|0;d=g;b=a;while(1){f[d>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else d=d+4|0}f[l>>2]=g+(e<<2);return}g=j;if(j){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(k|0))f[e>>2]=d+(~((d+-4-j|0)>>>2)<<2);tq(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(h>>>0>1073741823)Jp(a);l=d>>1;d=d>>2>>>0<536870911?(l>>>0>>0?h:l):1073741823;if(d>>>0>1073741823)Jp(a);h=en(d<<2)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<2);if((b|0)==(c|0))return;d=((c+-4-m|0)>>>2)+1|0;e=h;while(1){f[e>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else e=e+4|0}f[g>>2]=h+(d<<2);return}function Qf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=b;h=c-m>>2;i=a+8|0;d=f[i>>2]|0;j=f[a>>2]|0;k=j;if(h>>>0<=d-j>>2>>>0){l=a+4|0;a=(f[l>>2]|0)-j>>2;h=h>>>0>a>>>0;a=b+(a<<2)|0;g=h?a:c;i=g;e=i-m|0;d=e>>2;if(d|0)fm(j|0,b|0,e|0)|0;d=k+(d<<2)|0;if(!h){b=f[l>>2]|0;if((b|0)==(d|0))return;f[l>>2]=b+(~((b+-4-d|0)>>>2)<<2);return}if((g|0)==(c|0))return;g=f[l>>2]|0;d=c+-4-i|0;e=g;b=a;while(1){f[e>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else e=e+4|0}f[l>>2]=g+((d>>>2)+1<<2);return}g=j;if(j){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(k|0))f[e>>2]=d+(~((d+-4-j|0)>>>2)<<2);tq(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(h>>>0>1073741823)Jp(a);l=d>>1;d=d>>2>>>0<536870911?(l>>>0>>0?h:l):1073741823;if(d>>>0>1073741823)Jp(a);h=en(d<<2)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<2);if((b|0)==(c|0))return;d=c+-4-m|0;e=h;while(1){f[e>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else e=e+4|0}f[g>>2]=h+((d>>>2)+1<<2);return}function Rf(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;m=o;if(b[a+352>>0]|0){u=o;return 1}l=a+8|0;j=f[l>>2]|0;j=(f[j+12>>2]|0)-(f[j+8>>2]|0)|0;n=j>>2;k=a+172|0;zi(k,n+-1|0);if(!((n|0)!=1&(j|0)>0)){u=o;return 1}i=a+12|0;a=0;j=0;while(1){h=f[l>>2]|0;c=f[h+8>>2]|0;if(((f[h+12>>2]|0)-c>>2|0)<=(j|0)){a=5;break}g=f[c+(j<<2)>>2]|0;if(f[g+56>>2]|0){c=f[k>>2]|0;f[c+(a*108|0)>>2]=j;d=f[c+(a*108|0)+76>>2]|0;h=c+(a*108|0)+80|0;e=f[h>>2]|0;if((e|0)!=(d|0))f[h>>2]=e+(~((e+-4-d|0)>>>2)<<2);e=f[i>>2]|0;Kj(c+(a*108|0)+76|0,(f[e+4>>2]|0)-(f[e>>2]|0)>>2);e=(f[k>>2]|0)+(a*108|0)+88|0;h=f[i>>2]|0;h=(f[h+4>>2]|0)-(f[h>>2]|0)>>2;f[m>>2]=-1;cg(e,h,m);h=f[k>>2]|0;f[h+(a*108|0)+100>>2]=0;qc(h+(a*108|0)+4|0,f[l>>2]|0,f[i>>2]|0,g)|0;a=a+1|0}j=j+1|0;if((j|0)>=(n|0)){a=11;break}}if((a|0)==5)ra(20555,20609,60,20700);else if((a|0)==11){u=o;return 1}return 0}function Sf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=f[b>>2]|0;l=f[b+4>>2]|0;g=f[b+8>>2]|0;j=((k^318)+239^l)+239^g;h=f[a+4>>2]|0;if(!h){m=0;return m|0}d=h+-1|0;c=(d&h|0)==0;if(!c)if(j>>>0>>0)i=j;else i=(j>>>0)%(h>>>0)|0;else i=j&d;b=f[(f[a>>2]|0)+(i<<2)>>2]|0;if(!b){m=0;return m|0}b=f[b>>2]|0;if(!b){m=0;return m|0}if(c){while(1){e=f[b+4>>2]|0;a=(e|0)==(j|0);if(!(a|(e&d|0)==(i|0))){b=0;e=24;break}if(((a?(f[b+8>>2]|0)==(k|0):0)?(f[b+12>>2]|0)==(l|0):0)?(f[b+16>>2]|0)==(g|0):0){e=24;break}b=f[b>>2]|0;if(!b){b=0;e=24;break}}if((e|0)==24)return b|0}else m=b;while(1){b=f[m+4>>2]|0;a=(b|0)==(j|0);if(!a){if(b>>>0>=h>>>0)b=(b>>>0)%(h>>>0)|0;if((b|0)!=(i|0)){b=0;e=24;break}if(a)e=21}else e=21;if((((e|0)==21?(e=0,(f[m+8>>2]|0)==(k|0)):0)?(f[m+12>>2]|0)==(l|0):0)?(f[m+16>>2]|0)==(g|0):0){b=m;e=24;break}m=f[m>>2]|0;if(!m){b=0;e=24;break}}if((e|0)==24)return b|0;return 0}function Tf(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=u;u=u+32|0;e=m;l=a+16|0;d=l;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){u=m;return}i=Qn(f[(f[a+12>>2]|0)+4>>2]|0,0,7,0)|0;i=En(i|0,I|0,3)|0;j=I;if(!(b[a+24>>0]|0)){h=a+4|0;e=h}else{n=f[a>>2]|0;g=a+4|0;n=n+((f[g>>2]|0)-n)|0;h=Qn(c|0,d|0,8,0)|0;h=n+(0-h)|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;b[e+24>>0]=0;kh(i,j,e)|0;d=e+4|0;c=(f[d>>2]|0)-(f[e>>2]|0)|0;fm(h+c|0,h+8|0,i|0)|0;Sg(h|0,f[e>>2]|0,c|0)|0;h=l;c=Qn(f[h>>2]|0,f[h+4>>2]|0,8-c|0,0)|0;h=l;f[h>>2]=c;f[h+4>>2]=I;h=e+12|0;c=f[h>>2]|0;f[h>>2]=0;if(c|0)tq(c);c=f[e>>2]|0;if(c|0){if((f[d>>2]|0)!=(c|0))f[d>>2]=c;tq(c)}d=l;e=g;c=f[d>>2]|0;d=f[d+4>>2]|0;h=g}e=f[e>>2]|0;n=f[a>>2]|0;g=e-n|0;c=co(i|0,j|0,c|0,d|0)|0;c=Qn(c|0,I|0,g|0,0)|0;d=n;if(c>>>0<=g>>>0){if(c>>>0>>0?(k=d+c|0,(e|0)!=(k|0)):0)f[h>>2]=k}else Ai(a,c-g|0);n=l;f[n>>2]=0;f[n+4>>2]=0;u=m;return}function Uf(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;m=o;if(b[a+288>>0]|0){u=o;return 1}l=a+8|0;j=f[l>>2]|0;j=(f[j+12>>2]|0)-(f[j+8>>2]|0)|0;n=j>>2;k=a+172|0;zi(k,n+-1|0);if(!((n|0)!=1&(j|0)>0)){u=o;return 1}i=a+12|0;a=0;j=0;while(1){h=f[l>>2]|0;c=f[h+8>>2]|0;if(((f[h+12>>2]|0)-c>>2|0)<=(j|0)){a=5;break}g=f[c+(j<<2)>>2]|0;if(f[g+56>>2]|0){c=f[k>>2]|0;f[c+(a*108|0)>>2]=j;d=f[c+(a*108|0)+76>>2]|0;h=c+(a*108|0)+80|0;e=f[h>>2]|0;if((e|0)!=(d|0))f[h>>2]=e+(~((e+-4-d|0)>>>2)<<2);e=f[i>>2]|0;Kj(c+(a*108|0)+76|0,(f[e+4>>2]|0)-(f[e>>2]|0)>>2);e=(f[k>>2]|0)+(a*108|0)+88|0;h=f[i>>2]|0;h=(f[h+4>>2]|0)-(f[h>>2]|0)>>2;f[m>>2]=-1;cg(e,h,m);h=f[k>>2]|0;f[h+(a*108|0)+100>>2]=0;qc(h+(a*108|0)+4|0,f[l>>2]|0,f[i>>2]|0,g)|0;a=a+1|0}j=j+1|0;if((j|0)>=(n|0)){a=11;break}}if((a|0)==5)ra(20555,20609,60,20700);else if((a|0)==11){u=o;return 1}return 0}function Vf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+16|0;k=m;l=a+36|0;j=a+4|0;i=a+8|0;d=(f[i>>2]|0)-(f[j>>2]|0)>>2;g=a+40|0;b=f[g>>2]|0;c=f[l>>2]|0;e=b-c>>2;if(d>>>0<=e>>>0){if(d>>>0>>0?(h=c+(d<<2)|0,(b|0)!=(h|0)):0)do{e=b+-4|0;f[g>>2]=e;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Ra[f[(f[b>>2]|0)+4>>2]&127](b);b=f[g>>2]|0}while((b|0)!=(h|0))}else yg(l,d-e|0);if((f[i>>2]|0)==(f[j>>2]|0)){a=1;u=m;return a|0}d=a+52|0;c=a+48|0;e=0;while(1){Ta[f[(f[a>>2]|0)+56>>2]&15](k,a,e);h=(f[l>>2]|0)+(e<<2)|0;g=f[k>>2]|0;f[k>>2]=0;b=f[h>>2]|0;f[h>>2]=g;if(b|0)Ra[f[(f[b>>2]|0)+4>>2]&127](b);b=f[k>>2]|0;f[k>>2]=0;if(b|0)Ra[f[(f[b>>2]|0)+4>>2]&127](b);b=f[(f[l>>2]|0)+(e<<2)>>2]|0;if(!b){b=0;c=19;break}if(e>>>0<(f[d>>2]|0)>>>0?f[(f[c>>2]|0)+(e>>>5<<2)>>2]&1<<(e&31)|0:0)hp(b);e=e+1|0;if(e>>>0>=(f[i>>2]|0)-(f[j>>2]|0)>>2>>>0){b=1;c=19;break}}if((c|0)==19){u=m;return b|0}return 0}function Wf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=u;u=u+16|0;j=l+4|0;i=l;Th(f[c+12>>2]|0,b)|0;d=f[c+8>>2]|0;a:do if(d|0){k=b+16|0;h=b+4|0;while(1){e=d;if(!(xf(0,b,e+8|0)|0)){d=0;break}m=e+20|0;g=(f[e+24>>2]|0)-(f[m>>2]|0)|0;Th(g,b)|0;e=f[m>>2]|0;m=k;n=f[m+4>>2]|0;if(!((n|0)>0|(n|0)==0&(f[m>>2]|0)>>>0>0)){f[i>>2]=f[h>>2];f[j>>2]=f[i>>2];Me(b,j,e,e+g|0)|0}d=f[d>>2]|0;if(!d)break a}u=l;return d|0}while(0);Th(f[c+32>>2]|0,b)|0;d=f[c+28>>2]|0;if(!d){n=1;u=l;return n|0}while(1){e=d;if(!(xf(0,b,e+8|0)|0)){d=0;e=10;break}Wf(a,b,f[e+20>>2]|0)|0;d=f[d>>2]|0;if(!d){d=1;e=10;break}}if((e|0)==10){u=l;return d|0}return 0}function Xf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f[a+4>>2]=f[b+4>>2];j=a+8|0;k=b+8|0;if((a|0)==(b|0))return a|0;i=b+12|0;c=f[i>>2]|0;if(!c)c=0;else{h=a+16|0;do if(c>>>0>f[h>>2]<<5>>>0){d=f[j>>2]|0;if(d){tq(d);f[j>>2]=0;f[h>>2]=0;f[a+12>>2]=0;c=f[i>>2]|0}if((c|0)<0)Jp(j);else{e=((c+-1|0)>>>5)+1|0;g=en(e<<2)|0;f[j>>2]=g;f[a+12>>2]=0;f[h>>2]=e;e=f[i>>2]|0;break}}else{e=c;g=f[j>>2]|0}while(0);fm(g|0,f[k>>2]|0,((e+-1|0)>>>5<<2)+4|0)|0;c=f[i>>2]|0}f[a+12>>2]=c;h=a+20|0;i=b+20|0;g=b+24|0;c=f[g>>2]|0;if(!c)c=0;else{e=a+28|0;do if(c>>>0>f[e>>2]<<5>>>0){d=f[h>>2]|0;if(d){tq(d);f[h>>2]=0;f[e>>2]=0;f[a+24>>2]=0;c=f[g>>2]|0}if((c|0)<0)Jp(h);else{l=((c+-1|0)>>>5)+1|0;m=en(l<<2)|0;f[h>>2]=m;f[a+24>>2]=0;f[e>>2]=l;l=f[g>>2]|0;break}}else{l=c;m=f[h>>2]|0}while(0);fm(m|0,f[i>>2]|0,((l+-1|0)>>>5<<2)+4|0)|0;c=f[g>>2]|0}f[a+24>>2]=c;return a|0}function Yf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+16|0;k=m;if(!(hh(a,c,d)|0)){l=0;u=m;return l|0}if((b[(f[a+8>>2]|0)+24>>0]|0)!=3){l=0;u=m;return l|0}i=f[c+48>>2]|0;c=en(32)|0;f[k>>2]=c;f[k+8>>2]=-2147483616;f[k+4>>2]=17;e=c;g=17770;h=e+17|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));b[c+17>>0]=0;h=i+16|0;e=f[h>>2]|0;if(e){c=h;a:while(1){g=e;while(1){if((f[g+16>>2]|0)>=(d|0))break;e=f[g+4>>2]|0;if(!e)break a;else g=e}e=f[g>>2]|0;if(!e){c=g;break}else c=g}if(((c|0)!=(h|0)?(f[c+16>>2]|0)<=(d|0):0)?(j=c+20|0,(Qh(j,k)|0)!=0):0)c=Dk(j,k,-1)|0;else l=12}else l=12;if((l|0)==12)c=Dk(i,k,-1)|0;if((b[k+11>>0]|0)<0)tq(f[k>>2]|0);if((c|0)<1){l=0;u=m;return l|0}So(a+40|0,c);l=1;u=m;return l|0}function Zf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;f[c>>2]=1;e=a+4|0;l=c+8|0;k=c+12|0;c=f[l>>2]|0;d=(f[k>>2]|0)-c|0;if(d>>>0<4294967292){Ck(l,d+4|0,0);c=f[l>>2]|0}j=c+d|0;i=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[j>>0]=i;b[j+1>>0]=i>>8;b[j+2>>0]=i>>16;b[j+3>>0]=i>>24;j=a+8|0;i=a+12|0;c=f[j>>2]|0;if((f[i>>2]|0)!=(c|0)){g=0;do{d=c+(g<<2)|0;c=f[l>>2]|0;e=(f[k>>2]|0)-c|0;if(e>>>0<4294967292){Ck(l,e+4|0,0);c=f[l>>2]|0}c=c+e|0;e=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[c>>0]=e;b[c+1>>0]=e>>8;b[c+2>>0]=e>>16;b[c+3>>0]=e>>24;g=g+1|0;c=f[j>>2]|0}while(g>>>0<(f[i>>2]|0)-c>>2>>>0)}e=a+20|0;d=f[l>>2]|0;c=(f[k>>2]|0)-d|0;if(c>>>0<4294967292){Ck(l,c+4|0,0);l=f[l>>2]|0;l=l+c|0;k=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[l>>0]=k;b[l+1>>0]=k>>8;b[l+2>>0]=k>>16;b[l+3>>0]=k>>24;return}else{l=d;l=l+c|0;k=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[l>>0]=k;b[l+1>>0]=k>>8;b[l+2>>0]=k>>16;b[l+3>>0]=k>>24;return}}function _f(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=c;e=b;j=k-e|0;h=j>>2;i=a+8|0;d=f[i>>2]|0;g=f[a>>2]|0;l=g;if(h>>>0>d-g>>2>>>0){e=g;if(g){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(l|0))f[c>>2]=d+(~((d+-4-g|0)>>>2)<<2);tq(e);f[i>>2]=0;f[c>>2]=0;f[a>>2]=0;d=0}if(h>>>0>1073741823)Jp(a);l=d>>1;d=d>>2>>>0<536870911?(l>>>0>>0?h:l):1073741823;if(d>>>0>1073741823)Jp(a);e=en(d<<2)|0;c=a+4|0;f[c>>2]=e;f[a>>2]=e;f[i>>2]=e+(d<<2);if((j|0)<=0)return;Sg(e|0,b|0,j|0)|0;f[c>>2]=e+(j>>>2<<2);return}a=a+4|0;d=f[a>>2]|0;i=d-g>>2;j=h>>>0>i>>>0;i=j?b+(i<<2)|0:c;g=d;h=d;if((i|0)==(b|0))d=l;else{e=i+-4-e|0;d=b;c=l;while(1){f[c>>2]=f[d>>2];d=d+4|0;if((d|0)==(i|0))break;else c=c+4|0}d=l+((e>>>2)+1<<2)|0}if(j){d=k-i|0;if((d|0)<=0)return;Sg(h|0,i|0,d|0)|0;f[a>>2]=(f[a>>2]|0)+(d>>>2<<2);return}else{if((g|0)==(d|0))return;f[a>>2]=g+(~((g+-4-d|0)>>>2)<<2);return}}function $f(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=u;u=u+48|0;n=p+40|0;m=p+32|0;j=p+8|0;k=p;l=p+24|0;o=p+16|0;g=a+4|0;q=f[g>>2]|0;d=f[b>>2]|0;b=f[b+4>>2]|0;e=c;h=f[e>>2]|0;e=f[e+4>>2]|0;i=h-d<<3;f[g>>2]=q-b+e+i;g=(f[a>>2]|0)+(q>>>5<<2)|0;a=q&31;c=g;if((b|0)!=(a|0)){q=j;f[q>>2]=d;f[q+4>>2]=b;q=k;f[q>>2]=h;f[q+4>>2]=e;f[l>>2]=c;f[l+4>>2]=a;f[m>>2]=f[j>>2];f[m+4>>2]=f[j+4>>2];f[n>>2]=f[k>>2];f[n+4>>2]=f[k+4>>2];xe(o,m,n,l);u=p;return}e=e-b+i|0;a=d;if((e|0)>0){if(!b){h=a;c=e;b=0}else{h=32-b|0;c=(e|0)<(h|0)?e:h;h=-1>>>(h-c|0)&-1<>2]=f[g>>2]&~h|f[a>>2]&h;b=c+b|0;h=a+4|0;g=g+(b>>>5<<2)|0;d=h;c=e-c|0;b=b&31}e=(c|0)/32|0;fm(g|0,d|0,e<<2|0)|0;d=c-(e<<5)|0;a=g+(e<<2)|0;c=a;if((d|0)>0){b=-1>>>(32-d|0);f[a>>2]=f[a>>2]&~b|f[h+(e<<2)>>2]&b;b=d}}f[o>>2]=c;f[o+4>>2]=b;u=p;return}function ag(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;n=o;g=a+72|0;c=f[g>>2]|0;e=a+76|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);f[g>>2]=0;f[e>>2]=0;f[a+80>>2]=0;if(c|0)tq(c);e=a+60|0;c=f[e>>2]|0;d=a+64|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;f[e>>2]=0;f[d>>2]=0;f[a+68>>2]=0;if(c|0)tq(c);l=b+4|0;c=f[l>>2]|0;d=f[b>>2]|0;j=((c-d|0)/12|0)*3|0;i=a+4|0;h=f[i>>2]|0;e=f[a>>2]|0;k=h-e>>2;g=d;if(j>>>0<=k>>>0){if(j>>>0>>0?(m=e+(j<<2)|0,(h|0)!=(m|0)):0)f[i>>2]=h+(~((h+-4-m|0)>>>2)<<2)}else{ri(a,j-k|0);g=f[b>>2]|0;d=g;c=f[l>>2]|0}if((c-d|0)>0){e=f[a>>2]|0;d=(c-g|0)/12|0;c=0;do{b=c*3|0;f[e+(b<<2)>>2]=f[g+(c*12|0)>>2];f[e+(b+1<<2)>>2]=f[g+(c*12|0)+4>>2];f[e+(b+2<<2)>>2]=f[g+(c*12|0)+8>>2];c=c+1|0}while((c|0)<(d|0))}f[n>>2]=-1;if(!(gc(a,n)|0)){a=0;u=o;return a|0}lb(a,f[n>>2]|0)|0;a=1;u=o;return a|0}function bg(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;n=q+4|0;m=q;f[a+52>>2]=e;f[a+44>>2]=g;k=qq(e>>>0>1073741823?-1:e<<2)|0;l=a+48|0;d=f[l>>2]|0;f[l>>2]=k;if(d|0)rq(d);k=a+36|0;g=f[k>>2]|0;h=f[g+4>>2]|0;i=f[g>>2]|0;d=h-i|0;if((d|0)<=0){u=q;return 1}d=(d>>>2)+-1|0;j=a+8|0;if(h-i>>2>>>0>d>>>0){o=i;p=d}else{i=g;Jp(i)}while(1){f[m>>2]=f[o+(p<<2)>>2];f[n>>2]=f[m>>2];wc(a,n,b,p);o=X(p,e)|0;bi(j,b+(o<<2)|0,f[l>>2]|0,c+(o<<2)|0);p=p+-1|0;if((p|0)<=-1){g=5;break}d=f[k>>2]|0;o=f[d>>2]|0;if((f[d+4>>2]|0)-o>>2>>>0<=p>>>0){g=6;break}}if((g|0)==5){u=q;return 1}else if((g|0)==6)Jp(d);return 0}function cg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;i=a+8|0;d=f[i>>2]|0;h=f[a>>2]|0;j=h;do if(d-h>>2>>>0>=b>>>0){a=a+4|0;i=f[a>>2]|0;h=i-h>>2;g=h>>>0>>0;d=g?h:b;if(d|0){e=j;while(1){f[e>>2]=f[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}}if(!g){d=j+(b<<2)|0;if((i|0)==(d|0))return;else{e=a;d=i+(~((i+-4-d|0)>>>2)<<2)|0;break}}else{g=b-h|0;d=i;e=g;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}e=a;d=i+(g<<2)|0;break}}else{g=h;if(h){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(j|0))f[e>>2]=d+(~((d+-4-h|0)>>>2)<<2);tq(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(b>>>0>1073741823)Jp(a);j=d>>1;d=d>>2>>>0<536870911?(j>>>0>>0?b:j):1073741823;if(d>>>0>1073741823)Jp(a);h=en(d<<2)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<2);d=h;e=b;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}e=g;d=h+(b<<2)|0}while(0);f[e>>2]=d;return}function dg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=f[d>>2]|0;m=f[d+4>>2]|0;a:do if((e|0)==(m|0)){n=a+8|0;o=a+12|0;q=0}else{k=f[c>>2]|0;l=a+8|0;j=a+12|0;d=0;b:while(1){h=f[e>>2]|0;i=f[k+(h<<2)>>2]|0;if((i|0)>=(d|0)){d=f[l>>2]|0;c=(f[j>>2]|0)-d|0;if((c|0)>0){g=c>>2;a=0;do{c=f[d+(a<<2)>>2]|0;if(b[c+84>>0]|0)break b;c=f[c+68>>2]|0;f[c+(i<<2)>>2]=f[c+(h<<2)>>2];a=a+1|0}while((a|0)<(g|0))}d=i+1|0}e=e+4|0;if((e|0)==(m|0)){n=l;o=j;q=d;break a}}ra(20425,20444,89,20538)}while(0);c=f[o>>2]|0;d=f[n>>2]|0;if((c-d|0)>0)j=0;else return;do{g=f[d+(j<<2)>>2]|0;b[g+84>>0]=0;h=g+68|0;g=g+72|0;e=f[g>>2]|0;a=f[h>>2]|0;i=e-a>>2;if(q>>>0<=i>>>0){if(q>>>0>>0?(p=a+(q<<2)|0,(e|0)!=(p|0)):0)f[g>>2]=e+(~((e+-4-p|0)>>>2)<<2)}else{ph(h,q-i|0,6108);d=f[n>>2]|0;c=f[o>>2]|0}j=j+1|0}while((j|0)<(c-d>>2|0));return}function eg(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;n=q+4|0;m=q;f[a+52>>2]=e;f[a+44>>2]=g;k=qq(e>>>0>1073741823?-1:e<<2)|0;l=a+48|0;d=f[l>>2]|0;f[l>>2]=k;if(d|0)rq(d);k=a+36|0;g=f[k>>2]|0;h=f[g+4>>2]|0;i=f[g>>2]|0;d=h-i|0;if((d|0)<=0){u=q;return 1}d=(d>>>2)+-1|0;j=a+8|0;if(h-i>>2>>>0>d>>>0){o=i;p=d}else{i=g;Jp(i)}while(1){f[m>>2]=f[o+(p<<2)>>2];f[n>>2]=f[m>>2];rc(a,n,b,p);o=X(p,e)|0;bi(j,b+(o<<2)|0,f[l>>2]|0,c+(o<<2)|0);p=p+-1|0;if((p|0)<=-1){g=5;break}d=f[k>>2]|0;o=f[d>>2]|0;if((f[d+4>>2]|0)-o>>2>>>0<=p>>>0){g=6;break}}if((g|0)==5){u=q;return 1}else if((g|0)==6)Jp(d);return 0}function fg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;o=q;if(!b){c=0;u=q;return c|0}n=b+96|0;m=b+100|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;b=f[m>>2]|0;a=f[n>>2]|0;e=(b-a|0)/12|0;if(e>>>0>=c>>>0){if(e>>>0>c>>>0?(g=a+(c*12|0)|0,(b|0)!=(g|0)):0)f[m>>2]=b+(~(((b+-12-g|0)>>>0)/12|0)*12|0)}else Eg(n,c-e|0,o);if((c|0)<=0){c=1;u=q;return c|0}a=f[n>>2]|0;k=0;do{h=k*3|0;i=f[d+(h<<2)>>2]|0;j=f[d+(h+1<<2)>>2]|0;h=f[d+(h+2<<2)>>2]|0;e=f[m>>2]|0;g=(e-a|0)/12|0;b=a;l=k;k=k+1|0;if((l|0)>=(g|0)){f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;if(k>>>0<=g>>>0){if(k>>>0>>0?(p=b+(k*12|0)|0,(e|0)!=(p|0)):0)f[m>>2]=e+(~(((e+-12-p|0)>>>0)/12|0)*12|0)}else{Eg(n,k-g|0,o);a=f[n>>2]|0;b=a}}f[b+(l*12|0)>>2]=i;f[b+(l*12|0)+4>>2]=j;f[b+(l*12|0)+8>>2]=h}while((k|0)!=(c|0));a=1;u=q;return a|0}function gg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;j=c;h=d-j|0;i=a+8|0;e=f[i>>2]|0;g=f[a>>2]|0;k=g;if(h>>>0>(e-g|0)>>>0){if(g){e=a+4|0;if((f[e>>2]|0)!=(k|0))f[e>>2]=k;tq(k);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;e=0}if((h|0)<0)Jp(a);g=e<<1;g=e>>>0<1073741823?(g>>>0>>0?h:g):2147483647;if((g|0)<0)Jp(a);e=en(g)|0;h=a+4|0;f[h>>2]=e;f[a>>2]=e;f[i>>2]=e+g;if((c|0)==(d|0))return;do{b[e>>0]=b[c>>0]|0;c=c+1|0;e=(f[h>>2]|0)+1|0;f[h>>2]=e}while((c|0)!=(d|0));return}a=a+4|0;i=(f[a>>2]|0)-g|0;h=h>>>0>i>>>0;i=c+i|0;g=h?i:d;if((g|0)==(c|0))c=k;else{e=k;while(1){b[e>>0]=b[c>>0]|0;c=c+1|0;if((c|0)==(g|0))break;else e=e+1|0}c=k+(g-j)|0}if(!h){if((f[a>>2]|0)==(c|0))return;f[a>>2]=c;return}if((g|0)==(d|0))return;e=f[a>>2]|0;c=i;do{b[e>>0]=b[c>>0]|0;c=c+1|0;e=(f[a>>2]|0)+1|0;f[a>>2]=e}while((c|0)!=(d|0));return}function hg(a){a=a|0;Xk(a);Xk(a+32|0);Xk(a+64|0);Xk(a+96|0);Xk(a+128|0);Xk(a+160|0);Xk(a+192|0);Xk(a+224|0);Xk(a+256|0);Xk(a+288|0);Xk(a+320|0);Xk(a+352|0);Xk(a+384|0);Xk(a+416|0);Xk(a+448|0);Xk(a+480|0);Xk(a+512|0);Xk(a+544|0);Xk(a+576|0);Xk(a+608|0);Xk(a+640|0);Xk(a+672|0);Xk(a+704|0);Xk(a+736|0);Xk(a+768|0);Xk(a+800|0);Xk(a+832|0);Xk(a+864|0);Xk(a+896|0);Xk(a+928|0);Xk(a+960|0);Xk(a+992|0);Xk(a+1024|0);return}function ig(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;h=j;f[h>>2]=b;if((b|0)<=-1)ra(20778,20790,110,20882);i=a+8|0;if(((f[a+12>>2]|0)-(f[i>>2]|0)>>2|0)<=(b|0))sh(i,b+1|0);d=f[(f[c>>2]|0)+56>>2]|0;do if((d|0)<5){g=a+20+(d*12|0)+4|0;e=f[g>>2]|0;if((e|0)==(f[a+20+(d*12|0)+8>>2]|0)){Ji(a+20+(d*12|0)|0,h);break}else{f[e>>2]=b;f[g>>2]=e+4;break}}while(0);g=f[c>>2]|0;a=f[h>>2]|0;f[g+60>>2]=a;a=(f[i>>2]|0)+(a<<2)|0;f[c>>2]=0;b=f[a>>2]|0;f[a>>2]=g;if(!b){u=j;return}a=b+88|0;d=f[a>>2]|0;f[a>>2]=0;if(d|0){e=f[d+8>>2]|0;if(e|0){g=d+12|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;tq(e)}tq(d)}d=f[b+68>>2]|0;if(d|0){g=b+72|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);tq(d)}a=b+64|0;d=f[a>>2]|0;f[a>>2]=0;if(d|0){e=f[d>>2]|0;if(e|0){g=d+4|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;tq(e)}tq(d)}tq(b);u=j;return}function jg(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=$(h);var i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;m=n;l=n+4|0;f[m>>2]=c;c=en(32)|0;f[l>>2]=c;f[l+8>>2]=-2147483616;f[l+4>>2]=17;i=c;j=17770;k=i+17|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[c+17>>0]=0;Ij(Ed(a,m)|0,l,d);if((b[l+11>>0]|0)<0)tq(f[l>>2]|0);c=en(32)|0;f[l>>2]=c;f[l+8>>2]=-2147483616;f[l+4>>2]=19;i=c;j=17713;k=i+19|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[c+19>>0]=0;di(Ed(a,m)|0,l,g,e);if((b[l+11>>0]|0)<0)tq(f[l>>2]|0);c=en(32)|0;f[l>>2]=c;f[l+8>>2]=-2147483616;f[l+4>>2]=18;i=c;j=17733;k=i+18|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[c+18>>0]=0;Ej(Ed(a,m)|0,l,h);if((b[l+11>>0]|0)>=0){u=n;return}tq(f[l>>2]|0);u=n;return}function kg(a,c,d){a=a|0;c=c|0;d=d|0;var e=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,v=0,w=0;s=u;u=u+16|0;r=s+4|0;q=s;n=a+8|0;g=f[n>>2]|0;a=f[g+40>>2]|0;p=qq((a|0)>-1?a:-1)|0;l=c+4|0;h=f[l>>2]|0;e=f[c>>2]|0;if((h|0)==(e|0)){rq(p);u=s;return 1}o=d+16|0;m=d+4|0;k=p+a|0;i=g;j=g;g=0;while(1){a=f[e+(g<<2)>>2]|0;if(!(b[i+84>>0]|0))a=f[(f[i+68>>2]|0)+(a<<2)>>2]|0;t=j+48|0;v=f[t>>2]|0;t=f[t+4>>2]|0;w=j+40|0;i=f[w>>2]|0;a=dn(i|0,f[w+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Qn(a|0,I|0,v|0,t|0)|0;Sg(p|0,(f[f[j>>2]>>2]|0)+a|0,i|0)|0;j=o;i=f[j+4>>2]|0;if((i|0)>0|(i|0)==0&(f[j>>2]|0)>>>0>0)a=h;else{f[q>>2]=f[m>>2];f[r>>2]=f[q>>2];Me(d,r,p,k)|0;e=f[c>>2]|0;a=f[l>>2]|0}g=g+1|0;if(g>>>0>=a-e>>2>>>0)break;j=f[n>>2]|0;i=j;h=a}rq(p);u=s;return 1}function lg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+16|0;n=p;d=f[b>>2]|0;f[n>>2]=d;l=a+12|0;c=(d|0)<0;b=d+1|0;do if(!c){f[n+4>>2]=((b|0)%3|0|0)==0?d+-2|0:b;if(!((d>>>0)%3|0)){b=d+2|0;break}else{b=d+-1|0;break}}else{f[n+4>>2]=d;b=d}while(0);f[n+8>>2]=b;j=c?-1073741824:(d>>>0)/3|0;i=a+28|0;k=(f[i>>2]|0)+(j>>>5<<2)|0;f[k>>2]=1<<(j&31)|f[k>>2];k=a+172|0;j=a+176|0;h=a+280|0;c=d;b=0;while(1){if((((c|0)>=0?(o=f[(f[(f[l>>2]|0)+12>>2]|0)+(c<<2)>>2]|0,(o|0)>=0):0)?(g=(o>>>0)/3|0,(f[(f[i>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0)==0):0)?(m=f[k>>2]|0,(f[j>>2]|0)!=(m|0)):0){g=c>>>5;e=1<<(c&31);c=m;a=0;do{d=(f[h>>2]|0)+(a<<5)|0;if(!(e&f[(f[c+(a*108|0)+4>>2]|0)+(g<<2)>>2]))cj(d,0);else cj(d,1);a=a+1|0;c=f[k>>2]|0}while(a>>>0<(((f[j>>2]|0)-c|0)/108|0)>>>0)}b=b+1|0;if((b|0)==3)break;c=f[n+(b<<2)>>2]|0}u=p;return 1}function mg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=a+4|0;g=f[e>>2]|0;if(!g){f[c>>2]=e;o=e;return o|0}m=b[d+11>>0]|0;l=m<<24>>24<0;m=l?f[d+4>>2]|0:m&255;l=l?f[d>>2]|0:d;d=a+4|0;while(1){h=g+16|0;a=b[h+11>>0]|0;j=a<<24>>24<0;a=j?f[g+20>>2]|0:a&255;i=a>>>0>>0;e=i?a:m;if((e|0)!=0?(o=jl(l,j?f[h>>2]|0:h,e)|0,(o|0)!=0):0)if((o|0)<0)k=8;else k=10;else if(m>>>0>>0)k=8;else k=10;if((k|0)==8){e=f[g>>2]|0;if(!e){k=9;break}else d=g}else if((k|0)==10){k=0;e=m>>>0>>0?m:a;if((e|0)!=0?(n=jl(j?f[h>>2]|0:h,l,e)|0,(n|0)!=0):0){if((n|0)>=0){k=16;break}}else k=12;if((k|0)==12?(0,!i):0){k=16;break}d=g+4|0;e=f[d>>2]|0;if(!e){k=15;break}}g=e}if((k|0)==9){f[c>>2]=g;o=g;return o|0}else if((k|0)==15){f[c>>2]=g;o=d;return o|0}else if((k|0)==16){f[c>>2]=g;o=d;return o|0}return 0}function ng(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=a+4|0;c=f[n>>2]|0;m=f[a>>2]|0;g=m;do if((c|0)==(m|0)){m=a+8|0;d=f[m>>2]|0;l=a+12|0;k=f[l>>2]|0;e=k;if(d>>>0>>0){a=d;i=((e-a>>2)+1|0)/2|0;g=d+(i<<2)|0;e=a-c|0;a=e>>2;h=g+(0-a<<2)|0;if(!a)c=g;else{fm(h|0,c|0,e|0)|0;d=f[m>>2]|0;c=h}f[n>>2]=c;f[m>>2]=d+(i<<2);break}e=e-g>>1;e=(e|0)==0?1:e;if(e>>>0>1073741823){b=sa(8)|0;xo(b,20710);f[b>>2]=7152;wa(b|0,1112,107)}h=en(e<<2)|0;i=h;k=h+((e+3|0)>>>2<<2)|0;j=k;h=h+(e<<2)|0;if((c|0)==(d|0))d=j;else{e=k;g=j;do{f[e>>2]=f[c>>2];e=g+4|0;g=e;c=c+4|0}while((c|0)!=(d|0));c=f[a>>2]|0;d=g}f[a>>2]=i;f[n>>2]=j;f[m>>2]=d;f[l>>2]=h;if(!c)c=k;else{tq(c);c=f[n>>2]|0}}while(0);f[c+-4>>2]=f[b>>2];f[n>>2]=(f[n>>2]|0)+-4;return}function og(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=u;u=u+16|0;h=l+8|0;i=l+4|0;g=l;k=a+12|0;j=a+4|0;c=f[j>>2]|0;if((c|0)==(f[a+8>>2]|0)){Ji(a,k);c=f[j>>2]|0}else{f[c>>2]=f[k>>2];c=c+4|0;f[j>>2]=c}d=f[a>>2]|0;f[g>>2]=c-d;e=b+16|0;c=e;m=f[c+4>>2]|0;if(!((m|0)>0|(m|0)==0&(f[c>>2]|0)>>>0>0)){f[i>>2]=f[b+4>>2];f[h>>2]=f[i>>2];Me(b,h,g,g+4|0)|0;d=f[a>>2]|0;c=f[g>>2]|0;m=e;g=f[m+4>>2]|0;if(!((g|0)>0|(g|0)==0&(f[m>>2]|0)>>>0>0)){f[i>>2]=f[b+4>>2];f[h>>2]=f[i>>2];Me(b,h,d,d+c|0)|0;d=f[a>>2]|0}}c=f[j>>2]|0;if((c|0)==(d|0)){f[k>>2]=0;m=a+16|0;f[m>>2]=0;u=l;return}f[j>>2]=c+(~((c+-4-d|0)>>>2)<<2);f[k>>2]=0;m=a+16|0;f[m>>2]=0;u=l;return}function pg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;d=h+4|0;e=h;g=a+8|0;c=f[g>>2]|0;Kj(f[a+4>>2]|0,(f[c+56>>2]|0)-(f[c+52>>2]|0)>>2);c=a+84|0;a=f[c>>2]|0;if(!a){c=f[(f[g>>2]|0)+64>>2]|0;c=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;a=(c>>>0)/3|0;if(c>>>0<=2){u=h;return 1}b=0;do{f[e>>2]=b*3;f[d>>2]=f[e>>2];oc(g,d);b=b+1|0}while((b|0)<(a|0));u=h;return 1}else{b=f[a>>2]|0;if((f[a+4>>2]|0)==(b|0)){u=h;return 1}a=0;do{f[e>>2]=f[b+(a<<2)>>2];f[d>>2]=f[e>>2];oc(g,d);a=a+1|0;i=f[c>>2]|0;b=f[i>>2]|0}while(a>>>0<(f[i+4>>2]|0)-b>>2>>>0);u=h;return 1}return 0}function qg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=c;i=b;j=k-i|0;g=j>>2;h=a+8|0;d=f[h>>2]|0;l=f[a>>2]|0;m=l;if(g>>>0<=d-l>>2>>>0){j=a+4|0;e=(f[j>>2]|0)-l>>2;h=g>>>0>e>>>0;g=h?b+(e<<2)|0:c;e=g;c=e-i|0;d=c>>2;if(d|0)fm(l|0,b|0,c|0)|0;c=m+(d<<2)|0;if(h){d=k-e|0;if((d|0)<=0)return;Sg(f[j>>2]|0,g|0,d|0)|0;f[j>>2]=(f[j>>2]|0)+(d>>>2<<2);return}else{d=f[j>>2]|0;if((d|0)==(c|0))return;f[j>>2]=d+(~((d+-4-c|0)>>>2)<<2);return}}e=l;if(l){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(m|0))f[c>>2]=d+(~((d+-4-l|0)>>>2)<<2);tq(e);f[h>>2]=0;f[c>>2]=0;f[a>>2]=0;d=0}if(g>>>0>1073741823)Jp(a);m=d>>1;d=d>>2>>>0<536870911?(m>>>0>>0?g:m):1073741823;if(d>>>0>1073741823)Jp(a);e=en(d<<2)|0;c=a+4|0;f[c>>2]=e;f[a>>2]=e;f[h>>2]=e+(d<<2);if((j|0)<=0)return;Sg(e|0,b|0,j|0)|0;f[c>>2]=e+(j>>>2<<2);return}function rg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m;k=a+40|0;j=(f[c>>2]|0)+(f[k>>2]|0)|0;e=a+24|0;i=f[a+32>>2]|0;if(i>>>0<=16383)ra(19296,19703,356,19326);if(i>>>0>=4194304)ra(19336,19703,357,19326);d=i+-16384|0;do if(d>>>0>=64){g=a+28|0;a=(f[e>>2]|0)+(f[g>>2]|0)|0;if(d>>>0<16384){b[a>>0]=i;h=2;e=a+1|0;a=g;d=i>>>8;break}else{d=i+8372224|0;b[a>>0]=d;b[a+1>>0]=d>>>8;h=3;e=a+2|0;a=g;d=d>>>16;break}}else{a=a+28|0;h=1;e=(f[e>>2]|0)+(f[a>>2]|0)|0}while(0);b[e>>0]=d;h=(f[a>>2]|0)+h|0;i=((h|0)<0)<<31>>31;pn(l);kh(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;fm(j+g|0,j|0,h|0)|0;Sg(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=Qn(g|0,0,h|0,i|0)|0;k=Qn(j|0,I|0,d|0,k|0)|0;tl(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)tq(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;tq(d);u=m;return}function sg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+16|0;i=m+4|0;j=m;l=m+8|0;k=a+4|0;if((f[k>>2]|0)==-1){l=0;u=m;return l|0}g=f[a+8>>2]|0;h=c+16|0;e=h;d=f[e>>2]|0;e=f[e+4>>2]|0;if(!((e|0)>0|(e|0)==0&d>>>0>0)){e=(f[a+12>>2]|0)-g|0;f[j>>2]=f[c+4>>2];f[i>>2]=f[j>>2];Me(c,i,g,g+e|0)|0;e=h;d=f[e>>2]|0;e=f[e+4>>2]|0;g=a+20|0;if(!((e|0)>0|(e|0)==0&d>>>0>0)){f[j>>2]=f[c+4>>2];f[i>>2]=f[j>>2];Me(c,i,g,g+4|0)|0;d=h;e=f[d+4>>2]|0;d=f[d>>2]|0}}b[l>>0]=f[k>>2];if(!((e|0)>0|(e|0)==0&d>>>0>0)){f[j>>2]=f[c+4>>2];f[i>>2]=f[j>>2];Me(c,i,l,l+1|0)|0}l=1;u=m;return l|0}function tg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;j=c;h=d-j|0;i=a+8|0;e=f[i>>2]|0;g=f[a>>2]|0;k=g;if(h>>>0>(e-g|0)>>>0){if(g){e=a+4|0;if((f[e>>2]|0)!=(k|0))f[e>>2]=k;tq(k);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;e=0}if((h|0)<0)Jp(a);g=e<<1;g=e>>>0<1073741823?(g>>>0>>0?h:g):2147483647;if((g|0)<0)Jp(a);e=en(g)|0;h=a+4|0;f[h>>2]=e;f[a>>2]=e;f[i>>2]=e+g;if((c|0)==(d|0))return;do{b[e>>0]=b[c>>0]|0;c=c+1|0;e=(f[h>>2]|0)+1|0;f[h>>2]=e}while((c|0)!=(d|0));return}else{a=a+4|0;i=(f[a>>2]|0)-g|0;h=h>>>0>i>>>0;i=c+i|0;g=h?i:d;e=g-j|0;if(e|0)fm(k|0,c|0,e|0)|0;c=k+e|0;if(!h){if((f[a>>2]|0)==(c|0))return;f[a>>2]=c;return}if((g|0)==(d|0))return;e=f[a>>2]|0;c=i;do{b[e>>0]=b[c>>0]|0;c=c+1|0;e=(f[a>>2]|0)+1|0;f[a>>2]=e}while((c|0)!=(d|0));return}}function ug(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=a+8|0;c=f[n>>2]|0;l=a+12|0;m=f[l>>2]|0;e=m;h=c;do if((c|0)==(m|0)){m=a+4|0;k=f[m>>2]|0;d=f[a>>2]|0;g=d;if(k>>>0>d>>>0){c=k;g=((c-g>>2)+1|0)/-2|0;e=k+(g<<2)|0;c=h-c|0;d=c>>2;if(!d)c=k;else{fm(e|0,k|0,c|0)|0;c=f[m>>2]|0}a=e+(d<<2)|0;f[n>>2]=a;f[m>>2]=c+(g<<2);c=a;break}e=e-g>>1;e=(e|0)==0?1:e;if(e>>>0>1073741823){b=sa(8)|0;xo(b,20710);f[b>>2]=7152;wa(b|0,1112,107)}h=en(e<<2)|0;i=h;g=h+(e>>>2<<2)|0;j=g;h=h+(e<<2)|0;if((k|0)==(c|0))c=j;else{e=g;d=k;g=j;do{f[e>>2]=f[d>>2];e=g+4|0;g=e;d=d+4|0}while((d|0)!=(c|0));d=f[a>>2]|0;c=g}f[a>>2]=i;f[m>>2]=j;f[n>>2]=c;f[l>>2]=h;if(d){tq(d);c=f[n>>2]|0}}while(0);f[c>>2]=f[b>>2];f[n>>2]=(f[n>>2]|0)+4;return}function vg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+8|0;f[c>>2]=f[b>>2];Xf(a+12|0,b+4|0)|0;d=a+44|0;e=b+36|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];if((c|0)==(b|0)){f[a+96>>2]=f[b+88>>2];return}else{_f(a+60|0,f[b+52>>2]|0,f[b+56>>2]|0);_f(a+72|0,f[b+64>>2]|0,f[b+68>>2]|0);_f(a+84|0,f[b+76>>2]|0,f[b+80>>2]|0);f[a+96>>2]=f[b+88>>2];qg(a+100|0,f[b+92>>2]|0,f[b+96>>2]|0);return}}function wg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=f[b>>2]|0;j=f[a>>2]|0;l=f[d>>2]|0;d=f[l>>2]|0;m=(f[l+4>>2]|0)-d>>3;if(m>>>0<=i>>>0)Jp(l);k=d;if(m>>>0<=j>>>0)Jp(l);d=f[k+(i<<3)>>2]|0;e=f[c>>2]|0;if(m>>>0<=e>>>0)Jp(l);h=k+(j<<3)|0;g=(f[k+(e<<3)>>2]|0)>>>0>>0;if(d>>>0<(f[h>>2]|0)>>>0){if(g){f[a>>2]=e;f[c>>2]=j;b=1;return b|0}f[a>>2]=i;f[b>>2]=j;d=f[c>>2]|0;if(m>>>0<=d>>>0)Jp(l);if((f[k+(d<<3)>>2]|0)>>>0>=(f[h>>2]|0)>>>0){b=1;return b|0}f[b>>2]=d;f[c>>2]=j;b=2;return b|0}if(!g){b=0;return b|0}f[b>>2]=e;f[c>>2]=i;d=f[b>>2]|0;e=f[a>>2]|0;if(m>>>0<=d>>>0)Jp(l);if(m>>>0<=e>>>0)Jp(l);if((f[k+(d<<3)>>2]|0)>>>0>=(f[k+(e<<3)>>2]|0)>>>0){b=1;return b|0}f[a>>2]=d;f[b>>2]=e;b=2;return b|0}function xg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+16|0;o=r+4|0;q=r;p=a+4|0;c=f[p>>2]|0;m=a+8|0;d=f[m>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;f[m>>2]=c}l=a+16|0;j=f[l>>2]|0;k=a+20|0;d=f[k>>2]|0;e=j;if((d|0)!=(j|0))f[k>>2]=d+(~((d+-4-e|0)>>>2)<<2);d=f[b>>2]|0;j=f[b+4>>2]|0;if((d|0)==(j|0)){u=r;return}i=a+12|0;h=d;do{d=f[h>>2]|0;f[o>>2]=d;if((c|0)==(f[i>>2]|0)){Ji(p,o);e=f[l>>2]|0}else{f[c>>2]=d;f[m>>2]=c+4}d=f[o>>2]|0;b=f[k>>2]|0;g=b-e>>2;c=e;if((d|0)<(g|0))b=c;else{a=d+1|0;f[q>>2]=-1;if(a>>>0<=g>>>0){if(a>>>0>>0?(n=c+(a<<2)|0,(b|0)!=(n|0)):0)f[k>>2]=b+(~((b+-4-n|0)>>>2)<<2)}else{ph(l,a-g|0,q);e=f[l>>2]|0;d=f[o>>2]|0;c=e}b=c}c=f[m>>2]|0;f[b+(d<<2)>>2]=(c-(f[p>>2]|0)>>2)+-1;h=h+4|0}while((h|0)!=(j|0));u=r;return}function yg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+8|0;e=f[m>>2]|0;l=a+4|0;d=f[l>>2]|0;c=d;if(e-d>>2>>>0>=b>>>0){fj(d|0,0,b<<2|0)|0;f[l>>2]=d+(b<<2);return}g=f[a>>2]|0;d=d-g>>2;j=d+b|0;k=g;if(j>>>0>1073741823)Jp(a);i=e-g|0;h=i>>1;h=i>>2>>>0<536870911?(h>>>0>>0?j:h):1073741823;do if(h)if(h>>>0>1073741823){a=sa(8)|0;xo(a,20710);f[a>>2]=7152;wa(a|0,1112,107)}else{i=en(h<<2)|0;break}else i=0;while(0);e=i+(d<<2)|0;fj(e|0,0,b<<2|0)|0;d=e;b=i+(h<<2)|0;h=i+(j<<2)|0;if((c|0)!=(k|0)){do{c=c+-4|0;j=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=j;e=d+-4|0;d=e}while((c|0)!=(k|0));g=f[a>>2]|0;c=f[l>>2]|0}f[a>>2]=d;f[l>>2]=h;f[m>>2]=b;e=g;if((c|0)!=(e|0))do{c=c+-4|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0)Ra[f[(f[d>>2]|0)+4>>2]&127](d)}while((c|0)!=(e|0));if(!g)return;tq(g);return}function zg(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+16|0;n=r+4|0;m=r;o=a+40|0;f[a+44>>2]=g;l=a+36|0;h=f[l>>2]|0;i=f[h+4>>2]|0;j=f[h>>2]|0;d=i-j|0;if((d|0)<=0){u=r;return 1}d=(d>>>2)+-1|0;k=a+8|0;g=a+48|0;if(i-j>>2>>>0>d>>>0){p=j;q=d}else{a=h;Jp(a)}while(1){f[m>>2]=f[p+(q<<2)>>2];f[n>>2]=f[m>>2];nb(o,n,b,q);p=X(q,e)|0;bi(k,b+(p<<2)|0,g,c+(p<<2)|0);q=q+-1|0;if((q|0)<=-1){g=3;break}d=f[l>>2]|0;p=f[d>>2]|0;if((f[d+4>>2]|0)-p>>2>>>0<=q>>>0){g=4;break}}if((g|0)==3){u=r;return 1}else if((g|0)==4)Jp(d);return 0}function Ag(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=6080;b=f[a+68>>2]|0;if(b|0){d=a+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b)}c=f[a+56>>2]|0;if(c|0){d=a+60|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);tq(c)}b=f[a+44>>2]|0;if(b|0){d=a+48|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b)}b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b)}ai(a+8|0);a=a+4|0;e=f[a>>2]|0;f[a>>2]=0;if(!e)return;d=e+40|0;b=f[d>>2]|0;if(b|0){a=e+44|0;c=f[a>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[a>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0){Mi(c);tq(c)}c=f[a>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}tq(b)}Mi(e);tq(e);return}function Bg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;d=f[a+8>>2]|0;e=f[c>>2]|0;h=(e|0)/3|0;if((e|0)<=-3)ra(20264,20289,63,20366);g=f[d+96>>2]|0;if((h|0)>=(((f[d+100>>2]|0)-g|0)/12|0|0))ra(20371,20289,64,20366);h=f[g+(h*12|0)+(((e|0)%3|0)<<2)>>2]|0;d=f[a+12>>2]|0;f[i>>2]=h;d=f[d+4>>2]|0;g=d+4|0;e=f[g>>2]|0;if((e|0)==(f[d+8>>2]|0))Ji(d,i);else{f[e>>2]=h;f[g>>2]=e+4}h=a+4|0;e=f[h>>2]|0;g=e+4|0;d=f[g>>2]|0;if((d|0)==(f[e+8>>2]|0)){Ji(e,c);i=f[h>>2]|0;c=i+24|0;a=f[c>>2]|0;b=f[b>>2]|0;i=i+12|0;i=f[i>>2]|0;b=i+(b<<2)|0;f[b>>2]=a;b=f[c>>2]|0;b=b+1|0;f[c>>2]=b;u=j;return}else{f[d>>2]=f[c>>2];f[g>>2]=d+4;i=e;c=i+24|0;a=f[c>>2]|0;b=f[b>>2]|0;i=i+12|0;i=f[i>>2]|0;b=i+(b<<2)|0;f[b>>2]=a;b=f[c>>2]|0;b=b+1|0;f[c>>2]=b;u=j;return}}function Cg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;i=n+24|0;j=n+16|0;k=n+8|0;m=n;l=a+4|0;o=f[l>>2]|0;e=f[b>>2]|0;b=f[b+4>>2]|0;h=f[c>>2]|0;d=f[c+4>>2]|0;g=h-e<<3;f[l>>2]=o-b+d+g;l=(f[a>>2]|0)+(o>>>5<<2)|0;a=o&31;c=l;if((b|0)!=(a|0)){f[i>>2]=e;f[i+4>>2]=b;f[j>>2]=h;f[j+4>>2]=d;f[k>>2]=c;f[k+4>>2]=a;Be(m,i,j,k);u=n;return}d=d-b+g|0;a=e;if((d|0)>0){if(!b){h=a;c=d;a=l;b=0}else{h=32-b|0;c=(d|0)<(h|0)?d:h;h=-1>>>(h-c|0)&-1<>2]=f[l>>2]&~h|f[a>>2]&h;b=c+b|0;h=a+4|0;e=h;c=d-c|0;a=l+(b>>>5<<2)|0;b=b&31}g=(c|0)/32|0;fm(a|0,e|0,g<<2|0)|0;d=c-(g<<5)|0;a=a+(g<<2)|0;c=a;if((d|0)>0){b=-1>>>(32-d|0);f[a>>2]=f[a>>2]&~b|f[h+(g<<2)>>2]&b;b=d}}f[m>>2]=c;f[m+4>>2]=b;u=n;return}function Dg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;d=h+4|0;e=h;g=a+8|0;c=f[g>>2]|0;Kj(f[a+4>>2]|0,(f[c+28>>2]|0)-(f[c+24>>2]|0)>>2);c=a+84|0;a=f[c>>2]|0;if(!a){c=f[g>>2]|0;c=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;a=(c>>>0)/3|0;if(c>>>0<=2){u=h;return 1}b=0;do{f[e>>2]=b*3;f[d>>2]=f[e>>2];tc(g,d);b=b+1|0}while((b|0)<(a|0));u=h;return 1}else{b=f[a>>2]|0;if((f[a+4>>2]|0)==(b|0)){u=h;return 1}a=0;do{f[e>>2]=f[b+(a<<2)>>2];f[d>>2]=f[e>>2];tc(g,d);a=a+1|0;i=f[c>>2]|0;b=f[i>>2]|0}while(a>>>0<(f[i+4>>2]|0)-b>>2>>>0);u=h;return 1}return 0}function Eg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;e=f[j>>2]|0;k=a+4|0;d=f[k>>2]|0;if(((e-d|0)/12|0)>>>0>=b>>>0){do{f[d>>2]=f[c>>2];f[d+4>>2]=f[c+4>>2];f[d+8>>2]=f[c+8>>2];d=(f[k>>2]|0)+12|0;f[k>>2]=d;b=b+-1|0}while((b|0)!=0);return}g=f[a>>2]|0;h=(d-g|0)/12|0;d=h+b|0;if(d>>>0>357913941)Jp(a);g=(e-g|0)/12|0;i=g<<1;d=g>>>0<178956970?(i>>>0>>0?d:i):357913941;do if(d)if(d>>>0>357913941){k=sa(8)|0;xo(k,20710);f[k>>2]=7152;wa(k|0,1112,107)}else{e=en(d*12|0)|0;break}else e=0;while(0);i=e+(h*12|0)|0;h=e+(d*12|0)|0;d=i;g=i;do{f[d>>2]=f[c>>2];f[d+4>>2]=f[c+4>>2];f[d+8>>2]=f[c+8>>2];d=g+12|0;g=d;b=b+-1|0}while((b|0)!=0);d=f[a>>2]|0;e=(f[k>>2]|0)-d|0;b=i+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)Sg(b|0,d|0,e|0)|0;f[a>>2]=b;f[k>>2]=g;f[j>>2]=h;if(!d)return;tq(d);return}function Fg(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+16|0;n=r+4|0;m=r;o=a+40|0;f[a+44>>2]=g;l=a+36|0;h=f[l>>2]|0;i=f[h+4>>2]|0;j=f[h>>2]|0;d=i-j|0;if((d|0)<=0){u=r;return 1}d=(d>>>2)+-1|0;k=a+8|0;g=a+48|0;if(i-j>>2>>>0>d>>>0){p=j;q=d}else{a=h;Jp(a)}while(1){f[m>>2]=f[p+(q<<2)>>2];f[n>>2]=f[m>>2];kb(o,n,b,q);p=X(q,e)|0;bi(k,b+(p<<2)|0,g,c+(p<<2)|0);q=q+-1|0;if((q|0)<=-1){g=3;break}d=f[l>>2]|0;p=f[d>>2]|0;if((f[d+4>>2]|0)-p>>2>>>0<=q>>>0){g=4;break}}if((g|0)==3){u=r;return 1}else if((g|0)==4)Jp(d);return 0}function Gg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;g=f[c>>2]|0;f[c>>2]=0;f[i>>2]=g;ig(a,b,i);g=f[i>>2]|0;f[i>>2]=0;if(g|0){i=g+88|0;c=f[i>>2]|0;f[i>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){e=c+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;tq(d)}tq(c)}c=f[g+68>>2]|0;if(c|0){e=g+72|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);tq(c)}i=g+64|0;c=f[i>>2]|0;f[i>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){e=c+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;tq(d)}tq(c)}tq(g)}i=a+84|0;h=a+88|0;c=f[h>>2]|0;g=f[i>>2]|0;a=c-g>>2;if((a|0)>(b|0)){u=j;return}e=b+1|0;d=c;if(e>>>0>a>>>0){uh(i,e-a|0);u=j;return}if(e>>>0>=a>>>0){u=j;return}c=g+(e<<2)|0;if((d|0)==(c|0)){u=j;return}f[h>>2]=d+(~((d+-4-c|0)>>>2)<<2);u=j;return}function Hg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l+4|0;j=l;g=en(32)|0;f[a>>2]=g;f[a+4>>2]=c+4;h=a+8|0;b[h>>0]=0;f[g+16>>2]=f[d>>2];i=g+20|0;f[g+24>>2]=0;f[g+28>>2]=0;c=g+24|0;f[i>>2]=c;a=f[d+4>>2]|0;g=d+8|0;if((a|0)==(g|0)){b[h>>0]=1;u=l;return}e=c;do{c=a+16|0;f[j>>2]=e;f[k>>2]=f[j>>2];Zg(i,k,c,c)|0;c=f[a+4>>2]|0;if(!c){c=a+8|0;d=f[c>>2]|0;if((f[d>>2]|0)==(a|0))a=d;else do{d=f[c>>2]|0;c=d+8|0;a=f[c>>2]|0}while((f[a>>2]|0)!=(d|0))}else{a=c;while(1){c=f[a>>2]|0;if(!c)break;else a=c}}}while((a|0)!=(g|0));b[h>>0]=1;u=l;return}function Ig(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+16|0;j=k;i=a+4|0;f[i>>2]=c;f[a+8>>2]=f[c+52>>2];d=f[a+184>>2]|0;g=a+188|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);d=f[c+48>>2]|0;e=en(32)|0;f[j>>2]=e;f[j+8>>2]=-2147483616;f[j+4>>2]=19;g=e;c=18626;h=g+19|0;do{b[g>>0]=b[c>>0]|0;g=g+1|0;c=c+1|0}while((g|0)<(h|0));b[e+19>>0]=0;d=(Qh(d,j)|0)==0;if((b[j+11>>0]|0)<0)tq(f[j>>2]|0);e=f[(f[i>>2]|0)+48>>2]|0;if(d){j=(gi(e)|0)>5&1;b[a+352>>0]=j;u=k;return 1}d=en(32)|0;f[j>>2]=d;f[j+8>>2]=-2147483616;f[j+4>>2]=19;g=d;c=18626;h=g+19|0;do{b[g>>0]=b[c>>0]|0;g=g+1|0;c=c+1|0}while((g|0)<(h|0));b[d+19>>0]=0;i=(Sj(e,j,0)|0)&1;b[a+352>>0]=i;if((b[j+11>>0]|0)<0)tq(f[j>>2]|0);u=k;return 1}function Jg(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;i=a+108|0;d=(f[a+112>>2]|0)-(f[i>>2]|0)|0;g=(d|0)/12|0;e=a+4|0;Th(g,f[(f[e>>2]|0)+44>>2]|0)|0;if(!d)return 1;a=0;c=0;while(1){j=f[i>>2]|0;d=j+(a*12|0)+4|0;Th((f[d>>2]|0)-c|0,f[(f[e>>2]|0)+44>>2]|0)|0;Th((f[d>>2]|0)-(f[j+(a*12|0)>>2]|0)|0,f[(f[e>>2]|0)+44>>2]|0)|0;a=a+1|0;if(a>>>0>=g>>>0)break;else c=f[d>>2]|0}wi(f[(f[e>>2]|0)+44>>2]|0,g,0,0)|0;c=0;do{a=f[(f[e>>2]|0)+44>>2]|0;j=a+16|0;d=f[j+4>>2]|0;if((d|0)>0|(d|0)==0&(f[j>>2]|0)>>>0>0){l=f[a+12>>2]|0;j=l+4|0;a=f[j>>2]|0;k=b[(f[i>>2]|0)+(c*12|0)+8>>0]&1;d=a>>>3;a=a&7;m=(f[l>>2]|0)+d|0;b[m>>0]=(h[m>>0]|0)&(1<>2]|0)+d|0;b[d>>0]=h[d>>0]|0|k<>2]=(f[j>>2]|0)+1}c=c+1|0}while(c>>>0>>0);Tf(f[(f[e>>2]|0)+44>>2]|0);return 1}function Kg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+80|0;g=e+36|0;h=e;On(g,c);De(h,b,c);Ah(g,h);oj(h+24|0,f[h+28>>2]|0);xj(h+12|0,f[h+16>>2]|0);oj(h,f[h+4>>2]|0);Oi(a,g,d);oj(g+24|0,f[g+28>>2]|0);xj(g+12|0,f[g+16>>2]|0);oj(g,f[g+4>>2]|0);u=e;return}function Lg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+16|0;j=k;i=a+4|0;f[i>>2]=c;f[a+8>>2]=f[c+52>>2];d=f[a+184>>2]|0;g=a+188|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);d=f[c+48>>2]|0;e=en(32)|0;f[j>>2]=e;f[j+8>>2]=-2147483616;f[j+4>>2]=19;g=e;c=18626;h=g+19|0;do{b[g>>0]=b[c>>0]|0;g=g+1|0;c=c+1|0}while((g|0)<(h|0));b[e+19>>0]=0;d=(Qh(d,j)|0)==0;if((b[j+11>>0]|0)<0)tq(f[j>>2]|0);e=f[(f[i>>2]|0)+48>>2]|0;if(d){j=(gi(e)|0)>5&1;b[a+288>>0]=j;u=k;return 1}d=en(32)|0;f[j>>2]=d;f[j+8>>2]=-2147483616;f[j+4>>2]=19;g=d;c=18626;h=g+19|0;do{b[g>>0]=b[c>>0]|0;g=g+1|0;c=c+1|0}while((g|0)<(h|0));b[d+19>>0]=0;i=(Sj(e,j,0)|0)&1;b[a+288>>0]=i;if((b[j+11>>0]|0)<0)tq(f[j>>2]|0);u=k;return 1}function Mg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+4|0;c=f[a>>2]|0;g=(f[j>>2]|0)-c>>2;d=g+1|0;if(d>>>0>1073741823)Jp(a);k=a+8|0;i=(f[k>>2]|0)-c|0;c=i>>1;c=i>>2>>>0<536870911?(c>>>0>>0?d:c):1073741823;do if(c)if(c>>>0>1073741823){a=sa(8)|0;xo(a,20710);f[a>>2]=7152;wa(a|0,1112,107)}else{e=en(c<<2)|0;break}else e=0;while(0);g=e+(g<<2)|0;d=g;i=e+(c<<2)|0;h=f[b>>2]|0;f[b>>2]=0;f[g>>2]=h;h=g+4|0;b=f[a>>2]|0;c=f[j>>2]|0;if((c|0)==(b|0)){g=b;c=b}else{e=g;do{c=c+-4|0;g=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=g;e=d+-4|0;d=e}while((c|0)!=(b|0));g=f[a>>2]|0;c=f[j>>2]|0}f[a>>2]=d;f[j>>2]=h;f[k>>2]=i;e=g;if((c|0)!=(e|0))do{c=c+-4|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0)Ra[f[(f[d>>2]|0)+4>>2]&127](d)}while((c|0)!=(e|0));if(!g)return;tq(g);return}function Ng(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0.0,h=0.0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=u;u=u+16|0;e=o;j=c+1|0;f[e>>2]=0;n=e+4|0;f[n>>2]=0;f[e+8>>2]=0;do if(j)if(j>>>0>1073741823)Jp(e);else{l=en(j<<2)|0;f[e>>2]=l;m=l+(j<<2)|0;f[e+8>>2]=m;fj(l|0,0,(c<<2)+4|0)|0;f[n>>2]=m;k=l;break}else{k=0;l=0;m=0}while(0);if((b|0)>0){e=0;do{p=l+(f[a+(e<<2)>>2]<<2)|0;f[p>>2]=(f[p>>2]|0)+1;e=e+1|0}while((e|0)!=(b|0))}i=+(b|0);if((c|0)<0){e=0;g=0.0}else{b=0;e=0;g=0.0;do{p=f[l+(b<<2)>>2]|0;h=+(p|0);if((p|0)>0){e=e+1|0;g=g+h*+_g(h/i)}b=b+1|0}while((b|0)!=(j|0))}if(d|0)f[d>>2]=e;i=-g;e=~~i>>>0;b=+K(i)>=1.0?(i>0.0?~~+Y(+J(i/4294967296.0),4294967295.0)>>>0:~~+W((i-+(~~i>>>0))/4294967296.0)>>>0):0;if(!l){I=b;u=o;return e|0}if((m|0)!=(l|0))f[n>>2]=m+(~((m+-4-l|0)>>>2)<<2);tq(k);I=b;u=o;return e|0}function Og(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+4|0;c=f[a>>2]|0;g=(f[j>>2]|0)-c>>2;d=g+1|0;if(d>>>0>1073741823)Jp(a);k=a+8|0;i=(f[k>>2]|0)-c|0;c=i>>1;c=i>>2>>>0<536870911?(c>>>0>>0?d:c):1073741823;do if(c)if(c>>>0>1073741823){a=sa(8)|0;xo(a,20710);f[a>>2]=7152;wa(a|0,1112,107)}else{e=en(c<<2)|0;break}else e=0;while(0);g=e+(g<<2)|0;d=g;i=e+(c<<2)|0;h=f[b>>2]|0;f[b>>2]=0;f[g>>2]=h;h=g+4|0;b=f[a>>2]|0;c=f[j>>2]|0;if((c|0)==(b|0)){g=b;c=b}else{e=g;do{c=c+-4|0;g=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=g;e=d+-4|0;d=e}while((c|0)!=(b|0));g=f[a>>2]|0;c=f[j>>2]|0}f[a>>2]=d;f[j>>2]=h;f[k>>2]=i;e=g;if((c|0)!=(e|0))do{c=c+-4|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){Mi(d);tq(d)}}while((c|0)!=(e|0));if(!g)return;tq(g);return}function Pg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+32|0;o=q+16|0;n=q+12|0;p=q;f[a>>2]=0;m=a+4|0;f[m>>2]=0;f[a+8>>2]=0;k=c;e=f[k>>2]|0;k=f[k+4>>2]|0;l=f[d+4>>2]|0;c=l-k|0;if(!c){u=q;return}if(c>>>0>357913941)Jp(a);d=en(c*12|0)|0;f[m>>2]=d;f[a>>2]=d;f[a+8>>2]=d+(c*12|0);if((l|0)==(k|0)){u=q;return}j=e+84|0;g=e+68|0;h=p+4|0;i=p+8|0;a=k;do{f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;if(!(b[j>>0]|0))c=f[(f[g>>2]|0)+(a<<2)>>2]|0;else c=a;f[n>>2]=c;f[o>>2]=f[n>>2];rb(e,o,3,p)|0;f[d>>2]=f[p>>2];f[d+4>>2]=f[h>>2];f[d+8>>2]=f[i>>2];a=a+1|0;d=(f[m>>2]|0)+12|0;f[m>>2]=d}while((a|0)!=(l|0));u=q;return}function Qg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;g=f[d+4>>2]|0;if((c|0)<=-1)ra(20916,20609,59,20700);h=f[g+8>>2]|0;if(((f[g+12>>2]|0)-h>>2|0)<=(c|0))ra(20555,20609,60,20700);g=f[h+(c<<2)>>2]|0;if((b|0)==-1)b=mi(c,d)|0;if((b|0)==-2)b=0;else{do if((Ma[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){$e(a,d,b,c,e,514);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);b=en(44)|0;f[b>>2]=1544;f[b+4>>2]=g;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Qj(b+32|0,e+24|0);f[b>>2]=1600}f[a>>2]=b;return}function Rg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+4|0;d=f[l>>2]|0;do if(d|0){m=b[c+11>>0]|0;k=m<<24>>24<0;m=k?f[c+4>>2]|0:m&255;k=k?f[c>>2]|0:c;a=l;a:while(1){c=d;while(1){e=c+16|0;g=b[e+11>>0]|0;h=g<<24>>24<0;g=h?f[c+20>>2]|0:g&255;d=m>>>0>>0?m:g;if((d|0)!=0?(i=jl(h?f[e>>2]|0:e,k,d)|0,(i|0)!=0):0){if((i|0)>=0)break}else j=6;if((j|0)==6?(j=0,g>>>0>=m>>>0):0)break;c=f[c+4>>2]|0;if(!c)break a}d=f[c>>2]|0;if(!d){a=c;break}else a=c}if((a|0)!=(l|0)){d=a+16|0;e=b[d+11>>0]|0;g=e<<24>>24<0;e=g?f[a+20>>2]|0:e&255;c=e>>>0>>0?e:m;if(c|0?(n=jl(k,g?f[d>>2]|0:d,c)|0,n|0):0){if((n|0)<0)break;return a|0}if(m>>>0>=e>>>0){n=a;return n|0}}}while(0);n=l;return n|0}function Sg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)>=8192)return Ea(a|0,c|0,d|0)|0;h=a|0;g=a+d|0;if((a&3)==(c&3)){while(a&3){if(!d)return h|0;b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0;d=d-1|0}d=g&-4|0;e=d-64|0;while((a|0)<=(e|0)){f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];f[a+16>>2]=f[c+16>>2];f[a+20>>2]=f[c+20>>2];f[a+24>>2]=f[c+24>>2];f[a+28>>2]=f[c+28>>2];f[a+32>>2]=f[c+32>>2];f[a+36>>2]=f[c+36>>2];f[a+40>>2]=f[c+40>>2];f[a+44>>2]=f[c+44>>2];f[a+48>>2]=f[c+48>>2];f[a+52>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];f[a+60>>2]=f[c+60>>2];a=a+64|0;c=c+64|0}while((a|0)<(d|0)){f[a>>2]=f[c>>2];a=a+4|0;c=c+4|0}}else{d=g-4|0;while((a|0)<(d|0)){b[a>>0]=b[c>>0]|0;b[a+1>>0]=b[c+1>>0]|0;b[a+2>>0]=b[c+2>>0]|0;b[a+3>>0]=b[c+3>>0]|0;a=a+4|0;c=c+4|0}}while((a|0)<(g|0)){b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0}return h|0}function Tg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=wg(a,b,c,e)|0;g=f[d>>2]|0;h=f[c>>2]|0;j=f[e>>2]|0;e=f[j>>2]|0;k=(f[j+4>>2]|0)-e>>3;if(k>>>0<=g>>>0)Jp(j);i=e;if(k>>>0<=h>>>0)Jp(j);if((f[i+(g<<3)>>2]|0)>>>0>=(f[i+(h<<3)>>2]|0)>>>0)return l|0;f[c>>2]=g;f[d>>2]=h;e=f[c>>2]|0;g=f[b>>2]|0;if(k>>>0<=e>>>0)Jp(j);if(k>>>0<=g>>>0)Jp(j);if((f[i+(e<<3)>>2]|0)>>>0>=(f[i+(g<<3)>>2]|0)>>>0){l=l+1|0;return l|0}f[b>>2]=e;f[c>>2]=g;e=f[b>>2]|0;g=f[a>>2]|0;if(k>>>0<=e>>>0)Jp(j);if(k>>>0<=g>>>0)Jp(j);if((f[i+(e<<3)>>2]|0)>>>0>=(f[i+(g<<3)>>2]|0)>>>0){l=l+2|0;return l|0}f[a>>2]=e;f[b>>2]=g;l=l+3|0;return l|0}function Ug(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=u;u=u+48|0;i=m+16|0;e=m;d=m+32|0;j=a+28|0;g=f[j>>2]|0;f[d>>2]=g;k=a+20|0;g=(f[k>>2]|0)-g|0;f[d+4>>2]=g;f[d+8>>2]=b;f[d+12>>2]=c;g=g+c|0;h=a+60|0;f[e>>2]=f[h>>2];f[e+4>>2]=d;f[e+8>>2]=2;b=jo(Ba(146,e|0)|0)|0;a:do if((g|0)!=(b|0)){e=2;while(1){if((b|0)<0)break;g=g-b|0;o=f[d+4>>2]|0;n=b>>>0>o>>>0;d=n?d+8|0:d;e=(n<<31>>31)+e|0;o=b-(n?o:0)|0;f[d>>2]=(f[d>>2]|0)+o;n=d+4|0;f[n>>2]=(f[n>>2]|0)-o;f[i>>2]=f[h>>2];f[i+4>>2]=d;f[i+8>>2]=e;b=jo(Ba(146,i|0)|0)|0;if((g|0)==(b|0)){l=3;break a}}f[a+16>>2]=0;f[j>>2]=0;f[k>>2]=0;f[a>>2]=f[a>>2]|32;if((e|0)==2)c=0;else c=c-(f[d+4>>2]|0)|0}else l=3;while(0);if((l|0)==3){o=f[a+44>>2]|0;f[a+16>>2]=o+(f[a+48>>2]|0);f[j>>2]=o;f[k>>2]=o}u=m;return c|0}function Vg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l;d=en(32)|0;f[k>>2]=d;f[k+8>>2]=-2147483616;f[k+4>>2]=17;e=d;g=17665;h=e+17|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));b[d+17>>0]=0;h=c+16|0;e=f[h>>2]|0;if(e){d=h;a:while(1){g=e;while(1){if((f[g+16>>2]|0)>=(a|0))break;e=f[g+4>>2]|0;if(!e)break a;else g=e}e=f[g>>2]|0;if(!e){d=g;break}else d=g}if(((d|0)!=(h|0)?(f[d+16>>2]|0)<=(a|0):0)?(i=d+20|0,(Qh(i,k)|0)!=0):0)c=i;else j=10}else j=10;c=Dk(c,k,-1)|0;if((b[k+11>>0]|0)>=0){j=(c|0)==-1;k=c>>>0>6;k=k?-2:c;k=j?-1:k;u=l;return k|0}tq(f[k>>2]|0);j=(c|0)==-1;k=c>>>0>6;k=k?-2:c;k=j?-1:k;u=l;return k|0}function Wg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+16|0;l=m+4|0;k=m;j=f[c+4>>2]|0;if(!j)ra(13098,13341,70,13505);h=f[c+8>>2]|0;if(!h)ra(13098,13341,70,13505);g=f[c+16>>2]|0;d=f[d>>2]|0;do if((d|0)>=0){e=f[g>>2]|0;if((d|0)<((f[g+4>>2]|0)-e>>2|0)){i=f[e+(d<<2)>>2]|0;break}else ra(20128,20163,98,20248)}else i=-1073741824;while(0);d=f[c+20>>2]|0;e=f[d>>2]|0;if((f[d+4>>2]|0)-e>>2>>>0<=i>>>0)Jp(d);d=f[h+(f[e+(i<<2)>>2]<<2)>>2]|0;if(!(b[j+84>>0]|0))d=f[(f[j+68>>2]|0)+(d<<2)>>2]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[k>>2]=d;i=b[j+24>>0]|0;f[l>>2]=f[k>>2];mb(j,l,i,a)|0;u=m;return}function Xg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+12|0;h=f[a>>2]|0;j=a+8|0;c=f[j>>2]|0;d=(c|0)<0;if(!(b[i>>0]|0)){do if(!d){c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((c|0)>=0){c=f[(f[h+12>>2]|0)+(c<<2)>>2]|0;if((c|0)>=0)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}}}while(0);f[j>>2]=c;return}e=c+1|0;if(!d){c=((e|0)%3|0|0)==0?c+-2|0:e;if((c|0)>=0){c=f[(f[h+12>>2]|0)+(c<<2)>>2]|0;d=c+1|0;if((c|0)>=0){c=((d|0)%3|0|0)==0?c+-2|0:d;f[j>>2]=c;if((c|0)>=0){if((c|0)!=(f[a+4>>2]|0))return;f[j>>2]=-1073741824;return}}else g=5}else g=5}else g=5;if((g|0)==5)f[j>>2]=c;c=f[a+4>>2]|0;do if((c|0)>=0){c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((c|0)>=0){c=f[(f[h+12>>2]|0)+(c<<2)>>2]|0;if((c|0)>=0)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}}}while(0);f[j>>2]=c;b[i>>0]=0;return}function Yg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=a+8|0;wg(a,a+4|0,e,c)|0;d=a+12|0;if((d|0)==(b|0))return;l=f[c>>2]|0;j=f[l>>2]|0;k=(f[l+4>>2]|0)-j>>3;c=e;a:while(1){i=f[d>>2]|0;e=f[c>>2]|0;if(k>>>0<=i>>>0){c=5;break}if(k>>>0<=e>>>0){c=7;break}h=j+(i<<3)|0;if((f[h>>2]|0)>>>0<(f[j+(e<<3)>>2]|0)>>>0){g=d;while(1){f[g>>2]=e;if((c|0)==(a|0)){c=a;break}g=c+-4|0;e=f[g>>2]|0;if(k>>>0<=e>>>0){c=11;break a}if((f[h>>2]|0)>>>0>=(f[j+(e<<3)>>2]|0)>>>0)break;else{m=c;c=g;g=m}}f[c>>2]=i}c=d+4|0;if((c|0)==(b|0)){c=3;break}else{m=d;d=c;c=m}}if((c|0)==3)return;else if((c|0)==5)Jp(l);else if((c|0)==7)Jp(l);else if((c|0)==11)Jp(l)}function Zg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=u;u=u+16|0;e=h+12|0;g=h+8|0;i=h;f[i>>2]=f[b>>2];f[e>>2]=f[i>>2];b=wd(a,e,g,h+4|0,c)|0;c=f[b>>2]|0;if(c|0){i=c;u=h;return i|0}e=en(40)|0;gj(e+16|0,d);gj(e+28|0,d+12|0);c=f[g>>2]|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=c;f[b>>2]=e;c=f[f[a>>2]>>2]|0;if(!c)c=e;else{f[a>>2]=c;c=f[b>>2]|0}Ie(f[a+4>>2]|0,c);i=a+8|0;f[i>>2]=(f[i>>2]|0)+1;i=e;u=h;return i|0}function _g(a){a=+a;var b=0,c=0,d=0,e=0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0;p[s>>3]=a;c=f[s>>2]|0;b=f[s+4>>2]|0;d=(b|0)<0;do if(d|b>>>0<1048576){if((c|0)==0&(b&2147483647|0)==0){a=-1.0/(a*a);break}if(d){a=(a-a)/0.0;break}else{p[s>>3]=a*18014398509481984.0;b=f[s+4>>2]|0;d=f[s>>2]|0;c=-1077;e=9;break}}else if(b>>>0<=2146435071)if((c|0)==0&0==0&(b|0)==1072693248)a=0.0;else{d=c;c=-1023;e=9}while(0);if((e|0)==9){e=b+614242|0;f[s>>2]=d;f[s+4>>2]=(e&1048575)+1072079006;k=+p[s>>3]+-1.0;i=k*k*.5;h=k/(k+2.0);j=h*h;a=j*j;p[s>>3]=k-i;d=f[s+4>>2]|0;f[s>>2]=0;f[s+4>>2]=d;g=+p[s>>3];a=k-g-i+h*(i+(a*(a*(a*.15313837699209373+.22222198432149784)+.3999999999940942)+j*(a*(a*(a*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));j=g*1.4426950407214463;i=+(c+(e>>>20)|0);h=i+j;a=h+(j+(i-h)+(a*1.4426950407214463+(g+a)*1.6751713164886512e-10))}return +a}function $g(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=u;u=u+16|0;l=m;j=a+4|0;f[j>>2]=0;if(!c){u=m;return}i=a+8|0;e=f[i>>2]|0;g=e<<5;if(g>>>0>>0){f[l>>2]=0;k=l+4|0;f[k>>2]=0;h=l+8|0;f[h>>2]=0;if((c|0)<0)Jp(a);e=e<<6;n=c+31&-32;hi(l,g>>>0<1073741823?(e>>>0>>0?n:e):2147483647);e=f[a>>2]|0;f[a>>2]=f[l>>2];f[l>>2]=e;l=f[j>>2]|0;f[j>>2]=c;f[k>>2]=l;l=f[i>>2]|0;f[i>>2]=f[h>>2];f[h>>2]=l;if(e|0)tq(e)}else f[j>>2]=c;a=f[a>>2]|0;g=a;h=c>>>5;e=h<<2;if(!(b[d>>0]|0)){fj(a|0,0,e|0)|0;e=c-(h<<5)|0;a=g+(h<<2)|0;if(!e){u=m;return}f[a>>2]=f[a>>2]&~(-1>>>(32-e|0));u=m;return}else{fj(a|0,-1,e|0)|0;e=c-(h<<5)|0;a=g+(h<<2)|0;if(!e){u=m;return}f[a>>2]=f[a>>2]|-1>>>(32-e|0);u=m;return}}function ah(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0;do if(!(Po(a,f[c+8>>2]|0,g)|0)){h=a+8|0;if(!(Po(a,f[c>>2]|0,g)|0)){j=f[h>>2]|0;Va[f[(f[j>>2]|0)+24>>2]&3](j,c,d,e,g);break}a=c+32|0;if((f[c+16>>2]|0)!=(d|0)?(i=c+20|0,(f[i>>2]|0)!=(d|0)):0){f[a>>2]=e;e=c+44|0;if((f[e>>2]|0)==4)break;a=c+52|0;b[a>>0]=0;k=c+53|0;b[k>>0]=0;h=f[h>>2]|0;Wa[f[(f[h>>2]|0)+20>>2]&3](h,c,d,d,1,g);if(b[k>>0]|0)if(!(b[a>>0]|0)){a=3;j=11}else a=3;else{a=4;j=11}if((j|0)==11){f[i>>2]=d;k=c+40|0;f[k>>2]=(f[k>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0)b[c+54>>0]=1}f[e>>2]=a;break}if((e|0)==1)f[a>>2]=1}else Cm(0,c,d,e);while(0);return}function bh(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;n=a+32|0;m=f[a+64>>2]|0;m=(Ma[f[(f[m>>2]|0)+40>>2]&127](m)|0)+52|0;m=f[m>>2]|0;m=(((f[m+100>>2]|0)-(f[m+96>>2]|0)|0)/12|0)*3|0;wi(n,m,((m|0)<0)<<31>>31,1)|0;m=a+68|0;c=f[m>>2]|0;d=(f[a+72>>2]|0)-c|0;if((d|0)<=0){Tf(n);return}l=a+48|0;j=a+44|0;a=(d>>>2)+-1|0;while(1){c=f[c+(a<<2)>>2]|0;d=f[3412+(c<<2)>>2]|0;i=l;g=f[i+4>>2]|0;if((g|0)>0|(g|0)==0&(f[i>>2]|0)>>>0>0?(k=f[j>>2]|0,171>>>c&1|0):0){i=k+4|0;e=f[i>>2]|0;g=0;do{o=e>>>3;p=e&7;q=(f[k>>2]|0)+o|0;b[q>>0]=(h[q>>0]|0)&(1<>2]|0)+o|0;b[o>>0]=h[o>>0]|0|(c>>>g&1)<>2]|0)+1|0;f[i>>2]=e;g=g+1|0}while((g|0)!=(d|0))}a=a+-1|0;if((a|0)<=-1)break;c=f[m>>2]|0}Tf(n);return}function ch(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;g=f[d+4>>2]|0;if((c|0)<=-1)ra(20916,20609,59,20700);h=f[g+8>>2]|0;if(((f[g+12>>2]|0)-h>>2|0)<=(c|0))ra(20555,20609,60,20700);g=f[h+(c<<2)>>2]|0;if((b|0)==-1)b=mi(c,d)|0;if((b|0)==-2)b=0;else{do if((Ma[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){We(a,d,b,c,e,514);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);b=en(24)|0;f[b+4>>2]=g;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[b>>2]=2448}f[a>>2]=b;return}function dh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;d=a+4|0;i=f[d>>2]|0;i=(f[i+12>>2]|0)-(f[i+8>>2]|0)|0;b=i>>2;a:do if((i|0)>0){c=0;while(1){if(!(Na[f[(f[a>>2]|0)+36>>2]&127](a,c)|0)){b=0;break}c=c+1|0;b=f[d>>2]|0;b=(f[b+12>>2]|0)-(f[b+8>>2]|0)>>2;if((c|0)>=(b|0))break a}return b|0}while(0);i=a+20|0;e=a+24|0;c=f[e>>2]|0;d=f[i>>2]|0;g=c-d>>2;if(b>>>0<=g>>>0){if(b>>>0>>0?(h=d+(b<<2)|0,(c|0)!=(h|0)):0)f[e>>2]=c+(~((c+-4-h|0)>>>2)<<2)}else ri(i,b-g|0);c=f[a+12>>2]|0;b=f[a+8>>2]|0;a=b;if((c|0)==(b|0)){i=1;return i|0}h=c-b>>2;g=0;do{c=f[a+(g<<2)>>2]|0;b=f[c+8>>2]|0;c=f[c+4>>2]|0;d=c;if((b|0)!=(c|0)){e=f[i>>2]|0;c=b-c>>2;b=0;do{f[e+(f[d+(b<<2)>>2]<<2)>>2]=g;b=b+1|0}while(b>>>0>>0)}g=g+1|0}while(g>>>0>>0);b=1;return b|0}function eh(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;h=f[a>>2]|0;if((h|0)<0){j=f[c>>2]|0;f[d>>2]=f[j>>2];f[e>>2]=f[j>>2];b=-1073741824;b=j+(b<<2)|0;b=f[b>>2]|0;f[g>>2]=b;return}a=f[b>>2]|0;if((h|0)>=((f[b+4>>2]|0)-a>>2|0))ra(20128,20163,98,20248);i=f[c>>2]|0;f[d>>2]=f[i+(f[a+(h<<2)>>2]<<2)>>2];c=h+1|0;c=((c|0)%3|0|0)==0?h+-2|0:c;do if((c|0)>=0){a=f[b>>2]|0;if((c|0)<((f[b+4>>2]|0)-a>>2|0)){j=f[a+(c<<2)>>2]|0;break}else ra(20128,20163,98,20248)}else j=-1073741824;while(0);f[e>>2]=f[i+(j<<2)>>2];c=(((h>>>0)%3|0|0)==0?2:-1)+h|0;if((c|0)<0){j=i;b=-1073741824;b=j+(b<<2)|0;b=f[b>>2]|0;f[g>>2]=b;return}a=f[b>>2]|0;if((c|0)>=((f[b+4>>2]|0)-a>>2|0))ra(20128,20163,98,20248);j=i;b=f[a+(c<<2)>>2]|0;b=j+(b<<2)|0;b=f[b>>2]|0;f[g>>2]=b;return}function fh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;k=o+4|0;l=o;f[a>>2]=1232;n=a+4|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;f[n+16>>2]=0;f[n+20>>2]=0;f[n+24>>2]=0;f[n+28>>2]=0;f[k>>2]=b;n=a+4|0;m=a+8|0;Ji(n,k);c=f[k>>2]|0;h=a+20|0;d=f[h>>2]|0;i=a+16|0;b=f[i>>2]|0;g=d-b>>2;if((c|0)<(g|0)){k=b;l=c;j=f[m>>2]|0;m=f[n>>2]|0;m=j-m|0;m=m>>2;m=m+-1|0;n=k+(l<<2)|0;f[n>>2]=m;u=o;return}e=c+1|0;f[l>>2]=-1;a=d;if(e>>>0<=g>>>0){if(e>>>0>>0?(j=b+(e<<2)|0,(a|0)!=(j|0)):0)f[h>>2]=a+(~((a+-4-j|0)>>>2)<<2)}else{ph(i,e-g|0,l);c=f[k>>2]|0;b=f[i>>2]|0}k=b;l=c;j=f[m>>2]|0;m=f[n>>2]|0;m=j-m|0;m=m>>2;m=m+-1|0;n=k+(l<<2)|0;f[n>>2]=m;u=o;return}function gh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;g=j+8|0;h=j+4|0;i=j;f[i>>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Me(b,g,i,i+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[i>>2]=f[a+20>>2];if((d|0)>0|(d|0)==0&c>>>0>0){a=a+88|0;hd(a,b);u=j;return 1}f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Me(b,g,i,i+4|0)|0;a=a+88|0;hd(a,b);u=j;return 1}function hh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;e=u;u=u+16|0;d=e;if(!(Zk(a,b,c)|0)){a=0;u=e;return a|0}if((Ma[f[(f[a>>2]|0)+32>>2]&127](a)|0)<<24>>24==1?((f[(f[a+8>>2]|0)+28>>2]|0)+-1|0)>>>0>=6:0){a=0;u=e;return a|0}b=Vg(c,f[b+48>>2]|0)|0;Ta[f[(f[a>>2]|0)+48>>2]&15](d,a,b);b=a+36|0;g=f[d>>2]|0;f[d>>2]=0;c=f[b>>2]|0;f[b>>2]=g;if(c){Ra[f[(f[c>>2]|0)+4>>2]&127](c);c=f[d>>2]|0;f[d>>2]=0;if(c|0)Ra[f[(f[c>>2]|0)+4>>2]&127](c)}else f[d>>2]=0;c=f[b>>2]|0;if(!c){g=1;u=e;return g|0}if(Na[f[(f[a>>2]|0)+36>>2]&127](a,c)|0){g=1;u=e;return g|0}c=f[b>>2]|0;f[b>>2]=0;if(!c){g=1;u=e;return g|0}Ra[f[(f[c>>2]|0)+4>>2]&127](c);g=1;u=e;return g|0}function ih(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;b=f[b>>2]|0;if((b|0)<=-1)ra(20047,19872,290,20066);c=f[a+24>>2]|0;if((b|0)>=((f[a+28>>2]|0)-c>>2|0))ra(20083,19872,291,20066);g=f[c+(b<<2)>>2]|0;if((g|0)<0){h=0;return h|0}e=a+12|0;b=0;d=0;c=g;a:while(1){while(1){b=b+1|0;if(d){h=13;break}a=c+1|0;c=((a|0)%3|0|0)==0?c+-2|0:a;if((c|0)<0){c=g;break}a=f[(f[e>>2]|0)+(c<<2)>>2]|0;c=a+1|0;if((a|0)<0){c=g;break}c=((c|0)%3|0|0)==0?a+-2|0:c;if((c|0)<0){c=g;break}if((c|0)==(g|0)){h=19;break a}}do if((h|0)==13){h=0;c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((c|0)<0){h=19;break a}c=f[(f[e>>2]|0)+(c<<2)>>2]|0;if((c|0)<0){h=19;break a}if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}}while(0);if((c|0)<0){h=19;break}else d=1}if((h|0)==19)return b|0;return 0}function jh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+8|0;d=f[i>>2]|0;j=a+4|0;c=f[j>>2]|0;if(d-c>>3>>>0>=b>>>0){do{a=c;f[a>>2]=0;f[a+4>>2]=0;c=(f[j>>2]|0)+8|0;f[j>>2]=c;b=b+-1|0}while((b|0)!=0);return}e=f[a>>2]|0;g=c-e>>3;c=g+b|0;if(c>>>0>536870911)Jp(a);e=d-e|0;h=e>>2;c=e>>3>>>0<268435455?(h>>>0>>0?c:h):536870911;do if(c)if(c>>>0>536870911){j=sa(8)|0;xo(j,20710);f[j>>2]=7152;wa(j|0,1112,107)}else{d=en(c<<3)|0;break}else d=0;while(0);h=d+(g<<3)|0;g=d+(c<<3)|0;c=h;e=h;do{d=c;f[d>>2]=0;f[d+4>>2]=0;c=e+8|0;e=c;b=b+-1|0}while((b|0)!=0);c=f[a>>2]|0;d=(f[j>>2]|0)-c|0;b=h+(0-(d>>3)<<3)|0;if((d|0)>0)Sg(b|0,c|0,d|0)|0;f[a>>2]=b;f[j>>2]=e;f[i>>2]=g;if(!c)return;tq(c);return}function kh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;j=u;u=u+16|0;h=j+4|0;g=j;i=j+8|0;e=a&255;b[i>>0]=e&127;do if(c>>>0>0|(c|0)==0&a>>>0>127){b[i>>0]=e|-128;e=d+16|0;k=f[e+4>>2]|0;if((k|0)>0|(k|0)==0&(f[e>>2]|0)>>>0>0){a=0;break}else{f[g>>2]=f[d+4>>2];f[h>>2]=f[g>>2];Me(d,h,i,i+1|0)|0;a=En(a|0,c|0,7)|0;a=kh(a,I,d)|0;break}}else{k=d+16|0;e=f[k+4>>2]|0;if((e|0)>0|(e|0)==0&(f[k>>2]|0)>>>0>0){a=0;break}f[g>>2]=f[d+4>>2];f[h>>2]=f[g>>2];Me(d,h,i,i+1|0)|0;k=1;u=j;return k|0}while(0);k=a;u=j;return k|0}function lh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;h=u;u=u+16|0;c=h;i=f[(f[a>>2]|0)+8>>2]|0;g=a+8|0;e=a+12|0;d=(f[e>>2]|0)-(f[g>>2]|0)>>2;j=f[b>>2]|0;f[b>>2]=0;f[c>>2]=j;Ta[i&15](a,d,c);d=f[c>>2]|0;f[c>>2]=0;if(!d){i=f[e>>2]|0;j=f[g>>2]|0;j=i-j|0;j=j>>2;j=j+-1|0;u=h;return j|0}j=d+88|0;b=f[j>>2]|0;f[j>>2]=0;if(b|0){a=f[b+8>>2]|0;if(a|0){c=b+12|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;tq(a)}tq(b)}b=f[d+68>>2]|0;if(b|0){c=d+72|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);tq(b)}j=d+64|0;b=f[j>>2]|0;f[j>>2]=0;if(b|0){a=f[b>>2]|0;if(a|0){c=b+4|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;tq(a)}tq(b)}tq(d);i=f[e>>2]|0;j=f[g>>2]|0;j=i-j|0;j=j>>2;j=j+-1|0;u=h;return j|0}function mh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;g=j+8|0;h=j+4|0;i=j;f[i>>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Me(b,g,i,i+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[i>>2]=f[a+16>>2];if((d|0)>0|(d|0)==0&c>>>0>0){a=a+108|0;hd(a,b);u=j;return 1}f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Me(b,g,i,i+4|0)|0;a=a+108|0;hd(a,b);u=j;return 1}function nh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+224|0;m=r+120|0;q=r+80|0;p=r;o=r+136|0;e=q;g=e+40|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[m>>2]=f[d>>2];if((qb(0,c,m,p,q)|0)<0)d=-1;else{if((f[a+76>>2]|0)>-1)n=zq(a)|0;else n=0;d=f[a>>2]|0;l=d&32;if((b[a+74>>0]|0)<1)f[a>>2]=d&-33;h=a+48|0;if(!(f[h>>2]|0)){g=a+44|0;d=f[g>>2]|0;f[g>>2]=o;i=a+28|0;f[i>>2]=o;k=a+20|0;f[k>>2]=o;f[h>>2]=80;j=a+16|0;f[j>>2]=o+80;e=qb(a,c,m,p,q)|0;if(d){Oa[f[a+36>>2]&31](a,0,0)|0;e=(f[k>>2]|0)==0?-1:e;f[g>>2]=d;f[h>>2]=0;f[j>>2]=0;f[i>>2]=0;f[k>>2]=0}}else e=qb(a,c,m,p,q)|0;d=f[a>>2]|0;f[a>>2]=d|l;if(n|0)yq(a);d=(d&32|0)==0?e:-1}u=r;return d|0}function oh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;g=en(32)|0;f[a>>2]=g;f[a+4>>2]=c+8;i=a+8|0;b[i>>0]=0;j=g+8|0;f[j>>2]=f[e>>2];f[j+4>>2]=f[e+4>>2];f[j+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;j=g+20|0;k=e+12|0;f[j>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;g=e+16|0;c=f[g>>2]|0;e=f[k>>2]|0;h=c-e|0;if(!h){j=e;g=c;h=0;k=j;k=g-k|0;Sg(h|0,j|0,k|0)|0;b[i>>0]=1;a=f[a>>2]|0;k=a+4|0;f[k>>2]=d;f[a>>2]=0;return}Ai(j,h);h=f[k>>2]|0;g=f[g>>2]|0;j=f[j>>2]|0;k=h;k=g-k|0;Sg(j|0,h|0,k|0)|0;b[i>>0]=1;a=f[a>>2]|0;k=a+4|0;f[k>>2]=d;f[a>>2]=0;return}function ph(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+8|0;e=f[l>>2]|0;m=a+4|0;d=f[m>>2]|0;g=d;if(e-d>>2>>>0>=b>>>0){d=g;e=b;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}f[m>>2]=g+(b<<2);return}k=f[a>>2]|0;j=d-k|0;i=j>>2;d=i+b|0;if(d>>>0>1073741823)Jp(a);g=e-k|0;h=g>>1;d=g>>2>>>0<536870911?(h>>>0>>0?d:h):1073741823;do if(d)if(d>>>0>1073741823){b=sa(8)|0;xo(b,20710);f[b>>2]=7152;wa(b|0,1112,107)}else{e=en(d<<2)|0;break}else e=0;while(0);h=e+(i<<2)|0;g=e+(d<<2)|0;d=h;e=b;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}d=h+(0-i<<2)|0;if((j|0)>0)Sg(d|0,k|0,j|0)|0;f[a>>2]=d;f[m>>2]=h+(b<<2);f[l>>2]=g;if(!k)return;tq(k);return}function qh(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+64|0;o=p;m=f[a>>2]|0;n=a+(f[m+-8>>2]|0)|0;m=f[m+-4>>2]|0;f[o>>2]=e;f[o+4>>2]=a;f[o+8>>2]=c;f[o+12>>2]=g;g=o+16|0;a=o+20|0;h=o+24|0;j=o+28|0;i=o+32|0;c=o+40|0;k=g;l=k+36|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));d[g+36>>1]=0;b[g+38>>0]=0;a:do if(Po(m,e,0)|0){f[o+48>>2]=1;Wa[f[(f[m>>2]|0)+20>>2]&3](m,o,n,n,1,0);g=(f[h>>2]|0)==1?n:0}else{Va[f[(f[m>>2]|0)+24>>2]&3](m,o,n,1,0);switch(f[o+36>>2]|0){case 0:{g=(f[c>>2]|0)==1&(f[j>>2]|0)==1&(f[i>>2]|0)==1?f[a>>2]|0:0;break a}case 1:break;default:{g=0;break a}}if((f[h>>2]|0)!=1?!((f[c>>2]|0)==0&(f[j>>2]|0)==1&(f[i>>2]|0)==1):0){g=0;break}g=f[g>>2]|0}while(0);u=p;return g|0}function rh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;h=u;u=u+16|0;g=h;if((c|0)<0|((b|0)==0|(d|0)==0)){d=0;u=h;return d|0}a=f[b+8>>2]|0;if(((f[b+12>>2]|0)-a>>2|0)<=(c|0)){d=0;u=h;return d|0}e=b+4|0;if(!(f[e>>2]|0)){i=en(52)|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[i+16>>2]=$(1.0);j=i+20|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;n[i+36>>2]=$(1.0);f[i+40>>2]=0;f[i+44>>2]=0;f[i+48>>2]=0;f[b+4>>2]=i}if((c|0)<=-1)ra(20916,20609,67,20700);a=f[(f[a+(c<<2)>>2]|0)+60>>2]|0;j=en(44)|0;Pb(j,d);f[j+40>>2]=a;a=f[e>>2]|0;f[g>>2]=j;ak(a,g)|0;a=f[g>>2]|0;f[g>>2]=0;if(!a){j=1;u=h;return j|0}Mi(a);tq(a);j=1;u=h;return j|0}function sh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=a+4|0;c=f[g>>2]|0;d=f[a>>2]|0;e=c-d>>2;if(e>>>0>>0){Kf(a,b-e|0);return}if(e>>>0<=b>>>0)return;a=d+(b<<2)|0;if((c|0)==(a|0))return;do{b=c+-4|0;f[g>>2]=b;e=f[b>>2]|0;f[b>>2]=0;if(e|0){b=e+88|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){b=c+12|0;if((f[b>>2]|0)!=(d|0))f[b>>2]=d;tq(d)}tq(c)}c=f[e+68>>2]|0;if(c|0){b=e+72|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);tq(c)}b=e+64|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){b=c+4|0;if((f[b>>2]|0)!=(d|0))f[b>>2]=d;tq(d)}tq(c)}tq(e)}c=f[g>>2]|0}while((c|0)!=(a|0));return}function th(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+4|0;d=f[l>>2]|0;k=f[a>>2]|0;h=(d-k|0)/12|0;c=h+1|0;j=k;if(c>>>0>357913941)Jp(a);m=a+8|0;i=((f[m>>2]|0)-k|0)/12|0;e=i<<1;e=i>>>0<178956970?(e>>>0>>0?c:e):357913941;do if(e)if(e>>>0>357913941){a=sa(8)|0;xo(a,20710);f[a>>2]=7152;wa(a|0,1112,107)}else{g=en(e*12|0)|0;break}else g=0;while(0);c=g+(h*12|0)|0;i=g+(e*12|0)|0;f[c>>2]=f[b>>2];f[g+(h*12|0)+4>>2]=f[b+4>>2];f[g+(h*12|0)+8>>2]=f[b+8>>2];e=c+12|0;if((d|0)!=(j|0))do{h=d;d=d+-12|0;f[c+-12>>2]=f[d>>2];f[c+-8>>2]=f[h+-8>>2];f[c+-4>>2]=f[h+-4>>2];c=c+-12|0}while((d|0)!=(j|0));f[a>>2]=c;f[l>>2]=e;f[m>>2]=i;if(!k)return;tq(k);return}function uh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+8|0;d=f[k>>2]|0;l=a+4|0;c=f[l>>2]|0;e=c;if(d-c>>2>>>0>=b>>>0){c=e;d=b;while(1){f[c>>2]=1;d=d+-1|0;if(!d)break;else c=c+4|0}f[l>>2]=e+(b<<2);return}j=f[a>>2]|0;i=c-j|0;h=i>>2;c=h+b|0;if(c>>>0>1073741823)Jp(a);e=d-j|0;g=e>>1;c=e>>2>>>0<536870911?(g>>>0>>0?c:g):1073741823;do if(c)if(c>>>0>1073741823){b=sa(8)|0;xo(b,20710);f[b>>2]=7152;wa(b|0,1112,107)}else{d=en(c<<2)|0;break}else d=0;while(0);g=d+(h<<2)|0;e=d+(c<<2)|0;c=g;d=b;while(1){f[c>>2]=1;d=d+-1|0;if(!d)break;else c=c+4|0}c=g+(0-h<<2)|0;if((i|0)>0)Sg(c|0,j|0,i|0)|0;f[a>>2]=c;f[l>>2]=g+(b<<2);f[k>>2]=e;if(!j)return;tq(j);return}function vh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=f[c+88>>2]|0;if(!d){a=0;return a|0}if((f[d>>2]|0)!=1){a=0;return a|0}m=d+8|0;j=f[m>>2]|0;f[a+4>>2]=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;o=a+8|0;k=c+24|0;c=b[k>>0]|0;i=c<<24>>24;g=a+12|0;e=f[g>>2]|0;d=f[o>>2]|0;l=e-d>>2;if(i>>>0<=l>>>0){if(i>>>0>>0?(n=d+(i<<2)|0,(e|0)!=(n|0)):0)f[g>>2]=e+(~((e+-4-n|0)>>>2)<<2)}else{ri(o,i-l|0);c=b[k>>0]|0;j=f[m>>2]|0}d=j+4|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;if(c<<24>>24>0){i=f[o>>2]|0;e=c<<24>>24;c=4;g=0;do{f[i+(g<<2)>>2]=d;c=c+4|0;g=g+1|0;d=j+c|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24}while((g|0)<(e|0))}f[a+20>>2]=d;a=1;return a|0}function wh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Ld(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+20>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Ld(a,b);return}function xh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;if(c>>>0>4294967279)Jp(a);i=a+11|0;e=b[i>>0]|0;g=e<<24>>24<0;if(g){j=f[a+4>>2]|0;d=(f[a+8>>2]&2147483647)+-1|0}else{j=e&255;d=10}h=j>>>0>c>>>0?j:c;c=h>>>0<11;h=c?10:(h+16&-16)+-1|0;do if((h|0)!=(d|0)){do if(c){d=f[a>>2]|0;if(g){c=a;e=0;g=13}else{ko(a,d,(e&255)+1|0)|0;tq(d);g=15}}else{c=en(h+1|0)|0;if(g){e=1;d=f[a>>2]|0;g=13;break}else{ko(c,a,(e&255)+1|0)|0;g=14;break}}while(0);if((g|0)==13){ko(c,d,(f[a+4>>2]|0)+1|0)|0;tq(d);if(e)g=14;else g=15}if((g|0)==14){f[a+8>>2]=h+1|-2147483648;f[a+4>>2]=j;f[a>>2]=c;break}else if((g|0)==15){b[i>>0]=j;break}}while(0);return}function yh(a){a=a|0;sj(a+992|0);sj(a+960|0);sj(a+928|0);sj(a+896|0);sj(a+864|0);sj(a+832|0);sj(a+800|0);sj(a+768|0);sj(a+736|0);sj(a+704|0);sj(a+672|0);sj(a+640|0);sj(a+608|0);sj(a+576|0);sj(a+544|0);sj(a+512|0);sj(a+480|0);sj(a+448|0);sj(a+416|0);sj(a+384|0);sj(a+352|0);sj(a+320|0);sj(a+288|0);sj(a+256|0);sj(a+224|0);sj(a+192|0);sj(a+160|0);sj(a+128|0);sj(a+96|0);sj(a+64|0);sj(a+32|0);sj(a);return}function zh(a){a=a|0;gn(a);gn(a+32|0);gn(a+64|0);gn(a+96|0);gn(a+128|0);gn(a+160|0);gn(a+192|0);gn(a+224|0);gn(a+256|0);gn(a+288|0);gn(a+320|0);gn(a+352|0);gn(a+384|0);gn(a+416|0);gn(a+448|0);gn(a+480|0);gn(a+512|0);gn(a+544|0);gn(a+576|0);gn(a+608|0);gn(a+640|0);gn(a+672|0);gn(a+704|0);gn(a+736|0);gn(a+768|0);gn(a+800|0);gn(a+832|0);gn(a+864|0);gn(a+896|0);gn(a+928|0);gn(a+960|0);gn(a+992|0);return}function Ah(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;i=u;u=u+16|0;g=i+12|0;d=i+8|0;c=i+4|0;e=i;h=(a|0)==(b|0);if(!h){f[c>>2]=f[b>>2];f[e>>2]=b+4;f[d>>2]=f[c>>2];f[g>>2]=f[e>>2];Nc(a,d,g)}if(!h){f[c>>2]=f[b+12>>2];f[e>>2]=b+16;f[d>>2]=f[c>>2];f[g>>2]=f[e>>2];Cc(a+12|0,d,g)}if(h){u=i;return}f[c>>2]=f[b+24>>2];f[e>>2]=b+28;f[d>>2]=f[c>>2];f[g>>2]=f[e>>2];Nc(a+24|0,d,g);u=i;return}function Bh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(f[a>>2]|0)+1794895138|0;h=Qo(f[a+8>>2]|0,o)|0;e=Qo(f[a+12>>2]|0,o)|0;g=Qo(f[a+16>>2]|0,o)|0;a:do if((h>>>0>>2>>>0?(n=c-(h<<2)|0,e>>>0>>0&g>>>0>>0):0)?((g|e)&3|0)==0:0){n=e>>>2;m=g>>>2;l=0;while(1){k=h>>>1;j=l+k|0;i=j<<1;g=i+n|0;e=Qo(f[a+(g<<2)>>2]|0,o)|0;g=Qo(f[a+(g+1<<2)>>2]|0,o)|0;if(!(g>>>0>>0&e>>>0<(c-g|0)>>>0)){e=0;break a}if(b[a+(g+e)>>0]|0){e=0;break a}e=Gl(d,a+g|0)|0;if(!e)break;e=(e|0)<0;if((h|0)==1){e=0;break a}else{l=e?l:j;h=e?k:h-k|0}}e=i+m|0;g=Qo(f[a+(e<<2)>>2]|0,o)|0;e=Qo(f[a+(e+1<<2)>>2]|0,o)|0;if(e>>>0>>0&g>>>0<(c-e|0)>>>0)e=(b[a+(e+g)>>0]|0)==0?a+e|0:0;else e=0}else e=0;while(0);return e|0}function Ch(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;e=u;u=u+16|0;g=e;ve(g,a+40|0,f[a+8>>2]|0,b,c);Si(a,g);d=f[g>>2]|0;f[g>>2]=0;if(!d){u=e;return 1}g=d+88|0;c=f[g>>2]|0;f[g>>2]=0;if(c|0){b=f[c+8>>2]|0;if(b|0){a=c+12|0;if((f[a>>2]|0)!=(b|0))f[a>>2]=b;tq(b)}tq(c)}c=f[d+68>>2]|0;if(c|0){a=d+72|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);tq(c)}g=d+64|0;c=f[g>>2]|0;f[g>>2]=0;if(c|0){b=f[c>>2]|0;if(b|0){a=c+4|0;if((f[a>>2]|0)!=(b|0))f[a>>2]=b;tq(b)}tq(c)}tq(d);u=e;return 1}function Dh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){ld(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;ld(a,b);return}function Eh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){rd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;rd(a,b);return}function Fh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Ad(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Ad(a,b);return}function Gh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Sd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Sd(a,b);return}function Hh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){nd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;nd(a,b);return}function Ih(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){vd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;vd(a,b);return}function Jh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Gd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Gd(a,b);return}function Kh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){md(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;md(a,b);return}function Lh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){td(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;td(a,b);return}function Mh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Bd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Bd(a,b);return}function Nh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Td(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Td(a,b);return}function Oh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;e=u;u=u+16|0;g=e;Af(g,a+40|0,f[a+8>>2]|0,b,c);Si(a,g);d=f[g>>2]|0;f[g>>2]=0;if(!d){u=e;return 1}g=d+88|0;c=f[g>>2]|0;f[g>>2]=0;if(c|0){b=f[c+8>>2]|0;if(b|0){a=c+12|0;if((f[a>>2]|0)!=(b|0))f[a>>2]=b;tq(b)}tq(c)}c=f[d+68>>2]|0;if(c|0){a=d+72|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);tq(c)}g=d+64|0;c=f[g>>2]|0;f[g>>2]=0;if(c|0){b=f[c>>2]|0;if(b|0){a=c+4|0;if((f[a>>2]|0)!=(b|0))f[a>>2]=b;tq(b)}tq(c)}tq(d);u=e;return 1}function Ph(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=1408;e=a+72|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Ra[f[(f[b>>2]|0)+4>>2]&127](b);b=f[a+60>>2]|0;if(b|0){d=a+64|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b)}b=f[a+48>>2]|0;if(b|0)tq(b);d=a+36|0;b=f[d>>2]|0;if(b|0){e=a+40|0;c=f[e>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[e>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0)Ra[f[(f[c>>2]|0)+4>>2]&127](c);c=f[e>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}tq(b)}f[a>>2]=1232;b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b)}d=f[a+4>>2]|0;if(!d)return;c=a+8|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);tq(d);return}function Qh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=f[a+4>>2]|0;if(!a){m=0;return m|0}k=b[c+11>>0]|0;j=k<<24>>24<0;k=j?f[c+4>>2]|0:k&255;j=j?f[c>>2]|0:c;while(1){e=a+16|0;d=b[e+11>>0]|0;h=d<<24>>24<0;d=h?f[a+20>>2]|0:d&255;g=d>>>0>>0;c=g?d:k;if((c|0)!=0?(m=jl(j,h?f[e>>2]|0:e,c)|0,(m|0)!=0):0)if((m|0)<0)i=7;else i=8;else if(k>>>0>>0)i=7;else i=8;if((i|0)!=7)if((i|0)==8){i=0;c=k>>>0>>0?k:d;if((c|0)!=0?(l=jl(h?f[e>>2]|0:e,j,c)|0,(l|0)!=0):0){if((l|0)>=0){a=1;i=14;break}}else i=10;if((i|0)==10?(0,!g):0){a=1;i=14;break}a=a+4|0}a=f[a>>2]|0;if(!a){a=0;i=14;break}}if((i|0)==14)return a|0;return 0}function Rh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;i=f[b>>2]|0;e=f[a+12>>2]|0;if((i|0)>(e|0))ra(12765,11843,259,12789);d=f[c>>2]|0;if((d|0)>(e|0))ra(12803,11843,260,12789);a=0-e|0;if((i|0)<(a|0))ra(12827,11843,261,12789);if((d|0)<(a|0))ra(12852,11843,262,12789);if((d|i|0)>-1){h=1;a=1}else{a=(i|0)<1&(d|0)<1;h=a?-1:(i|0)>0?1:-1;a=a?-1:(d|0)>0?1:-1}g=X(e,h)|0;e=X(e,a)|0;f[b>>2]=(i<<1)-g;d=(f[c>>2]<<1)-e|0;f[c>>2]=d;i=(X(h,a)|0)>-1;a=f[b>>2]|0;if(i){f[b>>2]=0-d;i=0-a|0;f[c>>2]=i;i=f[b>>2]|0;i=i+g|0;i=(i|0)/2|0;f[b>>2]=i;b=f[c>>2]|0;b=b+e|0;b=(b|0)/2|0;f[c>>2]=b;return}else{f[b>>2]=d;i=a;f[c>>2]=i;i=f[b>>2]|0;i=i+g|0;i=(i|0)/2|0;f[b>>2]=i;b=f[c>>2]|0;b=b+e|0;b=(b|0)/2|0;f[c>>2]=b;return}}function Sh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;i=u;u=u+16|0;g=i;c=f[b+96>>2]|0;b=(f[b+100>>2]|0)-c|0;e=(b|0)/12|0;f[g>>2]=0;h=g+4|0;f[h>>2]=0;f[g+8>>2]=0;if(b|0){if(e>>>0>357913941)Jp(g);d=en(b)|0;f[g>>2]=d;f[g+8>>2]=d+(e*12|0);fj(d|0,0,b|0)|0;f[h>>2]=d+b;if((b|0)>0){b=c;c=0;do{k=f[b+(c*12|0)+4>>2]|0;j=f[b+(c*12|0)+8>>2]|0;f[d+(c*12|0)>>2]=f[b+(c*12|0)>>2];f[d+(c*12|0)+4>>2]=k;f[d+(c*12|0)+8>>2]=j;c=c+1|0}while((c|0)<(e|0))}}lk(a,g);b=f[g>>2]|0;if(!b){u=i;return}c=f[h>>2]|0;if((c|0)!=(b|0))f[h>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);tq(b);u=i;return}function Th(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;h=u;u=u+16|0;e=h+4|0;d=h;g=h+8|0;b[g>>0]=a&127;do if(a>>>0>127){b[g>>0]=a|128;i=c+16|0;j=f[i+4>>2]|0;if((j|0)>0|(j|0)==0&(f[i>>2]|0)>>>0>0){d=0;break}else{f[d>>2]=f[c+4>>2];f[e>>2]=f[d>>2];Me(c,e,g,g+1|0)|0;d=Th(a>>>7,c)|0;break}}else{j=c+16|0;i=f[j+4>>2]|0;if((i|0)>0|(i|0)==0&(f[j>>2]|0)>>>0>0){d=0;break}f[d>>2]=f[c+4>>2];f[e>>2]=f[d>>2];Me(c,e,g,g+1|0)|0;j=1;u=h;return j|0}while(0);j=d;u=h;return j|0}function Uh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;l=o+4|0;k=o;j=f[a+8>>2]|0;n=j+24|0;m=b[n>>0]|0;e=c+4|0;Bf(a,(f[e>>2]|0)-(f[c>>2]|0)>>2,m,d);i=f[a+32>>2]|0;i=(f[f[i>>2]>>2]|0)+(f[i+48>>2]|0)|0;d=f[c>>2]|0;e=f[e>>2]|0;if((d|0)==(e|0)){n=1;u=o;return n|0}h=j+84|0;g=j+68|0;c=0;while(1){a=f[d>>2]|0;if(!(b[h>>0]|0))a=f[(f[g>>2]|0)+(a<<2)>>2]|0;f[k>>2]=a;a=b[n>>0]|0;f[l>>2]=f[k>>2];if(!(sb(j,l,a,i+(c<<2)|0)|0)){d=0;a=7;break}d=d+4|0;if((d|0)==(e|0)){d=1;a=7;break}else c=c+m|0}if((a|0)==7){u=o;return d|0}return 0}function Vh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;h=u;u=u+48|0;g=h;e=h+32|0;if(!c){g=0;u=h;return g|0}pn(g);if((bm(c,0)|0)!=-1?Ma[f[(f[c>>2]|0)+16>>2]&127](c)|0:0){Ra[f[(f[c>>2]|0)+20>>2]&127](c);Kg(e,a,c,g);a=(f[e>>2]|0)==0;c=e+4|0;if((b[c+11>>0]|0)<0)tq(f[c>>2]|0);if(a){a=f[g>>2]|0;e=g+4|0;gg(d,a,a+((f[e>>2]|0)-a)|0);e=(f[e>>2]|0)-(f[g>>2]|0)|0}else e=0}else e=0;d=g+12|0;c=f[d>>2]|0;f[d>>2]=0;if(c|0)tq(c);a=f[g>>2]|0;if(a|0){c=g+4|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;tq(a)}g=e;u=h;return g|0}function Wh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;g=en(32)|0;f[a>>2]=g;f[a+4>>2]=c+8;i=a+8|0;b[i>>0]=0;gj(g+8|0,e);j=g+20|0;k=e+12|0;f[j>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;g=e+16|0;c=f[g>>2]|0;e=f[k>>2]|0;h=c-e|0;if(!h){j=e;g=c;h=0;k=j;k=g-k|0;Sg(h|0,j|0,k|0)|0;b[i>>0]=1;a=f[a>>2]|0;k=a+4|0;f[k>>2]=d;f[a>>2]=0;return}Ai(j,h);h=f[k>>2]|0;g=f[g>>2]|0;j=f[j>>2]|0;k=h;k=g-k|0;Sg(j|0,h|0,k|0)|0;b[i>>0]=1;a=f[a>>2]|0;k=a+4|0;f[k>>2]=d;f[a>>2]=0;return}function Xh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){ud(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;ud(a,b);return}function Yh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;g=en(16)|0;f[k>>2]=g;f[k+8>>2]=-2147483632;f[k+4>>2]=15;h=g;i=17754;j=h+15|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[g+15>>0]=0;g=Dk(c,k,-1)|0;if((b[k+11>>0]|0)<0)tq(f[k>>2]|0);switch(g|0){case -1:{if((gi(c)|0)==10)h=6;else h=5;break}case 1:{h=5;break}default:h=6}if((h|0)==5){g=en(60)|0;uo(g)}else if((h|0)==6){g=en(56)|0;$o(g)}ao(g,d);zd(a,g,c,e);Ra[f[(f[g>>2]|0)+4>>2]&127](g);u=l;return}function Zh(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;i=u;u=u+16|0;h=i;Uo(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;c=a+24|0;Uo(c);f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;a=en(32)|0;f[h>>2]=a;f[h+8>>2]=-2147483616;f[h+4>>2]=20;d=a;e=17813;g=d+20|0;do{b[d>>0]=b[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(g|0));b[a+20>>0]=0;Fj(c,h,1);if((b[h+11>>0]|0)<0)tq(f[h>>2]|0);f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;a=en(32)|0;f[h>>2]=a;f[h+8>>2]=-2147483616;f[h+4>>2]=22;d=a;e=17834;g=d+22|0;do{b[d>>0]=b[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(g|0));b[a+22>>0]=0;Fj(c,h,1);if((b[h+11>>0]|0)>=0){u=i;return}tq(f[h>>2]|0);u=i;return}function _h(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+16|0;k=n+4|0;j=n;l=n+8|0;if(!(_d(a,c)|0)){m=0;u=n;return m|0}m=a+36|0;e=a+40|0;a=f[m>>2]|0;if((f[e>>2]|0)==(a|0)){m=1;u=n;return m|0}i=c+16|0;g=c+4|0;h=l+1|0;d=0;do{a=f[a+(d<<2)>>2]|0;a=Ma[f[(f[a>>2]|0)+32>>2]&127](a)|0;b[l>>0]=a;a=i;o=f[a+4>>2]|0;if(!((o|0)>0|(o|0)==0&(f[a>>2]|0)>>>0>0)){f[j>>2]=f[g>>2];f[k>>2]=f[j>>2];Me(c,k,l,h)|0}d=d+1|0;a=f[m>>2]|0}while(d>>>0<(f[e>>2]|0)-a>>2>>>0);a=1;u=n;return a|0}function $h(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=f[a+4>>2]|0;h=a+8|0;b=f[h>>2]|0;if((b|0)!=(g|0))do{d=b+-4|0;f[h>>2]=d;e=f[d>>2]|0;f[d>>2]=0;if(e|0){d=e+88|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b+8>>2]|0;if(c|0){d=b+12|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;tq(c)}tq(b)}b=f[e+68>>2]|0;if(b|0){d=e+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b)}d=e+64|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){d=b+4|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;tq(c)}tq(b)}tq(e)}b=f[h>>2]|0}while((b|0)!=(g|0));b=f[a>>2]|0;if(!b)return;tq(b);return}function ai(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a>>2]|0;if(!b)return;h=a+4|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{e=c+-4|0;f[h>>2]=e;g=f[e>>2]|0;f[e>>2]=0;if(g|0){e=g+88|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){e=c+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;tq(d)}tq(c)}c=f[g+68>>2]|0;if(c|0){e=g+72|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);tq(c)}e=g+64|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){e=c+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;tq(d)}tq(c)}tq(g)}c=f[h>>2]|0}while((c|0)!=(b|0));b=f[a>>2]|0}tq(b);return}function bi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;k=m+16|0;i=m+8|0;j=m;h=f[c>>2]|0;l=f[a+12>>2]<<1;if((h|0)>(l|0))ra(12148,12193,81,12371);e=f[c+4>>2]|0;if((e|0)>(l|0))ra(12389,12193,82,12371);g=f[b>>2]|0;if((g|0)>(l|0))ra(12434,12193,83,12371);c=f[b+4>>2]|0;if((c|0)>(l|0))ra(12479,12193,84,12371);if((h|0)<=-1)ra(12524,12193,85,12371);if((e|0)<=-1)ra(12546,12193,86,12371);if((g|0)<=-1)ra(12568,12193,87,12371);if((c|0)>-1){f[i>>2]=g;f[i+4>>2]=c;f[j>>2]=h;f[j+4>>2]=e;He(k,a,i,j);f[d>>2]=f[k>>2];f[d+4>>2]=f[k+4>>2];u=m;return}else ra(12590,12193,88,12371)}function ci(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=c&255;e=(d|0)!=0;a:do if(e&(a&3|0)!=0){g=c&255;while(1){if((b[a>>0]|0)==g<<24>>24){i=6;break a}a=a+1|0;d=d+-1|0;e=(d|0)!=0;if(!(e&(a&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(e)i=6;else d=0;b:do if((i|0)==6){g=c&255;if((b[a>>0]|0)!=g<<24>>24){e=X(h,16843009)|0;c:do if(d>>>0>3)while(1){h=f[a>>2]^e;if((h&-2139062144^-2139062144)&h+-16843009|0)break;a=a+4|0;d=d+-4|0;if(d>>>0<=3){i=11;break c}}else i=11;while(0);if((i|0)==11)if(!d){d=0;break}while(1){if((b[a>>0]|0)==g<<24>>24)break b;a=a+1|0;d=d+-1|0;if(!d){d=0;break}}}}while(0);return (d|0?a:0)|0}function di(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0;l=u;u=u+32|0;j=l+12|0;k=l;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;if((e|0)>0){g=k+11|0;h=k+4|0;i=0;do{if((i|0)>0)ln(j,17752)|0;al(k,$(n[d+(i<<2)>>2]));m=b[g>>0]|0;o=m<<24>>24<0;Yi(j,o?f[k>>2]|0:k,o?f[h>>2]|0:m&255)|0;if((b[g>>0]|0)<0)tq(f[k>>2]|0);i=i+1|0}while((i|0)<(e|0))}Vl(ni(a,c)|0,j)|0;if((b[j+11>>0]|0)>=0){u=l;return}tq(f[j>>2]|0);u=l;return}function ei(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;g=j+8|0;h=j+4|0;i=j;f[i>>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Me(b,g,i,i+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[i>>2]=f[a+20>>2];if((d|0)>0|(d|0)==0&c>>>0>0){u=j;return 1}f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Me(b,g,i,i+4|0)|0;u=j;return 1}function fi(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;h=a+12|0;i=f[h>>2]|0;f[h>>2]=0;if(i|0){c=f[i+28>>2]|0;if(c|0)do{h=c;c=f[c>>2]|0;fi(h+8|0);tq(h)}while((c|0)!=0);h=i+20|0;c=f[h>>2]|0;f[h>>2]=0;if(c|0)tq(c);c=f[i+8>>2]|0;if(c|0)do{g=c;c=f[c>>2]|0;h=g+8|0;d=f[g+20>>2]|0;if(d|0){e=g+24|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;tq(d)}if((b[h+11>>0]|0)<0)tq(f[h>>2]|0);tq(g)}while((c|0)!=0);c=f[i>>2]|0;f[i>>2]=0;if(c|0)tq(c);tq(i)}if((b[a+11>>0]|0)>=0)return;tq(f[a>>2]|0);return}function gi(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;c=en(16)|0;f[i>>2]=c;f[i+8>>2]=-2147483632;f[i+4>>2]=14;e=c;g=17683;h=e+14|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));b[c+14>>0]=0;d=Dk(a,i,-1)|0;if((b[i+11>>0]|0)<0)tq(f[i>>2]|0);c=en(16)|0;f[i>>2]=c;f[i+8>>2]=-2147483632;f[i+4>>2]=14;e=c;g=17698;h=e+14|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));b[c+14>>0]=0;c=Dk(a,i,-1)|0;if((b[i+11>>0]|0)>=0){i=(d|0)<(c|0);i=i?c:d;h=(i|0)==-1;i=h?5:i;u=j;return i|0}tq(f[i>>2]|0);i=(d|0)<(c|0);i=i?c:d;h=(i|0)==-1;i=h?5:i;u=j;return i|0}function hi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;j=u;u=u+32|0;i=j+16|0;c=j+8|0;d=j;g=a+8|0;if(f[g>>2]<<5>>>0>=b>>>0){u=j;return}f[i>>2]=0;h=i+4|0;f[h>>2]=0;e=i+8|0;f[e>>2]=0;if((b|0)<0)Jp(i);l=((b+-1|0)>>>5)+1|0;k=en(l<<2)|0;f[i>>2]=k;f[h>>2]=0;f[e>>2]=l;l=f[a>>2]|0;f[c>>2]=l;f[c+4>>2]=0;k=a+4|0;b=f[k>>2]|0;f[d>>2]=l+(b>>>5<<2);f[d+4>>2]=b&31;Cg(i,c,d);b=f[a>>2]|0;f[a>>2]=f[i>>2];f[i>>2]=b;a=f[k>>2]|0;f[k>>2]=f[h>>2];f[h>>2]=a;a=f[g>>2]|0;f[g>>2]=f[e>>2];f[e>>2]=a;if(b|0)tq(b);u=j;return}function ii(a){a=a|0;var c=0,d=0,e=0,g=0;f[a>>2]=3568;d=a+72|0;c=a+136|0;e=a+4|0;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));e=d;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));n[c>>2]=$(1.0);c=a+140|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;f[a+164>>2]=-1;c=a+168|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;f[c+24>>2]=0;gn(a+200|0);pn(a+232|0);c=a+316|0;e=a+264|0;g=e+52|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[c>>2]=-1;f[a+320>>2]=-1073741824;f[a+324>>2]=0;f[a+328>>2]=2;f[a+332>>2]=7;f[a+336>>2]=0;f[a+340>>2]=0;f[a+344>>2]=0;b[a+352>>0]=0;return}function ji(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;g=j+8|0;h=j+4|0;i=j;f[i>>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Me(b,g,i,i+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[i>>2]=f[a+16>>2];if((d|0)>0|(d|0)==0&c>>>0>0){u=j;return 1}f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Me(b,g,i,i+4|0)|0;u=j;return 1}function ki(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;i=l;if((Ma[f[(f[b>>2]|0)+20>>2]&127](b)|0)<=0){k=1;u=l;return k|0}j=a+4|0;g=a+20|0;h=a+24|0;e=a+16|0;d=0;while(1){c=f[(f[j>>2]|0)+4>>2]|0;c=bm(c,Na[f[(f[b>>2]|0)+24>>2]&127](b,d)|0)|0;f[i>>2]=c;if((c|0)==-1)break;a=f[g>>2]|0;if((a|0)==(f[h>>2]|0))Ji(e,i);else{f[a>>2]=c;f[g>>2]=a+4}cl(f[j>>2]|0,f[i>>2]|0)|0;d=d+1|0;if((d|0)>=(Ma[f[(f[b>>2]|0)+20>>2]&127](b)|0)){a=1;k=9;break}}if((k|0)==9){u=l;return a|0}k=0;u=l;return k|0}function li(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;h=a+32|0;hd(a,h);c=a+80|0;b=f[c>>2]|0;if((b|0?(d=a+84|0,(f[d>>2]|0)>0):0)?(hd(b,h),(f[d>>2]|0)>1):0){b=1;do{hd((f[c>>2]|0)+(b<<5)|0,h);b=b+1|0}while((b|0)<(f[d>>2]|0))}g=a+136|0;e=a+140|0;b=f[g>>2]|0;if((f[e>>2]|0)==(b|0))return;a=0;do{Th((f[b+(a*12|0)+4>>2]|0)-(f[b+(a*12|0)>>2]|0)>>2,h)|0;b=f[g>>2]|0;c=f[b+(a*12|0)>>2]|0;d=(f[b+(a*12|0)+4>>2]|0)-c>>2;if(d){Dc(c,d,1,0,h)|0;b=f[g>>2]|0}a=a+1|0}while(a>>>0<(((f[e>>2]|0)-b|0)/12|0)>>>0);return}function mi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=b+48|0;if((gi(f[e>>2]|0)|0)>9){e=0;return e|0}if((Ma[f[(f[b>>2]|0)+8>>2]&127](b)|0)!=1){e=0;return e|0}d=b+4|0;b=f[d>>2]|0;if((a|0)<=-1)ra(20916,20609,59,20700);c=f[b+8>>2]|0;if(((f[b+12>>2]|0)-c>>2|0)<=(a|0))ra(20555,20609,60,20700);c=(f[c+(a<<2)>>2]|0)+56|0;b=f[c>>2]|0;do if((b|0)==3)if((gi(f[e>>2]|0)|0)<4){e=5;return e|0}else{b=f[c>>2]|0;break}while(0);c=gi(f[e>>2]|0)|0;if((b|0)==1){e=(c|0)<4?6:0;return e|0}if((c|0)>7){e=0;return e|0}if((gi(f[e>>2]|0)|0)>1){e=1;return e|0}else return ((f[(f[d>>2]|0)+80>>2]|0)<40?1:4)|0;return 0}function ni(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;h=u;u=u+16|0;d=h;e=mg(a,d,b)|0;c=f[e>>2]|0;if(c|0){a=c;a=a+28|0;u=h;return a|0}g=en(40)|0;gj(g+16|0,b);c=g+28|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;c=f[d>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=c;f[e>>2]=g;c=f[f[a>>2]>>2]|0;if(!c)c=g;else{f[a>>2]=c;c=f[e>>2]|0}Ie(f[a+4>>2]|0,c);a=a+8|0;f[a>>2]=(f[a>>2]|0)+1;a=g;a=a+28|0;u=h;return a|0}function oi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;i=a+4|0;h=f[a>>2]|0;k=(f[i>>2]|0)-h|0;d=(k|0)/12|0;c=d+1|0;if(c>>>0>357913941)Jp(a);j=a+8|0;g=((f[j>>2]|0)-h|0)/12|0;e=g<<1;e=g>>>0<178956970?(e>>>0>>0?c:e):357913941;do if(e)if(e>>>0>357913941){a=sa(8)|0;xo(a,20710);f[a>>2]=7152;wa(a|0,1112,107)}else{g=en(e*12|0)|0;break}else g=0;while(0);d=g+(d*12|0)|0;f[d>>2]=f[b>>2];f[d+4>>2]=f[b+4>>2];f[d+8>>2]=f[b+8>>2];c=d+(((k|0)/-12|0)*12|0)|0;if((k|0)>0)Sg(c|0,h|0,k|0)|0;f[a>>2]=c;f[i>>2]=d+12;f[j>>2]=g+(e*12|0);if(!h)return;tq(h);return}function pi(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;n=o;if((-18-c|0)>>>0>>0)Jp(a);if((b[a+11>>0]|0)<0)m=f[a>>2]|0;else m=a;if(c>>>0<2147483623){l=d+c|0;k=c<<1;l=l>>>0>>0?k:l;l=l>>>0<11?11:l+16&-16}else l=-17;k=en(l)|0;if(g|0)ko(k,m,g)|0;if(i|0)ko(k+g|0,j,i)|0;d=e-h|0;e=d-g|0;if(e|0)ko(k+g+i|0,m+g+h|0,e)|0;if((c|0)!=10)tq(m);f[a>>2]=k;f[a+8>>2]=l|-2147483648;m=d+i|0;f[a+4>>2]=m;b[n>>0]=0;ap(k+m|0,n);u=o;return}function qi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;g=d+16|0;e=f[g>>2]|0;if(!e)if(!(ql(d)|0)){e=f[g>>2]|0;h=5}else e=0;else h=5;a:do if((h|0)==5){j=d+20|0;i=f[j>>2]|0;g=i;if((e-i|0)>>>0>>0){e=Oa[f[d+36>>2]&31](d,a,c)|0;break}b:do if((b[d+75>>0]|0)>-1){i=c;while(1){if(!i){h=g;d=0;g=c;e=a;break b}e=i+-1|0;if((b[a+e>>0]|0)==10)break;else i=e}e=Oa[f[d+36>>2]&31](d,a,i)|0;if(e>>>0>>0)break a;h=f[j>>2]|0;d=i;g=c-i|0;e=a+i|0}else{h=g;d=0;g=c;e=a}while(0);Sg(h|0,e|0,g|0)|0;f[j>>2]=(f[j>>2]|0)+g;e=d+g|0}while(0);return e|0}function ri(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=a+8|0;d=f[l>>2]|0;k=a+4|0;c=f[k>>2]|0;if(d-c>>2>>>0>=b>>>0){fj(c|0,0,b<<2|0)|0;f[k>>2]=c+(b<<2);return}j=f[a>>2]|0;i=c-j|0;h=i>>2;c=h+b|0;if(c>>>0>1073741823)Jp(a);g=d-j|0;d=g>>1;d=g>>2>>>0<536870911?(d>>>0>>0?c:d):1073741823;do if(d)if(d>>>0>1073741823){a=sa(8)|0;xo(a,20710);f[a>>2]=7152;wa(a|0,1112,107)}else{g=en(d<<2)|0;break}else g=0;while(0);e=g+(h<<2)|0;fj(e|0,0,b<<2|0)|0;c=e+(0-h<<2)|0;if((i|0)>0)Sg(c|0,j|0,i|0)|0;f[a>>2]=c;f[k>>2]=e+(b<<2);f[l>>2]=g+(d<<2);if(!j)return;tq(j);return}function si(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;if((b|0)>=33)ra(19497,7934,49,19622);if((b|0)<=0)ra(19651,7934,50,19622);j=a+16|0;g=f[j>>2]|0;h=32-g|0;e=32-b|0;c=c<>2]|0;if((h|0)<(b|0)){g=c>>>e;e=b-h|0;f[j>>2]=e;e=g>>>e|d;f[i>>2]=e;d=a+4|0;c=f[d>>2]|0;if((c|0)==(f[a+8>>2]|0))Ji(a,i);else{f[c>>2]=e;f[d>>2]=c+4}f[i>>2]=g<<32-(f[j>>2]|0);return}e=d|c>>>g;f[i>>2]=e;b=g+b|0;f[j>>2]=b;if((b|0)!=32)return;d=a+4|0;c=f[d>>2]|0;if((c|0)==(f[a+8>>2]|0))Ji(a,i);else{f[c>>2]=e;f[d>>2]=c+4}f[i>>2]=0;f[j>>2]=0;return}function ti(a){a=a|0;var b=0,c=0,d=0;b=f[a+72>>2]|0;if(b|0){d=a+76|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b)}b=f[a+60>>2]|0;if(b|0){c=a+64|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;tq(b)}c=f[a+48>>2]|0;if(c|0){d=a+52|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);tq(c)}b=f[a+24>>2]|0;if(b|0){d=a+28|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b)}d=f[a>>2]|0;if(!d)return;c=a+4|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);tq(d);return}function ui(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;b=f[b>>2]|0;if((b|0)==-1073741824)return 1;d=(b|0)<0?-1073741824:b*3|0;if((d|0)<0)return 1;b=f[a>>2]|0;e=(f[a+4>>2]|0)-b>>2;if((d|0)>=(e|0))ra(20128,20163,98,20248);a=b;c=f[a+(d<<2)>>2]|0;b=d+1|0;if(!((b|0)%3|0))if((d|0)<2)i=-1073741824;else{b=d+-2|0;g=7}else g=7;do if((g|0)==7)if((b|0)<(e|0)){i=f[a+(b<<2)>>2]|0;break}else ra(20128,20163,98,20248);while(0);b=(((d>>>0)%3|0|0)==0?2:-1)+d|0;do if((b|0)>=0)if((b|0)<(e|0)){h=f[a+(b<<2)>>2]|0;break}else ra(20128,20163,98,20248);else h=-1073741824;while(0);if((c|0)==(i|0))return 1;else return (c|0)==(h|0)|(i|0)==(h|0)|0;return 0}function vi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=a+136|0;b=f[g>>2]|0;if(b|0){h=a+140|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);tq(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}tq(b)}b=f[a+104>>2]|0;if(b|0){d=a+108|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b)}b=f[a+92>>2]|0;if(!b){ij(a);return}d=a+96|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b);ij(a);return}function wi(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0;g=a+16|0;j=g;i=f[j+4>>2]|0;if((d|0)<0|(d|0)==0&c>>>0<1|((i|0)>0|(i|0)==0&(f[j>>2]|0)>>>0>0)){a=0;return a|0}b[a+24>>0]=e&1;l=Qn(c|0,d|0,7,0)|0;l=mk(l|0,I|0,8,0)|0;d=I;h=g;f[h>>2]=l;f[h+4>>2]=d;h=a+4|0;g=f[h>>2]|0;c=f[a>>2]|0;i=g-c|0;j=Qn(i|0,0,8,0)|0;j=e?j:i;d=Qn(j|0,(e?I:0)|0,l|0,d|0)|0;if(d>>>0<=i>>>0){if(d>>>0>>0?(k=c+d|0,(g|0)!=(k|0)):0)f[h>>2]=k}else{Ai(a,d-i|0);c=f[a>>2]|0}k=en(8)|0;f[k>>2]=c+j;f[k+4>>2]=0;l=a+12|0;c=f[l>>2]|0;f[l>>2]=k;if(!c){l=1;return l|0}tq(c);l=1;return l|0}function xi(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0;i=u;u=u+64|0;j=i;Bl(j);h=f[h+56>>2]|0;c=X(Rl(5)|0,e)|0;uj(j,h,0,e&255,5,0,c,((c|0)<0)<<31>>31,0,0);c=en(96)|0;rl(c,j);f[a>>2]=c;nj(c,d)|0;if(!g){u=i;return}b[c+84>>0]=0;d=c+68|0;a=c+72|0;e=f[a>>2]|0;c=f[d>>2]|0;h=e-c>>2;if(h>>>0>>0){ph(d,g-h|0,1216);u=i;return}if(h>>>0<=g>>>0){u=i;return}c=c+(g<<2)|0;if((e|0)==(c|0)){u=i;return}f[a>>2]=e+(~((e+-4-c|0)>>>2)<<2);u=i;return}function yi(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Ud(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Ud(a,b);return}function zi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=a+4|0;e=f[g>>2]|0;c=f[a>>2]|0;d=(e-c|0)/108|0;if(d>>>0>>0){ye(a,b-d|0);return}if(d>>>0<=b>>>0)return;a=c+(b*108|0)|0;if((e|0)==(a|0))return;do{f[g>>2]=e+-108;c=f[e+-20>>2]|0;if(c|0){d=e+-16|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);tq(c)}c=f[e+-32>>2]|0;if(c|0){d=e+-28|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);tq(c)}Aj(e+-104|0);e=f[g>>2]|0}while((e|0)!=(a|0));return}function Ai(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;e=f[j>>2]|0;k=a+4|0;d=f[k>>2]|0;if((e-d|0)>>>0>=c>>>0){do{b[d>>0]=0;d=(f[k>>2]|0)+1|0;f[k>>2]=d;c=c+-1|0}while((c|0)!=0);return}g=f[a>>2]|0;h=d-g|0;d=h+c|0;if((d|0)<0)Jp(a);g=e-g|0;i=g<<1;d=g>>>0<1073741823?(i>>>0>>0?d:i):2147483647;if(!d)e=0;else e=en(d)|0;i=e+h|0;h=e+d|0;d=i;g=i;do{b[d>>0]=0;d=g+1|0;g=d;c=c+-1|0}while((c|0)!=0);d=f[a>>2]|0;e=(f[k>>2]|0)-d|0;c=i+(0-e)|0;if((e|0)>0)Sg(c|0,d|0,e|0)|0;f[a>>2]=c;f[k>>2]=g;f[j>>2]=h;if(!d)return;tq(d);return}function Bi(){var a=0,b=0,c=0,d=0,e=0,g=0,h=0,i=0;e=u;u=u+48|0;h=e+32|0;c=e+24|0;i=e+16|0;g=e;e=e+36|0;a=bn()|0;if(a|0?(d=f[a>>2]|0,d|0):0){b=d+48|0;a=f[b>>2]|0;b=f[b+4>>2]|0;if(!((a&-256|0)==1126902528&(b|0)==1129074247)){f[c>>2]=f[1760];Cn(23670,c)}if((a|0)==1126902529&(b|0)==1129074247)a=f[d+44>>2]|0;else a=d+80|0;f[e>>2]=a;d=f[d>>2]|0;a=f[d+4>>2]|0;d=Oa[f[(f[258]|0)+16>>2]&31](1032,d,e)|0;b=f[1760]|0;if(d){i=f[e>>2]|0;i=Ma[f[(f[i>>2]|0)+8>>2]&127](i)|0;f[g>>2]=b;f[g+4>>2]=a;f[g+8>>2]=i;Cn(23584,g)}else{f[i>>2]=b;f[i+4>>2]=a;Cn(23629,i)}}Cn(23708,h)}function Ci(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;i=u;u=u+16|0;g=i;e=en(16)|0;f[g>>2]=e;f[g+8>>2]=-2147483632;f[g+4>>2]=14;h=e;j=17683;k=h+14|0;do{b[h>>0]=b[j>>0]|0;h=h+1|0;j=j+1|0}while((h|0)<(k|0));b[e+14>>0]=0;Ij(a,g,c);if((b[g+11>>0]|0)<0)tq(f[g>>2]|0);e=en(16)|0;f[g>>2]=e;f[g+8>>2]=-2147483632;f[g+4>>2]=14;h=e;j=17698;k=h+14|0;do{b[h>>0]=b[j>>0]|0;h=h+1|0;j=j+1|0}while((h|0)<(k|0));b[e+14>>0]=0;Ij(a,g,d);if((b[g+11>>0]|0)>=0){u=i;return}tq(f[g>>2]|0);u=i;return}function Di(a,c,d){a=a|0;c=c|0;d=$(d);var e=0,g=0,h=0.0,i=0,j=0,k=0;k=u;u=u+16|0;j=k;i=c+11|0;g=b[i>>0]|0;if(g<<24>>24<0)e=f[c+4>>2]|0;else e=g&255;h=+d;while(1){if(g<<24>>24<0)g=f[c>>2]|0;else g=c;p[j>>3]=h;g=mn(g,e+1|0,23581,j)|0;if((g|0)>-1)if(g>>>0>e>>>0)e=g;else break;else e=e<<1|1;wj(c,e,0);g=b[i>>0]|0}wj(c,g,0);f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];e=0;while(1){if((e|0)==3)break;f[c+(e<<2)>>2]=0;e=e+1|0}u=k;return}function Ei(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=1352;d=a+32|0;e=f[d>>2]|0;f[d>>2]=0;if(e|0){d=e+88|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b+8>>2]|0;if(c|0){d=b+12|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;tq(c)}tq(b)}b=f[e+68>>2]|0;if(b|0){d=e+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b)}d=e+64|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){d=b+4|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;tq(c)}tq(b)}tq(e)}d=f[a+16>>2]|0;if(!d)return;c=a+20|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);tq(d);return}function Fi(a){a=a|0;var b=0,c=0,d=0;b=f[a+92>>2]|0;if(b|0){d=a+96|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b)}b=f[a+76>>2]|0;if(b|0){d=a+80|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b)}b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b)}f[a+4>>2]=3524;b=f[a+24>>2]|0;if(b|0)tq(b);b=f[a+12>>2]|0;if(!b)return;tq(b);return}function Gi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;h=c+11|0;e=b[h>>0]|0;if(e<<24>>24<0)g=f[c+4>>2]|0;else g=e&255;while(1){if(e<<24>>24<0)e=f[c>>2]|0;else e=c;f[i>>2]=d;e=mn(e,g+1|0,23578,i)|0;if((e|0)>-1)if(e>>>0>g>>>0)g=e;else break;else g=g<<1|1;wj(c,g,0);e=b[h>>0]|0}wj(c,e,0);f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];e=0;while(1){if((e|0)==3)break;f[c+(e<<2)>>2]=0;e=e+1|0}u=j;return}function Hi(a,c,d){a=a|0;c=c|0;d=d|0;do if(a){if(c>>>0<128){b[a>>0]=c;a=1;break}d=(pq()|0)+188|0;if(!(f[f[d>>2]>>2]|0))if((c&-128|0)==57216){b[a>>0]=c;a=1;break}else{a=iq()|0;f[a>>2]=84;a=-1;break}if(c>>>0<2048){b[a>>0]=c>>>6|192;b[a+1>>0]=c&63|128;a=2;break}if(c>>>0<55296|(c&-8192|0)==57344){b[a>>0]=c>>>12|224;b[a+1>>0]=c>>>6&63|128;b[a+2>>0]=c&63|128;a=3;break}if((c+-65536|0)>>>0<1048576){b[a>>0]=c>>>18|240;b[a+1>>0]=c>>>12&63|128;b[a+2>>0]=c>>>6&63|128;b[a+3>>0]=c&63|128;a=4;break}else{a=iq()|0;f[a>>2]=84;a=-1;break}}else a=1;while(0);return a|0}function Ii(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;i=u;u=u+16|0;h=i;d=f[(f[c+4>>2]|0)+4>>2]|0;if(!d){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=i;return}if(!(rj(i+12|0,f[c+44>>2]|0,d)|0)){d=en(32)|0;f[h>>2]=d;f[h+8>>2]=-2147483616;f[h+4>>2]=26;c=d;e=19134;g=c+26|0;do{b[c>>0]=b[e>>0]|0;c=c+1|0;e=e+1|0}while((c|0)<(g|0));b[d+26>>0]=0;f[a>>2]=-1;gj(a+4|0,h);if((b[h+11>>0]|0)<0)tq(f[h>>2]|0)}else{f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}u=i;return}function Ji(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;j=a+4|0;i=f[a>>2]|0;l=(f[j>>2]|0)-i|0;h=l>>2;c=h+1|0;if(c>>>0>1073741823)Jp(a);k=a+8|0;g=(f[k>>2]|0)-i|0;d=g>>1;d=g>>2>>>0<536870911?(d>>>0>>0?c:d):1073741823;do if(d)if(d>>>0>1073741823){a=sa(8)|0;xo(a,20710);f[a>>2]=7152;wa(a|0,1112,107)}else{g=en(d<<2)|0;break}else g=0;while(0);e=g+(h<<2)|0;f[e>>2]=f[b>>2];c=e+(0-h<<2)|0;if((l|0)>0)Sg(c|0,i|0,l|0)|0;f[a>>2]=c;f[j>>2]=e+4;f[k>>2]=g+(d<<2);if(!i)return;tq(i);return}function Ki(a){a=a|0;var c=0,d=0,e=0,g=0;f[a>>2]=3368;d=a+72|0;c=a+136|0;e=a+4|0;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));e=d;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));n[c>>2]=$(1.0);g=a+140|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;f[a+164>>2]=-1;g=a+168|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;f[g+24>>2]=0;gn(a+200|0);pn(a+232|0);g=a+264|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;b[g+24>>0]=0;return}function Li(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+8|0;d=f[i>>2]|0;if((d|0)<0){j=0;return j|0}j=a+4|0;a=f[j>>2]|0;e=a+4|0;c=f[e>>2]|0;b=f[a>>2]|0;g=c-b>>2;if(d>>>0<=g>>>0){if(d>>>0>>0?(h=b+(d<<2)|0,(c|0)!=(h|0)):0)f[e>>2]=c+(~((c+-4-h|0)>>>2)<<2)}else{ri(a,d-g|0);d=f[i>>2]|0}if((d|0)<=0){j=1;return j|0}e=f[j>>2]|0;a=f[e>>2]|0;c=(f[e+4>>2]|0)-a>>2;b=0;while(1){if(c>>>0<=b>>>0){b=10;break}f[a+(b<<2)>>2]=b;b=b+1|0;if((b|0)>=(d|0)){a=1;b=12;break}}if((b|0)==10)Jp(e);else if((b|0)==12)return a|0;return 0}function Mi(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=f[a+28>>2]|0;if(c|0)do{d=c;c=f[c>>2]|0;g=d+8|0;h=d+20|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){Mi(e);tq(e)}if((b[g+11>>0]|0)<0)tq(f[g>>2]|0);tq(d)}while((c|0)!=0);h=a+20|0;c=f[h>>2]|0;f[h>>2]=0;if(c|0)tq(c);c=f[a+8>>2]|0;if(c|0)do{g=c;c=f[c>>2]|0;h=g+8|0;d=f[g+20>>2]|0;if(d|0){e=g+24|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;tq(d)}if((b[h+11>>0]|0)<0)tq(f[h>>2]|0);tq(g)}while((c|0)!=0);c=f[a>>2]|0;f[a>>2]=0;if(!c)return;tq(c);return}function Ni(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;Xk(a);g=a+84|0;b=f[g>>2]|0;if((b|0)<=0)return;d=b<<5;d=qq(b>>>0>134217727|d>>>0>4294967291?-1:d+4|0)|0;f[d>>2]=b;d=d+4|0;c=d+(b<<5)|0;b=d;do{gn(b);b=b+32|0}while((b|0)!=(c|0));e=a+80|0;a=f[e>>2]|0;f[e>>2]=d;if(a|0){c=a+-4|0;b=f[c>>2]|0;if(b|0){b=a+(b<<5)|0;do{b=b+-32|0;sj(b)}while((b|0)!=(a|0))}rq(c)}if((f[g>>2]|0)>0)b=0;else return;do{Xk((f[e>>2]|0)+(b<<5)|0);b=b+1|0}while((b|0)<(f[g>>2]|0));return}function Oi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;i=u;u=u+16|0;h=i;g=f[c+36>>2]|0;if(!g){e=en(32)|0;f[h>>2]=e;f[h+8>>2]=-2147483616;f[h+4>>2]=23;g=e;d=18981;c=g+23|0;do{b[g>>0]=b[d>>0]|0;g=g+1|0;d=d+1|0}while((g|0)<(c|0));b[e+23>>0]=0;f[a>>2]=-1;gj(a+4|0,h);if((b[h+11>>0]|0)<0)tq(f[h>>2]|0);u=i;return}e=f[c+40>>2]|0;if(!e){kd(a,c,g,d);u=i;return}else{Yh(a,c,e,d);u=i;return}}function Pi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;g=f[a>>2]|0;d=g;if((((f[j>>2]|0)-g|0)/12|0)>>>0>=b>>>0)return;i=a+4|0;if(b>>>0>357913941){a=sa(8)|0;xo(a,20710);f[a>>2]=7152;wa(a|0,1112,107)}k=f[i>>2]|0;e=en(b*12|0)|0;c=e+(((k-g|0)/12|0)*12|0)|0;h=c;e=e+(b*12|0)|0;b=k;if((b|0)==(d|0))c=h;else do{k=b;b=b+-12|0;f[c+-12>>2]=f[b>>2];f[c+-8>>2]=f[k+-8>>2];f[c+-4>>2]=f[k+-4>>2];c=c+-12|0}while((b|0)!=(d|0));f[a>>2]=c;f[i>>2]=h;f[j>>2]=e;if(!g)return;tq(g);return}function Qi(a,c,d,e){a=a|0;c=c|0;d=d|0;e=+e;var g=0,h=0,i=0,j=0;i=u;u=u+16|0;h=i;if(!c){j=0;u=i;return j|0}f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;g=Xj(d)|0;if(g>>>0>4294967279)Jp(h);if(g>>>0<11){b[h+11>>0]=g;if(!g)a=h;else{a=h;j=7}}else{j=g+16&-16;a=en(j)|0;f[h>>2]=a;f[h+8>>2]=j|-2147483648;f[h+4>>2]=g;j=7}if((j|0)==7)Sg(a|0,d|0,g|0)|0;b[a+g>>0]=0;Sl(c,h,e);if((b[h+11>>0]|0)<0)tq(f[h>>2]|0);j=1;u=i;return j|0}function Ri(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0;i=u;u=u+16|0;h=i;if(!c){j=0;u=i;return j|0}f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;g=Xj(d)|0;if(g>>>0>4294967279)Jp(h);if(g>>>0<11){b[h+11>>0]=g;if(!g)a=h;else{a=h;j=7}}else{j=g+16&-16;a=en(j)|0;f[h>>2]=a;f[h+8>>2]=j|-2147483648;f[h+4>>2]=g;j=7}if((j|0)==7)Sg(a|0,d|0,g|0)|0;b[a+g>>0]=0;Ul(c,h,e);if((b[h+11>>0]|0)<0)tq(f[h>>2]|0);j=1;u=i;return j|0}function Si(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+32|0;a=f[b>>2]|0;f[b>>2]=0;d=f[c>>2]|0;f[c>>2]=a;if(!d)return;c=d+88|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0){a=f[b+8>>2]|0;if(a|0){c=b+12|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;tq(a)}tq(b)}b=f[d+68>>2]|0;if(b|0){c=d+72|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);tq(b)}c=d+64|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0){a=f[b>>2]|0;if(a|0){c=b+4|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;tq(a)}tq(b)}tq(d);return}function Ti(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+48|0;h=j+4|0;i=j;g=f[b+12>>2]|0;b=f[b+4>>2]|0;d=h;e=d+36|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));Qg(i,c,g,b,h);e=f[h+24>>2]|0;if(!e){i=f[i>>2]|0;f[a>>2]=i;u=j;return}d=h+28|0;b=f[d>>2]|0;if((b|0)!=(e|0))f[d>>2]=b+(~((b+-4-e|0)>>>2)<<2);tq(e);i=f[i>>2]|0;f[a>>2]=i;u=j;return}function Ui(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;e=u;u=u+16|0;d=e;if(!c){a=0;u=e;return a|0}i=c+4|0;g=(f[i>>2]|0)-(f[c>>2]|0)>>2;b[d>>0]=0;$g(a,g,d);g=c+24|0;h=c+28|0;j=(f[h>>2]|0)-(f[g>>2]|0)>>2;b[d>>0]=0;$g(a+12|0,j,d);cg(a+28|0,(f[i>>2]|0)-(f[c>>2]|0)>>2,6068);Kj(a+52|0,(f[h>>2]|0)-(f[g>>2]|0)>>2);Kj(a+40|0,(f[h>>2]|0)-(f[g>>2]|0)>>2);f[a+64>>2]=c;b[a+24>>0]=1;a=1;u=e;return a|0}function Vi(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+128|0;g=m+124|0;l=m;h=l;i=6488;j=h+124|0;do{f[h>>2]=f[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));if((c+-1|0)>>>0>2147483646)if(!c){c=1;k=4}else{g=iq()|0;f[g>>2]=75;g=-1}else{g=a;k=4}if((k|0)==4){k=-2-g|0;k=c>>>0>k>>>0?k:c;f[l+48>>2]=k;h=l+20|0;f[h>>2]=g;f[l+44>>2]=g;g=g+k|0;c=l+16|0;f[c>>2]=g;f[l+28>>2]=g;g=nh(l,d,e)|0;if(k){d=f[h>>2]|0;b[d+(((d|0)==(f[c>>2]|0))<<31>>31)>>0]=0}}u=m;return g|0}function Wi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;if(!b){e=0;return e|0}if(f[b+4>>2]|0){e=0;return e|0}a=en(52)|0;Pb(a,c);f[a+40>>2]=0;f[a+44>>2]=0;f[a+48>>2]=0;d=b+4|0;e=f[d>>2]|0;f[d>>2]=a;if(!e){e=1;return e|0}a=e+40|0;b=f[a>>2]|0;if(b|0){d=e+44|0;c=f[d>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[d>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0){Mi(c);tq(c)}c=f[d>>2]|0}while((c|0)!=(b|0));b=f[a>>2]|0}tq(b)}Mi(e);tq(e);g=1;return g|0}function Xi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+16|0;j=k;h=a+11|0;e=b[h>>0]|0;g=e<<24>>24<0;if(g)i=(f[a+8>>2]&2147483647)+-1|0;else i=10;do if(i>>>0>=d>>>0){if(g)e=f[a>>2]|0;else e=a;io(e,c,d)|0;b[j>>0]=0;ap(e+d|0,j);if((b[h>>0]|0)<0){f[a+4>>2]=d;break}else{b[h>>0]=d;break}}else{if(g)e=f[a+4>>2]|0;else e=e&255;pi(a,i,d-i|0,e,0,e,d,c)}while(0);u=k;return a|0}function Yi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l;j=a+11|0;e=b[j>>0]|0;i=e<<24>>24<0;if(i){h=f[a+4>>2]|0;e=(f[a+8>>2]&2147483647)+-1|0}else{h=e&255;e=10}g=h+d|0;if((e-h|0)>>>0>=d>>>0){if(d|0){if(i)e=f[a>>2]|0;else e=a;ko(e+h|0,c,d)|0;if((b[j>>0]|0)<0)f[a+4>>2]=g;else b[j>>0]=g;b[k>>0]=0;ap(e+g|0,k)}}else pi(a,e,g-e|0,h,h,0,d,c);u=l;return a|0}function Zi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l;if(c|0){h=a+11|0;e=b[h>>0]|0;if(e<<24>>24<0){j=f[a+4>>2]|0;g=(f[a+8>>2]&2147483647)+-1|0}else{j=e&255;g=10}i=j+c|0;if((g-j|0)>>>0>>0){kj(a,g,i-g|0,j,j,0,0);e=b[h>>0]|0}if(e<<24>>24<0)e=f[a>>2]|0;else e=a;xn(e+j|0,c,d)|0;if((b[h>>0]|0)<0)f[a+4>>2]=i;else b[h>>0]=i;b[k>>0]=0;ap(e+i|0,k)}u=l;return a|0}function _i(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0;d=a+104|0;j=f[d>>2]|0;if((j|0)!=0?(f[a+108>>2]|0)>=(j|0):0)k=4;else{c=Sm(a)|0;if((c|0)>=0){e=f[d>>2]|0;d=a+8|0;if(e){i=f[d>>2]|0;j=f[a+4>>2]|0;d=a+108|0;e=e-(f[d>>2]|0)|0;g=i;if((i-j|0)<(e|0)){i=g;e=j}else{i=j+(e+-1)|0;e=j}}else{g=f[d>>2]|0;i=g;e=f[a+4>>2]|0;d=a+108|0}f[a+100>>2]=i;if(g|0)f[d>>2]=g+1-e+(f[d>>2]|0);d=e+-1|0;if((h[d>>0]|0|0)!=(c|0))b[d>>0]=c}else k=4}if((k|0)==4){f[a+100>>2]=0;c=-1}return c|0}function $i(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+4|0;if((Ma[f[(f[b>>2]|0)+20>>2]&127](b)|0)<=0){b=1;return b|0}d=0;while(1){a=f[(f[c>>2]|0)+4>>2]|0;a=bm(a,Na[f[(f[b>>2]|0)+24>>2]&127](b,d)|0)|0;if((a|0)==-1){a=0;c=6;break}e=f[(f[b>>2]|0)+28>>2]|0;a=bl(f[c>>2]|0,a)|0;d=d+1|0;if(!(Na[e&127](b,a)|0)){a=0;c=6;break}if((d|0)>=(Ma[f[(f[b>>2]|0)+20>>2]&127](b)|0)){a=1;c=6;break}}if((c|0)==6)return a|0;return 0}function aj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a>>2]|0;if(!b)return;h=a+4|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{f[h>>2]=c+-108;d=f[c+-20>>2]|0;if(d|0){g=c+-16|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);tq(d)}d=f[c+-32>>2]|0;if(d|0){g=c+-28|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);tq(d)}Aj(c+-104|0);c=f[h>>2]|0}while((c|0)!=(b|0));b=f[a>>2]|0}tq(b);return}function bj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;if(!(Nn(a,b,c)|0)){b=0;return b|0}if(!(Ma[f[(f[a>>2]|0)+52>>2]&127](a)|0)){b=0;return b|0}g=a+4|0;e=a+8|0;c=f[g>>2]|0;if((f[e>>2]|0)==(c|0)){b=1;return b|0}d=a+36|0;a=0;while(1){h=f[(f[d>>2]|0)+(a<<2)>>2]|0;if(!(Oa[f[(f[h>>2]|0)+8>>2]&31](h,b,f[c+(a<<2)>>2]|0)|0)){c=0;a=7;break}a=a+1|0;c=f[g>>2]|0;if(a>>>0>=(f[e>>2]|0)-c>>2>>>0){c=1;a=7;break}}if((a|0)==7)return c|0;return 0}function cj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a>>2]|0;if(b){e=c+8|0;c=e;c=Qn(f[c>>2]|0,f[c+4>>2]|0,1,0)|0;f[e>>2]=c;f[e+4>>2]=I;e=a+28|0;c=f[e>>2]|0;d=a+24|0;f[d>>2]=f[d>>2]|1<>2]|0,f[d+4>>2]|0,1,0)|0;e=c;f[e>>2]=d;f[e+4>>2]=I;e=a+28|0;c=f[e>>2]|0}d=c+1|0;f[e>>2]=d;if((d|0)!=32)return;d=a+24|0;b=a+16|0;c=f[b>>2]|0;if((c|0)==(f[a+20>>2]|0))Ji(a+12|0,d);else{f[c>>2]=f[d>>2];f[b>>2]=c+4}f[e>>2]=0;f[d>>2]=0;return}function dj(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=3820;b=f[a+32>>2]|0;if(b|0){d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b)}b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b)}e=a+8|0;b=f[e>>2]|0;if(!b)return;d=a+12|0;c=f[d>>2]|0;if((c|0)!=(b|0)){do{a=c+-4|0;f[d>>2]=a;c=f[a>>2]|0;f[a>>2]=0;if(c|0)Ra[f[(f[c>>2]|0)+4>>2]&127](c);c=f[d>>2]|0}while((c|0)!=(b|0));b=f[e>>2]|0}tq(b);return}function ej(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;do if(!(Po(a,f[c+8>>2]|0,g)|0)){if(Po(a,f[c>>2]|0,g)|0){a=c+32|0;if((f[c+16>>2]|0)!=(d|0)?(h=c+20|0,(f[h>>2]|0)!=(d|0)):0){f[a>>2]=e;f[h>>2]=d;e=c+40|0;f[e>>2]=(f[e>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0)b[c+54>>0]=1;f[c+44>>2]=4;break}if((e|0)==1)f[a>>2]=1}}else Cm(0,c,d,e);while(0);return}function fj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=a+d|0;c=c&255;if((d|0)>=67){while(a&3){b[a>>0]=c;a=a+1|0}e=h&-4|0;g=e-64|0;i=c|c<<8|c<<16|c<<24;while((a|0)<=(g|0)){f[a>>2]=i;f[a+4>>2]=i;f[a+8>>2]=i;f[a+12>>2]=i;f[a+16>>2]=i;f[a+20>>2]=i;f[a+24>>2]=i;f[a+28>>2]=i;f[a+32>>2]=i;f[a+36>>2]=i;f[a+40>>2]=i;f[a+44>>2]=i;f[a+48>>2]=i;f[a+52>>2]=i;f[a+56>>2]=i;f[a+60>>2]=i;a=a+64|0}while((a|0)<(e|0)){f[a>>2]=i;a=a+4|0}}while((a|0)<(h|0)){b[a>>0]=c;a=a+1|0}return h-d|0}function gj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;g=u;u=u+16|0;e=g;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;if((b[c+11>>0]|0)<0){d=f[c>>2]|0;c=f[c+4>>2]|0;if(c>>>0>4294967279)Jp(a);if(c>>>0<11)b[a+11>>0]=c;else{i=c+16&-16;h=en(i)|0;f[a>>2]=h;f[a+8>>2]=i|-2147483648;f[a+4>>2]=c;a=h}ko(a,d,c)|0;b[e>>0]=0;ap(a+c|0,e)}else{f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2]}u=g;return}function hj(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0;b[c+53>>0]=1;do if((f[c+4>>2]|0)==(e|0)){b[c+52>>0]=1;h=c+16|0;a=f[h>>2]|0;k=c+54|0;j=c+48|0;i=c+24|0;e=c+36|0;if(!a){f[h>>2]=d;f[i>>2]=g;f[e>>2]=1;if(!((f[j>>2]|0)==1&(g|0)==1))break;b[k>>0]=1;break}if((a|0)!=(d|0)){f[e>>2]=(f[e>>2]|0)+1;b[k>>0]=1;break}e=f[i>>2]|0;if((e|0)==2){f[i>>2]=g;e=g}if((f[j>>2]|0)==1&(e|0)==1)b[k>>0]=1}while(0);return}function ij(a){a=a|0;var b=0,c=0,d=0;d=a+80|0;c=f[d>>2]|0;f[d>>2]=0;if(c|0){d=c+-4|0;b=f[d>>2]|0;if(b|0){b=c+(b<<5)|0;do{b=b+-32|0;sj(b)}while((b|0)!=(c|0))}rq(d)}b=f[a+68>>2]|0;if(b|0){d=a+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b)}d=a+44|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)tq(b);b=f[a+32>>2]|0;if(!b){sj(a);return}c=a+36|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;tq(b);sj(a);return}function jj(a,b){a=a|0;b=b|0;if(!b)return;else{jj(a,f[b>>2]|0);jj(a,f[b+4>>2]|0);oj(b+20|0,f[b+24>>2]|0);tq(b);return}}function kj(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-c|0)>>>0>>0)Jp(a);if((b[a+11>>0]|0)<0)l=f[a>>2]|0;else l=a;if(c>>>0<2147483623){k=d+c|0;j=c<<1;k=k>>>0>>0?j:k;k=k>>>0<11?11:k+16&-16}else k=-17;j=en(k)|0;if(g|0)ko(j,l,g)|0;d=e-h-g|0;if(d|0)ko(j+g+i|0,l+g+h|0,d)|0;if((c|0)!=10)tq(l);f[a>>2]=j;f[a+8>>2]=k|-2147483648;return}function lj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;dg(a,b,c);d=f[a+96>>2]|0;a=(f[a+100>>2]|0)-d|0;if((a|0)<=0)return;b=f[b>>2]|0;c=(a>>>0)/12|0;a=0;do{e=d+(a*12|0)|0;f[e>>2]=f[b+(f[e>>2]<<2)>>2];e=d+(a*12|0)+4|0;f[e>>2]=f[b+(f[e>>2]<<2)>>2];e=d+(a*12|0)+8|0;f[e>>2]=f[b+(f[e>>2]<<2)>>2];a=a+1|0}while((a|0)<(c|0));return}function mj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)<0){a=0;return a|0}do if(!b){e=a+4|0;d=f[e>>2]|0;b=f[a>>2]|0;g=d-b|0;if(c>>>0>g>>>0){Ai(a,c-g|0);break}if(c>>>0>>0?(h=b+c|0,(d|0)!=(h|0)):0)f[e>>2]=h}else tg(a,b,b+c|0);while(0);a=a+24|0;h=a;h=Qn(f[h>>2]|0,f[h+4>>2]|0,1,0)|0;f[a>>2]=h;f[a+4>>2]=I;a=1;return a|0}function nj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;h=a+64|0;if((f[h>>2]|0)==0?(g=en(32)|0,on(g),d=f[h>>2]|0,f[h>>2]=g,d|0):0){e=f[d>>2]|0;if(e|0){g=d+4|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;tq(e)}tq(d)}e=Rl(f[a+28>>2]|0)|0;e=X(b[a+24>>0]|0,e)|0;d=((e|0)<0)<<31>>31;i=f[h>>2]|0;g=dn(e|0,d|0,c|0,0)|0;if(!(mj(i,0,g,I)|0)){i=0;return i|0}xk(a,f[h>>2]|0,e,d,0,0);f[a+80>>2]=c;i=1;return i|0}function oj(a,c){a=a|0;c=c|0;var d=0;if(!c)return;oj(a,f[c>>2]|0);oj(a,f[c+4>>2]|0);a=c+16|0;d=c+28|0;if((b[d+11>>0]|0)<0)tq(f[d>>2]|0);if((b[a+11>>0]|0)<0)tq(f[a>>2]|0);tq(c);return}function pj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;h=u;u=u+64|0;g=h;if(!(Po(a,b,0)|0))if((b|0)!=0?(e=qh(b,1056,1040,0)|0,(e|0)!=0):0){b=g+4|0;d=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(d|0));f[g>>2]=e;f[g+8>>2]=a;f[g+12>>2]=-1;f[g+48>>2]=1;Ua[f[(f[e>>2]|0)+28>>2]&3](e,g,f[c>>2]|0,1);if((f[g+24>>2]|0)==1){f[c>>2]=f[g+16>>2];b=1}else b=0}else b=0;else b=1;u=h;return b|0}function qj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=u;u=u+16|0;c=g;if(b|0){a=0;u=g;return a|0}b=en(36)|0;ro(b,0);f[c>>2]=b;e=a+12|0;d=f[e>>2]|0;if(d>>>0<(f[a+16>>2]|0)>>>0){f[c>>2]=0;f[d>>2]=b;f[e>>2]=d+4}else Mg(a+8|0,c);b=f[c>>2]|0;f[c>>2]=0;if(!b){a=1;u=g;return a|0}Ra[f[(f[b>>2]|0)+4>>2]&127](b);a=1;u=g;return a|0}function rj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;if(!c){a=0;return a|0}d=c+40|0;g=c+44|0;Th((f[g>>2]|0)-(f[d>>2]|0)>>2,b)|0;d=f[d>>2]|0;g=f[g>>2]|0;if((d|0)!=(g|0))do{e=f[d>>2]|0;if(e|0){Th(f[e+40>>2]|0,b)|0;Wf(a,b,e)|0}d=d+4|0}while((d|0)!=(g|0));Wf(a,b,c)|0;a=1;return a|0}function sj(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;c=e;d=c;f[d>>2]=0;f[d+4>>2]=0;nf(a,2,c);c=f[a+12>>2]|0;d=a+16|0;b=f[d>>2]|0;if((b|0)==(c|0))b=c;else{b=b+(~((b+-4-c|0)>>>2)<<2)|0;f[d>>2]=b}f[a+24>>2]=0;f[a+28>>2]=0;if(c|0){if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);tq(c)}d=f[a>>2]|0;if(!d){u=e;return}c=a+4|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-8-d|0)>>>3)<<3);tq(d);u=e;return}function tj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0;f=d-e|0;a=a+8|0;if((f|0)>0){d=0-e|0;do{g=b+(f<<2)|0;bi(a,g,g+(d<<2)|0,c+(f<<2)|0);f=f-e|0}while((f|0)>0)}e=e>>>0>1073741823?-1:e<<2;g=qq(e)|0;fj(g|0,0,e|0)|0;bi(a,b,g,c);rq(g);return 1}function uj(a,c,d,e,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0;f[a>>2]=d;if(d|0){o=d+16|0;m=f[o+4>>2]|0;n=a+8|0;f[n>>2]=f[o>>2];f[n+4>>2]=m;n=d+24|0;m=f[n+4>>2]|0;d=a+16|0;f[d>>2]=f[n>>2];f[d+4>>2]=m}b[a+24>>0]=e;f[a+28>>2]=g;b[a+32>>0]=h&1;o=a+40|0;f[o>>2]=i;f[o+4>>2]=j;o=a+48|0;f[o>>2]=k;f[o+4>>2]=l;f[a+56>>2]=c;return}function vj(a){a=a|0;var b=0,c=0,d=0;if(!a)return;d=a+88|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b+8>>2]|0;if(c|0){d=b+12|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;tq(c)}tq(b)}b=f[a+68>>2]|0;if(b|0){d=a+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b)}d=a+64|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){d=b+4|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;tq(c)}tq(b)}tq(a);return}function wj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;h=j;g=a+11|0;e=b[g>>0]|0;i=e<<24>>24<0;if(i)e=f[a+4>>2]|0;else e=e&255;do if(e>>>0>=c>>>0)if(i){i=(f[a>>2]|0)+c|0;b[h>>0]=0;ap(i,h);f[a+4>>2]=c;break}else{b[h>>0]=0;ap(a+c|0,h);b[g>>0]=c;break}else Zi(a,c-e|0,d)|0;while(0);u=j;return}function xj(a,b){a=a|0;b=b|0;if(!b)return;else{xj(a,f[b>>2]|0);xj(a,f[b+4>>2]|0);oj(b+20|0,f[b+24>>2]|0);tq(b);return}}function yj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;e=h+4|0;d=h;g=h+8|0;a=f[a+4>>2]|0;if((a|0)==-1){g=0;u=h;return g|0}b[g>>0]=a;a=c+16|0;i=f[a+4>>2]|0;if(!((i|0)>0|(i|0)==0&(f[a>>2]|0)>>>0>0)){f[d>>2]=f[c+4>>2];f[e>>2]=f[d>>2];Me(c,e,g,g+1|0)|0}i=1;u=h;return i|0}function zj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+16|0;j=k;i=k+4|0;f[j>>2]=c;c=en(32)|0;f[i>>2]=c;f[i+8>>2]=-2147483616;f[i+4>>2]=17;e=c;g=17770;h=e+17|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));b[c+17>>0]=0;Ij(Ed(a,j)|0,i,d);if((b[i+11>>0]|0)>=0){u=k;return}tq(f[i>>2]|0);u=k;return}function Aj(a){a=a|0;var b=0,c=0,d=0;b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b)}b=f[a+40>>2]|0;if(b|0){d=a+44|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b)}b=f[a+28>>2]|0;if(b|0){d=a+32|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b)}b=f[a+12>>2]|0;if(b|0)tq(b);b=f[a>>2]|0;if(!b)return;tq(b);return}function Bj(a,b){a=a|0;b=b|0;var c=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){a=0;return a|0}b=f[c+(b<<2)>>2]|0;if((b|0)<0){a=0;return a|0}c=a+48|0;if((f[a+52>>2]|0)>>>0<=b>>>0)Fe(c,b+1|0,0);c=(f[c>>2]|0)+(b>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(b&31);c=f[a+36>>2]|0;if((f[a+40>>2]|0)-c>>2>>>0<=b>>>0){a=1;return a|0}hp(f[c+(b<<2)>>2]|0);a=1;return a|0}function Cj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;j=l;k=c&255;b[j>>0]=k;g=a+16|0;e=f[g>>2]|0;if(!e)if(!(ql(a)|0)){e=f[g>>2]|0;i=4}else d=-1;else i=4;do if((i|0)==4){i=a+20|0;g=f[i>>2]|0;if(g>>>0>>0?(d=c&255,(d|0)!=(b[a+75>>0]|0)):0){f[i>>2]=g+1;b[g>>0]=k;break}if((Oa[f[a+36>>2]&31](a,j,1)|0)==1)d=h[j>>0]|0;else d=-1}while(0);u=l;return d|0}function Dj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;e=u;u=u+16|0;c=e+8|0;b=e+4|0;d=e;f[d>>2]=f[(f[a+4>>2]|0)+80>>2];a=f[a+44>>2]|0;g=a+16|0;h=f[g+4>>2]|0;if((h|0)>0|(h|0)==0&(f[g>>2]|0)>>>0>0){u=e;return 1}f[b>>2]=f[a+4>>2];f[c>>2]=f[b>>2];Me(a,c,d,d+4|0)|0;u=e;return 1}function Ej(a,c,d){a=a|0;c=c|0;d=$(d);var e=0,g=0;g=u;u=u+16|0;e=g;al(e,d);a=ni(a,c)|0;c=a+11|0;if((b[c>>0]|0)<0){b[f[a>>2]>>0]=0;f[a+4>>2]=0}else{b[a>>0]=0;b[c>>0]=0}xh(a,0);f[a>>2]=f[e>>2];f[a+4>>2]=f[e+4>>2];f[a+8>>2]=f[e+8>>2];u=g;return}function Fj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+16|0;e=g;el(e,d&1);a=ni(a,c)|0;c=a+11|0;if((b[c>>0]|0)<0){b[f[a>>2]>>0]=0;f[a+4>>2]=0}else{b[a>>0]=0;b[c>>0]=0}xh(a,0);f[a>>2]=f[e>>2];f[a+4>>2]=f[e+4>>2];f[a+8>>2]=f[e+8>>2];u=g;return}function Gj(a){a=a|0;if(!a)return;oj(a+24|0,f[a+28>>2]|0);jj(a+12|0,f[a+16>>2]|0);oj(a,f[a+4>>2]|0);tq(a);return}function Hj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;h=a&255;d=a&255;if((f[c+76>>2]|0)>=0?(zq(c)|0)!=0:0){if((d|0)!=(b[c+75>>0]|0)?(j=c+20|0,g=f[j>>2]|0,g>>>0<(f[c+16>>2]|0)>>>0):0){f[j>>2]=g+1;b[g>>0]=h}else d=Cj(c,a)|0;yq(c)}else k=3;do if((k|0)==3){if((d|0)!=(b[c+75>>0]|0)?(i=c+20|0,e=f[i>>2]|0,e>>>0<(f[c+16>>2]|0)>>>0):0){f[i>>2]=e+1;b[e>>0]=h;break}d=Cj(c,a)|0}while(0);return d|0}function Ij(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+16|0;e=g;el(e,d);a=ni(a,c)|0;c=a+11|0;if((b[c>>0]|0)<0){b[f[a>>2]>>0]=0;f[a+4>>2]=0}else{b[a>>0]=0;b[c>>0]=0}xh(a,0);f[a>>2]=f[e>>2];f[a+4>>2]=f[e+4>>2];f[a+8>>2]=f[e+8>>2];u=g;return}function Jj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2132;b=f[a+96>>2]|0;if(b|0)tq(b);b=f[a+84>>2]|0;if(b|0)tq(b);b=f[a+72>>2]|0;if(b|0)tq(b);b=f[a+60>>2]|0;if(b|0)tq(b);f[a>>2]=1544;c=f[a+32>>2]|0;if(!c){tq(a);return}d=a+36|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);tq(c);tq(a);return}function Kj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;e=a+8|0;c=f[a>>2]|0;if((f[e>>2]|0)-c>>2>>>0>=b>>>0)return;d=a+4|0;if(b>>>0>1073741823){a=sa(8)|0;xo(a,20710);f[a>>2]=7152;wa(a|0,1112,107)}j=(f[d>>2]|0)-c|0;h=j>>2;i=en(b<<2)|0;g=i+(h<<2)|0;h=g+(0-h<<2)|0;if((j|0)>0)Sg(h|0,c|0,j|0)|0;f[a>>2]=h;f[d>>2]=g;f[e>>2]=i+(b<<2);if(!c)return;tq(c);return}function Lj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;h=u;u=u+16|0;e=h;if(c>>>0>10){j=0;u=h;return j|0}d=en(48)|0;f[e>>2]=d;f[e+8>>2]=-2147483600;f[e+4>>2]=33;g=d;i=19262;j=g+33|0;do{b[g>>0]=b[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));b[d+33>>0]=0;Ij(a,e,c);if((b[e+11>>0]|0)<0)tq(f[e>>2]|0);j=1;u=h;return j|0}function Mj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1768;b=f[a+96>>2]|0;if(b|0)tq(b);b=f[a+84>>2]|0;if(b|0)tq(b);b=f[a+72>>2]|0;if(b|0)tq(b);b=f[a+60>>2]|0;if(b|0)tq(b);f[a>>2]=1544;c=f[a+32>>2]|0;if(!c){tq(a);return}d=a+36|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);tq(c);tq(a);return}function Nj(a){a=a|0;var b=0,c=0;f[a>>2]=2132;b=f[a+96>>2]|0;if(b|0)tq(b);b=f[a+84>>2]|0;if(b|0)tq(b);b=f[a+72>>2]|0;if(b|0)tq(b);b=f[a+60>>2]|0;if(b|0)tq(b);f[a>>2]=1544;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);tq(c);return}function Oj(a){a=a|0;var c=0,d=0,e=0,f=0,g=0;while(1){c=b[a>>0]|0;d=c<<24>>24;e=a+1|0;if(!(Mp(d)|0))break;else a=e}switch(d|0){case 45:{a=1;f=5;break}case 43:{a=0;f=5;break}default:{g=0;e=a}}if((f|0)==5){c=b[e>>0]|0;g=a}a=(c<<24>>24)+-48|0;if(a>>>0<10){d=a;a=0;c=e;do{c=c+1|0;a=(a*10|0)-d|0;d=(b[c>>0]|0)+-48|0}while(d>>>0<10)}else a=0;return (g|0?a:0-a|0)|0}function Pj(a){a=a|0;var b=0,c=0;f[a>>2]=1768;b=f[a+96>>2]|0;if(b|0)tq(b);b=f[a+84>>2]|0;if(b|0)tq(b);b=f[a+72>>2]|0;if(b|0)tq(b);b=f[a+60>>2]|0;if(b|0)tq(b);f[a>>2]=1544;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);tq(c);return}function Qj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;h=a+4|0;f[h>>2]=0;f[a+8>>2]=0;e=b+4|0;c=(f[e>>2]|0)-(f[b>>2]|0)|0;d=c>>2;if(!d)return;if(d>>>0>1073741823)Jp(a);g=en(c)|0;f[h>>2]=g;f[a>>2]=g;f[a+8>>2]=g+(d<<2);b=f[b>>2]|0;c=(f[e>>2]|0)-b|0;if((c|0)<=0)return;Sg(g|0,b|0,c|0)|0;f[h>>2]=g+(c>>>2<<2);return}function Rj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=a+36|0;e=a+40|0;c=f[g>>2]|0;if((f[e>>2]|0)==(c|0)){g=1;return g|0}d=a+60|0;a=c;c=0;while(1){a=f[a+(c<<2)>>2]|0;c=c+1|0;if(!(Oa[f[(f[a>>2]|0)+20>>2]&31](a,d,b)|0)){a=0;c=5;break}a=f[g>>2]|0;if(c>>>0>=(f[e>>2]|0)-a>>2>>>0){a=1;c=5;break}}if((c|0)==5)return a|0;return 0}function Sj(a,c,d){a=a|0;c=c|0;d=d|0;c=Rg(a,c)|0;if((c|0)==(a+4|0)){a=-1;c=(a|0)==-1;a=(a|0)!=0;d=c?d:a;return d|0}c=c+28|0;if((b[c+11>>0]|0)<0)c=f[c>>2]|0;a=Oj(c)|0;c=(a|0)==-1;a=(a|0)!=0;d=c?d:a;return d|0}function Tj(a,b){a=+a;b=b|0;var c=0,d=0;if((b|0)<=1023){if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;c=(d|0)<-1022;b=b+2044|0;b=c?((b|0)>-1022?b:-1022):d;a=c?a*2.2250738585072014e-308:a}}else{a=a*8988465674311579538646525.0e283;c=b+-1023|0;d=(c|0)>1023;b=b+-2046|0;b=d?((b|0)<1023?b:1023):c;a=d?a*8988465674311579538646525.0e283:a}c=zn(b+1023|0,0,52)|0;d=I;f[s>>2]=c;f[s+4>>2]=d;return +(a*+p[s>>3])}function Uj(a){a=a|0;var b=0,c=0,d=0;if(!(f[a+80>>2]|0)){d=0;return d|0}d=a+8|0;c=a+12|0;a=f[d>>2]|0;if(((f[c>>2]|0)-a|0)>0)b=0;else{d=1;return d|0}while(1){a=f[a+(b<<2)>>2]|0;b=b+1|0;if(!(xl(a,a)|0)){a=0;b=5;break}a=f[d>>2]|0;if((b|0)>=((f[c>>2]|0)-a>>2|0)){a=1;b=5;break}}if((b|0)==5)return a|0;return 0}function Vj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;h=u;u=u+16|0;e=h;d=en(16)|0;f[e>>2]=d;f[e+8>>2]=-2147483632;f[e+4>>2]=15;g=d;i=17754;j=g+15|0;do{b[g>>0]=b[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));b[d+15>>0]=0;Ij(a,e,c);if((b[e+11>>0]|0)>=0){u=h;return}tq(f[e>>2]|0);u=h;return}function Wj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=a+36|0;d=a+40|0;a=f[e>>2]|0;if((f[d>>2]|0)==(a|0)){e=1;return e|0}else c=0;while(1){a=f[a+(c<<2)>>2]|0;c=c+1|0;if(!(Na[f[(f[a>>2]|0)+24>>2]&127](a,b)|0)){a=0;c=4;break}a=f[e>>2]|0;if(c>>>0>=(f[d>>2]|0)-a>>2>>>0){a=1;c=4;break}}if((c|0)==4)return a|0;return 0}function Xj(a){a=a|0;var c=0,d=0,e=0;e=a;a:do if(!(e&3)){c=a;d=4}else{c=e;while(1){if(!(b[a>>0]|0))break a;a=a+1|0;c=a;if(!(c&3)){c=a;d=4;break}}}while(0);if((d|0)==4){while(1){a=f[c>>2]|0;if(!((a&-2139062144^-2139062144)&a+-16843009))c=c+4|0;else break}if((a&255)<<24>>24)do c=c+1|0;while((b[c>>0]|0)!=0)}return c-e|0}function Yj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;d=f[a+176>>2]|0;a=f[a+172>>2]|0;g=a;if((d|0)==(a|0))return 0;e=(d-a|0)/108|0;d=0;while(1){if((f[g+(d*108|0)>>2]|0)==(c|0)){a=4;break}a=d+1|0;if(a>>>0>>0)d=a;else{a=6;break}}if((a|0)==4)return ((b[g+(d*108|0)+72>>0]|0)==0?0:g+(d*108|0)+4|0)|0;else if((a|0)==6)return 0;return 0}function Zj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3452;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b)}f[a+12>>2]=3476;b=f[a+32>>2]|0;if(b|0)tq(b);b=f[a+20>>2]|0;if(!b){tq(a);return}tq(b);tq(a);return}function _j(a,b){a=a|0;b=b|0;var c=0;c=f[a+72>>2]|0;if(!c){a=0;return a|0}f[c+4>>2]=a+60;if(!(Ma[f[(f[c>>2]|0)+12>>2]&127](c)|0)){a=0;return a|0}if(!(Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0)){a=0;return a|0}if(!(Na[f[(f[a>>2]|0)+44>>2]&127](a,b)|0)){a=0;return a|0}a=Na[f[(f[a>>2]|0)+48>>2]&127](a,b)|0;return a|0}function $j(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3232;f[a+40>>2]=1196;b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b)}f[a>>2]=1476;d=a+36|0;b=f[d>>2]|0;f[d>>2]=0;if(!b){Ei(a);tq(a);return}Ra[f[(f[b>>2]|0)+4>>2]&127](b);Ei(a);tq(a);return}function ak(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[b>>2]|0;if(!c){a=0;return a|0}e=a+44|0;d=f[e>>2]|0;if(d>>>0<(f[a+48>>2]|0)>>>0){f[b>>2]=0;f[d>>2]=c;f[e>>2]=(f[e>>2]|0)+4;a=1;return a|0}else{Og(a+40|0,b);a=1;return a|0}return 0}function bk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;f[a>>2]=0;d=a+4|0;f[d>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>357913941)Jp(a);e=en(b*12|0)|0;f[d>>2]=e;f[a>>2]=e;f[a+8>>2]=e+(b*12|0);a=e;do{Qj(a,c);a=(f[d>>2]|0)+12|0;f[d>>2]=a;b=b+-1|0}while((b|0)!=0);return}function ck(a){a=a|0;var b=0,c=0,d=0,e=0;e=a+36|0;d=a+40|0;b=f[e>>2]|0;if((f[d>>2]|0)==(b|0)){e=1;return e|0}c=a+60|0;a=b;b=0;while(1){a=f[a+(b<<2)>>2]|0;b=b+1|0;if(!(Na[f[(f[a>>2]|0)+16>>2]&127](a,c)|0)){a=0;b=5;break}a=f[e>>2]|0;if(b>>>0>=(f[d>>2]|0)-a>>2>>>0){a=1;b=5;break}}if((b|0)==5)return a|0;return 0}function dk(a,b){a=+a;b=b|0;var c=0,d=0,e=0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;e=En(c|0,d|0,52)|0;switch(e&2047){case 0:{if(a!=0.0){a=+dk(a*18446744073709551616.0,b);c=(f[b>>2]|0)+-64|0}else c=0;f[b>>2]=c;break}case 2047:break;default:{f[b>>2]=(e&2047)+-1022;f[s>>2]=c;f[s+4>>2]=d&-2146435073|1071644672;a=+p[s>>3]}}return +a}function ek(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3500;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b)}f[a+12>>2]=3524;b=f[a+32>>2]|0;if(b|0)tq(b);b=f[a+20>>2]|0;if(!b){tq(a);return}tq(b);tq(a);return}function fk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2188;b=f[a+76>>2]|0;if(b|0)tq(b);d=a+68|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)rq(b);f[a>>2]=1544;b=f[a+32>>2]|0;if(!b){tq(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b);tq(a);return}function gk(a,c){a=a|0;c=c|0;var d=0,e=0;d=0;while(1){if((h[21673+d>>0]|0)==(a|0)){e=2;break}d=d+1|0;if((d|0)==87){d=87;a=21761;e=5;break}}if((e|0)==2)if(!d)d=21761;else{a=21761;e=5}if((e|0)==5)while(1){do{e=a;a=a+1|0}while((b[e>>0]|0)!=0);d=d+-1|0;if(!d){d=a;break}else e=5}return Sp(d,f[c+20>>2]|0)|0}function hk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3452;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b)}f[a+12>>2]=3476;b=f[a+32>>2]|0;if(b|0)tq(b);b=f[a+20>>2]|0;if(!b)return;tq(b);return}function ik(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1824;b=f[a+76>>2]|0;if(b|0)tq(b);d=a+68|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)rq(b);f[a>>2]=1544;b=f[a+32>>2]|0;if(!b){tq(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b);tq(a);return}function jk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3232;f[a+40>>2]=1196;b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b)}f[a>>2]=1476;d=a+36|0;b=f[d>>2]|0;f[d>>2]=0;if(!b){Ei(a);return}Ra[f[(f[b>>2]|0)+4>>2]&127](b);Ei(a);return}function kk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3500;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b)}f[a+12>>2]=3524;b=f[a+32>>2]|0;if(b|0)tq(b);b=f[a+20>>2]|0;if(!b)return;tq(b);return}function lk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=en(84)|0;d=c;e=d+84|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));e=ag(c,b)|0;f[a>>2]=e?c:0;a=e?0:c;if(e)return;ti(a);tq(a);return}function mk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=co(j^a|0,i^b|0,j|0,i|0)|0;g=I;a=f^j;b=e^i;return co((Hd(h,g,co(f^c|0,e^d|0,f|0,e|0)|0,I,0)|0)^a|0,I^b|0,a|0,b|0)|0}function nk(a,c){a=a|0;c=c|0;var d=0,e=0;f[c>>2]=2;e=a+4|0;d=c+8|0;a=f[d>>2]|0;c=(f[c+12>>2]|0)-a|0;if(c>>>0<4294967292){Ck(d,c+4|0,0);a=f[d>>2]|0}c=a+c|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[c>>0]=e;b[c+1>>0]=e>>8;b[c+2>>0]=e>>16;b[c+3>>0]=e>>24;return}function ok(a){a=a|0;var b=0,c=0;f[a>>2]=2188;b=f[a+76>>2]|0;if(b|0)tq(b);c=a+68|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)rq(b);f[a>>2]=1544;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);tq(c);return}function pk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,g=0,h=0,i=0;i=u;u=u+128|0;h=i;e=h;g=e+124|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));e=h+4|0;f[e>>2]=a;g=h+8|0;f[g>>2]=-1;f[h+44>>2]=a;f[h+76>>2]=-1;Pm(h,0);d=+Oc(h,c,1);c=(f[e>>2]|0)-(f[g>>2]|0)+(f[h+108>>2]|0)|0;if(b|0)f[b>>2]=c|0?a+c|0:a;u=i;return +d}function qk(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&a>>>0>4294967295)while(1){e=Ym(a|0,c|0,10,0)|0;d=d+-1|0;b[d>>0]=e&255|48;e=a;a=To(a|0,c|0,10,0)|0;if(!(c>>>0>9|(c|0)==9&e>>>0>4294967295))break;else c=I}if(a)while(1){d=d+-1|0;b[d>>0]=(a>>>0)%10|0|48;if(a>>>0<10)break;else a=(a>>>0)/10|0}return d|0}function rk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=6040;b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);tq(b)}b=f[a+84>>2]|0;if(!b){Ag(a);tq(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b);Ag(a);tq(a);return}function sk(a){a=a|0;var c=0,d=0;d=a+74|0;c=b[d>>0]|0;b[d>>0]=c+255|c;d=a+20|0;c=a+28|0;if((f[d>>2]|0)>>>0>(f[c>>2]|0)>>>0)Oa[f[a+36>>2]&31](a,0,0)|0;f[a+16>>2]=0;f[c>>2]=0;f[d>>2]=0;c=f[a>>2]|0;if(!(c&4)){d=(f[a+44>>2]|0)+(f[a+48>>2]|0)|0;f[a+8>>2]=d;f[a+4>>2]=d;c=c<<27>>31}else{f[a>>2]=c|32;c=-1}return c|0}function tk(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=c+16|0;a=f[g>>2]|0;h=c+36|0;i=c+24|0;do if(a){if((a|0)!=(d|0)){f[h>>2]=(f[h>>2]|0)+1;f[i>>2]=2;b[c+54>>0]=1;break}if((f[i>>2]|0)==2)f[i>>2]=e}else{f[g>>2]=d;f[i>>2]=e;f[h>>2]=1}while(0);return}function uk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;Ec(a,b);if((b|0)<=-1)return;g=a+88|0;c=f[g>>2]|0;a=f[a+84>>2]|0;if((c-a>>2|0)<=(b|0))return;d=a+(b<<2)|0;a=d+4|0;b=c-a|0;e=b>>2;if(e){fm(d|0,a|0,b|0)|0;c=f[g>>2]|0}a=d+(e<<2)|0;if((c|0)==(a|0))return;f[g>>2]=c+(~((c+-4-a|0)>>>2)<<2);return}function vk(a){a=a|0;var b=0,c=0,d=0,e=0;b=f[a+32>>2]|0;c=f[a+36>>2]|0;if((b|0)==(c|0)){d=1;return d|0}d=a+8|0;a=a+44|0;while(1){e=f[(f[d>>2]|0)+(f[b>>2]<<2)>>2]|0;b=b+4|0;if(!(Na[f[(f[e>>2]|0)+20>>2]&127](e,f[a>>2]|0)|0)){b=0;a=5;break}if((b|0)==(c|0)){b=1;a=5;break}}if((a|0)==5)return b|0;return 0}function wk(a){a=a|0;var b=0,c=0;f[a>>2]=1824;b=f[a+76>>2]|0;if(b|0)tq(b);c=a+68|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)rq(b);f[a>>2]=1544;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);tq(c);return}function xk(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;f[a>>2]=b;j=b+16|0;h=f[j+4>>2]|0;i=a+8|0;f[i>>2]=f[j>>2];f[i+4>>2]=h;i=b+24|0;h=f[i+4>>2]|0;b=a+16|0;f[b>>2]=f[i>>2];f[b+4>>2]=h;b=a+40|0;f[b>>2]=c;f[b+4>>2]=d;a=a+48|0;f[a>>2]=e;f[a+4>>2]=g;return}function yk(a,c,d){a=a|0;c=c|0;d=$(d);c=Rg(a,c)|0;if((c|0)==(a+4|0))return $(d);c=c+28|0;if((b[c+11>>0]|0)<0)c=f[c>>2]|0;d=$(+nq(c));return $(d)}function zk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+176>>2]|0;d=f[a+172>>2]|0;e=d;a:do if((c|0)!=(d|0)){d=(c-d|0)/108|0;c=0;while(1){if((f[e+(c*108|0)>>2]|0)==(b|0))break;c=c+1|0;if(c>>>0>=d>>>0)break a}a=e+(c*108|0)+76|0;return a|0}while(0);a=a+40|0;return a|0}function Ak(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=6040;b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);tq(b)}b=f[a+84>>2]|0;if(!b){Ag(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b);Ag(a);return}function Bk(a,c){a=a|0;c=c|0;c=Rg(a,c)|0;if((c|0)==(a+4|0)){a=0;return a|0}c=c+28|0;if((b[c+11>>0]|0)<0)c=f[c>>2]|0;a=((Oj(c)|0)+1|0)>>>0>1;return a|0}function Ck(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;e=a+4|0;d=f[e>>2]|0;c=f[a>>2]|0;g=d-c|0;if(b>>>0<=g>>>0){if(b>>>0>>0?(h=c+b|0,(d|0)!=(h|0)):0)f[e>>2]=h}else Ai(a,b-g|0);a=a+24|0;h=a;h=Qn(f[h>>2]|0,f[h+4>>2]|0,1,0)|0;f[a>>2]=h;f[a+4>>2]=I;return}function Dk(a,c,d){a=a|0;c=c|0;d=d|0;c=Rg(a,c)|0;if((c|0)==(a+4|0)){a=d;return a|0}c=c+28|0;if((b[c+11>>0]|0)<0)c=f[c>>2]|0;a=Oj(c)|0;return a|0}function Ek(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2244;b=f[a+76>>2]|0;if(b|0)tq(b);f[a>>2]=1544;b=f[a+32>>2]|0;if(!b){tq(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b);tq(a);return}function Fk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1880;b=f[a+76>>2]|0;if(b|0)tq(b);f[a>>2]=1544;b=f[a+32>>2]|0;if(!b){tq(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b);tq(a);return}function Gk(a){a=a|0;var b=0;f[a>>2]=2980;b=f[a+76>>2]|0;if(b|0)tq(b);b=f[a+64>>2]|0;if(b|0)tq(b);b=f[a+52>>2]|0;if(b|0)tq(b);b=f[a+40>>2]|0;if(!b){tq(a);return}tq(b);tq(a);return}function Hk(a,c){a=a|0;c=c|0;c=Rg(a,c)|0;if((c|0)==(a+4|0)){a=-1;return a|0}c=c+28|0;if((b[c+11>>0]|0)<0)c=f[c>>2]|0;a=Oj(c)|0;return a|0}function Ik(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2300;sj(a+108|0);f[a>>2]=1544;b=f[a+32>>2]|0;if(!b){tq(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b);tq(a);return}function Jk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1232;b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b)}b=f[a+4>>2]|0;if(!b){tq(a);return}d=a+8|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b);tq(a);return}function Kk(a){a=a|0;var b=0;f[a>>2]=2616;b=f[a+76>>2]|0;if(b|0)tq(b);b=f[a+64>>2]|0;if(b|0)tq(b);b=f[a+52>>2]|0;if(b|0)tq(b);b=f[a+40>>2]|0;if(!b){tq(a);return}tq(b);tq(a);return}function Lk(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(Po(a,f[b+8>>2]|0,g)|0)hj(0,b,c,d,e);else{a=f[a+8>>2]|0;Wa[f[(f[a>>2]|0)+20>>2]&3](a,b,c,d,e,g)}return}function Mk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1936;sj(a+108|0);f[a>>2]=1544;b=f[a+32>>2]|0;if(!b){tq(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b);tq(a);return}function Nk(a){a=a|0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+24>>2]|0))return 0;if(!(f[a+28>>2]|0))return 0;if(!(f[a+32>>2]|0))return 0;else return (f[a+36>>2]|0)!=0|0;return 0}function Ok(a){a=a|0;var b=0,c=0;f[a>>2]=2244;b=f[a+76>>2]|0;if(b|0)tq(b);f[a>>2]=1544;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);tq(c);return}function Pk(a){a=a|0;var b=0;f[a>>2]=2980;b=f[a+76>>2]|0;if(b|0)tq(b);b=f[a+64>>2]|0;if(b|0)tq(b);b=f[a+52>>2]|0;if(b|0)tq(b);b=f[a+40>>2]|0;if(!b)return;tq(b);return}function Qk(a){a=a|0;var c=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=0;while(1){if((c|0)==3)break;f[a+(c<<2)>>2]=0;c=c+1|0}if((b[a+11>>0]|0)<0)c=(f[a+8>>2]&2147483647)+-1|0;else c=10;wj(a,c,0);return}function Rk(a){a=a|0;var b=0,c=0;f[a>>2]=1880;b=f[a+76>>2]|0;if(b|0)tq(b);f[a>>2]=1544;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);tq(c);return}function Sk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1232;b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b)}d=f[a+4>>2]|0;if(!d)return;c=a+8|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);tq(d);return}function Tk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=u;u=u+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;fj(f|0,b|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{Fo(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}Fo(a,f,e)}u=g;return}function Uk(a){a=a|0;var b=0;f[a>>2]=2616;b=f[a+76>>2]|0;if(b|0)tq(b);b=f[a+64>>2]|0;if(b|0)tq(b);b=f[a+52>>2]|0;if(b|0)tq(b);b=f[a+40>>2]|0;if(!b)return;tq(b);return}function Vk(a){a=a|0;var b=0,c=0;f[a>>2]=2300;sj(a+108|0);f[a>>2]=1544;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);tq(c);return}function Wk(a){a=a|0;if(!(f[a+64>>2]|0))return 0;if(!(f[a+68>>2]|0))return 0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+52>>2]|0))return 0;else return (f[a+56>>2]|0)!=0|0;return 0}function Xk(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e;d=b;f[d>>2]=0;f[d+4>>2]=0;nf(a,2,b);b=f[a+12>>2]|0;d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);f[a+24>>2]=0;f[a+28>>2]=0;u=e;return}function Yk(a,b){a=a|0;b=b|0;var c=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){a=0;return a|0}c=f[c+(b<<2)>>2]|0;if((c|0)<0){a=0;return a|0}c=f[(f[a+36>>2]|0)+(c<<2)>>2]|0;b=f[c+32>>2]|0;if(b|0){a=b;return a|0}a=f[c+8>>2]|0;return a|0}function Zk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;f[a+4>>2]=b;b=f[b+4>>2]|0;if((c|0)<=-1)ra(20916,20609,59,20700);d=f[b+8>>2]|0;if(((f[b+12>>2]|0)-d>>2|0)>(c|0)){f[a+8>>2]=f[d+(c<<2)>>2];f[a+12>>2]=c;return 1}else ra(20555,20609,60,20700);return 0}function _k(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+16|0;d=e+4|0;c=e;b=f[b>>2]|0;if((b|0)==-1073741824){a=-1;u=e;return a|0}f[c>>2]=b;f[d>>2]=f[c>>2];a=ih(a,d)|0;u=e;return a|0}function $k(a){a=a|0;var b=0,c=0;f[a>>2]=1936;sj(a+108|0);f[a>>2]=1544;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);tq(c);return}function al(a,b){a=a|0;b=$(b);var c=0,d=0;c=u;u=u+16|0;d=c;Qk(d);Di(a,d,b);fo(d);u=c;return}function bl(a,b){a=a|0;b=b|0;var c=0;if((b|0)<0){a=0;return a|0}c=f[a+4>>2]|0;if(((f[c+12>>2]|0)-(f[c+8>>2]|0)>>2|0)<=(b|0)){c=0;return c|0}c=f[(f[a+8>>2]|0)+(f[(f[a+20>>2]|0)+(b<<2)>>2]<<2)>>2]|0;c=Na[f[(f[c>>2]|0)+36>>2]&127](c,b)|0;return c|0}function cl(a,b){a=a|0;b=b|0;var c=0;if((b|0)<0){a=0;return a|0}c=f[a+4>>2]|0;if(((f[c+12>>2]|0)-(f[c+8>>2]|0)>>2|0)<=(b|0)){c=0;return c|0}c=f[(f[a+8>>2]|0)+(f[(f[a+20>>2]|0)+(b<<2)>>2]<<2)>>2]|0;c=Na[f[(f[c>>2]|0)+32>>2]&127](c,b)|0;return c|0}function dl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Po(a,f[b+8>>2]|0,0)|0)tk(0,b,c,d);else{a=f[a+8>>2]|0;Ua[f[(f[a>>2]|0)+28>>2]&3](a,b,c,d)}return}function el(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;Qk(d);Gi(a,d,b);fo(d);u=c;return}function fl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;e=u;u=u+32|0;g=e;d=e+20|0;f[g>>2]=f[a+60>>2];f[g+4>>2]=0;f[g+8>>2]=b;f[g+12>>2]=d;f[g+16>>2]=c;if((jo(Aa(140,g|0)|0)|0)<0){f[d>>2]=-1;a=-1}else a=f[d>>2]|0;u=e;return a|0}function gl(a,b){a=a|0;b=b|0;var c=0;if((b|0)==-1|(b|0)>4){a=0;return a|0}c=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-c|0)<=0){a=0;return a|0}c=f[c>>2]|0;if((c|0)==-1){a=0;return a|0}a=f[(f[a+8>>2]|0)+(c<<2)>>2]|0;return a|0}function hl(a){a=a|0;if(!(f[a+40>>2]|0))return 0;if(!(f[a+24>>2]|0))return 0;if(!(f[a+28>>2]|0))return 0;if(!(f[a+32>>2]|0))return 0;else return (f[a+36>>2]|0)!=0|0;return 0}function il(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=f[a+16>>2]|0;if(((f[a+20>>2]|0)-d>>2|0)<=(b|0)){a=-1;return a|0}d=f[d+(b<<2)>>2]|0;if((d|0)<0){a=-1;return a|0}a=f[(f[(f[(f[a+36>>2]|0)+(d<<2)>>2]|0)+16>>2]|0)+(c<<2)>>2]|0;return a|0}function jl(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)a=0;else{while(1){e=b[a>>0]|0;f=b[c>>0]|0;if(e<<24>>24!=f<<24>>24)break;d=d+-1|0;if(!d){a=0;break a}else{a=a+1|0;c=c+1|0}}a=(e&255)-(f&255)|0}while(0);return a|0}function kl(a){a=a|0;var b=0,c=0,d=0;c=f[a>>2]|0;d=a+4|0;b=f[d>>2]|0;if((b|0)==(c|0))b=c;else{b=b+(~((b+-4-c|0)>>>2)<<2)|0;f[d>>2]=b}f[a+12>>2]=0;f[a+16>>2]=0;if(!c)return;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);tq(c);return}function ll(a,b){a=a|0;b=b|0;var c=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){a=0;return a|0}c=f[c+(b<<2)>>2]|0;if((c|0)<0){a=0;return a|0}a=f[(f[a+36>>2]|0)+(c<<2)>>2]|0;a=(f[a+20>>2]|0)-(f[a+16>>2]|0)>>2;return a|0}function ml(a){a=a|0;if(!(f[a+24>>2]|0)){a=0;return a|0}if(!(f[a+28>>2]|0)){a=0;return a|0}if(!(f[a+32>>2]|0)){a=0;return a|0}a=(f[a+36>>2]|0)!=0;return a|0}function nl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;fh(a,c);f[a>>2]=1408;d=a+72|0;c=a+36|0;a=c+36|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(a|0));a=f[b>>2]|0;f[b>>2]=0;f[d>>2]=a;return}function ol(a){a=a|0;var b=0,c=0;f[a>>2]=3036;b=f[a+56>>2]|0;if(b|0)tq(b);c=a+48|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){tq(a);return}rq(b);tq(a);return}function pl(a){a=a|0;if(!(f[a+60>>2]|0))return 0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+52>>2]|0))return 0;else return (f[a+56>>2]|0)!=0|0;return 0}function ql(a){a=a|0;var c=0,d=0;c=a+74|0;d=b[c>>0]|0;b[c>>0]=d+255|d;c=f[a>>2]|0;if(!(c&8)){f[a+8>>2]=0;f[a+4>>2]=0;c=f[a+44>>2]|0;f[a+28>>2]=c;f[a+20>>2]=c;f[a+16>>2]=c+(f[a+48>>2]|0);c=0}else{f[a>>2]=c|32;c=-1}return c|0}function rl(a,c){a=a|0;c=c|0;var d=0,e=0;e=a;d=e+64|0;do{f[e>>2]=f[c>>2];e=e+4|0;c=c+4|0}while((e|0)<(d|0));e=a+64|0;f[a+88>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;b[e+20>>0]=0;return}function sl(a){a=a|0;var b=0,c=0;f[a>>2]=2672;b=f[a+56>>2]|0;if(b|0)tq(b);c=a+48|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){tq(a);return}rq(b);tq(a);return}function tl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;g=a+4|0;e=f[g>>2]|0;c=f[a>>2]|0;d=e-c|0;if(b>>>0>d>>>0){Ai(a,b-d|0);return}if(b>>>0>=d>>>0)return;c=c+b|0;if((e|0)==(c|0))return;f[g>>2]=c;return}function ul(a){a=a|0;if(!(f[a+44>>2]|0)){a=0;return a|0}if(!(f[a+48>>2]|0)){a=0;return a|0}if(!(f[a+52>>2]|0)){a=0;return a|0}a=(f[a+56>>2]|0)!=0;return a|0}function vl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=$(e);f[a+4>>2]=b;Pf(a+8|0,c,c+(d<<2)|0);n[a+20>>2]=e;return}function wl(a){a=a|0;var b=0,c=0;c=a+15&-16|0;b=f[r>>2]|0;a=b+c|0;if((c|0)>0&(a|0)<(b|0)|(a|0)<0){ea()|0;za(12);return -1}f[r>>2]=a;if((a|0)>(da()|0)?(ca()|0)==0:0){f[r>>2]=b;za(12);return -1}return b|0}function xl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c+4|0;e=c;f[e>>2]=0;f[d>>2]=f[e>>2];a=fc(a,b,d)|0;u=c;return a|0}function yl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;c=f[c>>2]|0;e=a;d=b-a>>2;while(1){if(!d)break;b=(d|0)/2|0;g=e+(b<<2)|0;a=(f[g>>2]|0)>>>0>>0;e=a?g+4|0:e;d=a?d+-1-b|0:b}return e|0}function zl(a,b){a=a|0;b=b|0;b=f[b+88>>2]|0;if(!b){a=0;return a|0}if((f[b>>2]|0)!=2){a=0;return a|0}b=f[b+8>>2]|0;f[a+4>>2]=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;a=1;return a|0}function Al(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=X(c,b)|0;c=(b|0)==0?0:c;if((f[d+76>>2]|0)>-1){g=(zq(d)|0)==0;a=qi(a,e,d)|0;if(!g)yq(d)}else a=qi(a,e,d)|0;if((a|0)!=(e|0))c=(a>>>0)/(b>>>0)|0;return c|0}function Bl(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;b[a+24>>0]=1;f[a+28>>2]=9;c=a+40|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[a+56>>2]=-1;f[a+60>>2]=0;return}function Cl(a,c){a=a|0;c=c|0;if(f[c+56>>2]|0){a=0;return a|0}if((b[c+24>>0]|0)!=3){a=0;return a|0}f[a+44>>2]=c;a=1;return a|0}function Dl(a,b){a=a|0;b=b|0;if(!(Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0)){a=0;return a|0}if(!(Na[f[(f[a>>2]|0)+44>>2]&127](a,b)|0)){a=0;return a|0}a=Na[f[(f[a>>2]|0)+48>>2]&127](a,b)|0;return a|0}function El(a){a=a|0;var b=0;f[a>>2]=3036;b=f[a+56>>2]|0;if(b|0)tq(b);a=a+48|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;rq(b);return}function Fl(a,c){a=a|0;c=c|0;if(f[c+56>>2]|0){a=0;return a|0}if((b[c+24>>0]|0)!=3){a=0;return a|0}f[a+40>>2]=c;a=1;return a|0}function Gl(a,c){a=a|0;c=c|0;var d=0,e=0;d=b[a>>0]|0;e=b[c>>0]|0;if(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24))do{a=a+1|0;c=c+1|0;d=b[a>>0]|0;e=b[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));return (d&255)-(e&255)|0}function Hl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;f[a+8>>2]=b;f[a+12>>2]=0;pn(a+16|0);f[a+48>>2]=d;if(d>>>0<7){f[a>>2]=c;n[a+4>>2]=$(0.0);return}else ra(20932,20960,38,21089)}function Il(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(Po(a,f[b+8>>2]|0,g)|0)hj(0,b,c,d,e);return}function Jl(a){a=a|0;var b=0;f[a>>2]=2672;b=f[a+56>>2]|0;if(b|0)tq(b);a=a+48|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;rq(b);return}function Kl(a){a=a|0;var b=0,c=0;f[a>>2]=1476;c=a+36|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Ei(a);tq(a);return}Ra[f[(f[b>>2]|0)+4>>2]&127](b);Ei(a);tq(a);return}function Ll(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1544;b=f[a+32>>2]|0;if(!b){tq(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b);tq(a);return}function Ml(a,c){a=a|0;c=c|0;if(f[c+56>>2]|0){a=0;return a|0}if((b[c+24>>0]|0)!=3){a=0;return a|0}f[a+64>>2]=c;a=1;return a|0}function Nl(a){a=a|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;e=(f[e+56>>2]|0)-(f[e+52>>2]|0)>>2;b[d>>0]=0;$g(a+20|0,e,d);u=c;return}function Ol(a,c){a=a|0;c=c|0;if(f[c+56>>2]|0){a=0;return a|0}if((b[c+24>>0]|0)!=3){a=0;return a|0}f[a+60>>2]=c;a=1;return a|0}function Pl(){var a=0,b=0;a=en(40)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;n[a+16>>2]=$(1.0);b=a+20|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;n[a+36>>2]=$(1.0);return a|0}function Ql(a){a=a|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;e=(f[e+28>>2]|0)-(f[e+24>>2]|0)>>2;b[d>>0]=0;$g(a+20|0,e,d);u=c;return}function Rl(a){a=a|0;switch(a|0){case 11:case 2:case 1:{a=1;break}case 4:case 3:{a=2;break}case 6:case 5:{a=4;break}case 8:case 7:{a=8;break}case 9:{a=4;break}case 10:{a=8;break}default:a=-1}return a|0}function Sl(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0;d=u;u=u+16|0;e=d;p[e>>3]=c;Xb(a,b,e);u=d;return}function Tl(a){a=a|0;f[a>>2]=3544;Fi(a+8|0);tq(a);return}function Ul(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;f[e>>2]=c;$b(a,b,e);u=d;return}function Vl(a,c){a=a|0;c=c|0;var d=0,e=0;if((a|0)!=(c|0)){d=b[c+11>>0]|0;e=d<<24>>24<0;Xi(a,e?f[c>>2]|0:c,e?f[c+4>>2]|0:d&255)|0}return a|0}function Wl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=X(e,f)|0;d=a>>>16;a=(c>>>16)+(X(e,d)|0)|0;e=b>>>16;b=X(e,f)|0;return (I=(a>>>16)+(X(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function Xl(a){a=a|0;var b=0,c=0;f[a>>2]=3296;c=a+56|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){dj(a);tq(a);return}Ra[f[(f[b>>2]|0)+4>>2]&127](b);dj(a);tq(a);return}function Yl(a,b){a=+a;b=+b;var c=0,d=0;p[s>>3]=a;d=f[s>>2]|0;c=f[s+4>>2]|0;p[s>>3]=b;c=f[s+4>>2]&-2147483648|c&2147483647;f[s>>2]=d;f[s+4>>2]=c;return +(+p[s>>3])}function Zl(a){a=a|0;var b=0,c=0;f[a>>2]=1476;c=a+36|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Ei(a);return}Ra[f[(f[b>>2]|0)+4>>2]&127](b);Ei(a);return}function _l(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ra(11990,8836,76,17770);return 0}function $l(a,b){a=a|0;b=b|0;var c=0,d=0;d=Xj(b)|0;c=en(d+13|0)|0;f[c>>2]=d;f[c+4>>2]=d;f[c+8>>2]=0;c=lp(c)|0;Sg(c|0,b|0,d+1|0)|0;f[a>>2]=c;return}function am(a){a=a|0;f[a>>2]=3544;Fi(a+8|0);return}function bm(a,b){a=a|0;b=b|0;var c=0;if((b|0)==-1|(b|0)>4){b=-1;return b|0}c=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-c|0)<=0){b=-1;return b|0}b=f[c>>2]|0;return b|0}function cm(a){a=a|0;var b=0,c=0;f[a>>2]=1544;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);tq(c);return}function dm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Po(a,f[b+8>>2]|0,0)|0)tk(0,b,c,d);return}function em(a){a=a|0;var c=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;b[a+24>>0]=1;a=a+28|0;c=a+40|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(c|0));return}function fm(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if((c|0)<(a|0)&(a|0)<(c+d|0)){e=a;c=c+d|0;a=a+d|0;while((d|0)>0){a=a-1|0;c=c-1|0;d=d-1|0;b[a>>0]=b[c>>0]|0}a=e}else Sg(a,c,d)|0;return a|0}function gm(a){a=a|0;var c=0,d=0,e=0;c=f[a>>2]|0;d=(b[c>>0]|0)+-48|0;if(d>>>0<10){e=c;c=0;do{c=d+(c*10|0)|0;e=e+1|0;f[a>>2]=e;d=(b[e>>0]|0)+-48|0}while(d>>>0<10)}else c=0;return c|0}function hm(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1196;b=f[a+8>>2]|0;if(!b){tq(a);return}d=a+12|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);tq(b);tq(a);return}function im(a){a=a|0;var b=0;f[a>>2]=3092;b=f[a+56>>2]|0;if(!b){tq(a);return}tq(b);tq(a);return}function jm(a){a=a|0;var b=0,c=0;f[a>>2]=3296;c=a+56|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){dj(a);return}Ra[f[(f[b>>2]|0)+4>>2]&127](b);dj(a);return}function km(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;if(!((a|0)==0&(c|0)==0))do{d=d+-1|0;b[d>>0]=h[21655+(a&15)>>0]|0|e;a=En(a|0,c|0,4)|0;c=I}while(!((a|0)==0&(c|0)==0));return d|0}function lm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=u;u=u+16|0;d=e;f[d>>2]=f[c>>2];a=Oa[f[(f[a>>2]|0)+16>>2]&31](a,b,d)|0;if(a)f[c>>2]=f[d>>2];u=e;return a&1|0}function mm(){var a=0,b=0;b=bn()|0;if((b|0?(a=f[b>>2]|0,a|0):0)?(b=a+48|0,(f[b>>2]&-256|0)==1126902528?(f[b+4>>2]|0)==1129074247:0):0)oo(f[a+12>>2]|0);oo(xp()|0)}function nm(a){a=a|0;var b=0;f[a>>2]=2728;b=f[a+56>>2]|0;if(!b){tq(a);return}tq(b);tq(a);return}function om(a){a=a|0;var c=0;c=b[w+(a&255)>>0]|0;if((c|0)<8)return c|0;c=b[w+(a>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=b[w+(a>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (b[w+(a>>>24)>>0]|0)+24|0}function pm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if((b|0)>0)d=0;else return;do{e=f[a+(d<<2)>>2]|0;f[c+(d<<2)>>2]=e<<1^e>>31;d=d+1|0}while((d|0)!=(b|0));return}function qm(a){a=a|0;var b=0,c=0;if(Yp(a)|0?(b=tp(f[a>>2]|0)|0,c=b+8|0,a=f[c>>2]|0,f[c>>2]=a+-1,(a+-1|0)<0):0)tq(b);return}function rm(a,c){a=a|0;c=c|0;var d=0;b[c+84>>0]=1;d=f[c+68>>2]|0;c=c+72|0;a=f[c>>2]|0;if((a|0)==(d|0))return 1;f[c>>2]=a+(~((a+-4-d|0)>>>2)<<2);return 1}function sm(a,b){a=a|0;b=b|0;if(b>>>0>=2){a=0;return a|0}f[a+28>>2]=b;a=1;return a|0}function tm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return cf(a,b,c,d,e,f,5)|0}function um(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return cf(a,b,c,d,e,f,9)|0}function vm(a){a=a|0;eo(a);f[a>>2]=3232;f[a+40>>2]=1196;f[a+44>>2]=-1;a=a+48|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;return}function wm(a){a=a|0;var b=0,c=0;f[a>>2]=1196;c=f[a+8>>2]|0;if(!c)return;b=a+12|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);tq(c);return}function xm(a){a=a|0;var c=0;f[a>>2]=1352;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=-1;c=a+16|0;f[a+32>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;b[c+12>>0]=0;return}function ym(a){a=a|0;f[a>>2]=3092;a=f[a+56>>2]|0;if(!a)return;tq(a);return}function zm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=$(f);jg(a,b,c,d,e,f);return}function Am(a){a=a|0;var b=0,c=0,d=0;b=f[a>>2]|0;d=a+4|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);f[a+12>>2]=0;f[a+16>>2]=0;return}function Bm(a,b){a=a|0;b=b|0;if(!b)return 0;else ra(14291,14662,64,14302);return 0}function Cm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if((f[b+4>>2]|0)==(c|0)?(e=b+28|0,(f[e>>2]|0)!=1):0)f[e>>2]=d;return}function Dm(a,b){a=a|0;b=b|0;if(!b)return 0;else ra(14291,13890,63,14302);return 0}function Em(a){a=a|0;f[a>>2]=2728;a=f[a+56>>2]|0;if(!a)return;tq(a);return}function Fm(a){a=a|0;var b=0;f[a>>2]=3476;b=f[a+20>>2]|0;if(b|0)tq(b);b=f[a+8>>2]|0;if(!b){tq(a);return}tq(b);tq(a);return}function Gm(a,c,d){a=a|0;c=c|0;d=d|0;if(!((a|0)==0&(c|0)==0))do{d=d+-1|0;b[d>>0]=a&7|48;a=En(a|0,c|0,3)|0;c=I}while(!((a|0)==0&(c|0)==0));return d|0}function Hm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=a+20|0;e=f[d>>2]|0;a=(f[a+16>>2]|0)-e|0;a=a>>>0>c>>>0?c:a;Sg(e|0,b|0,a|0)|0;f[d>>2]=(f[d>>2]|0)+a;return c|0}function Im(a){a=a|0;var b=0,c=0;c=f[a>>2]|0;if(!c)return;b=a+4|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-8-c|0)>>>3)<<3);tq(c);return}function Jm(a){a=a|0;var b=0,c=0;c=f[a>>2]|0;if(!c)return;b=a+4|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);tq(c);return}function Km(a,b,c){a=a|0;b=b|0;c=c|0;return Oa[f[(f[a>>2]|0)+44>>2]&31](a,b,c)|0}function Lm(a,b){a=a|0;b=b|0;if(!b)return 0;else ra(14291,15e3,68,14302);return 0}function Mm(a){a=a|0;var c=0;Bl(a);c=a+64|0;f[a+88>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;b[c+20>>0]=0;return}function Nm(a){a=a|0;f[a>>2]=3148;sj(a+88|0);tq(a);return}function Om(a){a=a|0;var b=0;f[a>>2]=3524;b=f[a+20>>2]|0;if(b|0)tq(b);b=f[a+8>>2]|0;if(!b){tq(a);return}tq(b);tq(a);return}function Pm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;f[a+104>>2]=b;c=f[a+8>>2]|0;d=f[a+4>>2]|0;e=c-d|0;f[a+108>>2]=e;f[a+100>>2]=(b|0)!=0&(e|0)>(b|0)?d+b|0:c;return}function Qm(a,b){a=a|0;b=b|0;b=f[b>>2]|0;return (1<<(b&31)&f[(f[a+28>>2]|0)+(b>>>5<<2)>>2]|0)!=0|0}function Rm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=$(f);zm(a,b,c,d,e,f);return}function Sm(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;if((sk(a)|0)==0?(Oa[f[a+32>>2]&31](a,b,1)|0)==1:0)b=h[b>>0]|0;else b=-1;u=c;return b|0}function Tm(a){a=a|0;var b=0,c=0;if(!a)return;b=f[a>>2]|0;if(b|0){c=a+4|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;tq(b)}tq(a);return}function Um(a){a=a|0;f[a>>2]=2784;sj(a+88|0);tq(a);return}function Vm(a){a=a|0;f[a>>2]=3148;sj(a+88|0);return}function Wm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return tm(a,b,c,d,e,f)|0}function Xm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return um(a,b,c,d,e,f)|0}function Ym(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+16|0;e=g|0;Hd(a,b,c,d,e)|0;u=g;return (I=f[e+4>>2]|0,f[e>>2]|0)|0}function Zm(a,b,c){a=a|0;b=b|0;c=c|0;Zb(a,b,c);return}function _m(a){a=a|0;var b=0;f[a>>2]=3476;b=f[a+20>>2]|0;if(b|0)tq(b);b=f[a+8>>2]|0;if(!b)return;tq(b);return}function $m(a){a=a|0;f[a>>2]=2784;sj(a+88|0);return}function an(a){a=a|0;Kn(a);f[a>>2]=6040;a=a+84|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;return}function bn(){var a=0,b=0;a=u;u=u+16|0;if(!(Ha(24720,3)|0)){b=Fa(f[6181]|0)|0;u=a;return b|0}else Cn(23859,a);return 0}function cn(a){a=a|0;var b=0;f[a>>2]=3524;b=f[a+20>>2]|0;if(b|0)tq(b);b=f[a+8>>2]|0;if(!b)return;tq(b);return}function dn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=Wl(e,f)|0;a=I;return (I=(X(b,f)|0)+(X(d,e)|0)+a|a&0,c|0|0)|0}function en(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=Xa(b)|0;if(a|0)break;a=vp()|0;if(!a){a=0;break}Qa[a&3]()}return a|0}function fn(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;a=wq(f[a+60>>2]|0)|0;f[c>>2]=a;a=jo(Ca(6,c|0)|0)|0;u=b;return a|0}function gn(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[a+24>>2]=0;f[a+28>>2]=0;return}function hn(a){a=a|0;var b=0;b=u;u=u+16|0;uc(a);if(!(Ia(f[6181]|0,0)|0)){u=b;return}else Cn(23958,b)}function jn(a){a=a|0;var b=0,c=0;b=f[a>>2]|0;c=a+4|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;a=a+16|0;f[a>>2]=0;f[a+4>>2]=0;return}function kn(a,b){a=a|0;b=b|0;return sg(a+40|0,b)|0}function ln(a,b){a=a|0;b=b|0;return Yi(a,b,Up(b)|0)|0}function mn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;f[g>>2]=d;d=Vi(a,b,c,g)|0;u=e;return d|0}function nn(a,b){a=a|0;b=b|0;return yj(a+40|0,b)|0}function on(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;a=a+16|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;return}function pn(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;b[a+24>>0]=0;return}function qn(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Pa[a&31](b|0,c|0,d|0,e|0,f|0,g|0)|0}function rn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return rh(a,b,c,d)|0}function sn(a,b){a=a|0;b=b|0;a=f[a+56>>2]|0;return Na[f[(f[a>>2]|0)+24>>2]&127](a,b)|0}function tn(){var a=0;a=u;u=u+16|0;if(!(Ga(24724,110)|0)){u=a;return}else Cn(23908,a)}function un(a,b,c){a=a|0;b=b|0;c=c|0;zj(a,b,c);return}function vn(a){a=a|0;Se(a);tq(a);return}function wn(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;Wa[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function xn(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)fj(a|0,(Tp(c)|0)&255|0,b|0)|0;return a|0}function yn(a){a=a|0;return 4}function zn(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b<>>32-c;return a<>2]|0;return Na[f[(f[a>>2]|0)+16>>2]&127](a,b)|0}function Bn(a,b){a=a|0;b=b|0;a=f[a+56>>2]|0;return Na[f[(f[a>>2]|0)+20>>2]&127](a,b)|0}function Cn(a,b){a=a|0;b=b|0;var c=0;c=u;u=u+16|0;f[c>>2]=b;b=f[1529]|0;nh(b,a,c)|0;Hj(10,b)|0;Da()}function Dn(a,b){a=a|0;b=b|0;a=f[a+56>>2]|0;return Na[f[(f[a>>2]|0)+12>>2]&127](a,b)|0}function En(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b>>>c;return a>>>c|(b&(1<>>c-32|0}function Fn(a){a=a|0;var b=0;f[a>>2]=3820;a=a+4|0;b=a+44|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function Gn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ce(a,b,c,d)|0}function Hn(a){a=a|0;Te(a);tq(a);return}function In(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return Qi(a,b,c,d)|0}function Jn(a){a=a|0;return 5}function Kn(a){a=a|0;var b=0;f[a>>2]=6080;a=a+4|0;b=a+80|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function Ln(a){a=a|0;return 6}function Mn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ri(a,b,c,d)|0}function Nn(a,b,c){a=a|0;b=b|0;c=c|0;f[a+28>>2]=b;f[a+32>>2]=c;return 1}function On(a,b){a=a|0;b=b|0;Zh(a);f[a+36>>2]=b;f[a+40>>2]=b;return}function Pn(){}function Qn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (I=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function Rn(a,b){a=a|0;b=b|0;if(!b)b=0;else b=Bh(f[b>>2]|0,f[b+4>>2]|0,a)|0;return (b|0?b:a)|0}function Sn(a,b,c){a=a|0;b=b|0;c=c|0;un(a,b,c);return}function Tn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return fg(a,b,c,d)|0}function Un(a,b,c){a=a|0;b=b|0;c=c|0;return Vh(a,b,c)|0}function Vn(a,b,c){a=a|0;b=b|0;c=c|0;return Wi(a,b,c)|0}function Wn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Va[a&3](b|0,c|0,d|0,e|0,f|0)}function Xn(a,b,c){a=a|0;b=b|0;c=c|0;Ci(a,b,c);return}function Yn(a){a=a|0;a=f[a+56>>2]|0;return Ma[f[(f[a>>2]|0)+28>>2]&127](a)|0}function Zn(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;return}function _n(a){a=a|0;a=f[a+56>>2]|0;return Ma[f[(f[a>>2]|0)+32>>2]&127](a)|0}function $n(a,b){a=a|0;b=b|0;f[a+8>>2]=b;f[a+12>>2]=-1;return 1}function ao(a,b){a=a|0;b=b|0;f[a+52>>2]=b;So(a,b);return}function bo(a){a=+a;var b=0;p[s>>3]=a;b=f[s>>2]|0;I=f[s+4>>2]|0;return b|0}function co(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (I=d,a-c>>>0|0)|0}function eo(a){a=a|0;xm(a);f[a>>2]=1476;f[a+36>>2]=0;return}function fo(a){a=a|0;if((b[a+11>>0]|0)<0)tq(f[a>>2]|0);return}function go(a){a=a|0;if(!a)return;Ra[f[(f[a>>2]|0)+4>>2]&127](a);return}function ho(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Ua[a&3](b|0,c|0,d|0,e|0)}function io(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)fm(a|0,b|0,c|0)|0;return a|0}function jo(a){a=a|0;var b=0;if(a>>>0>4294963200){b=iq()|0;f[b>>2]=0-a;a=-1}return a|0}function ko(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)Sg(a|0,b|0,c|0)|0;return a|0}function lo(a,b){a=a|0;b=b|0;return -1}function mo(a,b){a=a|0;b=b|0;po(a,b);return}function no(a){a=a|0;if(!a)a=0;else a=(qh(a,1056,1144,0)|0)!=0;return a&1|0}function oo(a){a=a|0;var b=0;b=u;u=u+16|0;Qa[a&3]();Cn(24011,b)}function po(a,b){a=a|0;b=b|0;Vj(a,b);return}function qo(a){a=a|0;Ph(a);tq(a);return}function ro(a,b){a=a|0;b=b|0;fh(a,b);f[a>>2]=1292;return}function so(a,b,c){a=a|0;b=b|0;c=c|0;zo(a,b,c);return}function to(a,b,c){a=a|0;b=$(b);c=c|0;f[a+4>>2]=c;n[a>>2]=b;return}function uo(a){a=a|0;Bo(a);f[a>>2]=3296;f[a+56>>2]=0;return}function vo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Oa[a&31](b|0,c|0,d|0)|0}function wo(a,b){a=a|0;b=b|0;return (cp(a,b)|0)<<24>>24|0}function xo(a,b){a=a|0;b=b|0;f[a>>2]=7132;$l(a+4|0,b);return}function yo(a){a=a|0;return f[a+12>>2]|0}function zo(a,b,c){a=a|0;b=b|0;c=c|0;Xn(a,b,c);return}function Ao(){var a=0;a=en(64)|0;Bl(a);return a|0}function Bo(a){a=a|0;Fn(a);f[a>>2]=3652;f[a+52>>2]=0;return}function Co(a){a=a|0;if(!a)return;Mi(a);tq(a);return}function Do(a){a=a|0;return Ma[f[(f[a>>2]|0)+60>>2]&127](a)|0}function Eo(a){a=a|0;return f[a+4>>2]|0}function Fo(a,b,c){a=a|0;b=b|0;c=c|0;if(!(f[a>>2]&32))qi(b,c,a)|0;return}function Go(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ta[a&15](b|0,c|0,d|0)}function Ho(){var a=0;a=en(96)|0;Mm(a);return a|0}function Io(a){a=a|0;var b=0;b=u;u=u+a|0;u=u+15&-16;return b|0}function Jo(a){a=a|0;return ((f[a+100>>2]|0)-(f[a+96>>2]|0)|0)/12|0|0}function Ko(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Hi(a,b,0)|0;return a|0}function Lo(a){a=a|0;var b=0;b=(pq()|0)+188|0;return gk(a,f[b>>2]|0)|0}function Mo(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(3);return 0}function No(){var a=0;a=en(12)|0;Wo(a);return a|0}function Oo(a){a=a|0;Ei(a);tq(a);return}function Po(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function Qo(a,b){a=a|0;b=b|0;var c=0;c=_o(a|0)|0;return ((b|0)==0?a:c)|0}function Ro(a){a=a|0;return (f[a+12>>2]|0)-(f[a+8>>2]|0)>>2|0}function So(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return}function To(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Hd(a,b,c,d,0)|0}function Uo(a){a=a|0;f[a+4>>2]=0;f[a+8>>2]=0;f[a>>2]=a+4;return}function Vo(){var a=0;a=en(84)|0;Kn(a);return a|0}function Wo(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;return}function Xo(a){a=a|0;f[a>>2]=7132;qm(a+4|0);return}function Yo(a,b,c){a=a|0;b=b|0;c=c|0;return Na[a&127](b|0,c|0)|0}function Zo(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(10)}function _o(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function $o(a){a=a|0;Bo(a);f[a>>2]=3724;return}function ap(a,c){a=a|0;c=c|0;b[a>>0]=b[c>>0]|0;return}function bp(a,b,c){a=a|0;b=b|0;c=c|0;return -1}function cp(a,c){a=a|0;c=c|0;return b[(f[a>>2]|0)+c>>0]|0}function dp(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)|0}function ep(a){a=a|0;if(!a)return;tq(a);return}function fp(){var a=0;a=en(1)|0;yq(a);return a|0}function gp(a){a=a|0;n[a>>2]=$(1.0);f[a+4>>2]=1;return}function hp(a){a=a|0;b[a+28>>0]=1;return}function ip(a,b){a=a|0;b=b|0;if(!x){x=a;y=b}}function jp(a){a=a|0;Zh(a);return}function kp(a,b){a=a|0;b=b|0;return 1}function lp(a){a=a|0;return a+12|0}function mp(a,b){a=a|0;b=b|0;f[a+80>>2]=b;return}function np(a,b,c){a=a|0;b=b|0;c=c|0;Sa[a&7](b|0,c|0)}function op(){var a=0;a=en(36)|0;Zp(a);return a|0}function pp(a){a=a|0;return Op(a+4|0)|0}function qp(){var a=0;a=en(108)|0;an(a);return a|0}function rp(a){a=a|0;dj(a);tq(a);return}function sp(a){a=a|0;return (b[a+32>>0]|0)!=0|0}function tp(a){a=a|0;return a+-12|0}function up(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;aa(9)}function vp(){var a=0;a=f[6182]|0;f[6182]=a+0;return a|0}function wp(a){a=a|0;return f[a+56>>2]|0}function xp(){var a=0;a=f[1759]|0;f[1759]=a+0;return a|0}function yp(a){a=a|0;Ag(a);tq(a);return}function zp(a){a=a|0;yq(a);tq(a);return}function Ap(a){a=a|0;return b[a+24>>0]|0}function Bp(a,b){a=a|0;b=b|0;return 0}function Cp(a){a=a|0;return f[a+40>>2]|0}function Dp(a){a=a|0;return f[a+48>>2]|0}function Ep(a,b){a=a|0;b=b|0;return Ma[a&127](b|0)|0}function Fp(a){a=a|0;return f[a+60>>2]|0}function Gp(a){a=a|0;return f[a+28>>2]|0}function Hp(a){a=a|0;ta(a|0)|0;mm()}function Ip(a){a=a|0;Xo(a);tq(a);return}function Jp(a){a=a|0;Da()}function Kp(a){a=a|0;return 3}function Lp(a,b){a=a|0;b=b|0;u=a;v=b}function Mp(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Np(a){a=a|0;return f[a+80>>2]|0}function Op(a){a=a|0;return f[a>>2]|0}function Pp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;aa(8)}function Qp(a,b){a=a|0;b=b|0;return $(+pk(a,b,0))}function Rp(a,b){a=a|0;b=b|0;Ra[a&127](b|0)}function Sp(a,b){a=a|0;b=b|0;return Rn(a,b)|0}function Tp(a){a=a|0;return a&255|0}function Up(a){a=a|0;return Xj(a)|0}function Vp(a,b,c){a=a|0;b=b|0;c=c|0;aa(2);return 0}function Wp(a){a=a|0;return 2}function Xp(a,b){a=a|0;b=b|0;return +(+pk(a,b,1))}function Yp(a){a=a|0;return 1}function Zp(a){a=a|0;jp(a);return}function _p(a,b){a=+a;b=+b;return +(+Yl(a,b))}function $p(a,b){a=+a;b=b|0;return +(+Tj(a,b))}function aq(a,b){a=+a;b=b|0;return +(+dk(a,b))}function bq(){return 3}function cq(a,b,c){a=a|0;b=b|0;c=c|0;aa(7)}function dq(){return 0}function eq(){return -1}function fq(){return 4}function gq(){return 1}function hq(){return 2}function iq(){return (pq()|0)+64|0}function jq(a,b){a=+a;b=+b;return +(+Rd(a,b))}function kq(a,b){a=a|0;b=b|0;aa(1);return 0}function lq(a){a=a|0;Qa[a&3]()}function mq(){va()}function nq(a){a=a|0;return +(+Xp(a,0))}function oq(a,b){a=a|0;b=b|0;aa(6)}function pq(){return Dq()|0}function qq(a){a=a|0;return en(a)|0}function rq(a){a=a|0;tq(a);return}function sq(a){a=a|0;u=a}function tq(a){a=a|0;uc(a);return}function uq(a){a=a|0;I=a}function vq(){return 24656}function wq(a){a=a|0;return a|0}function xq(a){a=a|0;aa(0);return 0}function yq(a){a=a|0;return}function zq(a){a=a|0;return 0}function Aq(){return I|0}function Bq(){return u|0}function Cq(a){a=a|0;aa(5)}function Dq(){return 6244}function Eq(){aa(4)} function Hb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=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;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=wg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Xd(t,l,c)|0;a=l+4|0;if(Xd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}Hb(t,l,c);a=l+4|0}if((s|0)==82){s=0;Hb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Jp(b);if(d>>>0<=g>>>0)Jp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{wg(t,t+4|0,u,c)|0;return}case 12:{Tg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Yg(t,b,c);return}case 20:{Jp(l);break}case 22:{Jp(l);break}case 26:{Jp(l);break}case 32:{Jp(l);break}case 38:{Jp(l);break}case 40:{Jp(l);break}case 46:{Jp(l);break}case 47:{Jp(l);break}case 51:{Jp(l);break}case 57:{Jp(a);break}case 59:{Jp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Jp(a);else Jp(a);break}case 66:{Jp(a);break}case 72:{Jp(h);break}case 74:{Jp(h);break}case 84:return}}function Ib(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=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;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=wg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Xd(t,l,c)|0;a=l+4|0;if(Xd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}Ib(t,l,c);a=l+4|0}if((s|0)==82){s=0;Ib(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Jp(b);if(d>>>0<=g>>>0)Jp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{wg(t,t+4|0,u,c)|0;return}case 12:{Tg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Yg(t,b,c);return}case 20:{Jp(l);break}case 22:{Jp(l);break}case 26:{Jp(l);break}case 32:{Jp(l);break}case 38:{Jp(l);break}case 40:{Jp(l);break}case 46:{Jp(l);break}case 47:{Jp(l);break}case 51:{Jp(l);break}case 57:{Jp(a);break}case 59:{Jp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Jp(a);else Jp(a);break}case 66:{Jp(a);break}case 72:{Jp(h);break}case 74:{Jp(h);break}case 84:return}}function Jb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=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;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=wg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Xd(t,l,c)|0;a=l+4|0;if(Xd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}Jb(t,l,c);a=l+4|0}if((s|0)==82){s=0;Jb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Jp(b);if(d>>>0<=g>>>0)Jp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{wg(t,t+4|0,u,c)|0;return}case 12:{Tg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Yg(t,b,c);return}case 20:{Jp(l);break}case 22:{Jp(l);break}case 26:{Jp(l);break}case 32:{Jp(l);break}case 38:{Jp(l);break}case 40:{Jp(l);break}case 46:{Jp(l);break}case 47:{Jp(l);break}case 51:{Jp(l);break}case 57:{Jp(a);break}case 59:{Jp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Jp(a);else Jp(a);break}case 66:{Jp(a);break}case 72:{Jp(h);break}case 74:{Jp(h);break}case 84:return}}function Kb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=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;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=wg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Xd(t,l,c)|0;a=l+4|0;if(Xd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}Kb(t,l,c);a=l+4|0}if((s|0)==82){s=0;Kb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Jp(b);if(d>>>0<=g>>>0)Jp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{wg(t,t+4|0,u,c)|0;return}case 12:{Tg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Yg(t,b,c);return}case 20:{Jp(l);break}case 22:{Jp(l);break}case 26:{Jp(l);break}case 32:{Jp(l);break}case 38:{Jp(l);break}case 40:{Jp(l);break}case 46:{Jp(l);break}case 47:{Jp(l);break}case 51:{Jp(l);break}case 57:{Jp(a);break}case 59:{Jp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Jp(a);else Jp(a);break}case 66:{Jp(a);break}case 72:{Jp(h);break}case 74:{Jp(h);break}case 84:return}}function Lb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=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;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=wg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Xd(t,l,c)|0;a=l+4|0;if(Xd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}Lb(t,l,c);a=l+4|0}if((s|0)==82){s=0;Lb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Jp(b);if(d>>>0<=g>>>0)Jp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{wg(t,t+4|0,u,c)|0;return}case 12:{Tg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Yg(t,b,c);return}case 20:{Jp(l);break}case 22:{Jp(l);break}case 26:{Jp(l);break}case 32:{Jp(l);break}case 38:{Jp(l);break}case 40:{Jp(l);break}case 46:{Jp(l);break}case 47:{Jp(l);break}case 51:{Jp(l);break}case 57:{Jp(a);break}case 59:{Jp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Jp(a);else Jp(a);break}case 66:{Jp(a);break}case 72:{Jp(h);break}case 74:{Jp(h);break}case 84:return}}function Mb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=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;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=wg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Xd(t,l,c)|0;a=l+4|0;if(Xd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}Mb(t,l,c);a=l+4|0}if((s|0)==82){s=0;Mb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Jp(b);if(d>>>0<=g>>>0)Jp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{wg(t,t+4|0,u,c)|0;return}case 12:{Tg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Yg(t,b,c);return}case 20:{Jp(l);break}case 22:{Jp(l);break}case 26:{Jp(l);break}case 32:{Jp(l);break}case 38:{Jp(l);break}case 40:{Jp(l);break}case 46:{Jp(l);break}case 47:{Jp(l);break}case 51:{Jp(l);break}case 57:{Jp(a);break}case 59:{Jp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Jp(a);else Jp(a);break}case 66:{Jp(a);break}case 72:{Jp(h);break}case 74:{Jp(h);break}case 84:return}}function Nb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=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;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=wg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Xd(t,l,c)|0;a=l+4|0;if(Xd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}Nb(t,l,c);a=l+4|0}if((s|0)==82){s=0;Nb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Jp(b);if(d>>>0<=g>>>0)Jp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{wg(t,t+4|0,u,c)|0;return}case 12:{Tg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Yg(t,b,c);return}case 20:{Jp(l);break}case 22:{Jp(l);break}case 26:{Jp(l);break}case 32:{Jp(l);break}case 38:{Jp(l);break}case 40:{Jp(l);break}case 46:{Jp(l);break}case 47:{Jp(l);break}case 51:{Jp(l);break}case 57:{Jp(a);break}case 59:{Jp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Jp(a);else Jp(a);break}case 66:{Jp(a);break}case 72:{Jp(h);break}case 74:{Jp(h);break}case 84:return}}function Ob(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=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;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=wg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Xd(t,l,c)|0;a=l+4|0;if(Xd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}Ob(t,l,c);a=l+4|0}if((s|0)==82){s=0;Ob(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Jp(b);if(d>>>0<=g>>>0)Jp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{wg(t,t+4|0,u,c)|0;return}case 12:{Tg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Yg(t,b,c);return}case 20:{Jp(l);break}case 22:{Jp(l);break}case 26:{Jp(l);break}case 32:{Jp(l);break}case 38:{Jp(l);break}case 40:{Jp(l);break}case 46:{Jp(l);break}case 47:{Jp(l);break}case 51:{Jp(l);break}case 57:{Jp(a);break}case 59:{Jp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Jp(a);else Jp(a);break}case 66:{Jp(a);break}case 72:{Jp(h);break}case 74:{Jp(h);break}case 84:return}}function Pb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=Ka,o=Ka,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=Ka;F=u;u=u+16|0;B=F;x=a+16|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;n[x>>2]=$(1.0);E=a+20|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[E+12>>2]=0;n[a+36>>2]=$(1.0);d=f[c+8>>2]|0;a:do if(d|0){z=a+4|0;A=a+12|0;y=a+8|0;e=d;w=d;while(1){v=e+8|0;r=b[v+11>>0]|0;t=r<<24>>24<0;s=t?f[v>>2]|0:v;r=t?f[e+12>>2]|0:r&255;if(r>>>0>3){e=s;d=r;g=r;while(1){t=X(h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24,1540483477)|0;d=(X(t>>>24^t,1540483477)|0)^(X(d,1540483477)|0);g=g+-4|0;if(g>>>0<=3)break;else e=e+4|0}t=r+-4|0;e=t&-4;g=s+(e+4)|0;e=t-e|0}else{g=s;d=r;e=r}switch(e|0){case 3:{d=h[g+2>>0]<<16^d;D=8;break}case 2:{D=8;break}case 1:{D=9;break}default:{}}if((D|0)==8){d=h[g+1>>0]<<8^d;D=9}if((D|0)==9){D=0;d=X(h[g>>0]^d,1540483477)|0}t=X(d>>>13^d,1540483477)|0;t=t>>>15^t;i=f[z>>2]|0;q=(i|0)==0;b:do if(!q){p=i+-1|0;g=(p&i|0)==0;if(!g)if(t>>>0>>0)e=t;else e=(t>>>0)%(i>>>0)|0;else e=t&p;d=f[(f[a>>2]|0)+(e<<2)>>2]|0;if((d|0)!=0?(C=f[d>>2]|0,(C|0)!=0):0){d=(r|0)==0;if(g){if(d){d=C;while(1){s=f[d+4>>2]|0;if(!((s|0)==(t|0)|(s&p|0)==(e|0))){D=50;break b}s=b[d+8+11>>0]|0;if(!((s<<24>>24<0?f[d+12>>2]|0:s&255)|0))break b;d=f[d>>2]|0;if(!d){D=50;break b}}}else l=C;while(1){k=f[l+4>>2]|0;if(!((k|0)==(t|0)|(k&p|0)==(e|0))){D=50;break b}d=l+8|0;j=b[d+11>>0]|0;k=j<<24>>24<0;j=j&255;do if(((k?f[l+12>>2]|0:j)|0)==(r|0)){g=f[d>>2]|0;if(k)if(!(jl(g,s,r)|0))break b;else break;if((g&255)<<24>>24==(b[s>>0]|0)){g=s;do{j=j+-1|0;d=d+1|0;if(!j)break b;g=g+1|0}while((b[d>>0]|0)==(b[g>>0]|0))}}while(0);l=f[l>>2]|0;if(!l){D=50;break b}}}if(d){g=C;while(1){d=f[g+4>>2]|0;if((d|0)!=(t|0)){if(d>>>0>=i>>>0)d=(d>>>0)%(i>>>0)|0;if((d|0)!=(e|0)){D=50;break b}}s=b[g+8+11>>0]|0;if(!((s<<24>>24<0?f[g+12>>2]|0:s&255)|0))break b;g=f[g>>2]|0;if(!g){D=50;break b}}}else l=C;while(1){d=f[l+4>>2]|0;if((d|0)!=(t|0)){if(d>>>0>=i>>>0)d=(d>>>0)%(i>>>0)|0;if((d|0)!=(e|0)){D=50;break b}}d=l+8|0;j=b[d+11>>0]|0;k=j<<24>>24<0;j=j&255;do if(((k?f[l+12>>2]|0:j)|0)==(r|0)){g=f[d>>2]|0;if(k)if(!(jl(g,s,r)|0))break b;else break;if((g&255)<<24>>24==(b[s>>0]|0)){g=s;do{j=j+-1|0;d=d+1|0;if(!j)break b;g=g+1|0}while((b[d>>0]|0)==(b[g>>0]|0))}}while(0);l=f[l>>2]|0;if(!l){D=50;break}}}else D=50}else{e=0;D=50}while(0);if((D|0)==50){D=0;Wh(B,a,t,v);o=$(((f[A>>2]|0)+1|0)>>>0);G=$(i>>>0);m=$(n[x>>2]);do if(q|o>$(G*m)){d=(i>>>0<3|(i+-1&i|0)!=0)&1|i<<1;e=~~$(W($(o/m)))>>>0;Xh(a,d>>>0>>0?e:d);d=f[z>>2]|0;e=d+-1|0;if(!(e&d)){i=d;e=e&t;break}if(t>>>0>>0){i=d;e=t}else{i=d;e=(t>>>0)%(d>>>0)|0}}while(0);d=f[(f[a>>2]|0)+(e<<2)>>2]|0;if(!d){f[f[B>>2]>>2]=f[y>>2];f[y>>2]=f[B>>2];f[(f[a>>2]|0)+(e<<2)>>2]=y;g=f[B>>2]|0;d=f[g>>2]|0;if(d|0){d=f[d+4>>2]|0;e=i+-1|0;if(e&i){if(d>>>0>=i>>>0)d=(d>>>0)%(i>>>0)|0}else d=d&e;f[(f[a>>2]|0)+(d<<2)>>2]=g}}else{f[f[B>>2]>>2]=f[d>>2];f[d>>2]=f[B>>2]}f[A>>2]=(f[A>>2]|0)+1}d=f[w>>2]|0;if(!d)break a;else{e=d;w=d}}}while(0);d=f[c+28>>2]|0;if(!d){u=F;return}do{D=d;a=en(40)|0;Pb(a,f[D+20>>2]|0);D=yc(E,D+8|0)|0;l=f[D>>2]|0;f[D>>2]=a;if(l|0){e=f[l+28>>2]|0;if(e|0)do{D=e;e=f[e>>2]|0;fi(D+8|0);tq(D)}while((e|0)!=0);D=l+20|0;e=f[D>>2]|0;f[D>>2]=0;if(e|0)tq(e);e=f[l+8>>2]|0;if(e|0)do{j=e;e=f[e>>2]|0;k=j+8|0;g=f[j+20>>2]|0;if(g|0){i=j+24|0;if((f[i>>2]|0)!=(g|0))f[i>>2]=g;tq(g)}if((b[k+11>>0]|0)<0)tq(f[k>>2]|0);tq(j)}while((e|0)!=0);e=f[l>>2]|0;f[l>>2]=0;if(e|0)tq(e);tq(l)}d=f[d>>2]|0}while((d|0)!=0);u=F;return}function Qb(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=Ka,q=Ka,r=0,s=0,t=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,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=Ka;Q=u;u=u+48|0;P=Q+16|0;K=Q+12|0;N=Q;F=P+16|0;f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;n[F>>2]=$(1.0);M=a+80|0;g=f[M>>2]|0;f[N>>2]=0;O=N+4|0;f[O>>2]=0;f[N+8>>2]=0;a:do if(!g){i=0;o=0}else{if(g>>>0>1073741823)Jp(N);D=g<<2;w=en(D)|0;f[N>>2]=w;C=w+(g<<2)|0;f[N+8>>2]=C;fj(w|0,0,D|0)|0;f[O>>2]=C;C=c+48|0;D=c+40|0;y=P+4|0;B=P+12|0;z=P+8|0;E=a+40|0;A=a+64|0;x=f[e>>2]|0;t=0;e=w;w=0;o=0;while(1){m=x+w|0;r=C;l=f[r>>2]|0;r=f[r+4>>2]|0;v=D;v=dn(m|0,((m|0)<0)<<31>>31|0,f[v>>2]|0,f[v+4>>2]|0)|0;r=Qn(v|0,I|0,l|0,r|0)|0;r=(f[f[c>>2]>>2]|0)+r|0;r=h[r>>0]|h[r+1>>0]<<8|h[r+2>>0]<<16|h[r+3>>0]<<24;f[K>>2]=r;l=r&65535;v=r>>>16;m=v&65535;v=(r&65535^318)+239^v;s=(t|0)==0;b:do if(!s){j=t+-1|0;i=(j&t|0)==0;if(!i)if(v>>>0>>0)k=v;else k=(v>>>0)%(t>>>0)|0;else k=v&j;g=f[(f[P>>2]|0)+(k<<2)>>2]|0;do if(g|0?(H=f[g>>2]|0,H|0):0){c:do if(i){g=H;while(1){R=f[g+4>>2]|0;i=(R|0)==(v|0);if(!(i|(R&j|0)==(k|0))){k=27;break c}if((i?(J=g+8|0,(d[J>>1]|0)==l<<16>>16):0)?(d[J+2>>1]|0)==m<<16>>16:0){k=26;break c}g=f[g>>2]|0;if(!g){k=27;break}}}else{g=H;while(1){i=f[g+4>>2]|0;if((i|0)==(v|0)){R=g+8|0;if((d[R>>1]|0)==l<<16>>16?(d[R+2>>1]|0)==m<<16>>16:0){k=26;break c}}else{if(i>>>0>=t>>>0)i=(i>>>0)%(t>>>0)|0;if((i|0)!=(k|0)){k=27;break c}}g=f[g>>2]|0;if(!g){k=27;break}}}while(0);if((k|0)==26){k=0;f[e+(w<<2)>>2]=f[g+12>>2];break b}else if((k|0)==27)if(s){g=0;k=46;break b}else break}while(0);j=t+-1|0;i=(j&t|0)==0;if(!i)if(v>>>0>>0)g=v;else g=(v>>>0)%(t>>>0)|0;else g=j&v;e=f[(f[P>>2]|0)+(g<<2)>>2]|0;if((e|0)!=0?(G=f[e>>2]|0,(G|0)!=0):0){if(i){e=G;while(1){R=f[e+4>>2]|0;if(!((R|0)==(v|0)|(R&j|0)==(g|0))){k=46;break b}R=e+8|0;if((d[R>>1]|0)==l<<16>>16?(d[R+2>>1]|0)==m<<16>>16:0){k=61;break b}e=f[e>>2]|0;if(!e){k=46;break b}}}else i=G;while(1){e=f[i+4>>2]|0;if((e|0)!=(v|0)){if(e>>>0>=t>>>0)e=(e>>>0)%(t>>>0)|0;if((e|0)!=(g|0)){k=46;break b}}R=i+8|0;if((d[R>>1]|0)==l<<16>>16?(d[R+2>>1]|0)==m<<16>>16:0){k=61;break b}i=f[i>>2]|0;if(!i){k=46;break}}}else k=46}else{g=0;k=46}while(0);if((k|0)==46){k=0;j=en(16)|0;R=j+8|0;d[R>>1]=r;d[R+2>>1]=r>>>16;f[j+12>>2]=o;f[j+4>>2]=v;f[j>>2]=0;q=$(((f[B>>2]|0)+1|0)>>>0);S=$(t>>>0);p=$(n[F>>2]);do if(s|q>$(S*p)){g=(t>>>0<3|(t+-1&t|0)!=0)&1|t<<1;e=~~$(W($(q/p)))>>>0;Fh(P,g>>>0>>0?e:g);g=f[y>>2]|0;e=g+-1|0;if(!(e&g)){i=g;g=e&v;break}if(v>>>0>>0){i=g;g=v}else{i=g;g=(v>>>0)%(g>>>0)|0}}else i=t;while(0);e=(f[P>>2]|0)+(g<<2)|0;g=f[e>>2]|0;if(!g){f[j>>2]=f[z>>2];f[z>>2]=j;f[e>>2]=z;g=f[j>>2]|0;if(g|0){g=f[g+4>>2]|0;e=i+-1|0;if(e&i){if(g>>>0>=i>>>0)g=(g>>>0)%(i>>>0)|0}else g=g&e;g=(f[P>>2]|0)+(g<<2)|0;k=59}}else{f[j>>2]=f[g>>2];k=59}if((k|0)==59)f[g>>2]=j;f[B>>2]=(f[B>>2]|0)+1;k=61}if((k|0)==61){R=E;e=f[R>>2]|0;R=dn(e|0,f[R+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;Sg((f[f[A>>2]>>2]|0)+R|0,K|0,e|0)|0;e=f[N>>2]|0;f[e+(w<<2)>>2]=o;o=o+1|0}g=w+1|0;i=f[M>>2]|0;if((g|0)>=(i|0))break a;t=f[y>>2]|0;w=g}}while(0);if((o|0)!=(i|0)){m=a+84|0;if(!(b[m>>0]|0)){i=f[a+68>>2]|0;g=(f[a+72>>2]|0)-i|0;if((g|0)>0){j=f[N>>2]|0;e=g>>2;g=0;do{R=i+(g<<2)|0;f[R>>2]=f[j+(f[R>>2]<<2)>>2];g=g+1|0}while((g|0)<(e|0))}}else{b[m>>0]=0;k=a+68|0;j=a+72|0;e=f[j>>2]|0;g=f[k>>2]|0;l=e-g>>2;if(i>>>0<=l>>>0){if(i>>>0>>0?(L=g+(i<<2)|0,(e|0)!=(L|0)):0)f[j>>2]=e+(~((e+-4-L|0)>>>2)<<2)}else{ph(k,i-l|0,1220);i=f[M>>2]|0}if((i|0)>0){j=f[N>>2]|0;if(b[m>>0]|0)ra(20425,20444,89,20538);g=f[a+68>>2]|0;e=0;do{f[g+(e<<2)>>2]=f[j+(e<<2)>>2];e=e+1|0}while((e|0)<(i|0))}}f[M>>2]=o}g=f[N>>2]|0;if(g|0){e=f[O>>2]|0;if((e|0)!=(g|0))f[O>>2]=e+(~((e+-4-g|0)>>>2)<<2);tq(g)}g=f[P+8>>2]|0;if(g|0)do{R=g;g=f[g>>2]|0;tq(R)}while((g|0)!=0);g=f[P>>2]|0;f[P>>2]=0;if(!g){u=Q;return o|0}tq(g);u=Q;return o|0}function Rb(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=Ka,q=Ka,r=0,s=0,t=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,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=Ka;Q=u;u=u+48|0;P=Q+12|0;K=Q+32|0;N=Q;F=P+16|0;f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;n[F>>2]=$(1.0);M=a+80|0;g=f[M>>2]|0;f[N>>2]=0;O=N+4|0;f[O>>2]=0;f[N+8>>2]=0;a:do if(!g){i=0;o=0}else{if(g>>>0>1073741823)Jp(N);D=g<<2;w=en(D)|0;f[N>>2]=w;C=w+(g<<2)|0;f[N+8>>2]=C;fj(w|0,0,D|0)|0;f[O>>2]=C;C=c+48|0;D=c+40|0;y=P+4|0;B=P+12|0;z=P+8|0;E=a+40|0;A=a+64|0;x=f[e>>2]|0;t=0;e=w;w=0;o=0;while(1){m=x+w|0;r=C;l=f[r>>2]|0;r=f[r+4>>2]|0;v=D;v=dn(m|0,((m|0)<0)<<31>>31|0,f[v>>2]|0,f[v+4>>2]|0)|0;r=Qn(v|0,I|0,l|0,r|0)|0;r=(f[f[c>>2]>>2]|0)+r|0;r=h[r>>0]|h[r+1>>0]<<8;d[K>>1]=r;l=r&255;v=(r&65535)>>>8;m=v&255;v=((r&255^318)+239<<16>>16^v)&65535;s=(t|0)==0;b:do if(!s){j=t+-1|0;i=(j&t|0)==0;if(!i)if(v>>>0>>0)k=v;else k=(v>>>0)%(t>>>0)|0;else k=v&j;g=f[(f[P>>2]|0)+(k<<2)>>2]|0;do if(g|0?(H=f[g>>2]|0,H|0):0){c:do if(i){g=H;while(1){R=f[g+4>>2]|0;i=(R|0)==(v|0);if(!(i|(R&j|0)==(k|0))){k=27;break c}if((i?(J=g+8|0,(b[J>>0]|0)==l<<24>>24):0)?(b[J+1>>0]|0)==m<<24>>24:0){k=26;break c}g=f[g>>2]|0;if(!g){k=27;break}}}else{g=H;while(1){i=f[g+4>>2]|0;if((i|0)==(v|0)){R=g+8|0;if((b[R>>0]|0)==l<<24>>24?(b[R+1>>0]|0)==m<<24>>24:0){k=26;break c}}else{if(i>>>0>=t>>>0)i=(i>>>0)%(t>>>0)|0;if((i|0)!=(k|0)){k=27;break c}}g=f[g>>2]|0;if(!g){k=27;break}}}while(0);if((k|0)==26){k=0;f[e+(w<<2)>>2]=f[g+12>>2];break b}else if((k|0)==27)if(s){g=0;k=46;break b}else break}while(0);j=t+-1|0;i=(j&t|0)==0;if(!i)if(v>>>0>>0)g=v;else g=(v>>>0)%(t>>>0)|0;else g=j&v;e=f[(f[P>>2]|0)+(g<<2)>>2]|0;if((e|0)!=0?(G=f[e>>2]|0,(G|0)!=0):0){if(i){e=G;while(1){R=f[e+4>>2]|0;if(!((R|0)==(v|0)|(R&j|0)==(g|0))){k=46;break b}R=e+8|0;if((b[R>>0]|0)==l<<24>>24?(b[R+1>>0]|0)==m<<24>>24:0){k=61;break b}e=f[e>>2]|0;if(!e){k=46;break b}}}else i=G;while(1){e=f[i+4>>2]|0;if((e|0)!=(v|0)){if(e>>>0>=t>>>0)e=(e>>>0)%(t>>>0)|0;if((e|0)!=(g|0)){k=46;break b}}R=i+8|0;if((b[R>>0]|0)==l<<24>>24?(b[R+1>>0]|0)==m<<24>>24:0){k=61;break b}i=f[i>>2]|0;if(!i){k=46;break}}}else k=46}else{g=0;k=46}while(0);if((k|0)==46){k=0;j=en(16)|0;R=j+8|0;b[R>>0]=r;b[R+1>>0]=r>>8;f[j+12>>2]=o;f[j+4>>2]=v;f[j>>2]=0;q=$(((f[B>>2]|0)+1|0)>>>0);S=$(t>>>0);p=$(n[F>>2]);do if(s|q>$(S*p)){g=(t>>>0<3|(t+-1&t|0)!=0)&1|t<<1;e=~~$(W($(q/p)))>>>0;Mh(P,g>>>0>>0?e:g);g=f[y>>2]|0;e=g+-1|0;if(!(e&g)){i=g;g=e&v;break}if(v>>>0>>0){i=g;g=v}else{i=g;g=(v>>>0)%(g>>>0)|0}}else i=t;while(0);e=(f[P>>2]|0)+(g<<2)|0;g=f[e>>2]|0;if(!g){f[j>>2]=f[z>>2];f[z>>2]=j;f[e>>2]=z;g=f[j>>2]|0;if(g|0){g=f[g+4>>2]|0;e=i+-1|0;if(e&i){if(g>>>0>=i>>>0)g=(g>>>0)%(i>>>0)|0}else g=g&e;g=(f[P>>2]|0)+(g<<2)|0;k=59}}else{f[j>>2]=f[g>>2];k=59}if((k|0)==59)f[g>>2]=j;f[B>>2]=(f[B>>2]|0)+1;k=61}if((k|0)==61){R=E;e=f[R>>2]|0;R=dn(e|0,f[R+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;Sg((f[f[A>>2]>>2]|0)+R|0,K|0,e|0)|0;e=f[N>>2]|0;f[e+(w<<2)>>2]=o;o=o+1|0}g=w+1|0;i=f[M>>2]|0;if((g|0)>=(i|0))break a;t=f[y>>2]|0;w=g}}while(0);if((o|0)!=(i|0)){m=a+84|0;if(!(b[m>>0]|0)){i=f[a+68>>2]|0;g=(f[a+72>>2]|0)-i|0;if((g|0)>0){j=f[N>>2]|0;e=g>>2;g=0;do{R=i+(g<<2)|0;f[R>>2]=f[j+(f[R>>2]<<2)>>2];g=g+1|0}while((g|0)<(e|0))}}else{b[m>>0]=0;k=a+68|0;j=a+72|0;e=f[j>>2]|0;g=f[k>>2]|0;l=e-g>>2;if(i>>>0<=l>>>0){if(i>>>0>>0?(L=g+(i<<2)|0,(e|0)!=(L|0)):0)f[j>>2]=e+(~((e+-4-L|0)>>>2)<<2)}else{ph(k,i-l|0,1220);i=f[M>>2]|0}if((i|0)>0){j=f[N>>2]|0;if(b[m>>0]|0)ra(20425,20444,89,20538);g=f[a+68>>2]|0;e=0;do{f[g+(e<<2)>>2]=f[j+(e<<2)>>2];e=e+1|0}while((e|0)<(i|0))}}f[M>>2]=o}g=f[N>>2]|0;if(g|0){e=f[O>>2]|0;if((e|0)!=(g|0))f[O>>2]=e+(~((e+-4-g|0)>>>2)<<2);tq(g)}g=f[P+8>>2]|0;if(g|0)do{R=g;g=f[g>>2]|0;tq(R)}while((g|0)!=0);g=f[P>>2]|0;f[P>>2]=0;if(!g){u=Q;return o|0}tq(g);u=Q;return o|0}function Sb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=Ka,p=Ka,q=0,r=0,s=0,t=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,J=0,K=0,L=0,M=0,N=0,O=0,P=Ka;N=u;u=u+48|0;M=N+20|0;G=N;K=N+8|0;D=M+16|0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;n[D>>2]=$(1.0);J=a+80|0;e=f[J>>2]|0;f[K>>2]=0;L=K+4|0;f[L>>2]=0;f[K+8>>2]=0;a:do if(!e){g=0;m=0}else{if(e>>>0>1073741823)Jp(K);B=e<<2;t=en(B)|0;f[K>>2]=t;A=t+(e<<2)|0;f[K+8>>2]=A;fj(t|0,0,B|0)|0;f[L>>2]=A;A=c+48|0;B=c+40|0;w=M+4|0;z=M+12|0;x=M+8|0;C=a+40|0;y=a+64|0;v=f[d>>2]|0;r=0;d=t;t=0;m=0;while(1){q=v+t|0;l=A;k=f[l>>2]|0;l=f[l+4>>2]|0;s=B;s=dn(q|0,((q|0)<0)<<31>>31|0,f[s>>2]|0,f[s+4>>2]|0)|0;l=Qn(s|0,I|0,k|0,l|0)|0;l=(f[f[c>>2]>>2]|0)+l|0;k=l;k=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;l=l+4|0;l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;s=G;f[s>>2]=k;f[s+4>>2]=l;s=(k^318)+239^l;q=(r|0)==0;b:do if(!q){i=r+-1|0;g=(i&r|0)==0;if(!g)if(s>>>0>>0)j=s;else j=(s>>>0)%(r>>>0)|0;else j=s&i;e=f[(f[M>>2]|0)+(j<<2)>>2]|0;do if(e|0?(F=f[e>>2]|0,F|0):0){c:do if(g){e=F;while(1){O=f[e+4>>2]|0;g=(O|0)==(s|0);if(!(g|(O&i|0)==(j|0))){j=27;break c}if((g?(f[e+8>>2]|0)==(k|0):0)?(f[e+12>>2]|0)==(l|0):0){j=26;break c}e=f[e>>2]|0;if(!e){j=27;break}}}else{e=F;while(1){g=f[e+4>>2]|0;if((g|0)==(s|0)){if((f[e+8>>2]|0)==(k|0)?(f[e+12>>2]|0)==(l|0):0){j=26;break c}}else{if(g>>>0>=r>>>0)g=(g>>>0)%(r>>>0)|0;if((g|0)!=(j|0)){j=27;break c}}e=f[e>>2]|0;if(!e){j=27;break}}}while(0);if((j|0)==26){j=0;f[d+(t<<2)>>2]=f[e+16>>2];break b}else if((j|0)==27)if(q){e=0;j=46;break b}else break}while(0);i=r+-1|0;g=(i&r|0)==0;if(!g)if(s>>>0>>0)e=s;else e=(s>>>0)%(r>>>0)|0;else e=i&s;d=f[(f[M>>2]|0)+(e<<2)>>2]|0;if((d|0)!=0?(E=f[d>>2]|0,(E|0)!=0):0){if(g){d=E;while(1){O=f[d+4>>2]|0;if(!((O|0)==(s|0)|(O&i|0)==(e|0))){j=46;break b}if((f[d+8>>2]|0)==(k|0)?(f[d+12>>2]|0)==(l|0):0){j=61;break b}d=f[d>>2]|0;if(!d){j=46;break b}}}else g=E;while(1){d=f[g+4>>2]|0;if((d|0)!=(s|0)){if(d>>>0>=r>>>0)d=(d>>>0)%(r>>>0)|0;if((d|0)!=(e|0)){j=46;break b}}if((f[g+8>>2]|0)==(k|0)?(f[g+12>>2]|0)==(l|0):0){j=61;break b}g=f[g>>2]|0;if(!g){j=46;break}}}else j=46}else{e=0;j=46}while(0);if((j|0)==46){j=0;i=en(20)|0;O=i+8|0;f[O>>2]=k;f[O+4>>2]=l;f[i+16>>2]=m;f[i+4>>2]=s;f[i>>2]=0;p=$(((f[z>>2]|0)+1|0)>>>0);P=$(r>>>0);o=$(n[D>>2]);do if(q|p>$(P*o)){e=(r>>>0<3|(r+-1&r|0)!=0)&1|r<<1;d=~~$(W($(p/o)))>>>0;Jh(M,e>>>0>>0?d:e);e=f[w>>2]|0;d=e+-1|0;if(!(d&e)){g=e;e=d&s;break}if(s>>>0>>0){g=e;e=s}else{g=e;e=(s>>>0)%(e>>>0)|0}}else g=r;while(0);d=(f[M>>2]|0)+(e<<2)|0;e=f[d>>2]|0;if(!e){f[i>>2]=f[x>>2];f[x>>2]=i;f[d>>2]=x;e=f[i>>2]|0;if(e|0){e=f[e+4>>2]|0;d=g+-1|0;if(d&g){if(e>>>0>=g>>>0)e=(e>>>0)%(g>>>0)|0}else e=e&d;e=(f[M>>2]|0)+(e<<2)|0;j=59}}else{f[i>>2]=f[e>>2];j=59}if((j|0)==59)f[e>>2]=i;f[z>>2]=(f[z>>2]|0)+1;j=61}if((j|0)==61){O=C;d=f[O>>2]|0;O=dn(d|0,f[O+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;Sg((f[f[y>>2]>>2]|0)+O|0,G|0,d|0)|0;d=f[K>>2]|0;f[d+(t<<2)>>2]=m;m=m+1|0}e=t+1|0;g=f[J>>2]|0;if((e|0)>=(g|0))break a;r=f[w>>2]|0;t=e}}while(0);if((m|0)!=(g|0)){l=a+84|0;if(!(b[l>>0]|0)){g=f[a+68>>2]|0;e=(f[a+72>>2]|0)-g|0;if((e|0)>0){i=f[K>>2]|0;d=e>>2;e=0;do{O=g+(e<<2)|0;f[O>>2]=f[i+(f[O>>2]<<2)>>2];e=e+1|0}while((e|0)<(d|0))}}else{b[l>>0]=0;j=a+68|0;i=a+72|0;d=f[i>>2]|0;e=f[j>>2]|0;k=d-e>>2;if(g>>>0<=k>>>0){if(g>>>0>>0?(H=e+(g<<2)|0,(d|0)!=(H|0)):0)f[i>>2]=d+(~((d+-4-H|0)>>>2)<<2)}else{ph(j,g-k|0,1220);g=f[J>>2]|0}if((g|0)>0){i=f[K>>2]|0;if(b[l>>0]|0)ra(20425,20444,89,20538);e=f[a+68>>2]|0;d=0;do{f[e+(d<<2)>>2]=f[i+(d<<2)>>2];d=d+1|0}while((d|0)<(g|0))}}f[J>>2]=m}e=f[K>>2]|0;if(e|0){d=f[L>>2]|0;if((d|0)!=(e|0))f[L>>2]=d+(~((d+-4-e|0)>>>2)<<2);tq(e)}e=f[M+8>>2]|0;if(e|0)do{O=e;e=f[e>>2]|0;tq(O)}while((e|0)!=0);e=f[M>>2]|0;f[M>>2]=0;if(!e){u=N;return m|0}tq(e);u=N;return m|0}function Tb(a,c){a=a|0;c=c|0;var d=0,e=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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=u;u=u+192|0;y=C+152|0;B=C+144|0;x=C+72|0;w=C;v=C+112|0;A=C+108|0;e=C+104|0;k=a+352|0;if(b[k>>0]|0?(z=Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0,((f[z+12>>2]|0)-(f[z+8>>2]|0)|0)>0):0){g=(Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0)+8|0;g=f[f[g>>2]>>2]|0;f[y>>2]=c;m=g+4|0;l=g+8|0;d=f[l>>2]|0;if((d|0)==(f[g+12>>2]|0))Ji(m,y);else{f[d>>2]=c;f[l>>2]=d+4}e=f[y>>2]|0;k=g+16|0;h=g+20|0;g=f[h>>2]|0;d=f[k>>2]|0;j=g-d>>2;if((e|0)>=(j|0)){i=e+1|0;f[B>>2]=-1;if(i>>>0<=j>>>0){if(i>>>0>>0?(n=d+(i<<2)|0,(g|0)!=(n|0)):0)f[h>>2]=g+(~((g+-4-n|0)>>>2)<<2)}else{ph(k,i-j|0,B);e=f[y>>2]|0;d=f[k>>2]|0}}f[d+(e<<2)>>2]=((f[l>>2]|0)-(f[m>>2]|0)>>2)+-1;B=1;u=C;return B|0}h=(Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0)+52|0;h=f[(f[(f[h>>2]|0)+84>>2]|0)+(c<<2)>>2]|0;d=(Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0)+4|0;d=f[d>>2]|0;if((c|0)<=-1)ra(20916,20609,59,20700);g=f[d+8>>2]|0;if(((f[d+12>>2]|0)-g>>2|0)<=(c|0))ra(20555,20609,60,20700);j=f[g+(c<<2)>>2]|0;f[B>>2]=-1;z=a+172|0;d=f[a+176>>2]|0;g=f[z>>2]|0;t=g;a:do if((d|0)==(g|0))m=-1;else{g=(d-g|0)/108|0;d=0;while(1){if((f[t+(d*108|0)>>2]|0)==(c|0))break;d=d+1|0;if(d>>>0>=g>>>0){m=-1;break a}}f[B>>2]=d;m=d}while(0);b:do if(!(b[k>>0]|0)){d=(f[j+56>>2]|0)==0;do if(!((h|0)==0|d)){if((h|0)==1?b[t+(m*108|0)+28>>0]|0:0)break;h=en(88)|0;j=f[a+8>>2]|0;l=t+(m*108|0)+76|0;f[h+4>>2]=0;f[h>>2]=3452;n=h+12|0;f[n>>2]=3476;o=h+64|0;f[o>>2]=0;f[h+68>>2]=0;f[h+72>>2]=0;g=h+16|0;i=g+44|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));f[h+76>>2]=j;f[h+80>>2]=l;p=h+84|0;f[p>>2]=0;f[x>>2]=3476;d=x+4|0;k=d+4|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;k=t+(m*108|0)+4|0;r=w+4|0;f[r>>2]=3476;q=w+56|0;f[q>>2]=0;s=w+60|0;f[s>>2]=0;f[w+64>>2]=0;g=w+8|0;i=g+44|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));f[d>>2]=k;g=f[t+(m*108|0)+68>>2]|0;g=((f[g+4>>2]|0)-(f[g>>2]|0)>>2>>>0)/3|0;b[y>>0]=0;$g(x+8|0,g,y);Ra[f[(f[x>>2]|0)+8>>2]&127](x);gf(v,x);gf(y,v);f[w>>2]=f[y+4>>2];g=w+4|0;Xf(g,y)|0;f[y>>2]=3476;d=f[y+20>>2]|0;if(d|0)tq(d);d=f[y+8>>2]|0;if(d|0)tq(d);f[w+36>>2]=k;f[w+40>>2]=l;f[w+44>>2]=j;f[w+48>>2]=h;f[v>>2]=3476;d=f[v+20>>2]|0;if(d|0)tq(d);d=f[v+8>>2]|0;if(d|0)tq(d);f[p>>2]=a+72;f[h+8>>2]=f[w>>2];Xf(n,g)|0;d=h+44|0;y=w+36|0;f[d>>2]=f[y>>2];f[d+4>>2]=f[y+4>>2];f[d+8>>2]=f[y+8>>2];f[d+12>>2]=f[y+12>>2];b[d+16>>0]=b[y+16>>0]|0;_f(o,f[q>>2]|0,f[s>>2]|0);d=f[q>>2]|0;if(d|0){g=f[s>>2]|0;if((g|0)!=(d|0))f[s>>2]=g+(~((g+-4-d|0)>>>2)<<2);tq(d)}f[r>>2]=3476;d=f[w+24>>2]|0;if(d|0)tq(d);d=f[w+12>>2]|0;if(d|0)tq(d);f[x>>2]=3476;d=f[x+20>>2]|0;if(d|0)tq(d);d=f[x+8>>2]|0;if(d|0)tq(d);g=0;i=58;break b}while(0);if(!d){b[t+(m*108|0)+72>>0]=0;d=t+(m*108|0)+76|0;i=30}else i=28}else i=28;while(0);if((i|0)==28){d=a+40|0;i=30}if((i|0)==30){x=(Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0)+48|0;do if((gi(f[x>>2]|0)|0)==0?(f[j+56>>2]|0)==0:0){if(b[k>>0]|0?(x=f[a+8>>2]|0,((f[x+12>>2]|0)-(f[x+8>>2]|0)|0)>4):0){i=35;break}Re(y,a,d);d=f[y>>2]|0;g=1}else i=35;while(0);if((i|0)==35){Md(y,a,d);d=f[y>>2]|0;g=0}if(!d)d=0;else{h=d;i=58}}if((i|0)==58){d=f[B>>2]|0;if((d|0)==-1)d=a+68|0;else d=(f[z>>2]|0)+(d*108|0)+104|0;f[d>>2]=g;i=en(76)|0;f[A>>2]=h;nl(i,A,c);d=f[A>>2]|0;f[A>>2]=0;if(d|0)Ra[f[(f[d>>2]|0)+4>>2]&127](d);g=a+188|0;d=f[g>>2]|0;if((d|0)==(f[a+192>>2]|0))Ji(a+184|0,B);else{f[d>>2]=f[B>>2];f[g>>2]=d+4}h=Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0;f[e>>2]=i;g=h+12|0;d=f[g>>2]|0;if(d>>>0<(f[h+16>>2]|0)>>>0){f[e>>2]=0;f[d>>2]=i;f[g>>2]=d+4}else Mg(h+8|0,e);d=f[e>>2]|0;f[e>>2]=0;if(!d)d=1;else{Ra[f[(f[d>>2]|0)+4>>2]&127](d);d=1}}B=d;u=C;return B|0}function Ub(a,c){a=a|0;c=c|0;var d=0,e=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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=u;u=u+192|0;y=C+152|0;B=C+144|0;x=C+72|0;w=C;v=C+112|0;A=C+108|0;e=C+104|0;k=a+288|0;if(b[k>>0]|0?(z=Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0,((f[z+12>>2]|0)-(f[z+8>>2]|0)|0)>0):0){g=(Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0)+8|0;g=f[f[g>>2]>>2]|0;f[y>>2]=c;m=g+4|0;l=g+8|0;d=f[l>>2]|0;if((d|0)==(f[g+12>>2]|0))Ji(m,y);else{f[d>>2]=c;f[l>>2]=d+4}e=f[y>>2]|0;k=g+16|0;h=g+20|0;g=f[h>>2]|0;d=f[k>>2]|0;j=g-d>>2;if((e|0)>=(j|0)){i=e+1|0;f[B>>2]=-1;if(i>>>0<=j>>>0){if(i>>>0>>0?(n=d+(i<<2)|0,(g|0)!=(n|0)):0)f[h>>2]=g+(~((g+-4-n|0)>>>2)<<2)}else{ph(k,i-j|0,B);e=f[y>>2]|0;d=f[k>>2]|0}}f[d+(e<<2)>>2]=((f[l>>2]|0)-(f[m>>2]|0)>>2)+-1;B=1;u=C;return B|0}h=(Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0)+52|0;h=f[(f[(f[h>>2]|0)+84>>2]|0)+(c<<2)>>2]|0;d=(Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0)+4|0;d=f[d>>2]|0;if((c|0)<=-1)ra(20916,20609,59,20700);g=f[d+8>>2]|0;if(((f[d+12>>2]|0)-g>>2|0)<=(c|0))ra(20555,20609,60,20700);j=f[g+(c<<2)>>2]|0;f[B>>2]=-1;z=a+172|0;d=f[a+176>>2]|0;g=f[z>>2]|0;t=g;a:do if((d|0)==(g|0))m=-1;else{g=(d-g|0)/108|0;d=0;while(1){if((f[t+(d*108|0)>>2]|0)==(c|0))break;d=d+1|0;if(d>>>0>=g>>>0){m=-1;break a}}f[B>>2]=d;m=d}while(0);b:do if(!(b[k>>0]|0)){d=(f[j+56>>2]|0)==0;do if(!((h|0)==0|d)){if((h|0)==1?b[t+(m*108|0)+28>>0]|0:0)break;h=en(88)|0;j=f[a+8>>2]|0;l=t+(m*108|0)+76|0;f[h+4>>2]=0;f[h>>2]=3452;n=h+12|0;f[n>>2]=3476;o=h+64|0;f[o>>2]=0;f[h+68>>2]=0;f[h+72>>2]=0;g=h+16|0;i=g+44|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));f[h+76>>2]=j;f[h+80>>2]=l;p=h+84|0;f[p>>2]=0;f[x>>2]=3476;d=x+4|0;k=d+4|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;k=t+(m*108|0)+4|0;r=w+4|0;f[r>>2]=3476;q=w+56|0;f[q>>2]=0;s=w+60|0;f[s>>2]=0;f[w+64>>2]=0;g=w+8|0;i=g+44|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));f[d>>2]=k;g=f[t+(m*108|0)+68>>2]|0;g=((f[g+4>>2]|0)-(f[g>>2]|0)>>2>>>0)/3|0;b[y>>0]=0;$g(x+8|0,g,y);Ra[f[(f[x>>2]|0)+8>>2]&127](x);gf(v,x);gf(y,v);f[w>>2]=f[y+4>>2];g=w+4|0;Xf(g,y)|0;f[y>>2]=3476;d=f[y+20>>2]|0;if(d|0)tq(d);d=f[y+8>>2]|0;if(d|0)tq(d);f[w+36>>2]=k;f[w+40>>2]=l;f[w+44>>2]=j;f[w+48>>2]=h;f[v>>2]=3476;d=f[v+20>>2]|0;if(d|0)tq(d);d=f[v+8>>2]|0;if(d|0)tq(d);f[p>>2]=a+72;f[h+8>>2]=f[w>>2];Xf(n,g)|0;d=h+44|0;y=w+36|0;f[d>>2]=f[y>>2];f[d+4>>2]=f[y+4>>2];f[d+8>>2]=f[y+8>>2];f[d+12>>2]=f[y+12>>2];b[d+16>>0]=b[y+16>>0]|0;_f(o,f[q>>2]|0,f[s>>2]|0);d=f[q>>2]|0;if(d|0){g=f[s>>2]|0;if((g|0)!=(d|0))f[s>>2]=g+(~((g+-4-d|0)>>>2)<<2);tq(d)}f[r>>2]=3476;d=f[w+24>>2]|0;if(d|0)tq(d);d=f[w+12>>2]|0;if(d|0)tq(d);f[x>>2]=3476;d=f[x+20>>2]|0;if(d|0)tq(d);d=f[x+8>>2]|0;if(d|0)tq(d);g=0;i=58;break b}while(0);if(!d){b[t+(m*108|0)+72>>0]=0;d=t+(m*108|0)+76|0;i=30}else i=28}else i=28;while(0);if((i|0)==28){d=a+40|0;i=30}if((i|0)==30){x=(Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0)+48|0;do if((gi(f[x>>2]|0)|0)==0?(f[j+56>>2]|0)==0:0){if(b[k>>0]|0?(x=f[a+8>>2]|0,((f[x+12>>2]|0)-(f[x+8>>2]|0)|0)>4):0){i=35;break}Re(y,a,d);d=f[y>>2]|0;g=1}else i=35;while(0);if((i|0)==35){Md(y,a,d);d=f[y>>2]|0;g=0}if(!d)d=0;else{h=d;i=58}}if((i|0)==58){d=f[B>>2]|0;if((d|0)==-1)d=a+68|0;else d=(f[z>>2]|0)+(d*108|0)+104|0;f[d>>2]=g;i=en(76)|0;f[A>>2]=h;nl(i,A,c);d=f[A>>2]|0;f[A>>2]=0;if(d|0)Ra[f[(f[d>>2]|0)+4>>2]&127](d);g=a+188|0;d=f[g>>2]|0;if((d|0)==(f[a+192>>2]|0))Ji(a+184|0,B);else{f[d>>2]=f[B>>2];f[g>>2]=d+4}h=Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0;f[e>>2]=i;g=h+12|0;d=f[g>>2]|0;if(d>>>0<(f[h+16>>2]|0)>>>0){f[e>>2]=0;f[d>>2]=i;f[g>>2]=d+4}else Mg(h+8|0,e);d=f[e>>2]|0;f[e>>2]=0;if(!d)d=1;else{Ra[f[(f[d>>2]|0)+4>>2]&127](d);d=1}}B=d;u=C;return B|0}function Vb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;N=a+8|0;f[N>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else ri(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{J=f[b+(i<<2)>>2]|0;I=(J|0)<(g|0);g=I?J:g;h=I?h:(J|0)>(h|0)?J:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;J=1-g+h|0;f[a+20>>2]=J;g=(J|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(J&1))f[h>>2]=g+-1}x=f[a+48>>2]|0;y=f[a+52>>2]|0;z=e>>>0>1073741823?-1:e<<2;I=qq(z)|0;fj(I|0,0,z|0)|0;J=qq(z)|0;fj(J|0,0,z|0)|0;z=f[a+56>>2]|0;A=z+4|0;i=f[A>>2]|0;j=f[z>>2]|0;g=i-j|0;a:do if((g|0)>4){h=g>>2;q=(e|0)>0;u=a+16|0;p=a+32|0;w=a+12|0;v=a+28|0;t=a+20|0;s=a+24|0;r=x+64|0;o=x+28|0;n=e<<2;g=h+-1|0;if(i-j>>2>>>0>g>>>0){m=j;B=h;L=g}else Jp(z);while(1){m=f[m+(L<<2)>>2]|0;if(q)fj(I|0,0,n|0)|0;if((m|0)>-1){d=f[x>>2]|0;l=m;k=0;do{if(((f[d+(l>>>5<<2)>>2]&1<<(l&31)|0)==0?(M=f[(f[(f[r>>2]|0)+12>>2]|0)+(l<<2)>>2]|0,(M|0)>=0):0)?(E=f[o>>2]|0,j=f[y>>2]|0,C=f[j+(f[E+(M<<2)>>2]<<2)>>2]|0,D=M+1|0,D=f[j+(f[E+((((D|0)%3|0|0)==0?M+-2|0:D)<<2)>>2]<<2)>>2]|0,E=f[j+(f[E+((((M>>>0)%3|0|0)==0?2:-1)+M<<2)>>2]<<2)>>2]|0,(C|0)<(L|0)&(D|0)<(L|0)&(E|0)<(L|0)):0){h=X(C,e)|0;i=X(D,e)|0;j=X(E,e)|0;if(q){g=0;do{f[J+(g<<2)>>2]=(f[b+(g+j<<2)>>2]|0)+(f[b+(g+i<<2)>>2]|0)-(f[b+(g+h<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0));if(q){g=0;do{j=I+(g<<2)|0;f[j>>2]=(f[j>>2]|0)+(f[J+(g<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}}k=k+1|0}g=(((l>>>0)%3|0|0)==0?2:-1)+l|0;do if(!(f[d+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=f[(f[(f[r>>2]|0)+12>>2]|0)+(g<<2)>>2]|0;if((g|0)>=0)if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}}else g=-1073741824;while(0);l=(g|0)==(m|0)?-1073741824:g}while((l|0)>-1);h=X(L,e)|0;if(k){if(q){g=0;do{m=I+(g<<2)|0;f[m>>2]=(f[m>>2]|0)/(k|0)|0;g=g+1|0}while((g|0)!=(e|0))}d=b+(h<<2)|0;l=c+(h<<2)|0;g=f[N>>2]|0;if((g|0)>0){k=0;i=I;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[u>>2]|0;if((g|0)>(h|0)){g=f[p>>2]|0;f[g+(j<<2)>>2]=h}else{h=f[w>>2]|0;m=f[p>>2]|0;f[m+(j<<2)>>2]=(g|0)<(h|0)?h:g;g=m}j=j+1|0}while((j|0)<(f[N>>2]|0));i=g}else i=f[p>>2]|0;g=(f[d+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=l+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[v>>2]|0)){if((g|0)>(f[s>>2]|0)){g=g-(f[t>>2]|0)|0;O=65}}else{g=(f[t>>2]|0)+g|0;O=65}if((O|0)==65){O=0;f[h>>2]=g}k=k+1|0;g=f[N>>2]|0}while((k|0)<(g|0))}}else{K=h;O=38}}else{K=X(L,e)|0;O=38}if((O|0)==38?(O=0,G=b+(K<<2)|0,H=c+(K<<2)|0,F=f[N>>2]|0,(F|0)>0):0){h=F;k=0;j=b+((X(B+-2|0,e)|0)<<2)|0;while(1){if((h|0)>0){i=0;do{g=f[j+(i<<2)>>2]|0;h=f[u>>2]|0;if((g|0)>(h|0)){g=f[p>>2]|0;f[g+(i<<2)>>2]=h}else{m=f[w>>2]|0;B=f[p>>2]|0;f[B+(i<<2)>>2]=(g|0)<(m|0)?m:g;g=B}i=i+1|0}while((i|0)<(f[N>>2]|0))}else g=f[p>>2]|0;h=(f[G+(k<<2)>>2]|0)-(f[g+(k<<2)>>2]|0)|0;i=H+(k<<2)|0;f[i>>2]=h;if((h|0)>=(f[v>>2]|0)){if((h|0)>(f[s>>2]|0)){h=h-(f[t>>2]|0)|0;O=50}}else{h=(f[t>>2]|0)+h|0;O=50}if((O|0)==50){O=0;f[i>>2]=h}k=k+1|0;h=f[N>>2]|0;if((k|0)>=(h|0))break;else j=g}}if((L|0)<=1)break a;m=f[z>>2]|0;g=L+-1|0;if((f[A>>2]|0)-m>>2>>>0<=g>>>0)break;else{B=L;L=g}}Jp(z)}while(0);if((e|0)>0)fj(I|0,0,e<<2|0)|0;g=f[N>>2]|0;if((g|0)<=0){rq(J);rq(I);return 1}n=a+16|0;d=a+32|0;p=a+12|0;o=a+28|0;m=a+20|0;l=a+24|0;k=0;i=I;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[n>>2]|0;if((g|0)>(h|0)){g=f[d>>2]|0;f[g+(j<<2)>>2]=h}else{M=f[p>>2]|0;a=f[d>>2]|0;f[a+(j<<2)>>2]=(g|0)<(M|0)?M:g;g=a}j=j+1|0}while((j|0)<(f[N>>2]|0));i=g}else i=f[d>>2]|0;g=(f[b+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=c+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[o>>2]|0)){if((g|0)>(f[l>>2]|0)){g=g-(f[m>>2]|0)|0;O=80}}else{g=(f[m>>2]|0)+g|0;O=80}if((O|0)==80){O=0;f[h>>2]=g}k=k+1|0;g=f[N>>2]|0}while((k|0)<(g|0));rq(J);rq(I);return 1}function Wb(a,c,d){a=a|0;c=c|0;d=d|0;var e=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,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,J=0,K=0,L=0,M=0,N=0,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;S=u;u=u+96|0;F=S+92|0;G=S+88|0;H=S+72|0;M=S+48|0;N=S+24|0;O=S;L=a+4|0;m=f[L>>2]|0;if(!m)ra(13098,13120,46,13284);K=a+8|0;l=f[K>>2]|0;if(!l)ra(13098,13120,46,13284);J=a+16|0;k=f[J>>2]|0;n=f[c>>2]|0;f[H>>2]=k;f[H+4>>2]=n;D=H+8|0;f[D>>2]=n;b[H+12>>0]=1;k=f[(f[k+28>>2]|0)+(n<<2)>>2]|0;E=a+20|0;i=f[E>>2]|0;c=f[i>>2]|0;if((f[i+4>>2]|0)-c>>2>>>0<=k>>>0)Jp(i);c=f[l+(f[c+(k<<2)>>2]<<2)>>2]|0;if(!(b[m+84>>0]|0))c=f[(f[m+68>>2]|0)+(c<<2)>>2]|0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;f[M+16>>2]=0;f[M+20>>2]=0;f[G>>2]=c;i=b[m+24>>0]|0;f[F>>2]=f[G>>2];mb(m,F,i,M)|0;i=f[D>>2]|0;w=a+28|0;c=(f[w>>2]|0)==0;a:do if((i|0)>=0){A=N+8|0;x=M+8|0;C=N+16|0;y=M+16|0;z=O+8|0;B=O+16|0;k=(n|0)<0;t=n+1|0;v=n+(k?0:((n>>>0)%3|0|0)==0?2:-1)|0;t=k?n:((t|0)%3|0|0)==0?n+-2|0:t;k=0;r=0;l=0;s=0;m=0;o=0;while(1){do if(!c){c=i+1|0;c=((c|0)%3|0|0)==0?i+-2|0:c;if(!((i>>>0)%3|0)){q=i+2|0;break}else{q=i+-1|0;break}}else{c=t;q=v}while(0);p=f[L>>2]|0;if(!p){c=16;break}a=f[K>>2]|0;if(!a){c=16;break}i=f[(f[(f[J>>2]|0)+28>>2]|0)+(c<<2)>>2]|0;n=f[E>>2]|0;c=f[n>>2]|0;if((f[n+4>>2]|0)-c>>2>>>0<=i>>>0){c=18;break}c=f[a+(f[c+(i<<2)>>2]<<2)>>2]|0;if(!(b[p+84>>0]|0))c=f[(f[p+68>>2]|0)+(c<<2)>>2]|0;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;f[N+16>>2]=0;f[N+20>>2]=0;f[G>>2]=c;n=b[p+24>>0]|0;f[F>>2]=f[G>>2];mb(p,F,n,N)|0;p=f[L>>2]|0;if(!p){c=23;break}a=f[K>>2]|0;if(!a){c=23;break}i=f[(f[(f[J>>2]|0)+28>>2]|0)+(q<<2)>>2]|0;n=f[E>>2]|0;c=f[n>>2]|0;if((f[n+4>>2]|0)-c>>2>>>0<=i>>>0){c=25;break}c=f[a+(f[c+(i<<2)>>2]<<2)>>2]|0;if(!(b[p+84>>0]|0))c=f[(f[p+68>>2]|0)+(c<<2)>>2]|0;f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;f[O+12>>2]=0;f[O+16>>2]=0;f[O+20>>2]=0;f[G>>2]=c;i=b[p+24>>0]|0;f[F>>2]=f[G>>2];mb(p,F,i,O)|0;i=N;_=M;Z=f[_>>2]|0;_=f[_+4>>2]|0;i=co(f[i>>2]|0,f[i+4>>2]|0,Z|0,_|0)|0;c=I;q=A;aa=x;$=f[aa>>2]|0;aa=f[aa+4>>2]|0;q=co(f[q>>2]|0,f[q+4>>2]|0,$|0,aa|0)|0;p=I;U=C;n=y;T=f[n>>2]|0;n=f[n+4>>2]|0;U=co(f[U>>2]|0,f[U+4>>2]|0,T|0,n|0)|0;V=I;W=O;_=co(f[W>>2]|0,f[W+4>>2]|0,Z|0,_|0)|0;Z=I;W=z;aa=co(f[W>>2]|0,f[W+4>>2]|0,$|0,aa|0)|0;$=I;W=B;n=co(f[W>>2]|0,f[W+4>>2]|0,T|0,n|0)|0;T=I;W=dn(n|0,T|0,q|0,p|0)|0;a=I;Y=dn(aa|0,$|0,U|0,V|0)|0;X=I;V=dn(_|0,Z|0,U|0,V|0)|0;U=I;T=dn(n|0,T|0,i|0,c|0)|0;n=I;c=dn(aa|0,$|0,i|0,c|0)|0;i=I;p=dn(_|0,Z|0,q|0,p|0)|0;q=I;k=co(k|0,r|0,Y|0,X|0)|0;k=Qn(k|0,I|0,W|0,a|0)|0;a=I;l=Qn(V|0,U|0,l|0,s|0)|0;l=co(l|0,I|0,T|0,n|0)|0;n=I;m=co(m|0,o|0,p|0,q|0)|0;m=Qn(m|0,I|0,c|0,i|0)|0;o=I;yf(H);i=f[D>>2]|0;c=(f[w>>2]|0)==0;if((i|0)<0){j=a;Q=k;R=n;h=l;g=o;e=m;P=c;break a}else{r=a;s=n}}if((c|0)==16)ra(13098,13341,70,13505);else if((c|0)==18)Jp(n);else if((c|0)==23)ra(13098,13341,70,13505);else if((c|0)==25)Jp(n)}else{j=0;Q=0;R=0;h=0;g=0;e=0;P=c}while(0);aa=(j|0)>-1|(j|0)==-1&Q>>>0>4294967295;i=co(0,0,Q|0,j|0)|0;c=aa?j:I;X=(R|0)>-1|(R|0)==-1&h>>>0>4294967295;Y=co(0,0,h|0,R|0)|0;Z=X?R:I;$=(g|0)>-1|(g|0)==-1&e>>>0>4294967295;_=co(0,0,e|0,g|0)|0;$=Qn((X?h:Y)|0,Z|0,($?e:_)|0,($?g:I)|0)|0;c=Qn($|0,I|0,(aa?Q:i)|0,c|0)|0;i=I;if(P)if((c|0)>536870912){aa=En(c|0,i|0,29)|0;aa=aa&7;i=mk(Q|0,j|0,aa|0,0)|0;j=I;h=mk(h|0,R|0,aa|0,0)|0;c=I;e=mk(e|0,g|0,aa|0,0)|0;g=I}else{i=Q;c=R}else if((i|0)>0|(i|0)==0&c>>>0>536870912){$=En(c|0,i|0,29)|0;aa=I;i=mk(Q|0,j|0,$|0,aa|0)|0;j=I;h=mk(h|0,R|0,$|0,aa|0)|0;c=I;e=mk(e|0,g|0,$|0,aa|0)|0;g=I}else{i=Q;c=R}_=(j|0)>-1|(j|0)==-1&i>>>0>4294967295;$=co(0,0,i|0,j|0)|0;aa=_?j:I;V=(c|0)>-1|(c|0)==-1&h>>>0>4294967295;W=co(0,0,h|0,c|0)|0;X=V?c:I;Z=(g|0)>-1|(g|0)==-1&e>>>0>4294967295;Y=co(0,0,e|0,g|0)|0;Z=Qn((V?h:W)|0,X|0,(Z?e:Y)|0,(Z?g:I)|0)|0;aa=Qn(Z|0,I|0,(_?i:$)|0,aa|0)|0;$=I;if(($|0)<0|($|0)==0&aa>>>0<536870913){f[d>>2]=i;f[d+4>>2]=h;f[d+8>>2]=e;u=S;return}else ra(13306,13120,95,13284)}function Xb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=Ka,k=Ka,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=Ka;C=u;u=u+64|0;e=C+40|0;A=C+16|0;B=C;g=sd(a,c)|0;if(g|0){f[A>>2]=g;f[e>>2]=f[A>>2];pf(a,e)|0}f[B>>2]=0;z=B+4|0;f[z>>2]=0;f[B+8>>2]=0;Ai(B,8);y=d;d=y;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;y=y+4|0;y=h[y>>0]|h[y+1>>0]<<8|h[y+2>>0]<<16|h[y+3>>0]<<24;i=f[B>>2]|0;g=i;b[g>>0]=d;b[g+1>>0]=d>>8;b[g+2>>0]=d>>16;b[g+3>>0]=d>>24;i=i+4|0;b[i>>0]=y;b[i+1>>0]=y>>8;b[i+2>>0]=y>>16;b[i+3>>0]=y>>24;gj(A,c);i=A+12|0;f[i>>2]=0;y=A+16|0;f[y>>2]=0;f[A+20>>2]=0;c=f[z>>2]|0;g=f[B>>2]|0;d=c-g|0;if(!d){d=g;g=0}else{Ai(i,d);d=f[B>>2]|0;c=f[z>>2]|0;g=f[i>>2]|0}Sg(g|0,d|0,c-d|0)|0;x=A+11|0;s=b[x>>0]|0;v=s<<24>>24<0;t=v?f[A>>2]|0:A;s=v?f[A+4>>2]|0:s&255;if(s>>>0>3){c=t;g=s;d=s;while(1){v=X(h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24,1540483477)|0;g=(X(v>>>24^v,1540483477)|0)^(X(g,1540483477)|0);d=d+-4|0;if(d>>>0<=3)break;else c=c+4|0}v=s+-4|0;c=v&-4;d=t+(c+4)|0;c=v-c|0}else{d=t;g=s;c=s}switch(c|0){case 3:{g=h[d+2>>0]<<16^g;w=10;break}case 2:{w=10;break}case 1:{w=11;break}default:{}}if((w|0)==10){g=h[d+1>>0]<<8^g;w=11}if((w|0)==11)g=X(h[d>>0]^g,1540483477)|0;v=X(g>>>13^g,1540483477)|0;v=v>>>15^v;q=a+4|0;i=f[q>>2]|0;r=(i|0)==0;a:do if(!r){p=i+-1|0;d=(p&i|0)==0;if(!d)if(v>>>0>>0)c=v;else c=(v>>>0)%(i>>>0)|0;else c=v&p;g=f[(f[a>>2]|0)+(c<<2)>>2]|0;if((g|0)!=0?(o=f[g>>2]|0,(o|0)!=0):0){g=(s|0)==0;if(d){if(g){g=o;while(1){t=f[g+4>>2]|0;if(!((t|0)==(v|0)|(t&p|0)==(c|0))){w=52;break a}t=b[g+8+11>>0]|0;if(!((t<<24>>24<0?f[g+12>>2]|0:t&255)|0))break a;g=f[g>>2]|0;if(!g){w=52;break a}}}while(1){m=f[o+4>>2]|0;if(!((m|0)==(v|0)|(m&p|0)==(c|0))){w=52;break a}g=o+8|0;l=b[g+11>>0]|0;m=l<<24>>24<0;l=l&255;do if(((m?f[o+12>>2]|0:l)|0)==(s|0)){d=f[g>>2]|0;if(m)if(!(jl(d,t,s)|0))break a;else break;if((d&255)<<24>>24==(b[t>>0]|0)){d=t;do{l=l+-1|0;g=g+1|0;if(!l)break a;d=d+1|0}while((b[g>>0]|0)==(b[d>>0]|0))}}while(0);o=f[o>>2]|0;if(!o){w=52;break a}}}if(g){d=o;while(1){g=f[d+4>>2]|0;if((g|0)!=(v|0)){if(g>>>0>=i>>>0)g=(g>>>0)%(i>>>0)|0;if((g|0)!=(c|0)){w=52;break a}}t=b[d+8+11>>0]|0;if(!((t<<24>>24<0?f[d+12>>2]|0:t&255)|0))break a;d=f[d>>2]|0;if(!d){w=52;break a}}}while(1){g=f[o+4>>2]|0;if((g|0)!=(v|0)){if(g>>>0>=i>>>0)g=(g>>>0)%(i>>>0)|0;if((g|0)!=(c|0)){w=52;break a}}g=o+8|0;l=b[g+11>>0]|0;m=l<<24>>24<0;l=l&255;do if(((m?f[o+12>>2]|0:l)|0)==(s|0)){d=f[g>>2]|0;if(m)if(!(jl(d,t,s)|0))break a;else break;if((d&255)<<24>>24==(b[t>>0]|0)){d=t;do{l=l+-1|0;g=g+1|0;if(!l)break a;d=d+1|0}while((b[g>>0]|0)==(b[d>>0]|0))}}while(0);o=f[o>>2]|0;if(!o){w=52;break}}}else w=52}else{c=0;w=52}while(0);if((w|0)==52){oh(e,a,v,A);l=a+12|0;k=$(((f[l>>2]|0)+1|0)>>>0);D=$(i>>>0);j=$(n[a+16>>2]);do if(r|k>$(D*j)){g=(i>>>0<3|(i+-1&i|0)!=0)&1|i<<1;c=~~$(W($(k/j)))>>>0;Xh(a,g>>>0>>0?c:g);g=f[q>>2]|0;c=g+-1|0;if(!(c&g)){i=g;c=c&v;break}if(v>>>0>>0){i=g;c=v}else{i=g;c=(v>>>0)%(g>>>0)|0}}while(0);g=f[(f[a>>2]|0)+(c<<2)>>2]|0;if(!g){d=a+8|0;f[f[e>>2]>>2]=f[d>>2];f[d>>2]=f[e>>2];f[(f[a>>2]|0)+(c<<2)>>2]=d;d=f[e>>2]|0;g=f[d>>2]|0;if(g){g=f[g+4>>2]|0;c=i+-1|0;if(c&i){if(g>>>0>=i>>>0)g=(g>>>0)%(i>>>0)|0}else g=g&c;f[(f[a>>2]|0)+(g<<2)>>2]=d}}else{f[f[e>>2]>>2]=f[g>>2];f[g>>2]=f[e>>2]}f[l>>2]=(f[l>>2]|0)+1;f[e>>2]=0}e=f[A+12>>2]|0;if(e|0){if((f[y>>2]|0)!=(e|0))f[y>>2]=e;tq(e)}if((b[x>>0]|0)<0)tq(f[A>>2]|0);e=f[B>>2]|0;if(!e){u=C;return}if((f[z>>2]|0)!=(e|0))f[z>>2]=e;tq(e);u=C;return}function Yb(a,b){a=a|0;b=b|0;var c=0,d=0,e=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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=u;u=u+16|0;N=R+8|0;P=R;M=R+4|0;O=a+16|0;d=f[O>>2]|0;L=a+20|0;c=f[L>>2]|0;if((c|0)==(d|0))c=d;else{c=c+(~((c+-4-d|0)>>>2)<<2)|0;f[L>>2]=c}I=a+24|0;if((c|0)==(f[I>>2]|0)){Ji(O,b);d=f[O>>2]|0;e=f[L>>2]|0}else{f[c>>2]=f[b>>2];e=c+4|0;f[L>>2]=e}c=f[a+8>>2]|0;c=(f[c+100>>2]|0)-(f[c+96>>2]|0)|0;H=(c|0)/12|0;if((d|0)==(e|0)){u=R;return 1}G=a+28|0;A=(c|0)>0;C=a+164|0;z=a+12|0;w=a+76|0;y=a+80|0;E=a+72|0;t=a+152|0;r=a+84|0;v=a+272|0;x=a+276|0;F=a+268|0;D=a+168|0;s=a+140|0;B=a+120|0;c=e;a:while(1){d=f[c+-4>>2]|0;f[b>>2]=d;b:do if((d|0)>=0?(q=(d>>>0)/3|0,J=f[G>>2]|0,(f[J+(q>>>5<<2)>>2]&1<<(q&31)|0)==0):0){if(A){d=J;c=0;while(1){q=c+1|0;f[C>>2]=(f[C>>2]|0)+1;p=f[b>>2]|0;p=(p|0)<0?-1073741824:(p>>>0)/3|0;c=d+(p>>>5<<2)|0;f[c>>2]=1<<(p&31)|f[c>>2];c=f[w>>2]|0;if((c|0)==(f[y>>2]|0))Ji(E,b);else{f[c>>2]=f[b>>2];f[w>>2]=c+4}m=f[z>>2]|0;d=f[b>>2]|0;if((d|0)<0)o=-1073741824;else{c=f[m>>2]|0;if((d|0)>=((f[m+4>>2]|0)-c>>2|0)){Q=18;break a}o=f[c+(d<<2)>>2]|0}n=(f[(f[t>>2]|0)+(o<<2)>>2]|0)!=-1;e=(f[r>>2]|0)+(o>>>5<<2)|0;g=1<<(o&31);c=f[e>>2]|0;do if(!(c&g)){f[e>>2]=c|g;if(n){d=f[b>>2]|0;Q=32;break}f[N>>2]=0;c=f[v>>2]|0;if((c|0)==(f[x>>2]|0))Ji(F,N);else{f[c>>2]=0;f[v>>2]=c+4}c=f[b>>2]|0;d=c+1|0;if((c|0)>=0){c=((d|0)%3|0|0)==0?c+-2|0:d;if((c|0)>=0)c=f[(f[(f[z>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}f[b>>2]=c}else Q=32;while(0);if((Q|0)==32){Q=0;l=(d|0)<0;j=d+1|0;if(!l){c=((j|0)%3|0|0)==0?d+-2|0:j;if((c|0)<0)e=c;else e=f[(f[m+12>>2]|0)+(c<<2)>>2]|0;f[P>>2]=e;c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((c|0)>=0)c=f[(f[m+12>>2]|0)+(c<<2)>>2]|0;i=(e|0)<0;h=i?-1073741824:(e>>>0)/3|0;g=(c|0)<0;k=g?-1073741824:(c>>>0)/3|0;e=((j|0)%3|0|0)==0?d+-2|0:j;if((e|0)>=0)e=f[(f[m+12>>2]|0)+(e<<2)>>2]|0}else{f[P>>2]=d;g=1;i=1;c=d;k=-1073741824;h=-1073741824;e=d}if((e|0)!=-1073741824?(j=(e|0)<0?-1073741824:(e>>>0)/3|0,K=f[G>>2]|0,(f[K+(j>>>5<<2)>>2]&1<<(j&31)|0)==0):0){if(!l){d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((d|0)>=0)d=f[(f[m+12>>2]|0)+(d<<2)>>2]|0}if((d|0)!=-1073741824?(m=(d|0)<0?-1073741824:(d>>>0)/3|0,(f[K+(m>>>5<<2)>>2]&1<<(m&31)|0)==0):0){Q=70;break}if(!g)vf(a,f[C>>2]|0,p,0,k);f[N>>2]=3;c=f[v>>2]|0;if((c|0)==(f[x>>2]|0))Ji(F,N);else{f[c>>2]=3;f[v>>2]=c+4}c=f[P>>2]|0}else{if(!i){vf(a,f[C>>2]|0,p,1,h);d=f[b>>2]|0}if((d|0)>=0){d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((d|0)>=0)d=f[(f[(f[z>>2]|0)+12>>2]|0)+(d<<2)>>2]|0}if((d|0)==-1073741824){Q=49;break}o=(d|0)<0?-1073741824:(d>>>0)/3|0;if(f[(f[G>>2]|0)+(o>>>5<<2)>>2]&1<<(o&31)|0){Q=49;break}f[N>>2]=5;d=f[v>>2]|0;if((d|0)==(f[x>>2]|0))Ji(F,N);else{f[d>>2]=5;f[v>>2]=d+4}}f[b>>2]=c}if((q|0)>=(H|0))break b;d=f[G>>2]|0;c=q}do if((Q|0)==49){Q=0;if(!g)vf(a,f[C>>2]|0,p,0,k);f[N>>2]=7;c=f[v>>2]|0;if((c|0)==(f[x>>2]|0))Ji(F,N);else{f[c>>2]=7;f[v>>2]=c+4}f[L>>2]=(f[L>>2]|0)+-4}else if((Q|0)==70){Q=0;f[N>>2]=1;d=f[v>>2]|0;if((d|0)==(f[x>>2]|0))Ji(F,N);else{f[d>>2]=1;f[v>>2]=d+4}f[D>>2]=(f[D>>2]|0)+1;if(n?(q=f[(f[t>>2]|0)+(o<<2)>>2]|0,(1<<(q&31)&f[(f[s>>2]|0)+(q>>>5<<2)>>2]|0)==0):0){f[M>>2]=f[b>>2];f[N>>2]=f[M>>2];Od(a,N,0)|0}q=f[C>>2]|0;f[N>>2]=p;d=we(B,N)|0;f[d>>2]=q;d=f[L>>2]|0;f[d+-4>>2]=c;if((d|0)==(f[I>>2]|0)){Ji(O,P);break}else{f[d>>2]=f[P>>2];f[L>>2]=d+4;break}}while(0)}}else Q=11;while(0);if((Q|0)==11){Q=0;f[L>>2]=c+-4}c=f[L>>2]|0;if((f[O>>2]|0)==(c|0)){Q=81;break}}if((Q|0)==18)ra(20128,20163,98,20248);else if((Q|0)==81){u=R;return 1}return 0}function Zb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=Ka,m=0,o=Ka,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=Ka;D=u;u=u+64|0;e=D+40|0;B=D+16|0;C=D;g=sd(a,c)|0;if(g|0){f[B>>2]=g;f[e>>2]=f[B>>2];pf(a,e)|0}f[C>>2]=0;A=C+4|0;f[A>>2]=0;f[C+8>>2]=0;j=d+11|0;i=b[j>>0]|0;m=d+4|0;g=f[m>>2]|0;k=i<<24>>24<0?g:i&255;if(!k){j=i;i=0}else{Ai(C,k);j=b[j>>0]|0;g=f[m>>2]|0;i=f[C>>2]|0}k=j<<24>>24<0;Sg(i|0,(k?f[d>>2]|0:d)|0,(k?g:j&255)|0)|0;gj(B,c);k=B+12|0;f[k>>2]=0;z=B+16|0;f[z>>2]=0;f[B+20>>2]=0;i=f[A>>2]|0;g=f[C>>2]|0;j=i-g|0;if(!j){j=g;g=0}else{Ai(k,j);j=f[C>>2]|0;i=f[A>>2]|0;g=f[k>>2]|0}Sg(g|0,j|0,i-j|0)|0;x=B+11|0;t=b[x>>0]|0;w=t<<24>>24<0;v=w?f[B>>2]|0:B;t=w?f[B+4>>2]|0:t&255;if(t>>>0>3){i=v;g=t;j=t;while(1){w=X(h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24,1540483477)|0;g=(X(w>>>24^w,1540483477)|0)^(X(g,1540483477)|0);j=j+-4|0;if(j>>>0<=3)break;else i=i+4|0}w=t+-4|0;i=w&-4;j=v+(i+4)|0;i=w-i|0}else{j=v;g=t;i=t}switch(i|0){case 3:{g=h[j+2>>0]<<16^g;y=12;break}case 2:{y=12;break}case 1:{y=13;break}default:{}}if((y|0)==12){g=h[j+1>>0]<<8^g;y=13}if((y|0)==13)g=X(h[j>>0]^g,1540483477)|0;w=X(g>>>13^g,1540483477)|0;w=w>>>15^w;q=a+4|0;k=f[q>>2]|0;r=(k|0)==0;a:do if(!r){p=k+-1|0;j=(p&k|0)==0;if(!j)if(w>>>0>>0)i=w;else i=(w>>>0)%(k>>>0)|0;else i=w&p;g=f[(f[a>>2]|0)+(i<<2)>>2]|0;if((g|0)!=0?(s=f[g>>2]|0,(s|0)!=0):0){g=(t|0)==0;if(j){if(g){g=s;while(1){v=f[g+4>>2]|0;if(!((v|0)==(w|0)|(v&p|0)==(i|0))){y=54;break a}v=b[g+8+11>>0]|0;if(!((v<<24>>24<0?f[g+12>>2]|0:v&255)|0))break a;g=f[g>>2]|0;if(!g){y=54;break a}}}else d=s;while(1){s=f[d+4>>2]|0;if(!((s|0)==(w|0)|(s&p|0)==(i|0))){y=54;break a}g=d+8|0;m=b[g+11>>0]|0;c=m<<24>>24<0;m=m&255;do if(((c?f[d+12>>2]|0:m)|0)==(t|0)){j=f[g>>2]|0;if(c)if(!(jl(j,v,t)|0))break a;else break;if((j&255)<<24>>24==(b[v>>0]|0)){j=v;do{m=m+-1|0;g=g+1|0;if(!m)break a;j=j+1|0}while((b[g>>0]|0)==(b[j>>0]|0))}}while(0);d=f[d>>2]|0;if(!d){y=54;break a}}}if(g){j=s;while(1){g=f[j+4>>2]|0;if((g|0)!=(w|0)){if(g>>>0>=k>>>0)g=(g>>>0)%(k>>>0)|0;if((g|0)!=(i|0)){y=54;break a}}v=b[j+8+11>>0]|0;if(!((v<<24>>24<0?f[j+12>>2]|0:v&255)|0))break a;j=f[j>>2]|0;if(!j){y=54;break a}}}else d=s;while(1){g=f[d+4>>2]|0;if((g|0)!=(w|0)){if(g>>>0>=k>>>0)g=(g>>>0)%(k>>>0)|0;if((g|0)!=(i|0)){y=54;break a}}g=d+8|0;m=b[g+11>>0]|0;c=m<<24>>24<0;m=m&255;do if(((c?f[d+12>>2]|0:m)|0)==(t|0)){j=f[g>>2]|0;if(c)if(!(jl(j,v,t)|0))break a;else break;if((j&255)<<24>>24==(b[v>>0]|0)){j=v;do{m=m+-1|0;g=g+1|0;if(!m)break a;j=j+1|0}while((b[g>>0]|0)==(b[j>>0]|0))}}while(0);d=f[d>>2]|0;if(!d){y=54;break}}}else y=54}else{i=0;y=54}while(0);if((y|0)==54){oh(e,a,w,B);m=a+12|0;o=$(((f[m>>2]|0)+1|0)>>>0);E=$(k>>>0);l=$(n[a+16>>2]);do if(r|o>$(E*l)){g=(k>>>0<3|(k+-1&k|0)!=0)&1|k<<1;i=~~$(W($(o/l)))>>>0;Xh(a,g>>>0>>0?i:g);g=f[q>>2]|0;i=g+-1|0;if(!(i&g)){k=g;i=i&w;break}if(w>>>0>>0){k=g;i=w}else{k=g;i=(w>>>0)%(g>>>0)|0}}while(0);g=f[(f[a>>2]|0)+(i<<2)>>2]|0;if(!g){j=a+8|0;f[f[e>>2]>>2]=f[j>>2];f[j>>2]=f[e>>2];f[(f[a>>2]|0)+(i<<2)>>2]=j;j=f[e>>2]|0;g=f[j>>2]|0;if(g){g=f[g+4>>2]|0;i=k+-1|0;if(i&k){if(g>>>0>=k>>>0)g=(g>>>0)%(k>>>0)|0}else g=g&i;f[(f[a>>2]|0)+(g<<2)>>2]=j}}else{f[f[e>>2]>>2]=f[g>>2];f[g>>2]=f[e>>2]}f[m>>2]=(f[m>>2]|0)+1;f[e>>2]=0}e=f[B+12>>2]|0;if(e|0){if((f[z>>2]|0)!=(e|0))f[z>>2]=e;tq(e)}if((b[x>>0]|0)<0)tq(f[B>>2]|0);e=f[C>>2]|0;if(!e){u=D;return}if((f[A>>2]|0)!=(e|0))f[A>>2]=e;tq(e);u=D;return}function _b(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=Ka,q=Ka,r=0,s=0,t=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,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=Ka;U=u;u=u+48|0;T=U+28|0;N=U+8|0;O=U;R=U+16|0;L=T+16|0;f[T>>2]=0;f[T+4>>2]=0;f[T+8>>2]=0;f[T+12>>2]=0;n[L>>2]=$(1.0);Q=a+80|0;g=f[Q>>2]|0;f[R>>2]=0;S=R+4|0;f[S>>2]=0;f[R+8>>2]=0;if(!g){i=0;o=0}else{if(g>>>0>1073741823)Jp(R);G=g<<2;H=en(G)|0;f[R>>2]=H;B=H+(g<<2)|0;f[R+8>>2]=B;fj(H|0,0,G|0)|0;f[S>>2]=B;B=f[e>>2]|0;G=c+48|0;H=c+40|0;E=T+4|0;F=T+12|0;D=T+8|0;J=a+40|0;C=a+64|0;K=0;z=0;while(1){w=B+K|0;y=G;x=f[y>>2]|0;y=f[y+4>>2]|0;g=H;g=dn(w|0,((w|0)<0)<<31>>31|0,f[g>>2]|0,f[g+4>>2]|0)|0;y=Qn(g|0,I|0,x|0,y|0)|0;y=(f[f[c>>2]>>2]|0)+y|0;x=y;x=h[x>>0]|h[x+1>>0]<<8|h[x+2>>0]<<16|h[x+3>>0]<<24;y=y+4|0;y=h[y>>0]|h[y+1>>0]<<8|h[y+2>>0]<<16|h[y+3>>0]<<24;g=N;f[g>>2]=x;f[g+4>>2]=y;g=O;f[g>>2]=x;f[g+4>>2]=y;g=ef(T,O)|0;if(!g){t=O;s=f[t>>2]|0;t=f[t+4>>2]|0;l=s&65535;y=En(s|0,t|0,16)|0;m=y&65535;o=t&65535;v=En(s|0,t|0,48)|0;w=I;r=v&65535;y=((((l^318)&65535)+239^y&65535)+239^t&65535)+239^v;i=f[E>>2]|0;x=(i|0)==0;a:do if(!x){k=i+-1|0;j=(k&i|0)==0;if(!j)if(y>>>0>>0)g=y;else g=(y>>>0)%(i>>>0)|0;else g=y&k;e=f[(f[T>>2]|0)+(g<<2)>>2]|0;if((e|0)!=0?(M=f[e>>2]|0,(M|0)!=0):0){if(j){e=M;while(1){j=f[e+4>>2]|0;if(!((j|0)==(y|0)|(j&k|0)==(g|0))){A=31;break a}j=e+8|0;if((((d[j>>1]|0)==l<<16>>16?(d[j+2>>1]|0)==m<<16>>16:0)?(d[e+12>>1]|0)==o<<16>>16:0)?(d[j+6>>1]|0)==r<<16>>16:0)break a;e=f[e>>2]|0;if(!e){A=31;break a}}}else j=M;while(1){e=f[j+4>>2]|0;if((e|0)!=(y|0)){if(e>>>0>=i>>>0)e=(e>>>0)%(i>>>0)|0;if((e|0)!=(g|0)){A=31;break a}}k=j+8|0;if((((d[k>>1]|0)==l<<16>>16?(d[k+2>>1]|0)==m<<16>>16:0)?(d[j+12>>1]|0)==o<<16>>16:0)?(d[k+6>>1]|0)==r<<16>>16:0)break a;j=f[j>>2]|0;if(!j){A=31;break}}}else A=31}else{g=0;A=31}while(0);if((A|0)==31){A=0;j=en(20)|0;v=zn(v|0,w|0,48)|0;s=s|v;v=t&65535|I;w=j+8|0;t=w;d[t>>1]=s;d[t+2>>1]=s>>>16;w=w+4|0;d[w>>1]=v;d[w+2>>1]=v>>>16;f[j+16>>2]=z;f[j+4>>2]=y;f[j>>2]=0;q=$(((f[F>>2]|0)+1|0)>>>0);V=$(i>>>0);p=$(n[L>>2]);do if(x|q>$(V*p)){g=(i>>>0<3|(i+-1&i|0)!=0)&1|i<<1;e=~~$(W($(q/p)))>>>0;Dh(T,g>>>0>>0?e:g);g=f[E>>2]|0;e=g+-1|0;if(!(e&g)){i=g;g=e&y;break}if(y>>>0>>0){i=g;g=y}else{i=g;g=(y>>>0)%(g>>>0)|0}}while(0);e=(f[T>>2]|0)+(g<<2)|0;g=f[e>>2]|0;if(!g){f[j>>2]=f[D>>2];f[D>>2]=j;f[e>>2]=D;g=f[j>>2]|0;if(g|0){g=f[g+4>>2]|0;e=i+-1|0;if(e&i){if(g>>>0>=i>>>0)g=(g>>>0)%(i>>>0)|0}else g=g&e;g=(f[T>>2]|0)+(g<<2)|0;A=44}}else{f[j>>2]=f[g>>2];A=44}if((A|0)==44){A=0;f[g>>2]=j}f[F>>2]=(f[F>>2]|0)+1}y=J;g=f[y>>2]|0;y=dn(g|0,f[y+4>>2]|0,z|0,((z|0)<0)<<31>>31|0)|0;Sg((f[f[C>>2]>>2]|0)+y|0,N|0,g|0)|0;f[(f[R>>2]|0)+(K<<2)>>2]=z;g=z+1|0}else{f[(f[R>>2]|0)+(K<<2)>>2]=f[g+16>>2];g=z}K=K+1|0;i=f[Q>>2]|0;if((K|0)>=(i|0)){o=g;break}else z=g}}if((o|0)!=(i|0)){m=a+84|0;if(!(b[m>>0]|0)){i=f[a+68>>2]|0;g=(f[a+72>>2]|0)-i|0;if((g|0)>0){j=f[R>>2]|0;e=g>>2;g=0;do{a=i+(g<<2)|0;f[a>>2]=f[j+(f[a>>2]<<2)>>2];g=g+1|0}while((g|0)<(e|0))}}else{b[m>>0]=0;k=a+68|0;j=a+72|0;e=f[j>>2]|0;g=f[k>>2]|0;l=e-g>>2;if(i>>>0<=l>>>0){if(i>>>0>>0?(P=g+(i<<2)|0,(e|0)!=(P|0)):0)f[j>>2]=e+(~((e+-4-P|0)>>>2)<<2)}else{ph(k,i-l|0,1220);i=f[Q>>2]|0}if((i|0)>0){j=f[R>>2]|0;if(b[m>>0]|0)ra(20425,20444,89,20538);g=f[a+68>>2]|0;e=0;do{f[g+(e<<2)>>2]=f[j+(e<<2)>>2];e=e+1|0}while((e|0)<(i|0))}}f[Q>>2]=o}g=f[R>>2]|0;if(g|0){e=f[S>>2]|0;if((e|0)!=(g|0))f[S>>2]=e+(~((e+-4-g|0)>>>2)<<2);tq(g)}g=f[T+8>>2]|0;if(g|0)do{S=g;g=f[g>>2]|0;tq(S)}while((g|0)!=0);g=f[T>>2]|0;f[T>>2]=0;if(!g){u=U;return o|0}tq(g);u=U;return o|0}function $b(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=Ka,k=Ka,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=Ka;C=u;u=u+64|0;e=C+40|0;A=C+16|0;B=C;g=sd(a,c)|0;if(g|0){f[A>>2]=g;f[e>>2]=f[A>>2];pf(a,e)|0}f[B>>2]=0;z=B+4|0;f[z>>2]=0;f[B+8>>2]=0;Ai(B,4);i=f[B>>2]|0;y=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[i>>0]=y;b[i+1>>0]=y>>8;b[i+2>>0]=y>>16;b[i+3>>0]=y>>24;gj(A,c);i=A+12|0;f[i>>2]=0;y=A+16|0;f[y>>2]=0;f[A+20>>2]=0;c=f[z>>2]|0;g=f[B>>2]|0;d=c-g|0;if(!d){d=g;g=0}else{Ai(i,d);d=f[B>>2]|0;c=f[z>>2]|0;g=f[i>>2]|0}Sg(g|0,d|0,c-d|0)|0;x=A+11|0;s=b[x>>0]|0;v=s<<24>>24<0;t=v?f[A>>2]|0:A;s=v?f[A+4>>2]|0:s&255;if(s>>>0>3){c=t;g=s;d=s;while(1){v=X(h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24,1540483477)|0;g=(X(v>>>24^v,1540483477)|0)^(X(g,1540483477)|0);d=d+-4|0;if(d>>>0<=3)break;else c=c+4|0}v=s+-4|0;c=v&-4;d=t+(c+4)|0;c=v-c|0}else{d=t;g=s;c=s}switch(c|0){case 3:{g=h[d+2>>0]<<16^g;w=10;break}case 2:{w=10;break}case 1:{w=11;break}default:{}}if((w|0)==10){g=h[d+1>>0]<<8^g;w=11}if((w|0)==11)g=X(h[d>>0]^g,1540483477)|0;v=X(g>>>13^g,1540483477)|0;v=v>>>15^v;q=a+4|0;i=f[q>>2]|0;r=(i|0)==0;a:do if(!r){p=i+-1|0;d=(p&i|0)==0;if(!d)if(v>>>0>>0)c=v;else c=(v>>>0)%(i>>>0)|0;else c=v&p;g=f[(f[a>>2]|0)+(c<<2)>>2]|0;if((g|0)!=0?(o=f[g>>2]|0,(o|0)!=0):0){g=(s|0)==0;if(d){if(g){g=o;while(1){t=f[g+4>>2]|0;if(!((t|0)==(v|0)|(t&p|0)==(c|0))){w=52;break a}t=b[g+8+11>>0]|0;if(!((t<<24>>24<0?f[g+12>>2]|0:t&255)|0))break a;g=f[g>>2]|0;if(!g){w=52;break a}}}while(1){m=f[o+4>>2]|0;if(!((m|0)==(v|0)|(m&p|0)==(c|0))){w=52;break a}g=o+8|0;l=b[g+11>>0]|0;m=l<<24>>24<0;l=l&255;do if(((m?f[o+12>>2]|0:l)|0)==(s|0)){d=f[g>>2]|0;if(m)if(!(jl(d,t,s)|0))break a;else break;if((d&255)<<24>>24==(b[t>>0]|0)){d=t;do{l=l+-1|0;g=g+1|0;if(!l)break a;d=d+1|0}while((b[g>>0]|0)==(b[d>>0]|0))}}while(0);o=f[o>>2]|0;if(!o){w=52;break a}}}if(g){d=o;while(1){g=f[d+4>>2]|0;if((g|0)!=(v|0)){if(g>>>0>=i>>>0)g=(g>>>0)%(i>>>0)|0;if((g|0)!=(c|0)){w=52;break a}}t=b[d+8+11>>0]|0;if(!((t<<24>>24<0?f[d+12>>2]|0:t&255)|0))break a;d=f[d>>2]|0;if(!d){w=52;break a}}}while(1){g=f[o+4>>2]|0;if((g|0)!=(v|0)){if(g>>>0>=i>>>0)g=(g>>>0)%(i>>>0)|0;if((g|0)!=(c|0)){w=52;break a}}g=o+8|0;l=b[g+11>>0]|0;m=l<<24>>24<0;l=l&255;do if(((m?f[o+12>>2]|0:l)|0)==(s|0)){d=f[g>>2]|0;if(m)if(!(jl(d,t,s)|0))break a;else break;if((d&255)<<24>>24==(b[t>>0]|0)){d=t;do{l=l+-1|0;g=g+1|0;if(!l)break a;d=d+1|0}while((b[g>>0]|0)==(b[d>>0]|0))}}while(0);o=f[o>>2]|0;if(!o){w=52;break}}}else w=52}else{c=0;w=52}while(0);if((w|0)==52){oh(e,a,v,A);l=a+12|0;k=$(((f[l>>2]|0)+1|0)>>>0);D=$(i>>>0);j=$(n[a+16>>2]);do if(r|k>$(D*j)){g=(i>>>0<3|(i+-1&i|0)!=0)&1|i<<1;c=~~$(W($(k/j)))>>>0;Xh(a,g>>>0>>0?c:g);g=f[q>>2]|0;c=g+-1|0;if(!(c&g)){i=g;c=c&v;break}if(v>>>0>>0){i=g;c=v}else{i=g;c=(v>>>0)%(g>>>0)|0}}while(0);g=f[(f[a>>2]|0)+(c<<2)>>2]|0;if(!g){d=a+8|0;f[f[e>>2]>>2]=f[d>>2];f[d>>2]=f[e>>2];f[(f[a>>2]|0)+(c<<2)>>2]=d;d=f[e>>2]|0;g=f[d>>2]|0;if(g){g=f[g+4>>2]|0;c=i+-1|0;if(c&i){if(g>>>0>=i>>>0)g=(g>>>0)%(i>>>0)|0}else g=g&c;f[(f[a>>2]|0)+(g<<2)>>2]=d}}else{f[f[e>>2]>>2]=f[g>>2];f[g>>2]=f[e>>2]}f[l>>2]=(f[l>>2]|0)+1;f[e>>2]=0}e=f[A+12>>2]|0;if(e|0){if((f[y>>2]|0)!=(e|0))f[y>>2]=e;tq(e)}if((b[x>>0]|0)<0)tq(f[A>>2]|0);e=f[B>>2]|0;if(!e){u=C;return}if((f[z>>2]|0)!=(e|0))f[z>>2]=e;tq(e);u=C;return}function ac(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=Ka,p=Ka,q=0,r=0,s=0,t=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,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=Ka;O=u;u=u+48|0;N=O+12|0;H=O+32|0;L=O;F=N+16|0;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;n[F>>2]=$(1.0);K=a+80|0;g=f[K>>2]|0;f[L>>2]=0;M=L+4|0;f[M>>2]=0;f[L+8>>2]=0;a:do if(!g){i=0;q=0}else{if(g>>>0>1073741823)Jp(L);D=g<<2;w=en(D)|0;f[L>>2]=w;C=w+(g<<2)|0;f[L+8>>2]=C;fj(w|0,0,D|0)|0;f[M>>2]=C;C=c+48|0;D=c+40|0;z=N+4|0;B=N+12|0;y=N+8|0;E=a+40|0;A=a+64|0;x=f[e>>2]|0;r=0;e=w;w=0;j=0;while(1){m=x+w|0;s=C;t=f[s>>2]|0;s=f[s+4>>2]|0;q=D;q=dn(m|0,((m|0)<0)<<31>>31|0,f[q>>2]|0,f[q+4>>2]|0)|0;s=Qn(q|0,I|0,t|0,s|0)|0;s=(f[f[c>>2]>>2]|0)+s|0;s=h[s>>0]|h[s+1>>0]<<8;d[H>>1]=s;t=(s^318)&65535;b:do if(r){q=r+-1|0;m=(q&r|0)==0;if(!m)if(t>>>0>>0)k=t;else k=(t>>>0)%(r>>>0)|0;else k=q&t;l=f[N>>2]|0;g=f[l+(k<<2)>>2]|0;c:do if(g|0?(G=f[g>>2]|0,G|0):0){d:do if(m){g=G;while(1){P=f[g+4>>2]|0;i=(P|0)==(t|0);if(!(i|(P&q|0)==(k|0)))break c;if(i?(d[g+8>>1]|0)==s<<16>>16:0)break d;g=f[g>>2]|0;if(!g)break c}}else{g=G;while(1){i=f[g+4>>2]|0;if((i|0)==(t|0)){if((d[g+8>>1]|0)==s<<16>>16)break d}else{if(i>>>0>=r>>>0)i=(i>>>0)%(r>>>0)|0;if((i|0)!=(k|0))break c}g=f[g>>2]|0;if(!g)break c}}while(0);f[e+(w<<2)>>2]=f[g+12>>2];break b}while(0);if(!m)if(t>>>0>>0)g=t;else g=(t>>>0)%(r>>>0)|0;else g=q&t;e=f[l+(g<<2)>>2]|0;if(!e){i=r;e=0;v=40}else{if(m)while(1){e=f[e>>2]|0;if(!e){i=r;e=0;v=40;break b}P=f[e+4>>2]|0;if(!((P|0)==(t|0)|(P&q|0)==(g|0))){i=r;e=0;v=40;break b}if((d[e+8>>1]|0)==s<<16>>16){v=55;break b}}while(1){e=f[e>>2]|0;if(!e){i=r;e=0;v=40;break b}i=f[e+4>>2]|0;if((i|0)!=(t|0)){if(i>>>0>=r>>>0)i=(i>>>0)%(r>>>0)|0;if((i|0)!=(g|0)){i=r;e=0;v=40;break b}}if((d[e+8>>1]|0)==s<<16>>16){v=55;break}}}}else{i=0;g=0;e=1;v=40}while(0);if((v|0)==40){v=0;k=en(16)|0;d[k+8>>1]=s;f[k+12>>2]=j;f[k+4>>2]=t;f[k>>2]=0;p=$(((f[B>>2]|0)+1|0)>>>0);Q=$(i>>>0);o=$(n[F>>2]);do if(e|p>$(Q*o)){g=(i>>>0<3|(i+-1&i|0)!=0)&1|i<<1;e=~~$(W($(p/o)))>>>0;Gh(N,g>>>0>>0?e:g);g=f[z>>2]|0;e=g+-1|0;if(!(e&g)){i=g;g=e&t;break}if(t>>>0>>0){i=g;g=t}else{i=g;g=(t>>>0)%(g>>>0)|0}}while(0);e=(f[N>>2]|0)+(g<<2)|0;g=f[e>>2]|0;if(!g){f[k>>2]=f[y>>2];f[y>>2]=k;f[e>>2]=y;g=f[k>>2]|0;if(g|0){g=f[g+4>>2]|0;e=i+-1|0;if(e&i){if(g>>>0>=i>>>0)g=(g>>>0)%(i>>>0)|0}else g=g&e;g=(f[N>>2]|0)+(g<<2)|0;v=53}}else{f[k>>2]=f[g>>2];v=53}if((v|0)==53)f[g>>2]=k;f[B>>2]=(f[B>>2]|0)+1;v=55}if((v|0)==55){v=0;P=E;e=f[P>>2]|0;P=dn(e|0,f[P+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;Sg((f[f[A>>2]>>2]|0)+P|0,H|0,e|0)|0;e=f[L>>2]|0;f[e+(w<<2)>>2]=j;j=j+1|0}g=w+1|0;i=f[K>>2]|0;if((g|0)>=(i|0)){q=j;break a}r=f[z>>2]|0;w=g}}while(0);if((q|0)!=(i|0)){m=a+84|0;if(!(b[m>>0]|0)){i=f[a+68>>2]|0;g=(f[a+72>>2]|0)-i|0;if((g|0)>0){j=f[L>>2]|0;e=g>>2;g=0;do{P=i+(g<<2)|0;f[P>>2]=f[j+(f[P>>2]<<2)>>2];g=g+1|0}while((g|0)<(e|0))}}else{b[m>>0]=0;k=a+68|0;j=a+72|0;e=f[j>>2]|0;g=f[k>>2]|0;l=e-g>>2;if(i>>>0<=l>>>0){if(i>>>0>>0?(J=g+(i<<2)|0,(e|0)!=(J|0)):0)f[j>>2]=e+(~((e+-4-J|0)>>>2)<<2)}else{ph(k,i-l|0,1220);i=f[K>>2]|0}if((i|0)>0){j=f[L>>2]|0;if(b[m>>0]|0)ra(20425,20444,89,20538);g=f[a+68>>2]|0;e=0;do{f[g+(e<<2)>>2]=f[j+(e<<2)>>2];e=e+1|0}while((e|0)<(i|0))}}f[K>>2]=q}g=f[L>>2]|0;if(g|0){e=f[M>>2]|0;if((e|0)!=(g|0))f[M>>2]=e+(~((e+-4-g|0)>>>2)<<2);tq(g)}g=f[N+8>>2]|0;if(g|0)do{P=g;g=f[g>>2]|0;tq(P)}while((g|0)!=0);g=f[N>>2]|0;f[N>>2]=0;if(!g){u=O;return q|0}tq(g);u=O;return q|0}function bc(a){a=a|0;var c=0,e=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,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=u;u=u+32|0;v=B+4|0;w=B;p=B+16|0;z=a+52|0;q=f[z>>2]|0;q=(f[q+100>>2]|0)-(f[q+96>>2]|0)|0;A=(q|0)/12|0;x=a+44|0;Th(A,f[x>>2]|0)|0;Th(f[(f[z>>2]|0)+80>>2]|0,f[x>>2]|0)|0;c=f[a+48>>2]|0;e=en(32)|0;f[v>>2]=e;f[v+8>>2]=-2147483616;f[v+4>>2]=21;g=e;h=18873;i=g+21|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));b[e+21>>0]=0;e=Sj(c,v,0)|0;if((b[v+11>>0]|0)<0)tq(f[v>>2]|0);c=f[x>>2]|0;if(e){b[p>>0]=0;A=c+16|0;z=f[A+4>>2]|0;if(!((z|0)>0|(z|0)==0&(f[A>>2]|0)>>>0>0)){f[w>>2]=f[c+4>>2];f[v>>2]=f[w>>2];Me(c,v,p,p+1|0)|0}Je(a)|0;u=B;return 1}b[p>>0]=1;n=c+16|0;m=f[n+4>>2]|0;if(!((m|0)>0|(m|0)==0&(f[n>>2]|0)>>>0>0)){f[w>>2]=f[c+4>>2];f[v>>2]=f[w>>2];Me(c,v,p,p+1|0)|0}n=f[z>>2]|0;m=f[n+80>>2]|0;if((m|0)<256){if((q|0)<=0){u=B;return 1}i=p+1|0;a=p+1|0;h=p+1|0;c=f[n+96>>2]|0;if(((f[n+100>>2]|0)-c|0)>0){j=c;k=0}else ra(20371,20289,64,20366);while(1){e=f[x>>2]|0;b[p>>0]=f[j+(k*12|0)>>2];c=e+16|0;g=f[c>>2]|0;c=f[c+4>>2]|0;if(!((c|0)>0|(c|0)==0&g>>>0>0)){f[w>>2]=f[e+4>>2];f[v>>2]=f[w>>2];Me(e,v,p,h)|0;e=f[x>>2]|0;g=e+16|0;c=f[g+4>>2]|0;g=f[g>>2]|0}b[p>>0]=f[j+(k*12|0)+4>>2];if(!((c|0)>0|(c|0)==0&g>>>0>0)){f[w>>2]=f[e+4>>2];f[v>>2]=f[w>>2];Me(e,v,p,a)|0;e=f[x>>2]|0;g=e+16|0;c=f[g+4>>2]|0;g=f[g>>2]|0}b[p>>0]=f[j+(k*12|0)+8>>2];if(!((c|0)>0|(c|0)==0&g>>>0>0)){f[w>>2]=f[e+4>>2];f[v>>2]=f[w>>2];Me(e,v,p,i)|0}k=k+1|0;if((k|0)>=(A|0)){c=46;break}g=f[z>>2]|0;j=f[g+96>>2]|0;if((k|0)>=(((f[g+100>>2]|0)-j|0)/12|0|0)){c=12;break}}if((c|0)==12)ra(20371,20289,64,20366);else if((c|0)==46){u=B;return 1}}if((m|0)<65536){if((q|0)<=0){u=B;return 1}j=p+2|0;i=p+2|0;a=p+2|0;c=f[n+96>>2]|0;if(((f[n+100>>2]|0)-c|0)>0){l=c;o=0}else ra(20371,20289,64,20366);while(1){h=l;e=f[x>>2]|0;d[p>>1]=f[h+(o*12|0)>>2];c=e+16|0;g=f[c>>2]|0;c=f[c+4>>2]|0;if(!((c|0)>0|(c|0)==0&g>>>0>0)){f[w>>2]=f[e+4>>2];f[v>>2]=f[w>>2];Me(e,v,p,a)|0;e=f[x>>2]|0;g=e+16|0;c=f[g+4>>2]|0;g=f[g>>2]|0}d[p>>1]=f[h+(o*12|0)+4>>2];if(!((c|0)>0|(c|0)==0&g>>>0>0)){f[w>>2]=f[e+4>>2];f[v>>2]=f[w>>2];Me(e,v,p,i)|0;e=f[x>>2]|0;g=e+16|0;c=f[g+4>>2]|0;g=f[g>>2]|0}d[p>>1]=f[h+(o*12|0)+8>>2];if(!((c|0)>0|(c|0)==0&g>>>0>0)){f[w>>2]=f[e+4>>2];f[v>>2]=f[w>>2];Me(e,v,p,j)|0}o=o+1|0;if((o|0)>=(A|0)){c=46;break}k=f[z>>2]|0;l=f[k+96>>2]|0;if((o|0)>=(((f[k+100>>2]|0)-l|0)/12|0|0)){c=24;break}}if((c|0)==24)ra(20371,20289,64,20366);else if((c|0)==46){u=B;return 1}}e=(q|0)>0;if((m|0)<2097152){if(!e){u=B;return 1}c=f[n+96>>2]|0;if(((f[n+100>>2]|0)-c|0)>0){r=c;s=0}else ra(20371,20289,64,20366);while(1){Th(f[r+(s*12|0)>>2]|0,f[x>>2]|0)|0;Th(f[r+(s*12|0)+4>>2]|0,f[x>>2]|0)|0;Th(f[r+(s*12|0)+8>>2]|0,f[x>>2]|0)|0;s=s+1|0;if((s|0)>=(A|0)){c=46;break}q=f[z>>2]|0;r=f[q+96>>2]|0;if((s|0)>=(((f[q+100>>2]|0)-r|0)/12|0|0)){c=38;break}}if((c|0)==38)ra(20371,20289,64,20366);else if((c|0)==46){u=B;return 1}}if(!e){u=B;return 1}c=f[n+96>>2]|0;if(((f[n+100>>2]|0)-c|0)>0){t=c;y=0}else ra(20371,20289,64,20366);while(1){e=t+(y*12|0)|0;c=f[x>>2]|0;t=c+16|0;s=f[t+4>>2]|0;if(!((s|0)>0|(s|0)==0&(f[t>>2]|0)>>>0>0)){f[w>>2]=f[c+4>>2];f[v>>2]=f[w>>2];Me(c,v,e,e+12|0)|0}y=y+1|0;if((y|0)>=(A|0)){c=46;break}s=f[z>>2]|0;t=f[s+96>>2]|0;if((y|0)>=(((f[s+100>>2]|0)-t|0)/12|0|0)){c=41;break}}if((c|0)==41)ra(20371,20289,64,20366);else if((c|0)==46){u=B;return 1}return 0}function cc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=Ka,m=Ka,o=0,p=0,q=0,r=0,s=0,t=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,J=0,K=0,L=0,M=0,N=0,O=Ka;M=u;u=u+48|0;L=M+12|0;F=M+32|0;J=M;D=L+16|0;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;f[L+12>>2]=0;n[D>>2]=$(1.0);H=a+80|0;e=f[H>>2]|0;f[J>>2]=0;K=J+4|0;f[K>>2]=0;f[J+8>>2]=0;a:do if(!e){g=0;o=0}else{if(e>>>0>1073741823)Jp(J);B=e<<2;t=en(B)|0;f[J>>2]=t;A=t+(e<<2)|0;f[J+8>>2]=A;fj(t|0,0,B|0)|0;f[K>>2]=A;A=c+48|0;B=c+40|0;x=L+4|0;z=L+12|0;w=L+8|0;C=a+40|0;y=a+64|0;v=f[d>>2]|0;p=0;d=t;t=0;h=0;while(1){k=v+t|0;q=A;r=f[q>>2]|0;q=f[q+4>>2]|0;o=B;o=dn(k|0,((k|0)<0)<<31>>31|0,f[o>>2]|0,f[o+4>>2]|0)|0;q=Qn(o|0,I|0,r|0,q|0)|0;q=b[(f[f[c>>2]>>2]|0)+q>>0]|0;b[F>>0]=q;r=q&255^318;b:do if(p){o=p+-1|0;k=(o&p|0)==0;if(!k)if(r>>>0

>>0)i=r;else i=(r>>>0)%(p>>>0)|0;else i=o&r;j=f[L>>2]|0;e=f[j+(i<<2)>>2]|0;c:do if(e|0?(E=f[e>>2]|0,E|0):0){d:do if(k){e=E;while(1){N=f[e+4>>2]|0;g=(N|0)==(r|0);if(!(g|(N&o|0)==(i|0)))break c;if(g?(b[e+8>>0]|0)==q<<24>>24:0)break d;e=f[e>>2]|0;if(!e)break c}}else{e=E;while(1){g=f[e+4>>2]|0;if((g|0)==(r|0)){if((b[e+8>>0]|0)==q<<24>>24)break d}else{if(g>>>0>=p>>>0)g=(g>>>0)%(p>>>0)|0;if((g|0)!=(i|0))break c}e=f[e>>2]|0;if(!e)break c}}while(0);f[d+(t<<2)>>2]=f[e+12>>2];break b}while(0);if(!k)if(r>>>0

>>0)e=r;else e=(r>>>0)%(p>>>0)|0;else e=o&r;d=f[j+(e<<2)>>2]|0;if(!d){g=p;d=0;s=40}else{if(k)while(1){d=f[d>>2]|0;if(!d){g=p;d=0;s=40;break b}N=f[d+4>>2]|0;if(!((N|0)==(r|0)|(N&o|0)==(e|0))){g=p;d=0;s=40;break b}if((b[d+8>>0]|0)==q<<24>>24){s=55;break b}}while(1){d=f[d>>2]|0;if(!d){g=p;d=0;s=40;break b}g=f[d+4>>2]|0;if((g|0)!=(r|0)){if(g>>>0>=p>>>0)g=(g>>>0)%(p>>>0)|0;if((g|0)!=(e|0)){g=p;d=0;s=40;break b}}if((b[d+8>>0]|0)==q<<24>>24){s=55;break}}}}else{g=0;e=0;d=1;s=40}while(0);if((s|0)==40){s=0;i=en(16)|0;b[i+8>>0]=q;f[i+12>>2]=h;f[i+4>>2]=r;f[i>>2]=0;m=$(((f[z>>2]|0)+1|0)>>>0);O=$(g>>>0);l=$(n[D>>2]);do if(d|m>$(O*l)){e=(g>>>0<3|(g+-1&g|0)!=0)&1|g<<1;d=~~$(W($(m/l)))>>>0;Nh(L,e>>>0>>0?d:e);e=f[x>>2]|0;d=e+-1|0;if(!(d&e)){g=e;e=d&r;break}if(r>>>0>>0){g=e;e=r}else{g=e;e=(r>>>0)%(e>>>0)|0}}while(0);d=(f[L>>2]|0)+(e<<2)|0;e=f[d>>2]|0;if(!e){f[i>>2]=f[w>>2];f[w>>2]=i;f[d>>2]=w;e=f[i>>2]|0;if(e|0){e=f[e+4>>2]|0;d=g+-1|0;if(d&g){if(e>>>0>=g>>>0)e=(e>>>0)%(g>>>0)|0}else e=e&d;e=(f[L>>2]|0)+(e<<2)|0;s=53}}else{f[i>>2]=f[e>>2];s=53}if((s|0)==53)f[e>>2]=i;f[z>>2]=(f[z>>2]|0)+1;s=55}if((s|0)==55){s=0;N=C;d=f[N>>2]|0;N=dn(d|0,f[N+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;Sg((f[f[y>>2]>>2]|0)+N|0,F|0,d|0)|0;d=f[J>>2]|0;f[d+(t<<2)>>2]=h;h=h+1|0}e=t+1|0;g=f[H>>2]|0;if((e|0)>=(g|0)){o=h;break a}p=f[x>>2]|0;t=e}}while(0);if((o|0)!=(g|0)){k=a+84|0;if(!(b[k>>0]|0)){g=f[a+68>>2]|0;e=(f[a+72>>2]|0)-g|0;if((e|0)>0){h=f[J>>2]|0;d=e>>2;e=0;do{N=g+(e<<2)|0;f[N>>2]=f[h+(f[N>>2]<<2)>>2];e=e+1|0}while((e|0)<(d|0))}}else{b[k>>0]=0;i=a+68|0;h=a+72|0;d=f[h>>2]|0;e=f[i>>2]|0;j=d-e>>2;if(g>>>0<=j>>>0){if(g>>>0>>0?(G=e+(g<<2)|0,(d|0)!=(G|0)):0)f[h>>2]=d+(~((d+-4-G|0)>>>2)<<2)}else{ph(i,g-j|0,1220);g=f[H>>2]|0}if((g|0)>0){h=f[J>>2]|0;if(b[k>>0]|0)ra(20425,20444,89,20538);e=f[a+68>>2]|0;d=0;do{f[e+(d<<2)>>2]=f[h+(d<<2)>>2];d=d+1|0}while((d|0)<(g|0))}}f[H>>2]=o}e=f[J>>2]|0;if(e|0){d=f[K>>2]|0;if((d|0)!=(e|0))f[K>>2]=d+(~((d+-4-e|0)>>>2)<<2);tq(e)}e=f[L+8>>2]|0;if(e|0)do{N=e;e=f[e>>2]|0;tq(N)}while((e|0)!=0);e=f[L>>2]|0;f[L>>2]=0;if(!e){u=M;return o|0}tq(e);u=M;return o|0}function dc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=Ka,o=Ka,p=0,q=0,r=0,s=0,t=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,J=0,K=0,L=0,M=0,N=0,O=0,P=Ka;N=u;u=u+48|0;M=N+16|0;G=N+12|0;K=N;E=M+16|0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;n[E>>2]=$(1.0);J=a+80|0;e=f[J>>2]|0;f[K>>2]=0;L=K+4|0;f[L>>2]=0;f[K+8>>2]=0;a:do if(!e){g=0;p=0}else{if(e>>>0>1073741823)Jp(K);C=e<<2;v=en(C)|0;f[K>>2]=v;B=v+(e<<2)|0;f[K+8>>2]=B;fj(v|0,0,C|0)|0;f[L>>2]=B;B=c+48|0;C=c+40|0;y=M+4|0;A=M+12|0;x=M+8|0;D=a+40|0;z=a+64|0;w=f[d>>2]|0;q=0;d=v;v=0;i=0;while(1){l=w+v|0;r=B;s=f[r>>2]|0;r=f[r+4>>2]|0;p=C;p=dn(l|0,((l|0)<0)<<31>>31|0,f[p>>2]|0,f[p+4>>2]|0)|0;r=Qn(p|0,I|0,s|0,r|0)|0;r=(f[f[c>>2]>>2]|0)+r|0;r=h[r>>0]|h[r+1>>0]<<8|h[r+2>>0]<<16|h[r+3>>0]<<24;f[G>>2]=r;s=r^318;b:do if(q){p=q+-1|0;l=(p&q|0)==0;if(!l)if(s>>>0>>0)j=s;else j=(s>>>0)%(q>>>0)|0;else j=p&s;k=f[M>>2]|0;e=f[k+(j<<2)>>2]|0;c:do if(e|0?(F=f[e>>2]|0,F|0):0){d:do if(l){e=F;while(1){O=f[e+4>>2]|0;g=(O|0)==(s|0);if(!(g|(O&p|0)==(j|0)))break c;if(g?(f[e+8>>2]|0)==(r|0):0)break d;e=f[e>>2]|0;if(!e)break c}}else{e=F;while(1){g=f[e+4>>2]|0;if((g|0)==(s|0)){if((f[e+8>>2]|0)==(r|0))break d}else{if(g>>>0>=q>>>0)g=(g>>>0)%(q>>>0)|0;if((g|0)!=(j|0))break c}e=f[e>>2]|0;if(!e)break c}}while(0);f[d+(v<<2)>>2]=f[e+12>>2];break b}while(0);if(!l)if(s>>>0>>0)e=s;else e=(s>>>0)%(q>>>0)|0;else e=p&s;d=f[k+(e<<2)>>2]|0;if(!d){g=q;d=0;t=40}else{if(l)while(1){d=f[d>>2]|0;if(!d){g=q;d=0;t=40;break b}O=f[d+4>>2]|0;if(!((O|0)==(s|0)|(O&p|0)==(e|0))){g=q;d=0;t=40;break b}if((f[d+8>>2]|0)==(r|0)){t=55;break b}}while(1){d=f[d>>2]|0;if(!d){g=q;d=0;t=40;break b}g=f[d+4>>2]|0;if((g|0)!=(s|0)){if(g>>>0>=q>>>0)g=(g>>>0)%(q>>>0)|0;if((g|0)!=(e|0)){g=q;d=0;t=40;break b}}if((f[d+8>>2]|0)==(r|0)){t=55;break}}}}else{g=0;e=0;d=1;t=40}while(0);if((t|0)==40){t=0;j=en(16)|0;f[j+8>>2]=r;f[j+12>>2]=i;f[j+4>>2]=s;f[j>>2]=0;o=$(((f[A>>2]|0)+1|0)>>>0);P=$(g>>>0);m=$(n[E>>2]);do if(d|o>$(P*m)){e=(g>>>0<3|(g+-1&g|0)!=0)&1|g<<1;d=~~$(W($(o/m)))>>>0;yi(M,e>>>0>>0?d:e);e=f[y>>2]|0;d=e+-1|0;if(!(d&e)){g=e;e=d&s;break}if(s>>>0>>0){g=e;e=s}else{g=e;e=(s>>>0)%(e>>>0)|0}}while(0);d=(f[M>>2]|0)+(e<<2)|0;e=f[d>>2]|0;if(!e){f[j>>2]=f[x>>2];f[x>>2]=j;f[d>>2]=x;e=f[j>>2]|0;if(e|0){e=f[e+4>>2]|0;d=g+-1|0;if(d&g){if(e>>>0>=g>>>0)e=(e>>>0)%(g>>>0)|0}else e=e&d;e=(f[M>>2]|0)+(e<<2)|0;t=53}}else{f[j>>2]=f[e>>2];t=53}if((t|0)==53)f[e>>2]=j;f[A>>2]=(f[A>>2]|0)+1;t=55}if((t|0)==55){t=0;O=D;d=f[O>>2]|0;O=dn(d|0,f[O+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;Sg((f[f[z>>2]>>2]|0)+O|0,G|0,d|0)|0;d=f[K>>2]|0;f[d+(v<<2)>>2]=i;i=i+1|0}e=v+1|0;g=f[J>>2]|0;if((e|0)>=(g|0)){p=i;break a}q=f[y>>2]|0;v=e}}while(0);if((p|0)!=(g|0)){l=a+84|0;if(!(b[l>>0]|0)){g=f[a+68>>2]|0;e=(f[a+72>>2]|0)-g|0;if((e|0)>0){i=f[K>>2]|0;d=e>>2;e=0;do{O=g+(e<<2)|0;f[O>>2]=f[i+(f[O>>2]<<2)>>2];e=e+1|0}while((e|0)<(d|0))}}else{b[l>>0]=0;j=a+68|0;i=a+72|0;d=f[i>>2]|0;e=f[j>>2]|0;k=d-e>>2;if(g>>>0<=k>>>0){if(g>>>0>>0?(H=e+(g<<2)|0,(d|0)!=(H|0)):0)f[i>>2]=d+(~((d+-4-H|0)>>>2)<<2)}else{ph(j,g-k|0,1220);g=f[J>>2]|0}if((g|0)>0){i=f[K>>2]|0;if(b[l>>0]|0)ra(20425,20444,89,20538);e=f[a+68>>2]|0;d=0;do{f[e+(d<<2)>>2]=f[i+(d<<2)>>2];d=d+1|0}while((d|0)<(g|0))}}f[J>>2]=p}e=f[K>>2]|0;if(e|0){d=f[L>>2]|0;if((d|0)!=(e|0))f[L>>2]=d+(~((d+-4-e|0)>>>2)<<2);tq(e)}e=f[M+8>>2]|0;if(e|0)do{O=e;e=f[e>>2]|0;tq(O)}while((e|0)!=0);e=f[M>>2]|0;f[M>>2]=0;if(!e){u=N;return p|0}tq(e);u=N;return p|0}function ec(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=Ka,p=Ka,q=0,r=0,s=0,t=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,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=Ka;T=u;u=u+48|0;S=T+20|0;M=T+16|0;N=T+12|0;Q=T;K=S+16|0;f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;f[S+12>>2]=0;n[K>>2]=$(1.0);P=a+80|0;e=f[P>>2]|0;f[Q>>2]=0;R=Q+4|0;f[R>>2]=0;f[Q+8>>2]=0;if(!e){g=0;m=0}else{if(e>>>0>1073741823)Jp(Q);F=e<<2;G=en(F)|0;f[Q>>2]=G;A=G+(e<<2)|0;f[Q+8>>2]=A;fj(G|0,0,F|0)|0;f[R>>2]=A;A=f[d>>2]|0;F=c+48|0;G=c+40|0;D=S+4|0;E=S+12|0;C=S+8|0;H=a+40|0;B=a+64|0;J=0;y=0;while(1){v=A+J|0;e=F;x=f[e>>2]|0;e=f[e+4>>2]|0;w=G;w=dn(v|0,((v|0)<0)<<31>>31|0,f[w>>2]|0,f[w+4>>2]|0)|0;e=Qn(w|0,I|0,x|0,e|0)|0;e=(f[f[c>>2]>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;f[M>>2]=e;f[N>>2]=e;e=ff(S,N)|0;if(!e){t=f[N>>2]|0;k=t&255;r=t>>>8;l=r&255;s=t>>>16;m=s&255;v=t>>>24;q=v&255;t=t&255;r=r&255;s=s&255;x=(((t^318)+239^r)+239^s)+239^v;g=f[D>>2]|0;w=(g|0)==0;a:do if(!w){j=g+-1|0;i=(j&g|0)==0;if(!i)if(x>>>0>>0)e=x;else e=(x>>>0)%(g>>>0)|0;else e=x&j;d=f[(f[S>>2]|0)+(e<<2)>>2]|0;if((d|0)!=0?(L=f[d>>2]|0,(L|0)!=0):0){if(i){d=L;while(1){i=f[d+4>>2]|0;if(!((i|0)==(x|0)|(i&j|0)==(e|0))){z=31;break a}i=d+8|0;if((((b[i>>0]|0)==k<<24>>24?(b[i+1>>0]|0)==l<<24>>24:0)?(b[i+2>>0]|0)==m<<24>>24:0)?(b[i+3>>0]|0)==q<<24>>24:0)break a;d=f[d>>2]|0;if(!d){z=31;break a}}}else i=L;while(1){d=f[i+4>>2]|0;if((d|0)!=(x|0)){if(d>>>0>=g>>>0)d=(d>>>0)%(g>>>0)|0;if((d|0)!=(e|0)){z=31;break a}}j=i+8|0;if((((b[j>>0]|0)==k<<24>>24?(b[j+1>>0]|0)==l<<24>>24:0)?(b[j+2>>0]|0)==m<<24>>24:0)?(b[j+3>>0]|0)==q<<24>>24:0)break a;i=f[i>>2]|0;if(!i){z=31;break}}}else z=31}else{e=0;z=31}while(0);if((z|0)==31){z=0;i=en(16)|0;q=i+8|0;v=v<<24|t|s<<16|r<<8;b[q>>0]=v;b[q+1>>0]=v>>8;b[q+2>>0]=v>>16;b[q+3>>0]=v>>24;f[i+12>>2]=y;f[i+4>>2]=x;f[i>>2]=0;p=$(((f[E>>2]|0)+1|0)>>>0);U=$(g>>>0);o=$(n[K>>2]);do if(w|p>$(U*o)){e=(g>>>0<3|(g+-1&g|0)!=0)&1|g<<1;d=~~$(W($(p/o)))>>>0;Kh(S,e>>>0>>0?d:e);e=f[D>>2]|0;d=e+-1|0;if(!(d&e)){g=e;e=d&x;break}if(x>>>0>>0){g=e;e=x}else{g=e;e=(x>>>0)%(e>>>0)|0}}while(0);d=(f[S>>2]|0)+(e<<2)|0;e=f[d>>2]|0;if(!e){f[i>>2]=f[C>>2];f[C>>2]=i;f[d>>2]=C;e=f[i>>2]|0;if(e|0){e=f[e+4>>2]|0;d=g+-1|0;if(d&g){if(e>>>0>=g>>>0)e=(e>>>0)%(g>>>0)|0}else e=e&d;e=(f[S>>2]|0)+(e<<2)|0;z=44}}else{f[i>>2]=f[e>>2];z=44}if((z|0)==44){z=0;f[e>>2]=i}f[E>>2]=(f[E>>2]|0)+1}x=H;e=f[x>>2]|0;x=dn(e|0,f[x+4>>2]|0,y|0,((y|0)<0)<<31>>31|0)|0;Sg((f[f[B>>2]>>2]|0)+x|0,M|0,e|0)|0;f[(f[Q>>2]|0)+(J<<2)>>2]=y;e=y+1|0}else{f[(f[Q>>2]|0)+(J<<2)>>2]=f[e+12>>2];e=y}J=J+1|0;g=f[P>>2]|0;if((J|0)>=(g|0)){m=e;break}else y=e}}if((m|0)!=(g|0)){l=a+84|0;if(!(b[l>>0]|0)){g=f[a+68>>2]|0;e=(f[a+72>>2]|0)-g|0;if((e|0)>0){i=f[Q>>2]|0;d=e>>2;e=0;do{a=g+(e<<2)|0;f[a>>2]=f[i+(f[a>>2]<<2)>>2];e=e+1|0}while((e|0)<(d|0))}}else{b[l>>0]=0;j=a+68|0;i=a+72|0;d=f[i>>2]|0;e=f[j>>2]|0;k=d-e>>2;if(g>>>0<=k>>>0){if(g>>>0>>0?(O=e+(g<<2)|0,(d|0)!=(O|0)):0)f[i>>2]=d+(~((d+-4-O|0)>>>2)<<2)}else{ph(j,g-k|0,1220);g=f[P>>2]|0}if((g|0)>0){i=f[Q>>2]|0;if(b[l>>0]|0)ra(20425,20444,89,20538);e=f[a+68>>2]|0;d=0;do{f[e+(d<<2)>>2]=f[i+(d<<2)>>2];d=d+1|0}while((d|0)<(g|0))}}f[P>>2]=m}e=f[Q>>2]|0;if(e|0){d=f[R>>2]|0;if((d|0)!=(e|0))f[R>>2]=d+(~((d+-4-e|0)>>>2)<<2);tq(e)}e=f[S+8>>2]|0;if(e|0)do{R=e;e=f[e>>2]|0;tq(R)}while((e|0)!=0);e=f[S>>2]|0;f[S>>2]=0;if(!e){u=T;return m|0}tq(e);u=T;return m|0}function fc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+32|0;g=k+16|0;e=k+12|0;i=k+8|0;j=k+4|0;h=k;switch(f[c+28>>2]|0){case 9:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=dc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Sb(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=mc(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=ic(a,c,g)|0;break}default:d=0}break}case 1:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=cc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Rb(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=kc(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=ec(a,c,g)|0;break}default:d=0}break}case 11:case 2:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=cc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Rb(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=kc(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=ec(a,c,g)|0;break}default:d=0}break}case 4:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=ac(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Qb(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=hc(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=_b(a,c,g)|0;break}default:d=0}break}case 3:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=ac(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Qb(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=hc(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=_b(a,c,g)|0;break}default:d=0}break}case 6:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=dc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Sb(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=mc(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=ic(a,c,g)|0;break}default:d=0}break}case 5:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=dc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Sb(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=mc(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=ic(a,c,g)|0;break}default:d=0}break}default:{a=-1;u=k;return a|0}}a=(d|0)==0?-1:d;u=k;return a|0}function gc(a,b){a=a|0;b=b|0;var c=0,d=0,e=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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=u;u=u+48|0;N=O+24|0;L=O+12|0;m=O;if((f[a+64>>2]|0)!=(f[a+60>>2]|0))ra(19828,19872,72,20024);if((f[a+76>>2]|0)!=(f[a+72>>2]|0))ra(19979,19872,73,20024);if(!b){N=0;u=O;return N|0}K=a+12|0;n=a+4|0;c=f[n>>2]|0;d=f[a>>2]|0;j=c-d>>2;h=a+16|0;g=f[h>>2]|0;e=f[K>>2]|0;k=g-e>>2;if(j>>>0<=k>>>0){if(j>>>0>>0?(i=e+(j<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{ph(K,j-k|0,6028);d=f[a>>2]|0;c=f[n>>2]|0}f[N>>2]=0;G=N+4|0;f[G>>2]=0;f[N+8>>2]=0;Kj(N,c-d>>2);c=f[n>>2]|0;d=f[a>>2]|0;if((c-d|0)>0){j=0;do{k=f[d+(j<<2)>>2]|0;g=f[G>>2]|0;e=f[N>>2]|0;i=g-e>>2;if((k|0)>=(i|0)){h=k+1|0;f[L>>2]=0;if(h>>>0<=i>>>0){if(h>>>0>>0?(l=e+(h<<2)|0,(g|0)!=(l|0)):0)f[G>>2]=g+(~((g+-4-l|0)>>>2)<<2)}else{ph(N,h-i|0,L);c=f[n>>2]|0;d=f[a>>2]|0}}F=(f[N>>2]|0)+(k<<2)|0;f[F>>2]=(f[F>>2]|0)+1;j=j+1|0}while((j|0)<(c-d>>2|0))}c=c-d|0;h=c>>2;f[L>>2]=0;F=L+4|0;f[F>>2]=0;f[L+8>>2]=0;if(!h){e=0;d=0}else{if(h>>>0>536870911)Jp(L);g=en(c<<1)|0;f[F>>2]=g;f[L>>2]=g;f[L+8>>2]=g+(h<<3);e=g;c=h;d=g;while(1){E=e;f[E>>2]=-1;f[E+4>>2]=-1;d=d+8|0;c=c+-1|0;if(!c)break;else e=d}f[F>>2]=g+(h<<3);e=g;d=g}c=f[G>>2]|0;g=f[N>>2]|0;h=c-g|0;E=h>>2;f[m>>2]=0;D=m+4|0;f[D>>2]=0;f[m+8>>2]=0;C=g;do if(E)if(E>>>0>1073741823)Jp(m);else{J=en(h)|0;f[m>>2]=J;I=J+(E<<2)|0;f[m+8>>2]=I;fj(J|0,0,h|0)|0;f[D>>2]=I;H=J;break}else{H=0;I=0;J=0}while(0);if((c|0)!=(g|0)){c=0;g=0;do{f[H+(c<<2)>>2]=g;g=(f[C+(c<<2)>>2]|0)+g|0;c=c+1|0}while(c>>>0>>0)}g=f[a>>2]|0;c=(f[n>>2]|0)-g|0;a:do if((c|0)>0){y=a+40|0;z=c>>2;w=g;B=c>>2;A=c>>2;x=g;v=c>>2;t=g;l=H;r=0;j=e;p=e;q=e;o=e;s=e;while(1){i=(r|0)<0;c=r+1|0;if(!i){c=((c|0)%3|0|0)==0?r+-2|0:c;if((c|0)<0)h=-1073741824;else{if((c|0)>=(v|0)){M=52;break}h=f[t+(c<<2)>>2]|0}c=(r>>>0)%3|0;g=((c|0)==0?2:-1)+r|0;if((g|0)<0){a=-1073741824;n=h}else{if((g|0)>=(A|0)){M=56;break}a=f[x+(g<<2)>>2]|0;n=h}}else{c=(r>>>0)%3|0;a=-1073741824;n=-1073741824}if((r|0)==((i?-1073741824:r-c|0)|0)){if(i)c=-1073741824;else{if((r|0)>=(z|0)){M=61;break}c=f[w+(r<<2)>>2]|0}if((n|0)==(a|0)|((c|0)==(n|0)|(c|0)==(a|0))){f[y>>2]=(f[y>>2]|0)+1;i=r+2|0;h=p;k=q;c=o;g=s}else M=65}else M=65;b:do if((M|0)==65){M=0;m=f[C+(a<<2)>>2]|0;c:do if((m|0)>0){c=0;i=f[l+(a<<2)>>2]|0;while(1){g=f[o+(i<<3)>>2]|0;if((g|0)<0){g=j;h=p;c=o;break c}if((g|0)==(n|0))break;c=c+1|0;if((c|0)<(m|0))i=i+1|0;else{g=j;h=p;c=o;break c}}k=f[o+(i<<3)+4>>2]|0;h=p;while(1){c=c+1|0;if((c|0)>=(m|0))break;g=i+1|0;f[h+(i<<3)>>2]=f[h+(g<<3)>>2];f[h+(i<<3)+4>>2]=f[h+(g<<3)+4>>2];if((f[j+(i<<3)>>2]|0)<0)break;else{i=g;h=j}}f[q+(i<<3)>>2]=-1;if((k|0)<0){g=q;h=q;c=q}else{i=f[K>>2]|0;f[i+(r<<2)>>2]=k;f[i+(k<<2)>>2]=r;i=r;j=q;h=q;k=q;c=q;g=s;break b}}else{g=j;h=p;c=o}while(0);i=f[C+(n<<2)>>2]|0;if((i|0)>0){h=0;c=f[H+(n<<2)>>2]|0;while(1){g=s+(c<<3)|0;if((f[g>>2]|0)<0)break;h=h+1|0;if((h|0)>=(i|0)){l=H;i=r;j=s;h=s;k=s;c=s;g=s;break b}else c=c+1|0}f[g>>2]=a;f[e+(c<<3)+4>>2]=r;l=H;i=r;j=e;h=e;k=e;c=e;g=e}else{i=r;j=g;k=q;g=s}}while(0);r=i+1|0;if((r|0)>=(B|0))break a;else{p=h;q=k;o=c;s=g}}if((M|0)==52)ra(20128,20163,98,20248);else if((M|0)==56)ra(20128,20163,98,20248);else if((M|0)==61)ra(20128,20163,98,20248)}while(0);f[b>>2]=E;if(H){if((I|0)!=(H|0))f[D>>2]=I+(~((I+-4-H|0)>>>2)<<2);tq(J);d=f[L>>2]|0;e=d}if(e|0){c=f[F>>2]|0;if((c|0)!=(e|0))f[F>>2]=c+(~((c+-8-e|0)>>>3)<<3);tq(d)}c=f[N>>2]|0;if(c|0){d=f[G>>2]|0;if((d|0)!=(c|0))f[G>>2]=d+(~((d+-4-c|0)>>>2)<<2);tq(c)}N=1;u=O;return N|0}function hc(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=Ka,p=Ka,q=0,r=0,s=0,t=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,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=Ka;Q=u;u=u+48|0;P=Q+12|0;J=Q+38|0;K=Q+32|0;N=Q;G=P+16|0;f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;n[G>>2]=$(1.0);M=a+80|0;g=f[M>>2]|0;f[N>>2]=0;O=N+4|0;f[O>>2]=0;f[N+8>>2]=0;if(!g){h=0;m=0}else{if(g>>>0>1073741823)Jp(N);A=g<<2;B=en(A)|0;f[N>>2]=B;v=B+(g<<2)|0;f[N+8>>2]=v;fj(B|0,0,A|0)|0;f[O>>2]=v;v=f[e>>2]|0;A=c+48|0;B=c+40|0;E=K+2|0;F=K+4|0;y=P+4|0;z=P+12|0;x=P+8|0;C=a+40|0;w=a+64|0;D=0;s=0;while(1){q=v+D|0;g=A;r=f[g>>2]|0;g=f[g+4>>2]|0;m=B;q=dn(f[m>>2]|0,f[m+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;g=Qn(q|0,I|0,r|0,g|0)|0;g=(f[f[c>>2]>>2]|0)+g|0;b[J>>0]=b[g>>0]|0;b[J+1>>0]=b[g+1>>0]|0;b[J+2>>0]=b[g+2>>0]|0;b[J+3>>0]=b[g+3>>0]|0;b[J+4>>0]=b[g+4>>0]|0;b[J+5>>0]=b[g+5>>0]|0;fm(K|0,g|0,6)|0;g=zf(P,K)|0;if(!g){j=d[K>>1]|0;k=d[E>>1]|0;l=d[F>>1]|0;r=(((j^318)&65535)+239^k&65535)+239^l&65535;m=f[y>>2]|0;q=(m|0)==0;a:do if(!q){i=m+-1|0;h=(i&m|0)==0;if(!h)if(r>>>0>>0)g=r;else g=(r>>>0)%(m>>>0)|0;else g=r&i;e=f[(f[P>>2]|0)+(g<<2)>>2]|0;if((e|0)!=0?(H=f[e>>2]|0,(H|0)!=0):0){if(h){e=H;while(1){h=f[e+4>>2]|0;if(!((h|0)==(r|0)|(h&i|0)==(g|0))){t=29;break a}h=e+8|0;if(((d[h>>1]|0)==j<<16>>16?(d[h+2>>1]|0)==k<<16>>16:0)?(d[e+12>>1]|0)==l<<16>>16:0)break a;e=f[e>>2]|0;if(!e){t=29;break a}}}else h=H;while(1){e=f[h+4>>2]|0;if((e|0)!=(r|0)){if(e>>>0>=m>>>0)e=(e>>>0)%(m>>>0)|0;if((e|0)!=(g|0)){t=29;break a}}i=h+8|0;if(((d[i>>1]|0)==j<<16>>16?(d[i+2>>1]|0)==k<<16>>16:0)?(d[h+12>>1]|0)==l<<16>>16:0)break a;h=f[h>>2]|0;if(!h){t=29;break}}}else t=29}else{g=0;t=29}while(0);if((t|0)==29){t=0;i=en(20)|0;d[i+8>>1]=j;d[i+10>>1]=k;d[i+12>>1]=l;f[i+16>>2]=s;f[i+4>>2]=r;f[i>>2]=0;p=$(((f[z>>2]|0)+1|0)>>>0);R=$(m>>>0);o=$(n[G>>2]);do if(q|p>$(R*o)){g=(m>>>0<3|(m+-1&m|0)!=0)&1|m<<1;e=~~$(W($(p/o)))>>>0;Eh(P,g>>>0>>0?e:g);g=f[y>>2]|0;e=g+-1|0;if(!(e&g)){h=g;g=e&r;break}if(r>>>0>>0){h=g;g=r}else{h=g;g=(r>>>0)%(g>>>0)|0}}else h=m;while(0);e=(f[P>>2]|0)+(g<<2)|0;g=f[e>>2]|0;if(!g){f[i>>2]=f[x>>2];f[x>>2]=i;f[e>>2]=x;g=f[i>>2]|0;if(g|0){g=f[g+4>>2]|0;e=h+-1|0;if(e&h){if(g>>>0>=h>>>0)g=(g>>>0)%(h>>>0)|0}else g=g&e;g=(f[P>>2]|0)+(g<<2)|0;t=42}}else{f[i>>2]=f[g>>2];t=42}if((t|0)==42){t=0;f[g>>2]=i}f[z>>2]=(f[z>>2]|0)+1}r=C;g=f[r>>2]|0;r=dn(g|0,f[r+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;Sg((f[f[w>>2]>>2]|0)+r|0,J|0,g|0)|0;f[(f[N>>2]|0)+(D<<2)>>2]=s;g=s+1|0}else{f[(f[N>>2]|0)+(D<<2)>>2]=f[g+16>>2];g=s}D=D+1|0;h=f[M>>2]|0;if((D|0)>=(h|0)){m=g;break}else s=g}}if((m|0)!=(h|0)){l=a+84|0;if(!(b[l>>0]|0)){h=f[a+68>>2]|0;g=(f[a+72>>2]|0)-h|0;if((g|0)>0){i=f[N>>2]|0;e=g>>2;g=0;do{a=h+(g<<2)|0;f[a>>2]=f[i+(f[a>>2]<<2)>>2];g=g+1|0}while((g|0)<(e|0))}}else{b[l>>0]=0;j=a+68|0;i=a+72|0;e=f[i>>2]|0;g=f[j>>2]|0;k=e-g>>2;if(h>>>0<=k>>>0){if(h>>>0>>0?(L=g+(h<<2)|0,(e|0)!=(L|0)):0)f[i>>2]=e+(~((e+-4-L|0)>>>2)<<2)}else{ph(j,h-k|0,1220);h=f[M>>2]|0}if((h|0)>0){i=f[N>>2]|0;if(b[l>>0]|0)ra(20425,20444,89,20538);g=f[a+68>>2]|0;e=0;do{f[g+(e<<2)>>2]=f[i+(e<<2)>>2];e=e+1|0}while((e|0)<(h|0))}}f[M>>2]=m}g=f[N>>2]|0;if(g|0){e=f[O>>2]|0;if((e|0)!=(g|0))f[O>>2]=e+(~((e+-4-g|0)>>>2)<<2);tq(g)}g=f[P+8>>2]|0;if(g|0)do{O=g;g=f[g>>2]|0;tq(O)}while((g|0)!=0);g=f[P>>2]|0;f[P>>2]=0;if(!g){u=Q;return m|0}tq(g);u=Q;return m|0}function ic(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=Ka,o=Ka,p=0,q=0,r=0,s=0,t=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,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=Ka;R=u;u=u+80|0;Q=R+48|0;K=R+32|0;L=R+16|0;O=R;H=Q+16|0;f[Q>>2]=0;f[Q+4>>2]=0;f[Q+8>>2]=0;f[Q+12>>2]=0;n[H>>2]=$(1.0);N=a+80|0;e=f[N>>2]|0;f[O>>2]=0;P=O+4|0;f[P>>2]=0;f[O+8>>2]=0;if(!e){g=0;l=0}else{if(e>>>0>1073741823)Jp(O);A=e<<2;B=en(A)|0;f[O>>2]=B;v=B+(e<<2)|0;f[O+8>>2]=v;fj(B|0,0,A|0)|0;f[P>>2]=v;v=f[d>>2]|0;A=c+48|0;B=c+40|0;E=L+4|0;F=L+8|0;G=L+12|0;y=Q+4|0;z=Q+12|0;x=Q+8|0;C=a+40|0;w=a+64|0;D=0;s=0;while(1){g=v+D|0;e=A;d=f[e>>2]|0;e=f[e+4>>2]|0;h=B;g=dn(f[h>>2]|0,f[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;e=Qn(g|0,I|0,d|0,e|0)|0;e=(f[f[c>>2]>>2]|0)+e|0;d=K;g=e;h=d+16|0;do{b[d>>0]=b[g>>0]|0;d=d+1|0;g=g+1|0}while((d|0)<(h|0));fm(L|0,e|0,16)|0;e=wf(Q,L)|0;if(!e){i=f[L>>2]|0;j=f[E>>2]|0;k=f[F>>2]|0;l=f[G>>2]|0;r=(((i^318)+239^j)+239^k)+239^l;p=f[y>>2]|0;q=(p|0)==0;a:do if(!q){h=p+-1|0;g=(h&p|0)==0;if(!g)if(r>>>0

>>0)e=r;else e=(r>>>0)%(p>>>0)|0;else e=r&h;d=f[(f[Q>>2]|0)+(e<<2)>>2]|0;if((d|0)!=0?(J=f[d>>2]|0,(J|0)!=0):0){if(g){d=J;while(1){g=f[d+4>>2]|0;if(!((g|0)==(r|0)|(g&h|0)==(e|0))){t=31;break a}if((((f[d+8>>2]|0)==(i|0)?(f[d+12>>2]|0)==(j|0):0)?(f[d+16>>2]|0)==(k|0):0)?(f[d+20>>2]|0)==(l|0):0)break a;d=f[d>>2]|0;if(!d){t=31;break a}}}else g=J;while(1){d=f[g+4>>2]|0;if((d|0)!=(r|0)){if(d>>>0>=p>>>0)d=(d>>>0)%(p>>>0)|0;if((d|0)!=(e|0)){t=31;break a}}if((((f[g+8>>2]|0)==(i|0)?(f[g+12>>2]|0)==(j|0):0)?(f[g+16>>2]|0)==(k|0):0)?(f[g+20>>2]|0)==(l|0):0)break a;g=f[g>>2]|0;if(!g){t=31;break}}}else t=31}else{e=0;t=31}while(0);if((t|0)==31){t=0;h=en(28)|0;f[h+8>>2]=i;f[h+12>>2]=j;f[h+16>>2]=k;f[h+20>>2]=l;f[h+24>>2]=s;f[h+4>>2]=r;f[h>>2]=0;o=$(((f[z>>2]|0)+1|0)>>>0);S=$(p>>>0);m=$(n[H>>2]);do if(q|o>$(S*m)){e=(p>>>0<3|(p+-1&p|0)!=0)&1|p<<1;d=~~$(W($(o/m)))>>>0;Hh(Q,e>>>0>>0?d:e);e=f[y>>2]|0;d=e+-1|0;if(!(d&e)){g=e;e=d&r;break}if(r>>>0>>0){g=e;e=r}else{g=e;e=(r>>>0)%(e>>>0)|0}}else g=p;while(0);d=(f[Q>>2]|0)+(e<<2)|0;e=f[d>>2]|0;if(!e){f[h>>2]=f[x>>2];f[x>>2]=h;f[d>>2]=x;e=f[h>>2]|0;if(e|0){e=f[e+4>>2]|0;d=g+-1|0;if(d&g){if(e>>>0>=g>>>0)e=(e>>>0)%(g>>>0)|0}else e=e&d;e=(f[Q>>2]|0)+(e<<2)|0;t=44}}else{f[h>>2]=f[e>>2];t=44}if((t|0)==44){t=0;f[e>>2]=h}f[z>>2]=(f[z>>2]|0)+1}r=C;e=f[r>>2]|0;r=dn(e|0,f[r+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;Sg((f[f[w>>2]>>2]|0)+r|0,K|0,e|0)|0;f[(f[O>>2]|0)+(D<<2)>>2]=s;e=s+1|0}else{f[(f[O>>2]|0)+(D<<2)>>2]=f[e+24>>2];e=s}D=D+1|0;g=f[N>>2]|0;if((D|0)>=(g|0)){l=e;break}else s=e}}if((l|0)!=(g|0)){k=a+84|0;if(!(b[k>>0]|0)){g=f[a+68>>2]|0;e=(f[a+72>>2]|0)-g|0;if((e|0)>0){h=f[O>>2]|0;d=e>>2;e=0;do{a=g+(e<<2)|0;f[a>>2]=f[h+(f[a>>2]<<2)>>2];e=e+1|0}while((e|0)<(d|0))}}else{b[k>>0]=0;i=a+68|0;h=a+72|0;d=f[h>>2]|0;e=f[i>>2]|0;j=d-e>>2;if(g>>>0<=j>>>0){if(g>>>0>>0?(M=e+(g<<2)|0,(d|0)!=(M|0)):0)f[h>>2]=d+(~((d+-4-M|0)>>>2)<<2)}else{ph(i,g-j|0,1220);g=f[N>>2]|0}if((g|0)>0){h=f[O>>2]|0;if(b[k>>0]|0)ra(20425,20444,89,20538);e=f[a+68>>2]|0;d=0;do{f[e+(d<<2)>>2]=f[h+(d<<2)>>2];d=d+1|0}while((d|0)<(g|0))}}f[N>>2]=l}e=f[O>>2]|0;if(e|0){d=f[P>>2]|0;if((d|0)!=(e|0))f[P>>2]=d+(~((d+-4-e|0)>>>2)<<2);tq(e)}e=f[Q+8>>2]|0;if(e|0)do{P=e;e=f[e>>2]|0;tq(P)}while((e|0)!=0);e=f[Q>>2]|0;f[Q>>2]=0;if(!e){u=R;return l|0}tq(e);u=R;return l|0}function jc(a,c,d){a=a|0;c=c|0;d=d|0;var e=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,v=0,w=0;w=u;u=u+32|0;s=w+16|0;q=w+12|0;g=w+29|0;v=w;n=w+28|0;if(!(f[(f[a+8>>2]|0)+80>>2]|0)){v=1;u=w;return v|0}b[g>>0]=-2;r=a+36|0;e=f[r>>2]|0;if(e)if(Na[f[(f[a>>2]|0)+40>>2]&127](a,e)|0){k=f[r>>2]|0;k=(Ma[f[(f[k>>2]|0)+8>>2]&127](k)|0)&255;b[g>>0]=k;k=5}else e=0;else k=5;if((k|0)==5){p=d+16|0;t=p;o=f[t+4>>2]|0;if(!((o|0)>0|(o|0)==0&(f[t>>2]|0)>>>0>0)){f[q>>2]=f[d+4>>2];f[s>>2]=f[q>>2];Me(d,s,g,g+1|0)|0}e=f[r>>2]|0;if(e|0?(t=(Ma[f[(f[e>>2]|0)+36>>2]&127](e)|0)&255,b[v>>0]=t,t=p,o=f[t+4>>2]|0,!((o|0)>0|(o|0)==0&(f[t>>2]|0)>>>0>0)):0){f[q>>2]=f[d+4>>2];f[s>>2]=f[q>>2];Me(d,s,v,v+1|0)|0}h=f[a+32>>2]|0;l=b[h+24>>0]|0;o=X(l,f[h+80>>2]|0)|0;h=(f[f[h>>2]>>2]|0)+(f[h+48>>2]|0)|0;f[v>>2]=0;t=v+4|0;f[t>>2]=0;f[v+8>>2]=0;m=(o|0)==0;do if(!m)if(o>>>0>1073741823)Jp(v);else{g=o<<2;i=en(g)|0;f[v>>2]=i;j=i+(o<<2)|0;f[v+8>>2]=j;fj(i|0,0,g|0)|0;f[t>>2]=j;break}else i=0;while(0);e=f[r>>2]|0;do if(e){Pa[f[(f[e>>2]|0)+44>>2]&31](e,h,i,o,l,f[c>>2]|0)|0;e=f[r>>2]|0;if(!e){g=f[v>>2]|0;e=h;k=20;break}if(!(Ma[f[(f[e>>2]|0)+32>>2]&127](e)|0)){e=f[v>>2]|0;g=e;e=f[r>>2]|0?e:h;k=20}}else{g=i;e=h;k=20}while(0);if((k|0)==20)pm(e,o,g);j=a+4|0;e=f[j>>2]|0;do if(e){e=f[e+48>>2]|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;g=en(48)|0;f[s>>2]=g;f[s+8>>2]=-2147483600;f[s+4>>2]=34;h=g;i=11536;a=h+34|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(a|0));b[g+34>>0]=0;e=Sj(e,s,1)|0;if((b[s+11>>0]|0)<0)tq(f[s>>2]|0);if(!e){if(!m){e=f[v>>2]|0;g=0;h=0;do{h=f[e+(g<<2)>>2]|h;g=g+1|0}while((g|0)!=(o|0));if(h)i=((_(h|0)|0)>>>3^3)+1|0;else i=1}else i=1;b[n>>0]=0;e=p;g=f[e>>2]|0;e=f[e+4>>2]|0;if(!((e|0)>0|(e|0)==0&g>>>0>0)){f[q>>2]=f[d+4>>2];f[s>>2]=f[q>>2];Me(d,s,n,n+1|0)|0;g=p;e=f[g+4>>2]|0;g=f[g>>2]|0}b[n>>0]=i;if(!((e|0)>0|(e|0)==0&g>>>0>0)){f[q>>2]=f[d+4>>2];f[s>>2]=f[q>>2];Me(d,s,n,n+1|0)|0}if((i|0)==(Rl(5)|0)){e=f[v>>2]|0;n=f[p+4>>2]|0;if(!((n|0)>0|(n|0)==0&(f[p>>2]|0)>>>0>0)){f[q>>2]=f[d+4>>2];f[s>>2]=f[q>>2];Me(d,s,e,e+(o<<2)|0)|0}k=48;break}if(m)k=48;else{e=d+4|0;h=0;do{g=(f[v>>2]|0)+(h<<2)|0;n=p;m=f[n+4>>2]|0;if(!((m|0)>0|(m|0)==0&(f[n>>2]|0)>>>0>0)){f[q>>2]=f[e>>2];f[s>>2]=f[q>>2];Me(d,s,g,g+i|0)|0}h=h+1|0}while(h>>>0>>0);k=48}}else k=27}else k=27;while(0);if((k|0)==27){b[n>>0]=1;o=f[p+4>>2]|0;if(!((o|0)>0|(o|0)==0&(f[p>>2]|0)>>>0>0)){f[q>>2]=f[d+4>>2];f[s>>2]=f[q>>2];Me(d,s,n,n+1|0)|0}Uo(s);e=f[j>>2]|0;if(e|0)Lj(s,10-(gi(f[e+48>>2]|0)|0)|0)|0;q=Dc(f[v>>2]|0,X((f[c+4>>2]|0)-(f[c>>2]|0)>>2,l)|0,l,s,d)|0;oj(s,f[s+4>>2]|0);if(q)k=48;else e=0}if((k|0)==48){e=f[r>>2]|0;if(!e)e=1;else{Na[f[(f[e>>2]|0)+40>>2]&127](e,d)|0;e=1}}g=f[v>>2]|0;if(g|0){h=f[t>>2]|0;if((h|0)!=(g|0))f[t>>2]=h+(~((h+-4-g|0)>>>2)<<2);tq(g)}}v=e;u=w;return v|0}function kc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=Ka,o=Ka,p=0,q=0,r=0,s=0,t=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,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=Ka;P=u;u=u+48|0;O=P+12|0;H=P+35|0;J=P+32|0;M=P;F=O+16|0;f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;f[O+12>>2]=0;n[F>>2]=$(1.0);L=a+80|0;e=f[L>>2]|0;f[M>>2]=0;N=M+4|0;f[N>>2]=0;f[M+8>>2]=0;if(!e){g=0;l=0}else{if(e>>>0>1073741823)Jp(M);z=e<<2;A=en(z)|0;f[M>>2]=A;t=A+(e<<2)|0;f[M+8>>2]=t;fj(A|0,0,z|0)|0;f[N>>2]=t;t=f[d>>2]|0;z=c+48|0;A=c+40|0;D=J+1|0;E=J+2|0;x=O+4|0;y=O+12|0;w=O+8|0;B=a+40|0;v=a+64|0;C=0;r=0;while(1){p=t+C|0;e=z;q=f[e>>2]|0;e=f[e+4>>2]|0;l=A;p=dn(f[l>>2]|0,f[l+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;e=Qn(p|0,I|0,q|0,e|0)|0;e=(f[f[c>>2]>>2]|0)+e|0;b[H>>0]=b[e>>0]|0;b[H+1>>0]=b[e+1>>0]|0;b[H+2>>0]=b[e+2>>0]|0;fm(J|0,e|0,3)|0;e=Cf(O,J)|0;if(!e){i=b[J>>0]|0;j=b[D>>0]|0;k=b[E>>0]|0;q=((i&255^318)+239^j&255)+239^k&255;l=f[x>>2]|0;p=(l|0)==0;a:do if(!p){h=l+-1|0;g=(h&l|0)==0;if(!g)if(q>>>0>>0)e=q;else e=(q>>>0)%(l>>>0)|0;else e=q&h;d=f[(f[O>>2]|0)+(e<<2)>>2]|0;if((d|0)!=0?(G=f[d>>2]|0,(G|0)!=0):0){if(g){d=G;while(1){g=f[d+4>>2]|0;if(!((g|0)==(q|0)|(g&h|0)==(e|0))){s=29;break a}g=d+8|0;if(((b[g>>0]|0)==i<<24>>24?(b[g+1>>0]|0)==j<<24>>24:0)?(b[g+2>>0]|0)==k<<24>>24:0)break a;d=f[d>>2]|0;if(!d){s=29;break a}}}else g=G;while(1){d=f[g+4>>2]|0;if((d|0)!=(q|0)){if(d>>>0>=l>>>0)d=(d>>>0)%(l>>>0)|0;if((d|0)!=(e|0)){s=29;break a}}h=g+8|0;if(((b[h>>0]|0)==i<<24>>24?(b[h+1>>0]|0)==j<<24>>24:0)?(b[h+2>>0]|0)==k<<24>>24:0)break a;g=f[g>>2]|0;if(!g){s=29;break}}}else s=29}else{e=0;s=29}while(0);if((s|0)==29){s=0;h=en(16)|0;b[h+8>>0]=i;b[h+9>>0]=j;b[h+10>>0]=k;f[h+12>>2]=r;f[h+4>>2]=q;f[h>>2]=0;o=$(((f[y>>2]|0)+1|0)>>>0);Q=$(l>>>0);m=$(n[F>>2]);do if(p|o>$(Q*m)){e=(l>>>0<3|(l+-1&l|0)!=0)&1|l<<1;d=~~$(W($(o/m)))>>>0;Lh(O,e>>>0>>0?d:e);e=f[x>>2]|0;d=e+-1|0;if(!(d&e)){g=e;e=d&q;break}if(q>>>0>>0){g=e;e=q}else{g=e;e=(q>>>0)%(e>>>0)|0}}else g=l;while(0);d=(f[O>>2]|0)+(e<<2)|0;e=f[d>>2]|0;if(!e){f[h>>2]=f[w>>2];f[w>>2]=h;f[d>>2]=w;e=f[h>>2]|0;if(e|0){e=f[e+4>>2]|0;d=g+-1|0;if(d&g){if(e>>>0>=g>>>0)e=(e>>>0)%(g>>>0)|0}else e=e&d;e=(f[O>>2]|0)+(e<<2)|0;s=42}}else{f[h>>2]=f[e>>2];s=42}if((s|0)==42){s=0;f[e>>2]=h}f[y>>2]=(f[y>>2]|0)+1}q=B;e=f[q>>2]|0;q=dn(e|0,f[q+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;Sg((f[f[v>>2]>>2]|0)+q|0,H|0,e|0)|0;f[(f[M>>2]|0)+(C<<2)>>2]=r;e=r+1|0}else{f[(f[M>>2]|0)+(C<<2)>>2]=f[e+12>>2];e=r}C=C+1|0;g=f[L>>2]|0;if((C|0)>=(g|0)){l=e;break}else r=e}}if((l|0)!=(g|0)){k=a+84|0;if(!(b[k>>0]|0)){g=f[a+68>>2]|0;e=(f[a+72>>2]|0)-g|0;if((e|0)>0){h=f[M>>2]|0;d=e>>2;e=0;do{a=g+(e<<2)|0;f[a>>2]=f[h+(f[a>>2]<<2)>>2];e=e+1|0}while((e|0)<(d|0))}}else{b[k>>0]=0;i=a+68|0;h=a+72|0;d=f[h>>2]|0;e=f[i>>2]|0;j=d-e>>2;if(g>>>0<=j>>>0){if(g>>>0>>0?(K=e+(g<<2)|0,(d|0)!=(K|0)):0)f[h>>2]=d+(~((d+-4-K|0)>>>2)<<2)}else{ph(i,g-j|0,1220);g=f[L>>2]|0}if((g|0)>0){h=f[M>>2]|0;if(b[k>>0]|0)ra(20425,20444,89,20538);e=f[a+68>>2]|0;d=0;do{f[e+(d<<2)>>2]=f[h+(d<<2)>>2];d=d+1|0}while((d|0)<(g|0))}}f[L>>2]=l}e=f[M>>2]|0;if(e|0){d=f[N>>2]|0;if((d|0)!=(e|0))f[N>>2]=d+(~((d+-4-e|0)>>>2)<<2);tq(e)}e=f[O+8>>2]|0;if(e|0)do{N=e;e=f[e>>2]|0;tq(N)}while((e|0)!=0);e=f[O>>2]|0;f[O>>2]=0;if(!e){u=P;return l|0}tq(e);u=P;return l|0}function lc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var 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,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,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=u;u=u+64|0;E=R+48|0;K=R+36|0;J=R+24|0;G=R+16|0;H=R+8|0;F=R;D=R+32|0;L=a+8|0;d=f[L>>2]|0;if((d|0)<=1)ra(11832,13890,79,11958);if((d|0)>=31)ra(11978,13890,80,11958);f[a+72>>2]=d;C=1<>2]=C+-1;C=C+-2|0;B=a+80|0;f[B>>2]=C;z=a+84|0;f[z>>2]=(C|0)/2|0;C=a+40|0;f[a+48>>2]=g;if(!(Ma[f[(f[a>>2]|0)+16>>2]&127](a)|0))ra(13098,13890,99,14047);if((e|0)!=2)ra(14071,13890,101,14047);y=a+88|0;Xk(y);w=a+36|0;d=f[w>>2]|0;v=(f[d+4>>2]|0)-(f[d>>2]|0)|0;x=v>>2;f[K>>2]=0;f[K+4>>2]=0;f[K+8>>2]=0;t=J;f[t>>2]=0;f[t+4>>2]=0;t=G;f[t>>2]=0;f[t+4>>2]=0;t=H;f[t>>2]=0;f[t+4>>2]=0;t=F;f[t>>2]=0;f[t+4>>2]=0;if((v|0)<=0){u=R;return 1}t=K+4|0;v=K+8|0;p=J+4|0;q=G+4|0;s=H+4|0;r=F+4|0;g=f[d>>2]|0;if((f[d+4>>2]|0)==(g|0)){o=d;Jp(o)}else{h=g;Q=0}while(1){f[D>>2]=f[h+(Q<<2)>>2];f[E>>2]=f[D>>2];Wb(C,E,K);d=f[K>>2]|0;a=(d|0)>-1?d:0-d|0;g=f[t>>2]|0;e=(g|0)>-1?g:0-g|0;a=Qn(e|0,((e|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;e=f[v>>2]|0;h=(e|0)>-1;e=h?e:0-e|0;e=Qn(a|0,I|0,e|0,((e|0)<0)<<31>>31|0)|0;a=I;o=f[z>>2]|0;if((e|0)==0&(a|0)==0){g=K;d=o}else{m=((o|0)<0)<<31>>31;n=dn(o|0,m|0,d|0,((d|0)<0)<<31>>31|0)|0;n=mk(n|0,I|0,e|0,a|0)|0;f[K>>2]=n;d=dn(o|0,m|0,g|0,((g|0)<0)<<31>>31|0)|0;d=mk(d|0,I|0,e|0,a|0)|0;f[t>>2]=d;d=o-((n|0)>-1?n:0-n|0)-((d|0)>-1?d:0-d|0)|0;g=v;d=h?d:0-d|0}f[g>>2]=d;k=f[K>>2]|0;g=(k|0)>-1;m=0-k|0;l=f[t>>2]|0;i=0-l|0;a=(l|0)>-1?l:i;n=f[v>>2]|0;j=0-n|0;d=(n|0)>-1?n:j;if((a+(g?k:m)+d|0)!=(o|0)){g=16;break}if(!g){if((l|0)>=0)d=(f[B>>2]|0)-d|0;if((n|0)<0){e=d;g=a}else{e=d;g=(f[B>>2]|0)-a|0}}else{e=o+l|0;g=o+n|0}a=(e|0)==0;h=(g|0)==0;d=f[B>>2]|0;do if((g|e|0)!=0?(N=(d|0)==(g|0),P=(d|0)==(e|0),!(a&N|h&P)):0){if(a&(o|0)<(g|0)){e=0;g=(o<<1)-g|0;break}if((o|0)>(g|0)&P){g=(o<<1)-g|0;break}if((o|0)>(e|0)&N){e=(o<<1)-e|0;break}else{e=(o|0)<(e|0)&h?(o<<1)-e|0:e;break}}else{e=d;g=d}while(0);f[J>>2]=e;f[p>>2]=g;f[K>>2]=m;f[t>>2]=i;f[v>>2]=j;a=(k|0)<1;e=(l|0)<1?i:l;g=(n|0)<1?j:n;if((e+(a?m:k)+g|0)!=(o|0)){g=33;break}if(a){h=o-l|0;a=o-n|0}else{h=(l|0)>0?g:d-g|0;a=(n|0)>0?e:d-e|0}g=(h|0)==0;e=(a|0)==0;do if((a|h|0)!=0?(M=(d|0)==(a|0),O=(d|0)==(h|0),!(g&M|e&O)):0){if(g&(o|0)<(a|0)){g=0;d=(o<<1)-a|0;break}if((o|0)>(a|0)&O){g=d;d=(o<<1)-a|0;break}if((o|0)>(h|0)&M){g=(o<<1)-h|0;break}else{g=(o|0)<(h|0)&e?(o<<1)-h|0:h;d=a;break}}else g=d;while(0);f[G>>2]=g;f[q>>2]=d;i=Q<<1;d=b+(i<<2)|0;bi(L,d,J,H);bi(L,d,G,F);d=f[H>>2]|0;h=f[z>>2]|0;if((h|0)>=(d|0)){if((d|0)<(0-h|0))d=(f[A>>2]|0)+d|0}else d=d-(f[A>>2]|0)|0;f[H>>2]=d;g=f[s>>2]|0;if((h|0)>=(g|0)){if((g|0)<(0-h|0))g=(f[A>>2]|0)+g|0}else g=g-(f[A>>2]|0)|0;f[s>>2]=g;e=f[F>>2]|0;if((h|0)>=(e|0)){if((e|0)<(0-h|0))e=(f[A>>2]|0)+e|0}else e=e-(f[A>>2]|0)|0;f[F>>2]=e;a=f[r>>2]|0;if((h|0)>=(a|0)){if((a|0)<(0-h|0))a=(f[A>>2]|0)+a|0}else a=a-(f[A>>2]|0)|0;f[r>>2]=a;if((((g|0)>-1?g:0-g|0)+((d|0)>-1?d:0-d|0)|0)<(((e|0)>-1?e:0-e|0)+((a|0)>-1?a:0-a|0)|0)){cj(y,0);e=H}else{cj(y,1);e=F}d=f[e>>2]|0;if((f[z>>2]<<1|0)<(d|0)){g=66;break}if((d|0)<0)d=(f[A>>2]|0)+d|0;g=c+(i<<2)|0;f[g>>2]=d;d=f[e+4>>2]|0;if((f[z>>2]<<1|0)<(d|0)){g=70;break}if((d|0)<0)d=(f[A>>2]|0)+d|0;f[g+4>>2]=d;Q=Q+1|0;if((Q|0)>=(x|0)){g=11;break}d=f[w>>2]|0;h=f[d>>2]|0;if((f[d+4>>2]|0)-h>>2>>>0<=Q>>>0){g=12;break}}if((g|0)==11){u=R;return 1}else if((g|0)==12)Jp(d);else if((g|0)==16)ra(14095,13890,119,14047);else if((g|0)==33)ra(14162,11843,99,14250);else if((g|0)==66)ra(12718,11843,313,12752);else if((g|0)==70)ra(12718,11843,313,12752);return 0}function mc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=Ka,o=Ka,p=0,q=0,r=0,s=0,t=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,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=Ka;P=u;u=u+64|0;O=P+36|0;H=P+24|0;J=P+12|0;M=P;F=O+16|0;f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;f[O+12>>2]=0;n[F>>2]=$(1.0);L=a+80|0;e=f[L>>2]|0;f[M>>2]=0;N=M+4|0;f[N>>2]=0;f[M+8>>2]=0;if(!e){g=0;l=0}else{if(e>>>0>1073741823)Jp(M);z=e<<2;A=en(z)|0;f[M>>2]=A;t=A+(e<<2)|0;f[M+8>>2]=t;fj(A|0,0,z|0)|0;f[N>>2]=t;t=f[d>>2]|0;z=c+48|0;A=c+40|0;D=J+4|0;E=J+8|0;x=O+4|0;y=O+12|0;w=O+8|0;B=a+40|0;v=a+64|0;C=0;r=0;while(1){g=t+C|0;e=z;d=f[e>>2]|0;e=f[e+4>>2]|0;h=A;g=dn(f[h>>2]|0,f[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;e=Qn(g|0,I|0,d|0,e|0)|0;e=(f[f[c>>2]>>2]|0)+e|0;d=H;g=e;h=d+12|0;do{b[d>>0]=b[g>>0]|0;d=d+1|0;g=g+1|0}while((d|0)<(h|0));fm(J|0,e|0,12)|0;e=Sf(O,J)|0;if(!e){i=f[J>>2]|0;j=f[D>>2]|0;k=f[E>>2]|0;q=((i^318)+239^j)+239^k;l=f[x>>2]|0;p=(l|0)==0;a:do if(!p){h=l+-1|0;g=(h&l|0)==0;if(!g)if(q>>>0>>0)e=q;else e=(q>>>0)%(l>>>0)|0;else e=q&h;d=f[(f[O>>2]|0)+(e<<2)>>2]|0;if((d|0)!=0?(G=f[d>>2]|0,(G|0)!=0):0){if(g){d=G;while(1){g=f[d+4>>2]|0;if(!((g|0)==(q|0)|(g&h|0)==(e|0))){s=29;break a}if(((f[d+8>>2]|0)==(i|0)?(f[d+12>>2]|0)==(j|0):0)?(f[d+16>>2]|0)==(k|0):0)break a;d=f[d>>2]|0;if(!d){s=29;break a}}}else g=G;while(1){d=f[g+4>>2]|0;if((d|0)!=(q|0)){if(d>>>0>=l>>>0)d=(d>>>0)%(l>>>0)|0;if((d|0)!=(e|0)){s=29;break a}}if(((f[g+8>>2]|0)==(i|0)?(f[g+12>>2]|0)==(j|0):0)?(f[g+16>>2]|0)==(k|0):0)break a;g=f[g>>2]|0;if(!g){s=29;break}}}else s=29}else{e=0;s=29}while(0);if((s|0)==29){s=0;h=en(24)|0;f[h+8>>2]=i;f[h+12>>2]=j;f[h+16>>2]=k;f[h+20>>2]=r;f[h+4>>2]=q;f[h>>2]=0;o=$(((f[y>>2]|0)+1|0)>>>0);Q=$(l>>>0);m=$(n[F>>2]);do if(p|o>$(Q*m)){e=(l>>>0<3|(l+-1&l|0)!=0)&1|l<<1;d=~~$(W($(o/m)))>>>0;Ih(O,e>>>0>>0?d:e);e=f[x>>2]|0;d=e+-1|0;if(!(d&e)){g=e;e=d&q;break}if(q>>>0>>0){g=e;e=q}else{g=e;e=(q>>>0)%(e>>>0)|0}}else g=l;while(0);d=(f[O>>2]|0)+(e<<2)|0;e=f[d>>2]|0;if(!e){f[h>>2]=f[w>>2];f[w>>2]=h;f[d>>2]=w;e=f[h>>2]|0;if(e|0){e=f[e+4>>2]|0;d=g+-1|0;if(d&g){if(e>>>0>=g>>>0)e=(e>>>0)%(g>>>0)|0}else e=e&d;e=(f[O>>2]|0)+(e<<2)|0;s=42}}else{f[h>>2]=f[e>>2];s=42}if((s|0)==42){s=0;f[e>>2]=h}f[y>>2]=(f[y>>2]|0)+1}q=B;e=f[q>>2]|0;q=dn(e|0,f[q+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;Sg((f[f[v>>2]>>2]|0)+q|0,H|0,e|0)|0;f[(f[M>>2]|0)+(C<<2)>>2]=r;e=r+1|0}else{f[(f[M>>2]|0)+(C<<2)>>2]=f[e+20>>2];e=r}C=C+1|0;g=f[L>>2]|0;if((C|0)>=(g|0)){l=e;break}else r=e}}if((l|0)!=(g|0)){k=a+84|0;if(!(b[k>>0]|0)){g=f[a+68>>2]|0;e=(f[a+72>>2]|0)-g|0;if((e|0)>0){h=f[M>>2]|0;d=e>>2;e=0;do{a=g+(e<<2)|0;f[a>>2]=f[h+(f[a>>2]<<2)>>2];e=e+1|0}while((e|0)<(d|0))}}else{b[k>>0]=0;i=a+68|0;h=a+72|0;d=f[h>>2]|0;e=f[i>>2]|0;j=d-e>>2;if(g>>>0<=j>>>0){if(g>>>0>>0?(K=e+(g<<2)|0,(d|0)!=(K|0)):0)f[h>>2]=d+(~((d+-4-K|0)>>>2)<<2)}else{ph(i,g-j|0,1220);g=f[L>>2]|0}if((g|0)>0){h=f[M>>2]|0;if(b[k>>0]|0)ra(20425,20444,89,20538);e=f[a+68>>2]|0;d=0;do{f[e+(d<<2)>>2]=f[h+(d<<2)>>2];d=d+1|0}while((d|0)<(g|0))}}f[L>>2]=l}e=f[M>>2]|0;if(e|0){d=f[N>>2]|0;if((d|0)!=(e|0))f[N>>2]=d+(~((d+-4-e|0)>>>2)<<2);tq(e)}e=f[O+8>>2]|0;if(e|0)do{N=e;e=f[e>>2]|0;tq(N)}while((e|0)!=0);e=f[O>>2]|0;f[O>>2]=0;if(!e){u=P;return l|0}tq(e);u=P;return l|0}function nc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var 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,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,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=u;u=u+64|0;E=R+48|0;K=R+36|0;J=R+24|0;G=R+16|0;H=R+8|0;F=R;D=R+32|0;L=a+8|0;d=f[L>>2]|0;if((d|0)<=1)ra(11832,13890,79,11958);if((d|0)>=31)ra(11978,13890,80,11958);f[a+72>>2]=d;C=1<>2]=C+-1;C=C+-2|0;B=a+80|0;f[B>>2]=C;z=a+84|0;f[z>>2]=(C|0)/2|0;C=a+40|0;f[a+48>>2]=g;if(!(Ma[f[(f[a>>2]|0)+16>>2]&127](a)|0))ra(13098,13890,99,14047);if((e|0)!=2)ra(14071,13890,101,14047);y=a+88|0;Xk(y);w=a+36|0;d=f[w>>2]|0;v=(f[d+4>>2]|0)-(f[d>>2]|0)|0;x=v>>2;f[K>>2]=0;f[K+4>>2]=0;f[K+8>>2]=0;t=J;f[t>>2]=0;f[t+4>>2]=0;t=G;f[t>>2]=0;f[t+4>>2]=0;t=H;f[t>>2]=0;f[t+4>>2]=0;t=F;f[t>>2]=0;f[t+4>>2]=0;if((v|0)<=0){u=R;return 1}t=K+4|0;v=K+8|0;p=J+4|0;q=G+4|0;s=H+4|0;r=F+4|0;g=f[d>>2]|0;if((f[d+4>>2]|0)==(g|0)){o=d;Jp(o)}else{h=g;Q=0}while(1){f[D>>2]=f[h+(Q<<2)>>2];f[E>>2]=f[D>>2];Ac(C,E,K);d=f[K>>2]|0;a=(d|0)>-1?d:0-d|0;g=f[t>>2]|0;e=(g|0)>-1?g:0-g|0;a=Qn(e|0,((e|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;e=f[v>>2]|0;h=(e|0)>-1;e=h?e:0-e|0;e=Qn(a|0,I|0,e|0,((e|0)<0)<<31>>31|0)|0;a=I;o=f[z>>2]|0;if((e|0)==0&(a|0)==0){g=K;d=o}else{m=((o|0)<0)<<31>>31;n=dn(o|0,m|0,d|0,((d|0)<0)<<31>>31|0)|0;n=mk(n|0,I|0,e|0,a|0)|0;f[K>>2]=n;d=dn(o|0,m|0,g|0,((g|0)<0)<<31>>31|0)|0;d=mk(d|0,I|0,e|0,a|0)|0;f[t>>2]=d;d=o-((n|0)>-1?n:0-n|0)-((d|0)>-1?d:0-d|0)|0;g=v;d=h?d:0-d|0}f[g>>2]=d;k=f[K>>2]|0;g=(k|0)>-1;m=0-k|0;l=f[t>>2]|0;i=0-l|0;a=(l|0)>-1?l:i;n=f[v>>2]|0;j=0-n|0;d=(n|0)>-1?n:j;if((a+(g?k:m)+d|0)!=(o|0)){g=16;break}if(!g){if((l|0)>=0)d=(f[B>>2]|0)-d|0;if((n|0)<0){e=d;g=a}else{e=d;g=(f[B>>2]|0)-a|0}}else{e=o+l|0;g=o+n|0}a=(e|0)==0;h=(g|0)==0;d=f[B>>2]|0;do if((g|e|0)!=0?(N=(d|0)==(g|0),P=(d|0)==(e|0),!(a&N|h&P)):0){if(a&(o|0)<(g|0)){e=0;g=(o<<1)-g|0;break}if((o|0)>(g|0)&P){g=(o<<1)-g|0;break}if((o|0)>(e|0)&N){e=(o<<1)-e|0;break}else{e=(o|0)<(e|0)&h?(o<<1)-e|0:e;break}}else{e=d;g=d}while(0);f[J>>2]=e;f[p>>2]=g;f[K>>2]=m;f[t>>2]=i;f[v>>2]=j;a=(k|0)<1;e=(l|0)<1?i:l;g=(n|0)<1?j:n;if((e+(a?m:k)+g|0)!=(o|0)){g=33;break}if(a){h=o-l|0;a=o-n|0}else{h=(l|0)>0?g:d-g|0;a=(n|0)>0?e:d-e|0}g=(h|0)==0;e=(a|0)==0;do if((a|h|0)!=0?(M=(d|0)==(a|0),O=(d|0)==(h|0),!(g&M|e&O)):0){if(g&(o|0)<(a|0)){g=0;d=(o<<1)-a|0;break}if((o|0)>(a|0)&O){g=d;d=(o<<1)-a|0;break}if((o|0)>(h|0)&M){g=(o<<1)-h|0;break}else{g=(o|0)<(h|0)&e?(o<<1)-h|0:h;d=a;break}}else g=d;while(0);f[G>>2]=g;f[q>>2]=d;i=Q<<1;d=b+(i<<2)|0;bi(L,d,J,H);bi(L,d,G,F);d=f[H>>2]|0;h=f[z>>2]|0;if((h|0)>=(d|0)){if((d|0)<(0-h|0))d=(f[A>>2]|0)+d|0}else d=d-(f[A>>2]|0)|0;f[H>>2]=d;g=f[s>>2]|0;if((h|0)>=(g|0)){if((g|0)<(0-h|0))g=(f[A>>2]|0)+g|0}else g=g-(f[A>>2]|0)|0;f[s>>2]=g;e=f[F>>2]|0;if((h|0)>=(e|0)){if((e|0)<(0-h|0))e=(f[A>>2]|0)+e|0}else e=e-(f[A>>2]|0)|0;f[F>>2]=e;a=f[r>>2]|0;if((h|0)>=(a|0)){if((a|0)<(0-h|0))a=(f[A>>2]|0)+a|0}else a=a-(f[A>>2]|0)|0;f[r>>2]=a;if((((g|0)>-1?g:0-g|0)+((d|0)>-1?d:0-d|0)|0)<(((e|0)>-1?e:0-e|0)+((a|0)>-1?a:0-a|0)|0)){cj(y,0);e=H}else{cj(y,1);e=F}d=f[e>>2]|0;if((f[z>>2]<<1|0)<(d|0)){g=66;break}if((d|0)<0)d=(f[A>>2]|0)+d|0;g=c+(i<<2)|0;f[g>>2]=d;d=f[e+4>>2]|0;if((f[z>>2]<<1|0)<(d|0)){g=70;break}if((d|0)<0)d=(f[A>>2]|0)+d|0;f[g+4>>2]=d;Q=Q+1|0;if((Q|0)>=(x|0)){g=11;break}d=f[w>>2]|0;h=f[d>>2]|0;if((f[d+4>>2]|0)-h>>2>>>0<=Q>>>0){g=12;break}}if((g|0)==11){u=R;return 1}else if((g|0)==12)Jp(d);else if((g|0)==16)ra(14095,13890,119,14047);else if((g|0)==33)ra(14162,11843,99,14250);else if((g|0)==66)ra(12718,11843,313,12752);else if((g|0)==70)ra(12718,11843,313,12752);return 0}function oc(a,b){a=a|0;b=b|0;var c=0,d=0,e=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,v=0,w=0,x=0,y=0,z=0;z=u;u=u+32|0;w=z+28|0;t=z+24|0;j=z+20|0;k=z+16|0;l=z+12|0;m=z+8|0;s=z+4|0;v=z;e=f[b>>2]|0;if((e|0)<0){u=z;return}x=(e>>>0)/3|0;q=a+12|0;if(f[(f[q>>2]|0)+(x>>>5<<2)>>2]&1<<(x&31)|0){u=z;return}x=a+56|0;c=f[x>>2]|0;r=a+60|0;d=f[r>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;f[r>>2]=c}o=a+64|0;if((c|0)==(f[o>>2]|0))Ji(x,b);else{f[c>>2]=e;f[r>>2]=c+4}c=f[a>>2]|0;g=f[b>>2]|0;d=g+1|0;do if((g|0)>=0){c=f[c+28>>2]|0;d=f[c+((((d|0)%3|0|0)==0?g+-2|0:d)<<2)>>2]|0;if(!((g>>>0)%3|0)){e=c;c=g+2|0;break}else{e=c;c=g+-1|0;break}}else{d=f[c+28>>2]|0;e=d;d=f[d+(g<<2)>>2]|0;c=g}while(0);i=f[e+(c<<2)>>2]|0;n=a+24|0;c=f[n>>2]|0;g=c+(d>>>5<<2)|0;h=1<<(d&31);e=f[g>>2]|0;if(!(e&h)){f[g>>2]=e|h;f[j>>2]=d;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;f[k>>2]=c;f[t>>2]=f[j>>2];f[w>>2]=f[k>>2];Bg(a+36|0,t,w);c=f[n>>2]|0}d=c+(i>>>5<<2)|0;e=1<<(i&31);c=f[d>>2]|0;if(!(c&e)){f[d>>2]=c|e;d=a+36|0;f[l>>2]=i;c=f[b>>2]|0;do if((c|0)>=0)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);f[m>>2]=c;f[t>>2]=f[l>>2];f[w>>2]=f[m>>2];Bg(d,t,w)}d=f[x>>2]|0;c=f[r>>2]|0;if((d|0)==(c|0)){u=z;return}m=a+36|0;a:while(1){l=f[c+-4>>2]|0;f[b>>2]=l;g=(l|0)/3|0;if((l|0)>=0?(p=f[q>>2]|0,(f[p+(g>>>5<<2)>>2]&1<<(g&31)|0)==0):0){d=p;e=f[a>>2]|0;c=g;b:while(1){i=d+(c>>>5<<2)|0;f[i>>2]=f[i>>2]|1<<(c&31);i=f[(f[e+28>>2]|0)+(f[b>>2]<<2)>>2]|0;g=(f[n>>2]|0)+(i>>>5<<2)|0;j=1<<(i&31);c=f[g>>2]|0;do if(!(j&c)){h=f[(f[e+40>>2]|0)+(i<<2)>>2]|0;if((h|0)<0){f[g>>2]=c|j;f[s>>2]=i;f[v>>2]=f[b>>2];f[t>>2]=f[s>>2];f[w>>2]=f[v>>2];Bg(m,t,w);y=42;break}l=f[e+64>>2]|0;d=f[l>>2]|0;if((h|0)>=((f[l+4>>2]|0)-d>>2|0)){y=32;break a}l=f[d+(h<<2)>>2]|0;l=(1<<(l&31)&f[(f[e+12>>2]|0)+(l>>>5<<2)>>2]|0)==0;f[g>>2]=c|j;f[s>>2]=i;f[v>>2]=f[b>>2];f[t>>2]=f[s>>2];f[w>>2]=f[v>>2];Bg(m,t,w);if(l){e=f[a>>2]|0;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;do if(!(1<<(c&31)&f[(f[e>>2]|0)+(c>>>5<<2)>>2])){if((c|0)<0)break;c=f[(f[(f[e+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;while(0);f[b>>2]=c;c=(c|0)/3|0}else y=42}else y=42;while(0);if((y|0)==42){y=0;e=f[a>>2]|0;c=f[b>>2]|0;g=(c|0)<0;d=c+1|0;if(g)d=c;else d=((d|0)%3|0|0)==0?c+-2|0:d;if(!(1<<(d&31)&f[(f[e>>2]|0)+(d>>>5<<2)>>2])){if((d|0)>=0)d=f[(f[(f[e+64>>2]|0)+12>>2]|0)+(d<<2)>>2]|0}else d=-1073741824;f[w>>2]=d;do if(!g)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);do if(!(1<<(c&31)&f[(f[e>>2]|0)+(c>>>5<<2)>>2])){if((c|0)<0){l=c;break}l=f[(f[(f[e+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}else l=-1073741824;while(0);g=(d|0)<0;c=(d>>>0)/3|0;i=g?-1:c;h=(l|0)<0;k=(l>>>0)/3|0;j=h?-1:k;do if(!g){g=f[q>>2]|0;if(f[g+(i>>>5<<2)>>2]&1<<(i&31)|0){y=56;break}if(h)break;if(!(f[g+(j>>>5<<2)>>2]&1<<(j&31))){y=61;break b}}else y=56;while(0);if((y|0)==56){y=0;if(h){y=58;break}if(!(f[(f[q>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31))){d=l;c=k}else{y=58;break}}f[b>>2]=d}d=f[q>>2]|0}do if((y|0)==58){y=0;c=(f[r>>2]|0)+-4|0;f[r>>2]=c}else if((y|0)==61){y=0;c=f[r>>2]|0;f[c+-4>>2]=l;if((c|0)==(f[o>>2]|0)){Ji(x,w);c=f[r>>2]|0;break}else{f[c>>2]=f[w>>2];c=c+4|0;f[r>>2]=c;break}}while(0);d=f[x>>2]|0}else{c=c+-4|0;f[r>>2]=c}if((d|0)==(c|0)){y=67;break}}if((y|0)==32)ra(20128,20163,98,20248);else if((y|0)==67){u=z;return}}function pc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var 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,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;M=u;u=u+32|0;B=M+16|0;D=M+12|0;C=M+8|0;E=M+4|0;A=M;L=a+8|0;f[L>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else ri(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{K=f[b+(i<<2)>>2]|0;y=(K|0)<(g|0);g=y?K:g;h=y?h:(K|0)>(h|0)?K:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;K=1-g+h|0;f[a+20>>2]=K;g=(K|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(K&1))f[h>>2]=g+-1}w=e>>>0>1073741823?-1:e<<2;K=qq(w)|0;fj(K|0,0,w|0)|0;w=f[a+48>>2]|0;x=f[a+52>>2]|0;y=a+56|0;i=f[y>>2]|0;j=f[i+4>>2]|0;k=f[i>>2]|0;g=j-k|0;a:do if((g|0)>4){h=g>>2;s=a+16|0;o=a+32|0;v=a+12|0;t=a+28|0;r=a+20|0;q=a+24|0;n=w+12|0;p=(e|0)>0;g=h+-1|0;if(j-k>>2>>>0>g>>>0){m=k;z=h;I=g}else{d=i;Jp(d)}while(1){g=f[m+(I<<2)>>2]|0;m=X(I,e)|0;do if((g|0)>=0?(J=f[(f[n>>2]|0)+(g<<2)>>2]|0,(J|0)>=0):0){f[A>>2]=J;f[B>>2]=f[A>>2];eh(B,w,x,D,C,E);g=f[D>>2]|0;if((g|0)>=(I|0)){N=28;break}h=f[C>>2]|0;if((h|0)>=(I|0)){N=28;break}i=f[E>>2]|0;if((i|0)>=(I|0)){N=28;break}k=X(g,e)|0;j=X(h,e)|0;h=X(i,e)|0;if(p){g=0;do{f[K+(g<<2)>>2]=(f[b+(g+h<<2)>>2]|0)+(f[b+(g+j<<2)>>2]|0)-(f[b+(g+k<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}l=b+(m<<2)|0;d=c+(m<<2)|0;g=f[L>>2]|0;if((g|0)>0){k=0;i=K;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[s>>2]|0;if((g|0)>(h|0)){g=f[o>>2]|0;f[g+(j<<2)>>2]=h}else{O=f[v>>2]|0;h=f[o>>2]|0;f[h+(j<<2)>>2]=(g|0)<(O|0)?O:g;g=h}j=j+1|0}while((j|0)<(f[L>>2]|0));i=g}else i=f[o>>2]|0;g=(f[l+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=d+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[t>>2]|0)){if((g|0)>(f[q>>2]|0)){g=g-(f[r>>2]|0)|0;N=54}}else{g=(f[r>>2]|0)+g|0;N=54}if((N|0)==54){N=0;f[h>>2]=g}k=k+1|0;g=f[L>>2]|0}while((k|0)<(g|0))}}else N=23;while(0);if((N|0)==23)N=28;if((N|0)==28?(N=0,G=b+(m<<2)|0,H=c+(m<<2)|0,F=f[L>>2]|0,(F|0)>0):0){h=F;k=0;j=b+((X(z+-2|0,e)|0)<<2)|0;while(1){if((h|0)>0){i=0;do{g=f[j+(i<<2)>>2]|0;h=f[s>>2]|0;if((g|0)>(h|0)){g=f[o>>2]|0;f[g+(i<<2)>>2]=h}else{z=f[v>>2]|0;O=f[o>>2]|0;f[O+(i<<2)>>2]=(g|0)<(z|0)?z:g;g=O}i=i+1|0}while((i|0)<(f[L>>2]|0))}else g=f[o>>2]|0;h=(f[G+(k<<2)>>2]|0)-(f[g+(k<<2)>>2]|0)|0;i=H+(k<<2)|0;f[i>>2]=h;if((h|0)>=(f[t>>2]|0)){if((h|0)>(f[q>>2]|0)){h=h-(f[r>>2]|0)|0;N=42}}else{h=(f[r>>2]|0)+h|0;N=42}if((N|0)==42){N=0;f[i>>2]=h}k=k+1|0;h=f[L>>2]|0;if((k|0)>=(h|0))break;else j=g}}if((I|0)<=1)break a;g=f[y>>2]|0;m=f[g>>2]|0;h=I+-1|0;if((f[g+4>>2]|0)-m>>2>>>0<=h>>>0)break;else{z=I;I=h}}Jp(g)}while(0);if((e|0)>0)fj(K|0,0,e<<2|0)|0;g=f[L>>2]|0;if((g|0)<=0){rq(K);u=M;return 1}n=a+16|0;d=a+32|0;p=a+12|0;o=a+28|0;m=a+20|0;l=a+24|0;k=0;i=K;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[n>>2]|0;if((g|0)>(h|0)){g=f[d>>2]|0;f[g+(j<<2)>>2]=h}else{a=f[p>>2]|0;O=f[d>>2]|0;f[O+(j<<2)>>2]=(g|0)<(a|0)?a:g;g=O}j=j+1|0}while((j|0)<(f[L>>2]|0));i=g}else i=f[d>>2]|0;g=(f[b+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=c+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[o>>2]|0)){if((g|0)>(f[l>>2]|0)){g=g-(f[m>>2]|0)|0;N=68}}else{g=(f[m>>2]|0)+g|0;N=68}if((N|0)==68){N=0;f[h>>2]=g}k=k+1|0;g=f[L>>2]|0}while((k|0)<(g|0));rq(K);u=M;return 1}function qc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|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,v=0,w=0,x=0,y=0,z=0;z=u;u=u+16|0;y=z+4|0;x=z;if(!(Ui(a,d)|0)){a=0;u=z;return a|0}s=a+64|0;d=f[s>>2]|0;a:do if(((f[d+4>>2]|0)-(f[d>>2]|0)|0)>0){q=a+12|0;v=e+84|0;p=e+68|0;t=c+96|0;r=c+100|0;w=a+24|0;o=0;b:while(1){f[x>>2]=(o>>>0)/3|0;f[y>>2]=f[x>>2];n=ui(d,y)|0;d=f[s>>2]|0;do if(!n){n=f[(f[d+12>>2]|0)+(o<<2)>>2]|0;if((n|0)<0){h=(f[a>>2]|0)+(o>>>5<<2)|0;f[h>>2]=f[h>>2]|1<<(o&31);h=o+1|0;h=((h|0)%3|0|0)==0?o+-2|0:h;if((h|0)<0)g=-1073741824;else{g=f[d>>2]|0;if((h|0)>=((f[d+4>>2]|0)-g>>2|0)){d=11;break b}g=f[g+(h<<2)>>2]|0}h=(f[q>>2]|0)+(g>>>5<<2)|0;f[h>>2]=f[h>>2]|1<<(g&31);h=(((o>>>0)%3|0|0)==0?2:-1)+o|0;if((h|0)<0)g=-1073741824;else{g=f[d>>2]|0;if((h|0)>=((f[d+4>>2]|0)-g>>2|0)){d=15;break b}g=f[g+(h<<2)>>2]|0}n=(f[q>>2]|0)+(g>>>5<<2)|0;f[n>>2]=f[n>>2]|1<<(g&31);break}if((n|0)>=(o|0)){m=o+1|0;k=((m|0)%3|0|0)==0?o+-2|0:m;j=n+(((n>>>0)%3|0|0)==0?2:-1)|0;if((k|0)==-1073741824)g=-1073741824;else{h=(k|0)/3|0;if((k|0)<=-3){d=22;break b}g=f[t>>2]|0;if((h|0)>=(((f[r>>2]|0)-g|0)/12|0|0)){d=24;break b}g=f[g+(h*12|0)+(((k|0)%3|0)<<2)>>2]|0}i=(j|0)/3|0;if((j|0)<=-3){d=27;break b}h=f[t>>2]|0;if((i|0)>=(((f[r>>2]|0)-h|0)/12|0|0)){d=29;break b}h=f[h+(i*12|0)+(((j|0)%3|0)<<2)>>2]|0;l=(b[v>>0]|0)==0;if(l){i=f[p>>2]|0;h=f[i+(h<<2)>>2]|0;g=f[i+(g<<2)>>2]|0}if((g|0)==(h|0)){g=k+1|0;if((k|0)<0)i=k;else i=((g|0)%3|0|0)==0?k+-2|0:g;do if((j|0)>=0)if(!((j>>>0)%3|0)){j=j+2|0;break}else{j=j+-1|0;break}while(0);if((i|0)==-1073741824)g=-1073741824;else{h=(i|0)/3|0;if((i|0)<=-3){d=22;break b}g=f[t>>2]|0;if((h|0)>=(((f[r>>2]|0)-g|0)/12|0|0)){d=24;break b}g=f[g+(h*12|0)+(((i|0)%3|0)<<2)>>2]|0}if((j|0)==-1073741824)h=-1073741824;else{i=(j|0)/3|0;if((j|0)<=-3){d=27;break b}h=f[t>>2]|0;if((i|0)>=(((f[r>>2]|0)-h|0)/12|0|0)){d=29;break b}h=f[h+(i*12|0)+(((j|0)%3|0)<<2)>>2]|0}if(l){l=f[p>>2]|0;h=f[l+(h<<2)>>2]|0;g=f[l+(g<<2)>>2]|0}if((g|0)==(h|0))break}b[w>>0]=0;h=f[a>>2]|0;l=h+(o>>>5<<2)|0;f[l>>2]=f[l>>2]|1<<(o&31);h=h+(n>>>5<<2)|0;f[h>>2]=f[h>>2]|1<<(n&31);h=((m|0)%3|0|0)==0?o+-2|0:m;if((h|0)<0)g=-1073741824;else{g=f[d>>2]|0;if((h|0)>=((f[d+4>>2]|0)-g>>2|0)){d=35;break b}g=f[g+(h<<2)>>2]|0}h=(f[q>>2]|0)+(g>>>5<<2)|0;f[h>>2]=f[h>>2]|1<<(g&31);h=(((o>>>0)%3|0|0)==0?2:-1)+o|0;if((h|0)<0)g=-1073741824;else{g=f[d>>2]|0;if((h|0)>=((f[d+4>>2]|0)-g>>2|0)){d=39;break b}g=f[g+(h<<2)>>2]|0}h=(f[q>>2]|0)+(g>>>5<<2)|0;f[h>>2]=f[h>>2]|1<<(g&31);h=n+1|0;h=((h|0)%3|0|0)==0?n+-2|0:h;if((h|0)<0)g=-1073741824;else{g=f[d>>2]|0;if((h|0)>=((f[d+4>>2]|0)-g>>2|0)){d=43;break b}g=f[g+(h<<2)>>2]|0}h=(f[q>>2]|0)+(g>>>5<<2)|0;f[h>>2]=f[h>>2]|1<<(g&31);h=(((n>>>0)%3|0|0)==0?2:-1)+n|0;if((h|0)<0)g=-1073741824;else{g=f[d>>2]|0;if((h|0)>=((f[d+4>>2]|0)-g>>2|0)){d=47;break b}g=f[g+(h<<2)>>2]|0}n=(f[q>>2]|0)+(g>>>5<<2)|0;f[n>>2]=f[n>>2]|1<<(g&31)}}while(0);o=o+1|0;if((o|0)>=((f[d+4>>2]|0)-(f[d>>2]|0)>>2|0))break a}switch(d|0){case 11:{ra(20128,20163,98,20248);break}case 15:{ra(20128,20163,98,20248);break}case 22:{ra(20264,20289,63,20366);break}case 24:{ra(20371,20289,64,20366);break}case 27:{ra(20264,20289,63,20366);break}case 29:{ra(20371,20289,64,20366);break}case 35:{ra(20128,20163,98,20248);break}case 39:{ra(20128,20163,98,20248);break}case 43:{ra(20128,20163,98,20248);break}case 47:{ra(20128,20163,98,20248);break}}}while(0);if((c|0)!=0&(e|0)!=0){Bc(a,c,e);a=1;u=z;return a|0}else{Qc(a,0,0);a=1;u=z;return a|0}return 0}function rc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=Ka,i=0,j=Ka,k=0,l=0,m=Ka,o=Ka,p=Ka,q=Ka,r=Ka,s=0,t=0,v=Ka,w=Ka,x=Ka,y=Ka,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=Ka;G=u;u=u+48|0;z=G+40|0;A=G+36|0;D=G+24|0;B=G+12|0;C=G;g=f[c>>2]|0;c=g+1|0;do if((g|0)>=0){k=((c|0)%3|0|0)==0?g+-2|0:c;i=g+(((g>>>0)%3|0|0)==0?2:-1)|0;g=f[a+28>>2]|0;do if((k|0)>=0){c=f[g>>2]|0;if((k|0)<((f[g+4>>2]|0)-c>>2|0)){l=f[c+(k<<2)>>2]|0;break}else ra(20128,20163,98,20248)}else l=-1073741824;while(0);if((i|0)>=0){c=f[g>>2]|0;if((i|0)<((f[g+4>>2]|0)-c>>2|0)){s=l;t=f[c+(i<<2)>>2]|0;break}else ra(20128,20163,98,20248)}else{s=l;t=-1073741824}}else{s=-1073741824;t=-1073741824}while(0);i=f[a+32>>2]|0;c=f[i>>2]|0;k=(f[i+4>>2]|0)-c>>2;if(k>>>0<=s>>>0)Jp(i);g=c;c=f[g+(s<<2)>>2]|0;if(k>>>0<=t>>>0)Jp(i);l=f[g+(t<<2)>>2]|0;g=(c|0)<(e|0);if(!(g&(l|0)<(e|0))){do if(!g){if((e|0)>0){c=e+-1|0;break}i=a+52|0;if((f[i>>2]|0)<=0){u=G;return}c=f[a+48>>2]|0;g=0;do{f[c+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[i>>2]|0));u=G;return}while(0);k=a+52|0;F=f[k>>2]|0;i=X(F,c)|0;if((F|0)<=0){u=G;return}c=f[a+48>>2]|0;g=0;do{f[c+(g<<2)>>2]=f[d+(g+i<<2)>>2];g=g+1|0}while((g|0)<(f[k>>2]|0));u=G;return}t=a+52|0;s=f[t>>2]|0;k=X(s,c)|0;w=$(f[d+(k<<2)>>2]|0);y=$(f[d+(k+1<<2)>>2]|0);s=X(s,l)|0;v=$(f[d+(s<<2)>>2]|0);x=$(f[d+(s+1<<2)>>2]|0);if(!(v!=w|x!=y)){a=f[a+48>>2]|0;f[a>>2]=~~v;f[a+4>>2]=~~x;u=G;return}k=a+44|0;g=f[(f[k>>2]|0)+(e<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;s=a+40|0;i=f[s>>2]|0;if(!(b[i+84>>0]|0))g=f[(f[i+68>>2]|0)+(g<<2)>>2]|0;f[A>>2]=g;g=b[i+24>>0]|0;f[z>>2]=f[A>>2];ab(i,z,g,D)|0;c=f[(f[k>>2]|0)+(c<<2)>>2]|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;g=f[s>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;c=b[g+24>>0]|0;f[z>>2]=f[A>>2];ab(g,z,c,B)|0;c=f[(f[k>>2]|0)+(l<<2)>>2]|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;g=f[s>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;s=b[g+24>>0]|0;f[z>>2]=f[A>>2];ab(g,z,s,C)|0;r=$(n[C>>2]);p=$(n[B>>2]);r=$(r-p);q=$(n[C+4>>2]);j=$(n[B+4>>2]);q=$(q-j);o=$(n[C+8>>2]);h=$(n[B+8>>2]);o=$(o-h);p=$($(n[D>>2])-p);j=$($(n[D+4>>2])-j);h=$($(n[D+8>>2])-h);m=$($($($(r*r)+$(0.0))+$(q*q))+$(o*o));if(m>$(0.0)){H=$($($($($(r*p)+$(0.0))+$(q*j))+$(o*h))/m);r=$(p-$(r*H));q=$(j-$(q*H));h=$(h-$(o*H));j=H;h=$(L($($($(h*h)+$($(q*q)+$($(r*r)+$(0.0))))/m)))}else{j=$(0.0);h=$(0.0)}o=$(v-w);m=$(x-y);H=$(w+$(o*j));o=$(o*h);y=$(y+$(m*j));j=$(m*h);m=$(H-j);h=$(y+o);j=$(H+j);o=$(y-o);l=X(f[t>>2]|0,e)|0;y=$(f[d+(l<<2)>>2]|0);H=$(f[d+(l+1<<2)>>2]|0);w=$(y-m);x=$(H-h);y=$(y-j);H=$(H-o);d=$($($(w*w)+$(0.0))+$(x*x))<$($($(y*y)+$(0.0))+$(H*H));l=a+56|0;i=a+60|0;c=f[i>>2]|0;g=f[a+64>>2]|0;k=(c|0)==(g<<5|0);if(d){do if(k)if((c+1|0)<0)Jp(l);else{E=g<<6;d=c+32&-32;hi(l,c>>>0<1073741823?(E>>>0>>0?d:E):2147483647);E=f[i>>2]|0;break}else E=c;while(0);f[i>>2]=E+1;d=(f[l>>2]|0)+(E>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(E&31);j=m}else{do if(k)if((c+1|0)<0)Jp(l);else{F=g<<6;d=c+32&-32;hi(l,c>>>0<1073741823?(F>>>0>>0?d:F):2147483647);F=f[i>>2]|0;break}else F=c;while(0);f[i>>2]=F+1;d=(f[l>>2]|0)+(F>>>5<<2)|0;f[d>>2]=f[d>>2]&~(1<<(F&31));h=o}d=~~+J(+(+j+.5));a=f[a+48>>2]|0;f[a>>2]=d;d=~~+J(+(+h+.5));f[a+4>>2]=d;u=G;return}function sc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=Ka,i=0,j=Ka,k=0,l=0,m=Ka,o=Ka,p=Ka,q=Ka,r=Ka,s=0,t=0,v=Ka,w=Ka,x=Ka,y=Ka,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=Ka;G=u;u=u+48|0;z=G+40|0;A=G+36|0;D=G+24|0;B=G+12|0;C=G;g=f[c>>2]|0;c=g+1|0;do if((g|0)>=0){k=((c|0)%3|0|0)==0?g+-2|0:c;i=g+(((g>>>0)%3|0|0)==0?2:-1)|0;g=f[a+48>>2]|0;do if((k|0)>=0){c=f[g>>2]|0;if((k|0)<((f[g+4>>2]|0)-c>>2|0)){l=f[c+(k<<2)>>2]|0;break}else ra(20128,20163,98,20248)}else l=-1073741824;while(0);if((i|0)>=0){c=f[g>>2]|0;if((i|0)<((f[g+4>>2]|0)-c>>2|0)){s=l;t=f[c+(i<<2)>>2]|0;break}else ra(20128,20163,98,20248)}else{s=l;t=-1073741824}}else{s=-1073741824;t=-1073741824}while(0);i=f[a+52>>2]|0;c=f[i>>2]|0;k=(f[i+4>>2]|0)-c>>2;if(k>>>0<=s>>>0)Jp(i);g=c;c=f[g+(s<<2)>>2]|0;if(k>>>0<=t>>>0)Jp(i);l=f[g+(t<<2)>>2]|0;g=(c|0)<(e|0);if(!(g&(l|0)<(e|0))){do if(!g){if((e|0)>0){c=e+-1|0;break}i=a+72|0;if((f[i>>2]|0)<=0){u=G;return}c=f[a+68>>2]|0;g=0;do{f[c+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[i>>2]|0));u=G;return}while(0);k=a+72|0;F=f[k>>2]|0;i=X(F,c)|0;if((F|0)<=0){u=G;return}c=f[a+68>>2]|0;g=0;do{f[c+(g<<2)>>2]=f[d+(g+i<<2)>>2];g=g+1|0}while((g|0)<(f[k>>2]|0));u=G;return}t=a+72|0;s=f[t>>2]|0;k=X(s,c)|0;w=$(f[d+(k<<2)>>2]|0);y=$(f[d+(k+1<<2)>>2]|0);s=X(s,l)|0;v=$(f[d+(s<<2)>>2]|0);x=$(f[d+(s+1<<2)>>2]|0);if(!(v!=w|x!=y)){a=f[a+68>>2]|0;f[a>>2]=~~v;f[a+4>>2]=~~x;u=G;return}k=a+64|0;g=f[(f[k>>2]|0)+(e<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;s=a+60|0;i=f[s>>2]|0;if(!(b[i+84>>0]|0))g=f[(f[i+68>>2]|0)+(g<<2)>>2]|0;f[A>>2]=g;g=b[i+24>>0]|0;f[z>>2]=f[A>>2];ab(i,z,g,D)|0;c=f[(f[k>>2]|0)+(c<<2)>>2]|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;g=f[s>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;c=b[g+24>>0]|0;f[z>>2]=f[A>>2];ab(g,z,c,B)|0;c=f[(f[k>>2]|0)+(l<<2)>>2]|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;g=f[s>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;s=b[g+24>>0]|0;f[z>>2]=f[A>>2];ab(g,z,s,C)|0;r=$(n[C>>2]);p=$(n[B>>2]);r=$(r-p);q=$(n[C+4>>2]);j=$(n[B+4>>2]);q=$(q-j);o=$(n[C+8>>2]);h=$(n[B+8>>2]);o=$(o-h);p=$($(n[D>>2])-p);j=$($(n[D+4>>2])-j);h=$($(n[D+8>>2])-h);m=$($($($(r*r)+$(0.0))+$(q*q))+$(o*o));if(m>$(0.0)){H=$($($($($(r*p)+$(0.0))+$(q*j))+$(o*h))/m);r=$(p-$(r*H));q=$(j-$(q*H));h=$(h-$(o*H));j=H;h=$(L($($($(h*h)+$($(q*q)+$($(r*r)+$(0.0))))/m)))}else{j=$(0.0);h=$(0.0)}o=$(v-w);m=$(x-y);H=$(w+$(o*j));o=$(o*h);y=$(y+$(m*j));j=$(m*h);m=$(H-j);h=$(y+o);j=$(H+j);o=$(y-o);l=X(f[t>>2]|0,e)|0;y=$(f[d+(l<<2)>>2]|0);H=$(f[d+(l+1<<2)>>2]|0);w=$(y-m);x=$(H-h);y=$(y-j);H=$(H-o);d=$($($(w*w)+$(0.0))+$(x*x))<$($($(y*y)+$(0.0))+$(H*H));l=a+76|0;i=a+80|0;c=f[i>>2]|0;g=f[a+84>>2]|0;k=(c|0)==(g<<5|0);if(d){do if(k)if((c+1|0)<0)Jp(l);else{E=g<<6;d=c+32&-32;hi(l,c>>>0<1073741823?(E>>>0>>0?d:E):2147483647);E=f[i>>2]|0;break}else E=c;while(0);f[i>>2]=E+1;d=(f[l>>2]|0)+(E>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(E&31);j=m}else{do if(k)if((c+1|0)<0)Jp(l);else{F=g<<6;d=c+32&-32;hi(l,c>>>0<1073741823?(F>>>0>>0?d:F):2147483647);F=f[i>>2]|0;break}else F=c;while(0);f[i>>2]=F+1;d=(f[l>>2]|0)+(F>>>5<<2)|0;f[d>>2]=f[d>>2]&~(1<<(F&31));h=o}d=~~+J(+(+j+.5));a=f[a+68>>2]|0;f[a>>2]=d;d=~~+J(+(+h+.5));f[a+4>>2]=d;u=G;return}function tc(a,b){a=a|0;b=b|0;var c=0,d=0,e=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,v=0,w=0,x=0,y=0,z=0,A=0;A=u;u=u+32|0;x=A+28|0;v=A+24|0;j=A+20|0;k=A+16|0;m=A+12|0;n=A+8|0;t=A+4|0;w=A;e=f[b>>2]|0;if((e|0)<0){u=A;return}y=(e>>>0)/3|0;r=a+12|0;if(f[(f[r>>2]|0)+(y>>>5<<2)>>2]&1<<(y&31)|0){u=A;return}y=a+56|0;c=f[y>>2]|0;s=a+60|0;d=f[s>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;f[s>>2]=c}p=a+64|0;if((c|0)==(f[p>>2]|0))Ji(y,b);else{f[c>>2]=e;f[s>>2]=c+4}g=f[a>>2]|0;e=f[b>>2]|0;c=e+1|0;do if((e|0)>=0){d=((c|0)%3|0|0)==0?e+-2|0:c;do if((d|0)>=0){c=f[g>>2]|0;if((d|0)<((f[g+4>>2]|0)-c>>2|0)){h=f[c+(d<<2)>>2]|0;break}else ra(20128,20163,98,20248)}else h=-1073741824;while(0);d=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((d|0)>=0){c=f[g>>2]|0;if((d|0)<((f[g+4>>2]|0)-c>>2|0)){i=h;l=f[c+(d<<2)>>2]|0;break}else ra(20128,20163,98,20248)}else{i=h;l=-1073741824}}else{i=-1073741824;l=-1073741824}while(0);o=a+24|0;c=f[o>>2]|0;e=c+(i>>>5<<2)|0;g=1<<(i&31);d=f[e>>2]|0;if(!(d&g)){f[e>>2]=d|g;f[j>>2]=i;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;f[k>>2]=c;f[v>>2]=f[j>>2];f[x>>2]=f[k>>2];Bg(a+36|0,v,x);c=f[o>>2]|0}d=c+(l>>>5<<2)|0;e=1<<(l&31);c=f[d>>2]|0;if(!(c&e)){f[d>>2]=c|e;d=a+36|0;f[m>>2]=l;c=f[b>>2]|0;do if((c|0)>=0)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);f[n>>2]=c;f[v>>2]=f[m>>2];f[x>>2]=f[n>>2];Bg(d,v,x)}d=f[y>>2]|0;c=f[s>>2]|0;if((d|0)==(c|0)){u=A;return}m=a+36|0;a:while(1){n=f[c+-4>>2]|0;f[b>>2]=n;e=(n|0)/3|0;if((n|0)>=0?(q=f[r>>2]|0,(f[q+(e>>>5<<2)>>2]&1<<(e&31)|0)==0):0){g=q;l=f[a>>2]|0;c=e;b:while(1){n=g+(c>>>5<<2)|0;f[n>>2]=f[n>>2]|1<<(c&31);c=f[b>>2]|0;if((c|0)<0)i=-1073741824;else{d=f[l>>2]|0;if((c|0)>=((f[l+4>>2]|0)-d>>2|0)){z=35;break a}i=f[d+(c<<2)>>2]|0}h=(f[o>>2]|0)+(i>>>5<<2)|0;j=1<<(i&31);g=f[h>>2]|0;if(!(j&g)){e=f[(f[l+24>>2]|0)+(i<<2)>>2]|0;c=e+1|0;if((e|0)>=0){c=((c|0)%3|0|0)==0?e+-2|0:c;if((c|0)>=0){d=f[(f[l+12>>2]|0)+(c<<2)>>2]|0;c=d+1|0;if((d|0)<0)e=d;else e=((c|0)%3|0|0)==0?d+-2|0:c}else e=c}f[h>>2]=g|j;f[t>>2]=i;f[w>>2]=f[b>>2];f[v>>2]=f[t>>2];f[x>>2]=f[w>>2];Bg(m,v,x);d=f[a>>2]|0;c=f[b>>2]|0;if((e|0)<0){l=d;z=48}else{do if((c|0)<0)c=-1073741824;else{n=c+1|0;c=((n|0)%3|0|0)==0?c+-2|0:n;if((c|0)<0)break;c=f[(f[d+12>>2]|0)+(c<<2)>>2]|0}while(0);f[b>>2]=c;c=(c|0)/3|0}}else z=48;if((z|0)==48){z=0;if((c|0)<0){z=51;break}d=c+1|0;d=((d|0)%3|0|0)==0?c+-2|0:d;if((d|0)>=0)d=f[(f[l+12>>2]|0)+(d<<2)>>2]|0;f[x>>2]=d;c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((c|0)<0)k=c;else k=f[(f[l+12>>2]|0)+(c<<2)>>2]|0;n=(d|0)<0;c=(d>>>0)/3|0;h=n?-1:c;g=(k|0)<0;j=(k>>>0)/3|0;i=g?-1:j;do if(!n){e=f[r>>2]|0;if(f[e+(h>>>5<<2)>>2]&1<<(h&31)|0){z=56;break}if(g)break;if(!(f[e+(i>>>5<<2)>>2]&1<<(i&31))){z=61;break b}}else z=56;while(0);if((z|0)==56){z=0;if(g){z=58;break}if(!(f[(f[r>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31))){d=k;c=j}else{z=58;break}}f[b>>2]=d;d=l}g=f[r>>2]|0;l=d}do if((z|0)==51){f[x>>2]=-1073741824;z=58}else if((z|0)==61){z=0;c=f[s>>2]|0;f[c+-4>>2]=k;if((c|0)==(f[p>>2]|0)){Ji(y,x);c=f[s>>2]|0;break}else{f[c>>2]=f[x>>2];c=c+4|0;f[s>>2]=c;break}}while(0);if((z|0)==58){z=0;c=(f[s>>2]|0)+-4|0;f[s>>2]=c}d=f[y>>2]|0}else{c=c+-4|0;f[s>>2]=c}if((d|0)==(c|0)){z=67;break}}if((z|0)==35)ra(20128,20163,98,20248);else if((z|0)==67){u=A;return}}function uc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;if(!a)return;c=a+-8|0;d=f[6044]|0;a=f[a+-4>>2]|0;b=a&-8;k=c+b|0;do if(!(a&1)){e=f[c>>2]|0;if(!(a&3))return;g=c+(0-e)|0;h=e+b|0;if(g>>>0>>0)return;if((g|0)==(f[6045]|0)){b=k+4|0;a=f[b>>2]|0;if((a&3|0)!=3){i=g;j=g;b=h;break}f[6042]=h;f[b>>2]=a&-2;f[g+4>>2]=h|1;f[g+h>>2]=h;return}c=e>>>3;if(e>>>0<256){a=f[g+8>>2]|0;b=f[g+12>>2]|0;if((b|0)==(a|0)){f[6040]=f[6040]&~(1<>2]=b;f[b+8>>2]=a;i=g;j=g;b=h;break}}e=f[g+24>>2]|0;a=f[g+12>>2]|0;do if((a|0)==(g|0)){c=g+16|0;b=c+4|0;a=f[b>>2]|0;if(!a){a=f[c>>2]|0;if(!a){c=0;break}else d=c}else d=b;while(1){c=a+20|0;b=f[c>>2]|0;if(b|0){a=b;d=c;continue}c=a+16|0;b=f[c>>2]|0;if(!b)break;else{a=b;d=c}}f[d>>2]=0;c=a}else{c=f[g+8>>2]|0;f[c+12>>2]=a;f[a+8>>2]=c;c=a}while(0);if(e){a=f[g+28>>2]|0;b=24464+(a<<2)|0;if((g|0)==(f[b>>2]|0)){f[b>>2]=c;if(!c){f[6041]=f[6041]&~(1<>2]|0)!=(g|0)&1)<<2)>>2]=c;if(!c){i=g;j=g;b=h;break}}f[c+24>>2]=e;b=g+16|0;a=f[b>>2]|0;if(a|0){f[c+16>>2]=a;f[a+24>>2]=c}a=f[b+4>>2]|0;if(a){f[c+20>>2]=a;f[a+24>>2]=c;i=g;j=g;b=h}else{i=g;j=g;b=h}}else{i=g;j=g;b=h}}else{i=c;j=c}while(0);if(i>>>0>=k>>>0)return;a=k+4|0;d=f[a>>2]|0;if(!(d&1))return;if(!(d&2)){a=f[6045]|0;if((k|0)==(f[6046]|0)){k=(f[6043]|0)+b|0;f[6043]=k;f[6046]=j;f[j+4>>2]=k|1;if((j|0)!=(a|0))return;f[6045]=0;f[6042]=0;return}if((k|0)==(a|0)){k=(f[6042]|0)+b|0;f[6042]=k;f[6045]=i;f[j+4>>2]=k|1;f[i+k>>2]=k;return}e=(d&-8)+b|0;c=d>>>3;do if(d>>>0<256){b=f[k+8>>2]|0;a=f[k+12>>2]|0;if((a|0)==(b|0)){f[6040]=f[6040]&~(1<>2]=a;f[a+8>>2]=b;break}}else{g=f[k+24>>2]|0;a=f[k+12>>2]|0;do if((a|0)==(k|0)){c=k+16|0;b=c+4|0;a=f[b>>2]|0;if(!a){a=f[c>>2]|0;if(!a){c=0;break}else d=c}else d=b;while(1){c=a+20|0;b=f[c>>2]|0;if(b|0){a=b;d=c;continue}c=a+16|0;b=f[c>>2]|0;if(!b)break;else{a=b;d=c}}f[d>>2]=0;c=a}else{c=f[k+8>>2]|0;f[c+12>>2]=a;f[a+8>>2]=c;c=a}while(0);if(g|0){a=f[k+28>>2]|0;b=24464+(a<<2)|0;if((k|0)==(f[b>>2]|0)){f[b>>2]=c;if(!c){f[6041]=f[6041]&~(1<>2]|0)!=(k|0)&1)<<2)>>2]=c;if(!c)break}f[c+24>>2]=g;b=k+16|0;a=f[b>>2]|0;if(a|0){f[c+16>>2]=a;f[a+24>>2]=c}a=f[b+4>>2]|0;if(a|0){f[c+20>>2]=a;f[a+24>>2]=c}}}while(0);f[j+4>>2]=e|1;f[i+e>>2]=e;if((j|0)==(f[6045]|0)){f[6042]=e;return}}else{f[a>>2]=d&-2;f[j+4>>2]=b|1;f[i+b>>2]=b;e=b}a=e>>>3;if(e>>>0<256){c=24200+(a<<1<<2)|0;b=f[6040]|0;a=1<>2]|0}f[a>>2]=j;f[b+12>>2]=j;f[j+8>>2]=b;f[j+12>>2]=c;return}a=e>>>8;if(a)if(e>>>0>16777215)b=31;else{i=(a+1048320|0)>>>16&8;k=a<>>16&4;k=k<>>16&2;b=14-(h|i|b)+(k<>>15)|0;b=e>>>(b+7|0)&1|b<<1}else b=0;d=24464+(b<<2)|0;f[j+28>>2]=b;f[j+20>>2]=0;f[j+16>>2]=0;a=f[6041]|0;c=1<>>1)|0);c=f[d>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(e|0)){a=73;break}d=c+16+(b>>>31<<2)|0;a=f[d>>2]|0;if(!a){a=72;break}else{b=b<<1;c=a}}if((a|0)==72){f[d>>2]=j;f[j+24>>2]=c;f[j+12>>2]=j;f[j+8>>2]=j;break}else if((a|0)==73){i=c+8|0;k=f[i>>2]|0;f[k+12>>2]=j;f[i>>2]=j;f[j+8>>2]=k;f[j+12>>2]=c;f[j+24>>2]=0;break}}else{f[6041]=a|c;f[d>>2]=j;f[j+24>>2]=d;f[j+12>>2]=j;f[j+8>>2]=j}while(0);k=(f[6048]|0)+-1|0;f[6048]=k;if(!k)a=24616;else return;while(1){a=f[a>>2]|0;if(!a)break;else a=a+8|0}f[6048]=-1;return}function vc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;L=a+8|0;f[L>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else ri(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{J=f[b+(i<<2)>>2]|0;C=(J|0)<(g|0);g=C?J:g;h=C?h:(J|0)>(h|0)?J:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;J=1-g+h|0;f[a+20>>2]=J;g=(J|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(J&1))f[h>>2]=g+-1}q=e>>>0>1073741823?-1:e<<2;J=qq(q)|0;fj(J|0,0,q|0)|0;q=f[a+48>>2]|0;r=f[a+56>>2]|0;g=f[r>>2]|0;B=(f[r+4>>2]|0)-g|0;C=B>>2;a:do if((B|0)>4){s=f[a+52>>2]|0;z=a+16|0;u=a+32|0;B=a+12|0;A=a+28|0;y=a+20|0;x=a+24|0;w=q+64|0;t=q+28|0;v=(e|0)>0;p=C;while(1){o=p;p=p+-1|0;if(C>>>0<=p>>>0)break;h=f[g+(p<<2)>>2]|0;n=X(p,e)|0;if((!((h|0)<0?1:(1<<(h&31)&f[(f[q>>2]|0)+(h>>>5<<2)>>2]|0)!=0)?(K=f[(f[(f[w>>2]|0)+12>>2]|0)+(h<<2)>>2]|0,(K|0)>=0):0)?(F=f[t>>2]|0,m=f[s>>2]|0,D=f[m+(f[F+(K<<2)>>2]<<2)>>2]|0,E=K+1|0,E=f[m+(f[F+((((E|0)%3|0|0)==0?K+-2|0:E)<<2)>>2]<<2)>>2]|0,F=f[m+(f[F+((((K>>>0)%3|0|0)==0?2:-1)+K<<2)>>2]<<2)>>2]|0,(D|0)<(p|0)&(E|0)<(p|0)&(F|0)<(p|0)):0){i=X(D,e)|0;j=X(E,e)|0;k=X(F,e)|0;if(v){h=0;do{f[J+(h<<2)>>2]=(f[b+(h+k<<2)>>2]|0)+(f[b+(h+j<<2)>>2]|0)-(f[b+(h+i<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0))}d=b+(n<<2)|0;m=c+(n<<2)|0;h=f[L>>2]|0;if((h|0)>0){l=0;j=J;do{if((h|0)>0){k=0;do{h=f[j+(k<<2)>>2]|0;i=f[z>>2]|0;if((h|0)>(i|0)){h=f[u>>2]|0;f[h+(k<<2)>>2]=i}else{N=f[B>>2]|0;i=f[u>>2]|0;f[i+(k<<2)>>2]=(h|0)<(N|0)?N:h;h=i}k=k+1|0}while((k|0)<(f[L>>2]|0));j=h}else j=f[u>>2]|0;h=(f[d+(l<<2)>>2]|0)-(f[j+(l<<2)>>2]|0)|0;i=m+(l<<2)|0;f[i>>2]=h;if((h|0)>=(f[A>>2]|0)){if((h|0)>(f[x>>2]|0)){h=h-(f[y>>2]|0)|0;M=48}}else{h=(f[y>>2]|0)+h|0;M=48}if((M|0)==48){M=0;f[i>>2]=h}l=l+1|0;h=f[L>>2]|0}while((l|0)<(h|0))}}else M=22;if((M|0)==22?(M=0,H=b+(n<<2)|0,I=c+(n<<2)|0,G=f[L>>2]|0,(G|0)>0):0){i=G;l=0;k=b+((X(o+-2|0,e)|0)<<2)|0;while(1){if((i|0)>0){j=0;do{h=f[k+(j<<2)>>2]|0;i=f[z>>2]|0;if((h|0)>(i|0)){h=f[u>>2]|0;f[h+(j<<2)>>2]=i}else{o=f[B>>2]|0;N=f[u>>2]|0;f[N+(j<<2)>>2]=(h|0)<(o|0)?o:h;h=N}j=j+1|0}while((j|0)<(f[L>>2]|0))}else h=f[u>>2]|0;i=(f[H+(l<<2)>>2]|0)-(f[h+(l<<2)>>2]|0)|0;j=I+(l<<2)|0;f[j>>2]=i;if((i|0)>=(f[A>>2]|0)){if((i|0)>(f[x>>2]|0)){i=i-(f[y>>2]|0)|0;M=35}}else{i=(f[y>>2]|0)+i|0;M=35}if((M|0)==35){M=0;f[j>>2]=i}l=l+1|0;i=f[L>>2]|0;if((l|0)>=(i|0))break;else k=h}}if((p|0)<=1)break a}Jp(r)}while(0);if((e|0)>0)fj(J|0,0,e<<2|0)|0;g=f[L>>2]|0;if((g|0)<=0){rq(J);return 1}n=a+16|0;d=a+32|0;p=a+12|0;o=a+28|0;m=a+20|0;l=a+24|0;k=0;i=J;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[n>>2]|0;if((g|0)>(h|0)){g=f[d>>2]|0;f[g+(j<<2)>>2]=h}else{a=f[p>>2]|0;N=f[d>>2]|0;f[N+(j<<2)>>2]=(g|0)<(a|0)?a:g;g=N}j=j+1|0}while((j|0)<(f[L>>2]|0));i=g}else i=f[d>>2]|0;g=(f[b+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=c+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[o>>2]|0)){if((g|0)>(f[l>>2]|0)){g=g-(f[m>>2]|0)|0;M=62}}else{g=(f[m>>2]|0)+g|0;M=62}if((M|0)==62){M=0;f[h>>2]=g}k=k+1|0;g=f[L>>2]|0}while((k|0)<(g|0));rq(J);return 1}function wc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=Ka,i=0,j=Ka,k=0,l=0,m=Ka,o=Ka,p=0,q=Ka,r=Ka,s=Ka,t=Ka,v=Ka,w=Ka,x=Ka,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=Ka;G=u;u=u+48|0;z=G+40|0;A=G+36|0;D=G+24|0;B=G+12|0;C=G;i=a+28|0;g=f[c>>2]|0;c=g+1|0;do if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}else c=g;while(0);l=f[(f[i>>2]|0)+28>>2]|0;k=f[l+(c<<2)>>2]|0;l=f[l+(g<<2)>>2]|0;i=f[a+32>>2]|0;c=f[i>>2]|0;p=(f[i+4>>2]|0)-c>>2;if(p>>>0<=k>>>0)Jp(i);g=c;c=f[g+(k<<2)>>2]|0;if(p>>>0<=l>>>0)Jp(i);l=f[g+(l<<2)>>2]|0;g=(c|0)<(e|0);if(!(g&(l|0)<(e|0))){do if(!g){if((e|0)>0){c=e+-1|0;break}i=a+52|0;if((f[i>>2]|0)<=0){u=G;return}c=f[a+48>>2]|0;g=0;do{f[c+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[i>>2]|0));u=G;return}while(0);k=a+52|0;F=f[k>>2]|0;i=X(F,c)|0;if((F|0)<=0){u=G;return}c=f[a+48>>2]|0;g=0;do{f[c+(g<<2)>>2]=f[d+(g+i<<2)>>2];g=g+1|0}while((g|0)<(f[k>>2]|0));u=G;return}y=a+52|0;p=f[y>>2]|0;k=X(p,c)|0;v=$(f[d+(k<<2)>>2]|0);x=$(f[d+(k+1<<2)>>2]|0);p=X(p,l)|0;t=$(f[d+(p<<2)>>2]|0);w=$(f[d+(p+1<<2)>>2]|0);if(!(t!=v|w!=x)){a=f[a+48>>2]|0;f[a>>2]=~~t;f[a+4>>2]=~~w;u=G;return}k=a+44|0;g=f[(f[k>>2]|0)+(e<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;p=a+40|0;i=f[p>>2]|0;if(!(b[i+84>>0]|0))g=f[(f[i+68>>2]|0)+(g<<2)>>2]|0;f[A>>2]=g;g=b[i+24>>0]|0;f[z>>2]=f[A>>2];ab(i,z,g,D)|0;c=f[(f[k>>2]|0)+(c<<2)>>2]|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;g=f[p>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;c=b[g+24>>0]|0;f[z>>2]=f[A>>2];ab(g,z,c,B)|0;c=f[(f[k>>2]|0)+(l<<2)>>2]|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;g=f[p>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;p=b[g+24>>0]|0;f[z>>2]=f[A>>2];ab(g,z,p,C)|0;s=$(n[C>>2]);q=$(n[B>>2]);s=$(s-q);r=$(n[C+4>>2]);j=$(n[B+4>>2]);r=$(r-j);o=$(n[C+8>>2]);h=$(n[B+8>>2]);o=$(o-h);q=$($(n[D>>2])-q);j=$($(n[D+4>>2])-j);h=$($(n[D+8>>2])-h);m=$($($($(s*s)+$(0.0))+$(r*r))+$(o*o));if(m>$(0.0)){H=$($($($($(s*q)+$(0.0))+$(r*j))+$(o*h))/m);s=$(q-$(s*H));r=$(j-$(r*H));h=$(h-$(o*H));j=H;h=$(L($($($(h*h)+$($(r*r)+$($(s*s)+$(0.0))))/m)))}else{j=$(0.0);h=$(0.0)}o=$(t-v);m=$(w-x);H=$(v+$(o*j));o=$(o*h);x=$(x+$(m*j));j=$(m*h);m=$(H-j);h=$(x+o);j=$(H+j);o=$(x-o);l=X(f[y>>2]|0,e)|0;x=$(f[d+(l<<2)>>2]|0);H=$(f[d+(l+1<<2)>>2]|0);v=$(x-m);w=$(H-h);x=$(x-j);H=$(H-o);d=$($($(v*v)+$(0.0))+$(w*w))<$($($(x*x)+$(0.0))+$(H*H));l=a+56|0;i=a+60|0;c=f[i>>2]|0;g=f[a+64>>2]|0;k=(c|0)==(g<<5|0);if(d){do if(k)if((c+1|0)<0)Jp(l);else{E=g<<6;d=c+32&-32;hi(l,c>>>0<1073741823?(E>>>0>>0?d:E):2147483647);E=f[i>>2]|0;break}else E=c;while(0);f[i>>2]=E+1;d=(f[l>>2]|0)+(E>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(E&31);j=m}else{do if(k)if((c+1|0)<0)Jp(l);else{F=g<<6;d=c+32&-32;hi(l,c>>>0<1073741823?(F>>>0>>0?d:F):2147483647);F=f[i>>2]|0;break}else F=c;while(0);f[i>>2]=F+1;d=(f[l>>2]|0)+(F>>>5<<2)|0;f[d>>2]=f[d>>2]&~(1<<(F&31));h=o}d=~~+J(+(+j+.5));a=f[a+48>>2]|0;f[a>>2]=d;d=~~+J(+(+h+.5));f[a+4>>2]=d;u=G;return}function xc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=Ka,i=0,j=Ka,k=0,l=0,m=Ka,o=Ka,p=0,q=Ka,r=Ka,s=Ka,t=Ka,v=Ka,w=Ka,x=Ka,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=Ka;G=u;u=u+48|0;z=G+40|0;A=G+36|0;D=G+24|0;B=G+12|0;C=G;i=a+48|0;g=f[c>>2]|0;c=g+1|0;do if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}else c=g;while(0);l=f[(f[i>>2]|0)+28>>2]|0;k=f[l+(c<<2)>>2]|0;l=f[l+(g<<2)>>2]|0;i=f[a+52>>2]|0;c=f[i>>2]|0;p=(f[i+4>>2]|0)-c>>2;if(p>>>0<=k>>>0)Jp(i);g=c;c=f[g+(k<<2)>>2]|0;if(p>>>0<=l>>>0)Jp(i);l=f[g+(l<<2)>>2]|0;g=(c|0)<(e|0);if(!(g&(l|0)<(e|0))){do if(!g){if((e|0)>0){c=e+-1|0;break}i=a+72|0;if((f[i>>2]|0)<=0){u=G;return}c=f[a+68>>2]|0;g=0;do{f[c+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[i>>2]|0));u=G;return}while(0);k=a+72|0;F=f[k>>2]|0;i=X(F,c)|0;if((F|0)<=0){u=G;return}c=f[a+68>>2]|0;g=0;do{f[c+(g<<2)>>2]=f[d+(g+i<<2)>>2];g=g+1|0}while((g|0)<(f[k>>2]|0));u=G;return}y=a+72|0;p=f[y>>2]|0;k=X(p,c)|0;v=$(f[d+(k<<2)>>2]|0);x=$(f[d+(k+1<<2)>>2]|0);p=X(p,l)|0;t=$(f[d+(p<<2)>>2]|0);w=$(f[d+(p+1<<2)>>2]|0);if(!(t!=v|w!=x)){a=f[a+68>>2]|0;f[a>>2]=~~t;f[a+4>>2]=~~w;u=G;return}k=a+64|0;g=f[(f[k>>2]|0)+(e<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;p=a+60|0;i=f[p>>2]|0;if(!(b[i+84>>0]|0))g=f[(f[i+68>>2]|0)+(g<<2)>>2]|0;f[A>>2]=g;g=b[i+24>>0]|0;f[z>>2]=f[A>>2];ab(i,z,g,D)|0;c=f[(f[k>>2]|0)+(c<<2)>>2]|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;g=f[p>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;c=b[g+24>>0]|0;f[z>>2]=f[A>>2];ab(g,z,c,B)|0;c=f[(f[k>>2]|0)+(l<<2)>>2]|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;g=f[p>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;p=b[g+24>>0]|0;f[z>>2]=f[A>>2];ab(g,z,p,C)|0;s=$(n[C>>2]);q=$(n[B>>2]);s=$(s-q);r=$(n[C+4>>2]);j=$(n[B+4>>2]);r=$(r-j);o=$(n[C+8>>2]);h=$(n[B+8>>2]);o=$(o-h);q=$($(n[D>>2])-q);j=$($(n[D+4>>2])-j);h=$($(n[D+8>>2])-h);m=$($($($(s*s)+$(0.0))+$(r*r))+$(o*o));if(m>$(0.0)){H=$($($($($(s*q)+$(0.0))+$(r*j))+$(o*h))/m);s=$(q-$(s*H));r=$(j-$(r*H));h=$(h-$(o*H));j=H;h=$(L($($($(h*h)+$($(r*r)+$($(s*s)+$(0.0))))/m)))}else{j=$(0.0);h=$(0.0)}o=$(t-v);m=$(w-x);H=$(v+$(o*j));o=$(o*h);x=$(x+$(m*j));j=$(m*h);m=$(H-j);h=$(x+o);j=$(H+j);o=$(x-o);l=X(f[y>>2]|0,e)|0;x=$(f[d+(l<<2)>>2]|0);H=$(f[d+(l+1<<2)>>2]|0);v=$(x-m);w=$(H-h);x=$(x-j);H=$(H-o);d=$($($(v*v)+$(0.0))+$(w*w))<$($($(x*x)+$(0.0))+$(H*H));l=a+76|0;i=a+80|0;c=f[i>>2]|0;g=f[a+84>>2]|0;k=(c|0)==(g<<5|0);if(d){do if(k)if((c+1|0)<0)Jp(l);else{E=g<<6;d=c+32&-32;hi(l,c>>>0<1073741823?(E>>>0>>0?d:E):2147483647);E=f[i>>2]|0;break}else E=c;while(0);f[i>>2]=E+1;d=(f[l>>2]|0)+(E>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(E&31);j=m}else{do if(k)if((c+1|0)<0)Jp(l);else{F=g<<6;d=c+32&-32;hi(l,c>>>0<1073741823?(F>>>0>>0?d:F):2147483647);F=f[i>>2]|0;break}else F=c;while(0);f[i>>2]=F+1;d=(f[l>>2]|0)+(F>>>5<<2)|0;f[d>>2]=f[d>>2]&~(1<<(F&31));h=o}d=~~+J(+(+j+.5));a=f[a+68>>2]|0;f[a>>2]=d;d=~~+J(+(+h+.5));f[a+4>>2]=d;u=G;return}function yc(a,c){a=a|0;c=c|0;var d=0,e=0,g=Ka,i=Ka,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=Ka;v=b[c+11>>0]|0;x=v<<24>>24<0;w=x?f[c>>2]|0:c;v=x?f[c+4>>2]|0:v&255;if(v>>>0>3){j=w;m=v;k=v;while(1){x=X(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24,1540483477)|0;m=(X(x>>>24^x,1540483477)|0)^(X(m,1540483477)|0);k=k+-4|0;if(k>>>0<=3)break;else j=j+4|0}x=v+-4|0;k=x&-4;l=w+(k+4)|0;j=m;k=x-k|0}else{l=w;j=v;k=v}switch(k|0){case 3:{o=h[l+2>>0]<<16^j;z=6;break}case 2:{o=j;z=6;break}case 1:{p=j;z=7;break}default:q=j}if((z|0)==6){p=h[l+1>>0]<<8^o;z=7}if((z|0)==7)q=X(h[l>>0]^p,1540483477)|0;x=X(q>>>13^q,1540483477)|0;x=x>>>15^x;t=a+4|0;s=f[t>>2]|0;u=(s|0)==0;a:do if(!u){q=s+-1|0;k=(q&s|0)==0;if(!k)if(x>>>0>>0)r=x;else r=(x>>>0)%(s>>>0)|0;else r=x&q;j=f[(f[a>>2]|0)+(r<<2)>>2]|0;if((j|0)!=0?(e=f[j>>2]|0,(e|0)!=0):0){p=(v|0)==0;if(k){if(p){d=e;while(1){w=f[d+4>>2]|0;if(!((w|0)==(x|0)|(w&q|0)==(r|0))){d=r;break a}w=b[d+8+11>>0]|0;if(!((w<<24>>24<0?f[d+12>>2]|0:w&255)|0)){j=d;break}d=f[d>>2]|0;if(!d){d=r;break a}}a=j+20|0;return a|0}else j=e;b:while(1){o=f[j+4>>2]|0;if(!((o|0)==(x|0)|(o&q|0)==(r|0))){d=r;break a}k=j+8|0;m=b[k+11>>0]|0;o=m<<24>>24<0;m=m&255;do if(((o?f[j+12>>2]|0:m)|0)==(v|0)){l=f[k>>2]|0;if(o)if(!(jl(l,w,v)|0)){z=63;break b}else break;if((l&255)<<24>>24==(b[w>>0]|0)){l=w;do{m=m+-1|0;k=k+1|0;if(!m){z=63;break b}l=l+1|0}while((b[k>>0]|0)==(b[l>>0]|0))}}while(0);j=f[j>>2]|0;if(!j){d=r;break a}}if((z|0)==63){a=j+20|0;return a|0}}if(p){while(1){d=f[e+4>>2]|0;if((d|0)!=(x|0)){if(d>>>0>=s>>>0)d=(d>>>0)%(s>>>0)|0;if((d|0)!=(r|0)){d=r;break a}}w=b[e+8+11>>0]|0;if(!((w<<24>>24<0?f[e+12>>2]|0:w&255)|0)){j=e;break}e=f[e>>2]|0;if(!e){d=r;break a}}a=j+20|0;return a|0}c:while(1){j=f[e+4>>2]|0;if((j|0)!=(x|0)){if(j>>>0>=s>>>0)j=(j>>>0)%(s>>>0)|0;if((j|0)!=(r|0)){d=r;break a}}j=e+8|0;l=b[j+11>>0]|0;m=l<<24>>24<0;l=l&255;do if(((m?f[e+12>>2]|0:l)|0)==(v|0)){k=f[j>>2]|0;if(m)if(!(jl(k,w,v)|0)){j=e;z=63;break c}else break;if((k&255)<<24>>24==(b[w>>0]|0)){k=w;do{l=l+-1|0;j=j+1|0;if(!l){j=e;z=63;break c}k=k+1|0}while((b[j>>0]|0)==(b[k>>0]|0))}}while(0);e=f[e>>2]|0;if(!e){d=r;break a}}if((z|0)==63){a=j+20|0;return a|0}}else d=r}else d=0;while(0);l=en(24)|0;gj(l+8|0,c);f[l+20>>2]=0;f[l+4>>2]=x;f[l>>2]=0;k=a+12|0;i=$(((f[k>>2]|0)+1|0)>>>0);A=$(s>>>0);g=$(n[a+16>>2]);do if(u|i>$(A*g)){d=(s>>>0<3|(s+-1&s|0)!=0)&1|s<<1;e=~~$(W($(i/g)))>>>0;Xh(a,d>>>0>>0?e:d);d=f[t>>2]|0;e=d+-1|0;if(!(e&d)){j=d;d=e&x;break}if(x>>>0>>0){j=d;d=x}else{j=d;d=(x>>>0)%(d>>>0)|0}}else j=s;while(0);e=(f[a>>2]|0)+(d<<2)|0;d=f[e>>2]|0;if(!d){d=a+8|0;f[l>>2]=f[d>>2];f[d>>2]=l;f[e>>2]=d;d=f[l>>2]|0;if(d|0){d=f[d+4>>2]|0;e=j+-1|0;if(e&j){if(d>>>0>=j>>>0)d=(d>>>0)%(j>>>0)|0}else d=d&e;y=(f[a>>2]|0)+(d<<2)|0;z=61}}else{f[l>>2]=f[d>>2];y=d;z=61}if((z|0)==61)f[y>>2]=l;f[k>>2]=(f[k>>2]|0)+1;a=l;a=a+20|0;return a|0}function zc(a){a=a|0;var b=0,c=0,d=0,e=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,v=0,w=0,x=0;x=u;u=u+48|0;w=x+24|0;v=x+12|0;t=x;r=a+32|0;s=a+8|0;p=a+12|0;b=f[p>>2]|0;d=f[s>>2]|0;j=b-d>>2;h=a+36|0;g=f[h>>2]|0;e=f[r>>2]|0;k=g-e>>2;c=d;if(j>>>0<=k>>>0)if(j>>>0>>0?(i=e+(j<<2)|0,(g|0)!=(i|0)):0){f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2);i=d}else i=d;else{ri(r,j-k|0);c=f[s>>2]|0;i=c;b=f[p>>2]|0}h=b-i|0;g=h>>2;f[w>>2]=0;e=w+4|0;f[e>>2]=0;d=w+8|0;f[d>>2]=0;if(g|0){if((h|0)<0)Jp(w);m=((g+-1|0)>>>5)+1|0;n=en(m<<2)|0;f[w>>2]=n;f[d>>2]=m;f[e>>2]=g;d=g>>>5;fj(n|0,0,d<<2|0)|0;e=g-(d<<5)|0;d=n+(d<<2)|0;if(e|0)f[d>>2]=f[d>>2]&~(-1>>>(32-e|0))}n=a+20|0;d=0;while(1){if(d>>>0>2>>>0){e=i;g=0;m=0}else{o=25;break}while(1){k=m>>>5;l=1<<(m&31);do if(!(f[(f[w>>2]|0)+(k<<2)>>2]&l)){b=f[c+(m<<2)>>2]|0;if((f[b+8>>2]|0)!=(f[b+4>>2]|0)){e=1;j=0;do{i=f[(f[b+4>>2]|0)+(j<<2)>>2]|0;h=0;while(1){c=f[c+(m<<2)>>2]|0;if((h|0)>=(Na[f[(f[c>>2]|0)+24>>2]&127](c,i)|0))break;b=f[(f[s>>2]|0)+(m<<2)>>2]|0;b=Oa[f[(f[b>>2]|0)+28>>2]&31](b,i,h)|0;if((b|0)!=(m|0)?(c=f[(f[n>>2]|0)+(b<<2)>>2]|0,(1<<(c&31)&f[(f[w>>2]|0)+(c>>>5<<2)>>2]|0)==0):0){e=0;break}c=f[s>>2]|0;h=h+1|0}j=j+1|0;c=f[s>>2]|0;b=f[c+(m<<2)>>2]|0}while(j>>>0<(f[b+8>>2]|0)-(f[b+4>>2]|0)>>2>>>0);if(!e){e=c;h=d;break}}else c=e;f[(f[r>>2]|0)+(d<<2)>>2]=m;e=(f[w>>2]|0)+(k<<2)|0;f[e>>2]=f[e>>2]|l;e=c;g=1;h=d+1|0}else h=d;while(0);m=m+1|0;b=f[p>>2]|0;d=b-e>>2;c=e;if(m>>>0>=d>>>0)break;else d=h}if(h>>>0>>0&(g^1)){c=0;break}else{i=e;d=h}}if((o|0)==25){f[v>>2]=0;o=v+4|0;f[o>>2]=0;f[v+8>>2]=0;h=f[a+4>>2]|0;h=(f[h+12>>2]|0)-(f[h+8>>2]|0)|0;g=h>>2;f[t>>2]=0;e=t+4|0;f[e>>2]=0;d=t+8|0;f[d>>2]=0;if(g|0){if((h|0)<0)Jp(t);n=((g+-1|0)>>>5)+1|0;a=en(n<<2)|0;f[t>>2]=a;f[d>>2]=n;f[e>>2]=g;d=g>>>5;fj(a|0,0,d<<2|0)|0;e=g-(d<<5)|0;d=a+(d<<2)|0;if(e|0)f[d>>2]=f[d>>2]&~(-1>>>(32-e|0))}a:do if((b|0)==(i|0))c=1;else{d=i;n=0;while(1){m=f[(f[r>>2]|0)+(n<<2)>>2]|0;a=f[c+(m<<2)>>2]|0;a=(f[a+8>>2]|0)-(f[a+4>>2]|0)|0;l=a>>2;if((a|0)<8)c=d;else{c=f[o>>2]|0;b=f[v>>2]|0;d=c-b>>2;if(l>>>0<=d>>>0)if(l>>>0>>0?(q=b+(l<<2)|0,(c|0)!=(q|0)):0){f[o>>2]=c+(~((c+-4-q|0)>>>2)<<2);b=0}else b=0;else{ri(v,l-d|0);b=0}while(1){if((b|0)<(l|0)){c=0;k=0}else break;do{d=f[(f[s>>2]|0)+(m<<2)>>2]|0;h=f[(f[d+4>>2]|0)+(k<<2)>>2]|0;i=k>>>5;j=1<<(k&31);if(!(f[(f[t>>2]|0)+(i<<2)>>2]&j)){e=d;d=1;g=0;while(1){if((g|0)>=(Na[f[(f[e>>2]|0)+24>>2]&127](e,h)|0))break;a=f[(f[s>>2]|0)+(m<<2)>>2]|0;a=Oa[f[(f[a>>2]|0)+28>>2]&31](a,h,g)|0;a=(f[(f[t>>2]|0)+(a>>>5<<2)>>2]&1<<(a&31)|0)!=0;d=d&a;if(!a)break;e=f[(f[s>>2]|0)+(m<<2)>>2]|0;g=g+1|0}if(d){f[(f[v>>2]|0)+(b<<2)>>2]=k;c=(f[t>>2]|0)+(i<<2)|0;f[c>>2]=f[c>>2]|j;c=1;b=b+1|0}}k=k+1|0}while((k|0)<(l|0));if(!(c|(b|0)>=(l|0))){c=0;break a}}xg(f[(f[s>>2]|0)+(m<<2)>>2]|0,v);c=f[s>>2]|0;b=f[p>>2]|0}n=n+1|0;if(n>>>0>=b-c>>2>>>0){c=1;break}else d=c}}while(0);b=f[t>>2]|0;if(b|0)tq(b);b=f[v>>2]|0;if(b|0){d=f[o>>2]|0;if((d|0)!=(b|0))f[o>>2]=d+(~((d+-4-b|0)>>>2)<<2);tq(b)}}b=f[w>>2]|0;if(!b){u=x;return c|0}tq(b);u=x;return c|0}function Ac(a,c,d){a=a|0;c=c|0;d=d|0;var e=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,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,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;G=u;u=u+112|0;B=G+100|0;C=G+80|0;D=G+48|0;e=G+96|0;E=G+24|0;z=G+76|0;F=G;A=G+72|0;if(!(f[a+4>>2]|0))ra(13098,13120,46,13284);if(!(f[a+8>>2]|0))ra(13098,13120,46,13284);h=f[c>>2]|0;f[C>>2]=f[a+16>>2];f[C+4>>2]=h;y=C+8|0;f[y>>2]=h;b[C+12>>0]=1;f[e>>2]=h;f[B>>2]=f[e>>2];Wg(D,a,B);p=a+28|0;j=(f[p>>2]|0)==0;if((h|0)<0){k=0;l=0;m=0;g=0;e=0;c=0}else{x=h+1|0;x=((x|0)%3|0|0)==0?h+-2|0:x;t=E+8|0;q=D+8|0;w=E+16|0;r=D+16|0;s=F+8|0;v=F+16|0;o=h+(((h>>>0)%3|0|0)==0?2:-1)|0;l=0;k=0;g=0;m=0;c=0;e=0;n=h;do{do if(!j){h=n+1|0;h=((h|0)%3|0|0)==0?n+-2|0:h;if(!((n>>>0)%3|0)){i=h;h=n+2|0;break}else{i=h;h=n+-1|0;break}}else{i=x;h=o}while(0);f[z>>2]=i;f[B>>2]=f[z>>2];Wg(E,a,B);f[A>>2]=h;f[B>>2]=f[A>>2];Wg(F,a,B);n=E;R=D;Q=f[R>>2]|0;R=f[R+4>>2]|0;n=co(f[n>>2]|0,f[n+4>>2]|0,Q|0,R|0)|0;j=I;i=t;T=q;S=f[T>>2]|0;T=f[T+4>>2]|0;i=co(f[i>>2]|0,f[i+4>>2]|0,S|0,T|0)|0;h=I;K=w;H=r;J=f[H>>2]|0;H=f[H+4>>2]|0;K=co(f[K>>2]|0,f[K+4>>2]|0,J|0,H|0)|0;L=I;N=F;R=co(f[N>>2]|0,f[N+4>>2]|0,Q|0,R|0)|0;Q=I;N=s;T=co(f[N>>2]|0,f[N+4>>2]|0,S|0,T|0)|0;S=I;N=v;H=co(f[N>>2]|0,f[N+4>>2]|0,J|0,H|0)|0;J=I;N=dn(H|0,J|0,i|0,h|0)|0;M=I;P=dn(T|0,S|0,K|0,L|0)|0;O=I;L=dn(R|0,Q|0,K|0,L|0)|0;K=I;J=dn(H|0,J|0,n|0,j|0)|0;H=I;j=dn(T|0,S|0,n|0,j|0)|0;n=I;h=dn(R|0,Q|0,i|0,h|0)|0;i=I;l=co(l|0,k|0,P|0,O|0)|0;l=Qn(l|0,I|0,N|0,M|0)|0;k=I;g=Qn(L|0,K|0,g|0,m|0)|0;g=co(g|0,I|0,J|0,H|0)|0;m=I;c=co(c|0,e|0,h|0,i|0)|0;c=Qn(c|0,I|0,j|0,n|0)|0;e=I;Xg(C);n=f[y>>2]|0;j=(f[p>>2]|0)==0}while((n|0)>=0)}T=(k|0)>-1|(k|0)==-1&l>>>0>4294967295;i=co(0,0,l|0,k|0)|0;h=T?k:I;O=(m|0)>-1|(m|0)==-1&g>>>0>4294967295;P=co(0,0,g|0,m|0)|0;Q=O?m:I;S=(e|0)>-1|(e|0)==-1&c>>>0>4294967295;R=co(0,0,c|0,e|0)|0;S=Qn((O?g:P)|0,Q|0,(S?c:R)|0,(S?e:I)|0)|0;h=Qn(S|0,I|0,(T?l:i)|0,h|0)|0;i=I;if(j)if((h|0)>536870912){T=En(h|0,i|0,29)|0;T=T&7;i=mk(l|0,k|0,T|0,0)|0;j=I;g=mk(g|0,m|0,T|0,0)|0;h=I;c=mk(c|0,e|0,T|0,0)|0;e=I}else{j=k;i=l;h=m}else if((i|0)>0|(i|0)==0&h>>>0>536870912){S=En(h|0,i|0,29)|0;T=I;i=mk(l|0,k|0,S|0,T|0)|0;j=I;g=mk(g|0,m|0,S|0,T|0)|0;h=I;c=mk(c|0,e|0,S|0,T|0)|0;e=I}else{j=k;i=l;h=m}R=(j|0)>-1|(j|0)==-1&i>>>0>4294967295;S=co(0,0,i|0,j|0)|0;T=R?j:I;M=(h|0)>-1|(h|0)==-1&g>>>0>4294967295;N=co(0,0,g|0,h|0)|0;O=M?h:I;Q=(e|0)>-1|(e|0)==-1&c>>>0>4294967295;P=co(0,0,c|0,e|0)|0;Q=Qn((M?g:N)|0,O|0,(Q?c:P)|0,(Q?e:I)|0)|0;T=Qn(Q|0,I|0,(R?i:S)|0,T|0)|0;S=I;if((S|0)<0|(S|0)==0&T>>>0<536870913){f[d>>2]=i;f[d+4>>2]=g;f[d+8>>2]=c;u=G;return}else ra(13306,13120,95,13284)}function Bc(a,c,d){a=a|0;c=c|0;d=d|0;var e=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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=u;u=u+16|0;A=D+8|0;x=D+4|0;B=D;y=a+64|0;e=f[y>>2]|0;if(((f[e+28>>2]|0)-(f[e+24>>2]|0)|0)<=0){u=D;return}z=c+96|0;t=c+100|0;w=a+52|0;v=d+84|0;m=d+68|0;o=a+56|0;q=a+60|0;l=a+12|0;n=a+28|0;s=a+40|0;p=a+44|0;r=a+48|0;j=0;k=0;a:while(1){h=f[(f[e+24>>2]|0)+(k<<2)>>2]|0;if((h|0)<0)c=j;else{i=j+1|0;d=(h>>>0)/3|0;c=f[z>>2]|0;if((d|0)>=(((f[t>>2]|0)-c|0)/12|0|0)){C=6;break}c=f[c+(d*12|0)+(((h>>>0)%3|0)<<2)>>2]|0;if(!(b[v>>0]|0))c=f[(f[m>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;d=f[o>>2]|0;if(d>>>0<(f[q>>2]|0)>>>0){f[d>>2]=c;f[o>>2]=d+4}else Ji(w,A);f[A>>2]=h;f[x>>2]=0;b:do if(!(f[(f[l>>2]|0)+(k>>>5<<2)>>2]&1<<(k&31)))c=h;else{c=h+1|0;c=((c|0)%3|0|0)==0?h+-2|0:c;g=f[a>>2]|0;if(!(1<<(c&31)&f[g+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[y>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;d=c+1|0;if((c|0)>=0){c=((d|0)%3|0|0)==0?c+-2|0:d;f[x>>2]=c;if((c|0)<=-1){c=h;break}while(1){f[A>>2]=c;d=c+1|0;d=((d|0)%3|0|0)==0?c+-2|0:d;if(1<<(d&31)&f[g+(d>>>5<<2)>>2]|0){d=-1073741824;break}if((d|0)<0)break;d=f[(f[(f[y>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;e=d+1|0;if((d|0)<0)break;d=((e|0)%3|0|0)==0?d+-2|0:e;f[x>>2]=d;if((d|0)>-1)c=d;else break b}f[x>>2]=d;break}}}else c=-1073741824;f[x>>2]=c;c=h}while(0);f[(f[n>>2]|0)+(c<<2)>>2]=j;c=f[p>>2]|0;if((c|0)==(f[r>>2]|0))Ji(s,A);else{f[c>>2]=f[A>>2];f[p>>2]=c+4}e=f[y>>2]|0;c=f[A>>2]|0;c:do if((c|0)>=0){d=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((d|0)>=0){d=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;if((d|0)>=0){d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;f[x>>2]=d;if((d|0)>-1&(d|0)!=(c|0)){e=j;while(1){j=d+1|0;j=((j|0)%3|0|0)==0?d+-2|0:j;do if(f[(f[a>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)){h=i+1|0;e=(d>>>0)/3|0;c=f[z>>2]|0;if((e|0)>=(((f[t>>2]|0)-c|0)/12|0|0)){C=33;break a}c=f[c+(e*12|0)+(((d>>>0)%3|0)<<2)>>2]|0;if(!(b[v>>0]|0))c=f[(f[m>>2]|0)+(c<<2)>>2]|0;f[B>>2]=c;d=f[o>>2]|0;if(d>>>0<(f[q>>2]|0)>>>0){f[d>>2]=c;f[o>>2]=d+4}else Ji(w,B);c=f[p>>2]|0;if((c|0)==(f[r>>2]|0)){Ji(s,x);g=i;c=h;break}else{f[c>>2]=f[x>>2];f[p>>2]=c+4;g=i;c=h;break}}else{g=e;c=i}while(0);f[(f[n>>2]|0)+(f[x>>2]<<2)>>2]=g;e=f[y>>2]|0;d=f[x>>2]|0;if((d|0)<0)break;d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((d|0)<0)break;d=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;if((d|0)<0)break;d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;f[x>>2]=d;if(!((d|0)>-1?(d|0)!=(f[A>>2]|0):0))break c;else{e=g;i=c}}f[x>>2]=d}else c=i}else{c=d;C=30}}else{c=d;C=30}}else C=30;while(0);if((C|0)==30){C=0;f[x>>2]=c;c=i}}k=k+1|0;if((k|0)>=((f[e+28>>2]|0)-(f[e+24>>2]|0)>>2|0)){C=3;break}else j=c}if((C|0)==3){u=D;return}else if((C|0)==6)ra(20371,20289,64,20366);else if((C|0)==33)ra(20371,20289,64,20366)}function Cc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=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,v=0;v=u;u=u+32|0;t=v+12|0;q=v+8|0;p=v+4|0;r=v;s=a+8|0;a:do if(f[s>>2]|0?(o=f[a>>2]|0,n=a+4|0,f[a>>2]=n,f[(f[n>>2]|0)+8>>2]=0,f[n>>2]=0,f[s>>2]=0,d=f[o+4>>2]|0,d=(d|0)==0?o:d,d|0):0){o=a+4|0;m=f[b>>2]|0;l=d;while(1){if((m|0)==(f[c>>2]|0))break;g=l+16|0;f[g>>2]=f[m+16>>2];if((l|0)!=(m|0)){f[p>>2]=f[m+20>>2];f[r>>2]=m+24;f[q>>2]=f[p>>2];f[t>>2]=f[r>>2];Nc(l+20|0,q,t)}j=l+8|0;e=f[j>>2]|0;do if(e){d=f[e>>2]|0;if((d|0)==(l|0)){f[e>>2]=0;d=f[e+4>>2]|0;if(!d){k=e;break}while(1){e=f[d>>2]|0;if(e|0){d=e;continue}e=f[d+4>>2]|0;if(!e)break;else d=e}k=d;break}else{f[e+4>>2]=0;if(!d){k=e;break}while(1){e=f[d>>2]|0;if(e|0){d=e;continue}e=f[d+4>>2]|0;if(!e)break;else d=e}k=d;break}}else k=0;while(0);d=f[n>>2]|0;do if(d){g=f[g>>2]|0;h=d;while(1){if((g|0)<(f[h+16>>2]|0)){d=f[h>>2]|0;if(!d){i=24;break}}else{e=h+4|0;d=f[e>>2]|0;if(!d){i=27;break}}h=d}if((i|0)==24){d=h;e=h;break}else if((i|0)==27){d=h;break}}else{d=n;e=n}while(0);f[l>>2]=0;f[l+4>>2]=0;f[j>>2]=d;f[e>>2]=l;d=f[f[a>>2]>>2]|0;if(!d)d=l;else{f[a>>2]=d;d=f[e>>2]|0}Ie(f[o>>2]|0,d);f[s>>2]=(f[s>>2]|0)+1;d=f[m+4>>2]|0;if(!d){e=m+8|0;d=f[e>>2]|0;if((f[d>>2]|0)!=(m|0))do{m=f[e>>2]|0;e=m+8|0;d=f[e>>2]|0}while((f[d>>2]|0)!=(m|0))}else while(1){e=f[d>>2]|0;if(!e)break;else d=e}f[b>>2]=d;if(!k)break a;else{m=d;l=k}}d=f[l+8>>2]|0;if(!d)d=l;else while(1){e=f[d+8>>2]|0;if(!e)break;else d=e}xj(a,d)}while(0);d=f[b>>2]|0;k=f[c>>2]|0;if((d|0)==(k|0)){u=v;return}l=a+4|0;m=a+4|0;do{Hg(t,a,d+16|0);g=f[l>>2]|0;do if(g){e=f[t>>2]|0;i=f[e+16>>2]|0;j=g;while(1){if((i|0)<(f[j+16>>2]|0)){g=f[j>>2]|0;if(!g){i=45;break}}else{h=j+4|0;g=f[h>>2]|0;if(!g){i=48;break}}j=g}if((i|0)==45){g=j;h=j;break}else if((i|0)==48){g=j;break}}else{e=f[t>>2]|0;g=l;h=l}while(0);f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=g;f[h>>2]=e;g=f[f[a>>2]>>2]|0;if(g){f[a>>2]=g;e=f[h>>2]|0}Ie(f[m>>2]|0,e);f[s>>2]=(f[s>>2]|0)+1;e=f[d+4>>2]|0;if(!e){e=d+8|0;g=f[e>>2]|0;if((f[g>>2]|0)==(d|0))d=g;else do{c=f[e>>2]|0;e=c+8|0;d=f[e>>2]|0}while((f[d>>2]|0)!=(c|0))}else{d=e;while(1){e=f[d>>2]|0;if(!e)break;else d=e}}f[b>>2]=d}while((d|0)!=(k|0));u=v;return}function Dc(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var 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,v=0,w=0,x=0,y=0,z=0;z=u;u=u+48|0;t=z+28|0;s=z+24|0;x=z;n=z+12|0;v=z+40|0;if((c|0)<0){y=0;u=z;return y|0}if(!c){y=1;u=z;return y|0}q=(d|0)>1;r=q?d:1;f[x>>2]=0;y=x+4|0;f[y>>2]=0;f[x+8>>2]=0;Kj(x,c);l=x+8|0;if(q){k=0;h=0;while(1){d=1;i=f[a+(k<<2)>>2]|0;do{q=f[a+(d+k<<2)>>2]|0;i=i>>>0>>0?q:i;d=d+1|0}while((d|0)!=(r|0));d=(_(i|0)|0)^31;j=i>>>0>h>>>0?i:h;h=(i|0)==0?1:d+1|0;f[t>>2]=h;d=f[y>>2]|0;if(d>>>0<(f[l>>2]|0)>>>0){f[d>>2]=h;f[y>>2]=d+4}else Ji(x,t);k=k+r|0;if((k|0)>=(c|0))break;else h=j}}else{j=0;d=0;do{h=f[a+(j<<2)>>2]|0;i=(_(h|0)|0)^31;d=h>>>0>d>>>0?h:d;i=(h|0)==0?1:i+1|0;f[t>>2]=i;h=f[y>>2]|0;if(h>>>0<(f[l>>2]|0)>>>0){f[h>>2]=i;f[y>>2]=h+4}else Ji(x,t);j=j+r|0}while((j|0)<(c|0));j=d}f[n>>2]=0;m=n+4|0;f[m>>2]=0;f[n+8>>2]=0;h=f[x>>2]|0;i=(f[y>>2]|0)-h|0;d=i>>2;if(d){if(d>>>0>1073741823)Jp(n);l=en(i)|0;f[m>>2]=l;f[n>>2]=l;f[n+8>>2]=l+(d<<2);d=l;if((i|0)>0){q=l+(i>>>2<<2)|0;Sg(l|0,h|0,i|0)|0;f[m>>2]=q;d=q-d>>2;if((q|0)==(l|0)){k=d;d=l;i=0;h=0}else{i=0;h=0;k=0;do{i=Qn(f[l+(k<<2)>>2]|0,0,i|0,h|0)|0;h=I;k=k+1|0}while(k>>>0>>0);k=d;d=l}}else w=18}else{d=0;w=18}if((w|0)==18){k=0;i=0;h=0}l=Ng(d,k,32,t)|0;o=I;q=f[t>>2]<<3;q=zn(q|0,((q|0)<0)<<31>>31|0,1)|0;p=I;d=dn(i|0,h|0,r|0,0)|0;d=Qn(l|0,o|0,d|0,I|0)|0;p=Qn(d|0,I|0,q|0,p|0)|0;q=I;d=f[n>>2]|0;if(d|0){h=f[m>>2]|0;if((h|0)!=(d|0))f[m>>2]=h+(~((h+-4-d|0)>>>2)<<2);tq(d)}i=Ng(a,c,j,t)|0;o=f[t>>2]|0;h=((j-o|0)/64|0)+o<<3;k=o<<3;i=Qn(k|0,((k|0)<0)<<31>>31|0,i|0,I|0)|0;h=Qn(i|0,I|0,h|0,((h|0)<0)<<31>>31|0)|0;i=I;k=(_((j>>>0>1?j:1)|0)|0)^30;if(e){f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;d=en(32)|0;f[t>>2]=d;f[t+8>>2]=-2147483616;f[t+4>>2]=22;l=d;m=19239;n=l+22|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));b[d+22>>0]=0;d=(Qh(e,t)|0)==0;if((b[t+11>>0]|0)<0)tq(f[t>>2]|0);if(!d){f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;d=en(32)|0;f[t>>2]=d;f[t+8>>2]=-2147483616;f[t+4>>2]=22;l=d;m=19239;n=l+22|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));b[d+22>>0]=0;d=Hk(e,t)|0;if((b[t+11>>0]|0)<0)tq(f[t>>2]|0)}else w=32}else w=32;if((w|0)==32)d=k>>>0<18&((q|0)>(i|0)|(q|0)==(i|0)&p>>>0>=h>>>0)&1;b[v>>0]=d;w=g+16|0;q=f[w+4>>2]|0;if(!((q|0)>0|(q|0)==0&(f[w>>2]|0)>>>0>0)){f[s>>2]=f[g+4>>2];f[t>>2]=f[s>>2];Me(g,t,v,v+1|0)|0}switch(d|0){case 0:{i=Lc(a,c,r,x,g)|0;break}case 1:{i=Mc(a,c,j,o,e,g)|0;break}default:i=0}d=f[x>>2]|0;if(d|0){h=f[y>>2]|0;if((h|0)!=(d|0))f[y>>2]=h+(~((h+-4-d|0)>>>2)<<2);tq(d)}y=i;u=z;return y|0}function Ec(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if((b|0)<0)return;l=a+12|0;c=f[l>>2]|0;d=f[a+8>>2]|0;e=c-d>>2;if(e>>>0<=b>>>0)return;g=d+(b<<2)|0;n=f[(f[g>>2]|0)+56>>2]|0;if((e|0)<=(b|0))ra(20555,20609,68,20700);m=f[(f[d+(b<<2)>>2]|0)+60>>2]|0;d=g+4|0;if((d|0)!=(c|0)){j=g;do{h=f[d>>2]|0;f[d>>2]=0;i=f[j>>2]|0;f[j>>2]=h;if(i|0){h=i+88|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){g=f[e+8>>2]|0;if(g|0){h=e+12|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;tq(g)}tq(e)}e=f[i+68>>2]|0;if(e|0){h=i+72|0;g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);tq(e)}h=i+64|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){g=f[e>>2]|0;if(g|0){h=e+4|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;tq(g)}tq(e)}tq(i)}d=d+4|0;j=j+4|0}while((d|0)!=(c|0));c=f[l>>2]|0;if((c|0)!=(j|0)){g=j;k=26}}else k=26;if((k|0)==26)do{k=c+-4|0;f[l>>2]=k;h=f[k>>2]|0;f[k>>2]=0;if(h|0){k=h+88|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){e=c+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;tq(d)}tq(c)}c=f[h+68>>2]|0;if(c|0){e=h+72|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);tq(c)}k=h+64|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){e=c+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;tq(d)}tq(c)}tq(h)}c=f[l>>2]|0}while((c|0)!=(g|0));d=f[a+4>>2]|0;a:do if(d|0){h=d+44|0;c=f[h>>2]|0;d=f[d+40>>2]|0;while(1){if((d|0)==(c|0))break a;e=d+4|0;if((f[(f[d>>2]|0)+40>>2]|0)==(m|0))break;else d=e}if((e|0)!=(c|0)){g=d;do{m=f[e>>2]|0;f[e>>2]=0;d=f[g>>2]|0;f[g>>2]=m;if(d|0){Mi(d);tq(d)}e=e+4|0;g=g+4|0}while((e|0)!=(c|0));c=f[h>>2]|0;if((c|0)==(g|0))break;else d=g}do{m=c+-4|0;f[h>>2]=m;c=f[m>>2]|0;f[m>>2]=0;if(c|0){Mi(c);tq(c)}c=f[h>>2]|0}while((c|0)!=(d|0))}while(0);b:do if((n|0)<5){c=f[a+20+(n*12|0)>>2]|0;i=a+20+(n*12|0)+4|0;d=f[i>>2]|0;e=d;c:do if((c|0)!=(d|0))while(1){if((f[c>>2]|0)==(b|0))break c;c=c+4|0;if((c|0)==(d|0))break b}while(0);if((c|0)!=(d|0)){g=c+4|0;e=e-g|0;h=e>>2;if(h){fm(c|0,g|0,e|0)|0;d=f[i>>2]|0}c=c+(h<<2)|0;if((d|0)!=(c|0))f[i>>2]=d+(~((d+-4-c|0)>>>2)<<2)}}while(0);c=f[a+24>>2]|0;d=f[a+20>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}c=f[a+36>>2]|0;d=f[a+32>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}c=f[a+48>>2]|0;d=f[a+44>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}c=f[a+60>>2]|0;d=f[a+56>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}d=f[a+72>>2]|0;c=f[a+68>>2]|0;h=c;if((d|0)==(c|0))return;g=d-c>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0);return}function Fc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var 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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;D=u;u=u+32|0;w=D+16|0;z=D+12|0;y=D+8|0;A=D+4|0;v=D;s=f[a+28>>2]|0;t=f[a+32>>2]|0;x=e>>>0>1073741823?-1:e<<2;B=qq(x)|0;fj(B|0,0,x|0)|0;C=qq(x)|0;fj(C|0,0,x|0)|0;x=a+36|0;h=f[x>>2]|0;i=f[h+4>>2]|0;j=f[h>>2]|0;g=i-j|0;a:do if((g|0)>4){d=g>>2;p=(e|0)>0;o=s+12|0;r=a+8|0;n=e<<2;g=d+-1|0;if(i-j>>2>>>0>g>>>0){k=j;q=d;E=g}else{m=h;Jp(m)}while(1){m=f[k+(E<<2)>>2]|0;if(p)fj(B|0,0,n|0)|0;if((m|0)>-1){if(p){l=m;h=0;do{g=f[(f[o>>2]|0)+(l<<2)>>2]|0;do if((g|0)>=0){f[v>>2]=g;f[w>>2]=f[v>>2];eh(w,s,t,z,y,A);g=f[z>>2]|0;if((g|0)>=(E|0))break;d=f[y>>2]|0;if((d|0)>=(E|0))break;i=f[A>>2]|0;if((i|0)>=(E|0))break;k=X(g,e)|0;j=X(d,e)|0;d=X(i,e)|0;g=0;do{f[C+(g<<2)>>2]=(f[b+(g+d<<2)>>2]|0)+(f[b+(g+j<<2)>>2]|0)-(f[b+(g+k<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0));g=0;do{k=B+(g<<2)|0;f[k>>2]=(f[k>>2]|0)+(f[C+(g<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0));h=h+1|0}while(0);g=(((l>>>0)%3|0|0)==0?2:-1)+l|0;do if((g|0)>=0){g=f[(f[o>>2]|0)+(g<<2)>>2]|0;if((g|0)>=0)if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}while(0);l=(g|0)==(m|0)?-1073741824:g}while((l|0)>-1)}else{d=m;h=0;do{g=f[(f[o>>2]|0)+(d<<2)>>2]|0;do if((g|0)>=0){f[v>>2]=g;f[w>>2]=f[v>>2];eh(w,s,t,z,y,A);if((f[z>>2]|0)>=(E|0))break;if((f[y>>2]|0)<(E|0)){h=h+((f[A>>2]|0)<(E|0)&1)|0;break}else break}while(0);g=(((d>>>0)%3|0|0)==0?2:-1)+d|0;do if((g|0)>=0){g=f[(f[o>>2]|0)+(g<<2)>>2]|0;if((g|0)>=0)if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}while(0);d=(g|0)==(m|0)?-1073741824:g}while((d|0)>-1)}g=X(E,e)|0;if(!h)F=45;else{if(p){d=0;do{q=B+(d<<2)|0;f[q>>2]=(f[q>>2]|0)/(h|0)|0;d=d+1|0}while((d|0)!=(e|0))}bi(r,b+(g<<2)|0,B,c+(g<<2)|0)}}else{g=X(E,e)|0;F=45}if((F|0)==45){F=0;bi(r,b+(g<<2)|0,b+((X(q+-2|0,e)|0)<<2)|0,c+(g<<2)|0)}if((E|0)<=1)break a;g=f[x>>2]|0;k=f[g>>2]|0;d=E+-1|0;if((f[g+4>>2]|0)-k>>2>>>0<=d>>>0)break;else{q=E;E=d}}Jp(g)}while(0);if((e|0)<=0){a=a+8|0;bi(a,b,B,c);rq(C);rq(B);u=D;return 1}fj(B|0,0,e<<2|0)|0;a=a+8|0;bi(a,b,B,c);rq(C);rq(B);u=D;return 1}function Gc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0.0,i=0,j=0,k=0,l=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=a+4|0;i=f[w>>2]|0;v=a+100|0;if(i>>>0<(f[v>>2]|0)>>>0){f[w>>2]=i+1;i=h[i>>0]|0;k=0}else{i=_i(a)|0;k=0}a:while(1){switch(i|0){case 46:{o=8;break a}case 48:break;default:{u=0;n=0;q=0;j=0;r=k;t=0;s=0;m=1.0;k=0;g=0.0;break a}}i=f[w>>2]|0;if(i>>>0<(f[v>>2]|0)>>>0){f[w>>2]=i+1;i=h[i>>0]|0;k=1;continue}else{i=_i(a)|0;k=1;continue}}if((o|0)==8){i=f[w>>2]|0;if(i>>>0<(f[v>>2]|0)>>>0){f[w>>2]=i+1;i=h[i>>0]|0}else i=_i(a)|0;if((i|0)==48){k=0;j=0;do{i=f[w>>2]|0;if(i>>>0<(f[v>>2]|0)>>>0){f[w>>2]=i+1;i=h[i>>0]|0}else i=_i(a)|0;k=Qn(k|0,j|0,-1,-1)|0;j=I}while((i|0)==48);u=0;n=0;q=k;r=1;t=1;s=0;m=1.0;k=0;g=0.0}else{u=0;n=0;q=0;j=0;r=k;t=1;s=0;m=1.0;k=0;g=0.0}}while(1){p=i+-48|0;o=(i|0)==46;if(p>>>0>=10?!(o|((i|32)+-97|0)>>>0<6):0)break;if(o)if(!t){q=n;j=u;p=u;t=1;o=s;l=m}else{i=46;break}else{i=(i|0)>57?(i|32)+-87|0:p;do if(!((u|0)<0|(u|0)==0&n>>>0<8))if((u|0)<0|(u|0)==0&n>>>0<14){m=m*.0625;o=s;l=m;g=g+m*+(i|0);break}else{r=(s|0)!=0|(i|0)==0;o=r?s:1;l=m;g=r?g:g+m*.5;break}else{o=s;l=m;k=i+(k<<4)|0}while(0);n=Qn(n|0,u|0,1,0)|0;p=I;r=1}i=f[w>>2]|0;if(i>>>0<(f[v>>2]|0)>>>0){f[w>>2]=i+1;u=p;i=h[i>>0]|0;s=o;m=l;continue}else{u=p;i=_i(a)|0;s=o;m=l;continue}}do if(!r){i=f[v>>2]|0;j=(i|0)!=0;if(j)f[w>>2]=(f[w>>2]|0)+-1;if(e){if(j)f[w>>2]=(f[w>>2]|0)+-1;if(!((t|0)==0|(i|0)==0))f[w>>2]=(f[w>>2]|0)+-1}else Pm(a,0);g=+(d|0)*0.0}else{o=(t|0)==0;p=o?n:q;o=o?u:j;if((u|0)<0|(u|0)==0&n>>>0<8){j=u;do{k=k<<4;n=Qn(n|0,j|0,1,0)|0;j=I}while((j|0)<0|(j|0)==0&n>>>0<8)}if((i|32|0)==112){j=bf(a,e)|0;i=I;if((j|0)==0&(i|0)==-2147483648){if(!e){Pm(a,0);g=0.0;break}if(!(f[v>>2]|0)){j=0;i=0}else{f[w>>2]=(f[w>>2]|0)+-1;j=0;i=0}}}else if(!(f[v>>2]|0)){j=0;i=0}else{f[w>>2]=(f[w>>2]|0)+-1;j=0;i=0}w=zn(p|0,o|0,2)|0;w=Qn(w|0,I|0,-32,-1)|0;i=Qn(w|0,I|0,j|0,i|0)|0;j=I;if(!k){g=+(d|0)*0.0;break}w=0-c|0;e=((w|0)<0)<<31>>31;if((j|0)>(e|0)|(j|0)==(e|0)&i>>>0>w>>>0){b=iq()|0;f[b>>2]=34;g=+(d|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}w=c+-106|0;e=((w|0)<0)<<31>>31;if((j|0)<(e|0)|(j|0)==(e|0)&i>>>0>>0){b=iq()|0;f[b>>2]=34;g=+(d|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((k|0)>-1){do{w=!(g>=.5);k=k<<1|(w^1)&1;g=g+(w?g:g+-1.0);i=Qn(i|0,j|0,-1,-1)|0;j=I}while((k|0)>-1);n=i;m=g}else{n=i;m=g}w=((b|0)<0)<<31>>31;i=co(32,0,c|0,((c|0)<0)<<31>>31|0)|0;i=Qn(i|0,I|0,n|0,j|0)|0;c=I;if((w|0)>(c|0)|(w|0)==(c|0)&b>>>0>i>>>0)if((i|0)>0)o=59;else{j=0;i=84;o=61}else{i=b;o=59}if((o|0)==59)if((i|0)<53){j=i;i=84-i|0;o=61}else{l=0.0;g=+(d|0)}if((o|0)==61){g=+(d|0);l=+_p(+Tj(1.0,i),g);i=j}d=(k&1|0)==0&(m!=0.0&(i|0)<32);g=g*(d?0.0:m)+(l+g*+(((d&1)+k|0)>>>0))-l;if(!(g!=0.0)){d=iq()|0;f[d>>2]=34}g=+$p(g,n)}while(0);return +g}function Hc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=Ka,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=Ka;E=u;u=u+112|0;x=E+104|0;y=E+64|0;o=E+24|0;A=E+16|0;p=E+92|0;r=E+80|0;q=E+68|0;z=E;B=E+52|0;C=E+40|0;D=E+28|0;f[o>>2]=0;m=f[a>>2]|0;v=a+4|0;h=f[v>>2]|0;w=c+4|0;if((h|0)==(f[w>>2]|0))g=$(0.0);else{l=m+84|0;i=m+68|0;j=r+4|0;k=q+8|0;g=$(0.0);do{f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;if(!(b[l>>0]|0))c=f[(f[i>>2]|0)+(h<<2)>>2]|0;else c=h;f[y>>2]=c;f[x>>2]=f[y>>2];ab(m,x,3,p)|0;F=$(K($(n[p>>2])));n[A>>2]=F;t=f[(F>2]|0;f[o>>2]=t;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;g=(f[s>>2]=t,$(n[s>>2]));if(!(b[l>>0]|0))c=f[(f[i>>2]|0)+(h<<2)>>2]|0;else c=h;f[y>>2]=c;f[x>>2]=f[y>>2];ab(m,x,3,r)|0;F=$(K($(n[j>>2])));n[A>>2]=F;t=f[(F>2]|0;f[o>>2]=t;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;g=(f[s>>2]=t,$(n[s>>2]));if(!(b[l>>0]|0))c=f[(f[i>>2]|0)+(h<<2)>>2]|0;else c=h;f[y>>2]=c;f[x>>2]=f[y>>2];ab(m,x,3,q)|0;F=$(K($(n[k>>2])));n[A>>2]=F;t=f[(F>2]|0;f[o>>2]=t;h=h+1|0;g=(f[s>>2]=t,$(n[s>>2]))}while((h|0)!=(f[w>>2]|0))}t=(1<>2])+-1|0;gp(A);to(A,g,t);n[d+4>>2]=g;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;d=f[a>>2]|0;h=f[v>>2]|0;if((h|0)==(f[w>>2]|0)){D=f[e>>2]|0;u=E;return D|0}r=d+84|0;l=d+68|0;a=A+4|0;q=C+4|0;p=z+4|0;o=D+8|0;m=z+8|0;c=f[e>>2]|0;j=c+4|0;k=c+8|0;i=h;do{f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;if(!(b[r>>0]|0))h=f[(f[l>>2]|0)+(i<<2)>>2]|0;else h=i;f[y>>2]=h;f[x>>2]=f[y>>2];ab(d,x,3,B)|0;F=$(n[B>>2]);v=F<$(0.0);g=$(-F);F=$((v?g:F)/$(n[A>>2]));e=~~$(J($($(F*$(f[a>>2]|0))+$(.5))));f[z>>2]=(v?0-e|0:e)+t;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;if(!(b[r>>0]|0))h=f[(f[l>>2]|0)+(i<<2)>>2]|0;else h=i;f[y>>2]=h;f[x>>2]=f[y>>2];ab(d,x,3,C)|0;F=$(n[q>>2]);v=F<$(0.0);g=$(-F);F=$((v?g:F)/$(n[A>>2]));e=~~$(J($($(F*$(f[a>>2]|0))+$(.5))));f[p>>2]=(v?0-e|0:e)+t;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;if(!(b[r>>0]|0))h=f[(f[l>>2]|0)+(i<<2)>>2]|0;else h=i;f[y>>2]=h;f[x>>2]=f[y>>2];ab(d,x,3,D)|0;F=$(n[o>>2]);e=F<$(0.0);g=$(-F);F=$((e?g:F)/$(n[A>>2]));h=~~$(J($($(F*$(f[a>>2]|0))+$(.5))));f[m>>2]=(e?0-h|0:h)+t;h=f[j>>2]|0;if((h|0)==(f[k>>2]|0))th(c,z);else{f[h>>2]=f[z>>2];f[h+4>>2]=f[p>>2];f[h+8>>2]=f[m>>2];f[j>>2]=h+12}i=i+1|0}while((i|0)!=(f[w>>2]|0));u=E;return c|0}function Ic(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+32|0;k=o+4|0;j=o;c=a+16|0;b=f[c>>2]|0;if(b>>>0>203){f[c>>2]=b+-204;l=a+4|0;k=f[l>>2]|0;m=f[k>>2]|0;k=k+4|0;f[l>>2]=k;n=a+8|0;b=f[n>>2]|0;j=a+12|0;i=f[j>>2]|0;d=i;g=b;do if((b|0)==(i|0)){c=f[a>>2]|0;e=c;if(k>>>0>c>>>0){b=k;e=((b-e>>2)+1|0)/-2|0;d=k+(e<<2)|0;b=g-b|0;c=b>>2;if(!c)b=k;else{fm(d|0,k|0,b|0)|0;b=f[l>>2]|0}a=d+(c<<2)|0;f[n>>2]=a;f[l>>2]=b+(e<<2);b=a;break}d=d-e>>1;d=(d|0)==0?1:d;if(d>>>0>1073741823){o=sa(8)|0;xo(o,20710);f[o>>2]=7152;wa(o|0,1112,107)}g=en(d<<2)|0;h=g;e=g+(d>>>2<<2)|0;i=e;g=g+(d<<2)|0;if((k|0)==(b|0))b=i;else{d=e;c=k;e=i;do{f[d>>2]=f[c>>2];d=e+4|0;e=d;c=c+4|0}while((c|0)!=(b|0));c=f[a>>2]|0;b=e}f[a>>2]=h;f[l>>2]=i;f[n>>2]=b;f[j>>2]=g;if(c){tq(c);b=f[n>>2]|0}}while(0);f[b>>2]=m;f[n>>2]=(f[n>>2]|0)+4;u=o;return}n=a+8|0;b=f[n>>2]|0;m=a+4|0;e=b-(f[m>>2]|0)|0;l=a+12|0;c=f[l>>2]|0;d=c-(f[a>>2]|0)|0;if(e>>>0>=d>>>0){b=d>>1;b=(b|0)==0?1:b;f[k+12>>2]=0;f[k+16>>2]=a+12;if(b>>>0>1073741823){o=sa(8)|0;xo(o,20710);f[o>>2]=7152;wa(o|0,1112,107)}d=en(b<<2)|0;f[k>>2]=d;h=d+(e>>2<<2)|0;i=k+8|0;f[i>>2]=h;g=k+4|0;f[g>>2]=h;h=k+12|0;f[h>>2]=d+(b<<2);e=en(4080)|0;f[j>>2]=e;ug(k,j);e=f[n>>2]|0;while(1){b=f[m>>2]|0;if((e|0)==(b|0))break;j=e+-4|0;ng(k,j);e=j}c=b;d=f[a>>2]|0;f[a>>2]=f[k>>2];f[k>>2]=d;f[m>>2]=f[g>>2];f[g>>2]=c;b=f[n>>2]|0;f[n>>2]=f[i>>2];f[i>>2]=b;a=f[l>>2]|0;f[l>>2]=f[h>>2];f[h>>2]=a;if((b|0)!=(e|0))f[i>>2]=b+(~((b+-4-c|0)>>>2)<<2);if(d|0)tq(d);u=o;return}if((c|0)!=(b|0)){n=en(4080)|0;f[k>>2]=n;ug(a,k);u=o;return}j=en(4080)|0;f[k>>2]=j;ng(a,k);j=f[m>>2]|0;k=f[j>>2]|0;j=j+4|0;f[m>>2]=j;b=f[n>>2]|0;i=f[l>>2]|0;c=i;g=b;do if((b|0)==(i|0)){e=f[a>>2]|0;d=e;if(j>>>0>e>>>0){b=j;e=((b-d>>2)+1|0)/-2|0;d=j+(e<<2)|0;b=g-b|0;c=b>>2;if(!c)b=j;else{fm(d|0,j|0,b|0)|0;b=f[m>>2]|0}a=d+(c<<2)|0;f[n>>2]=a;f[m>>2]=b+(e<<2);b=a;break}c=c-d>>1;c=(c|0)==0?1:c;if(c>>>0>1073741823){o=sa(8)|0;xo(o,20710);f[o>>2]=7152;wa(o|0,1112,107)}g=en(c<<2)|0;h=g;d=g+(c>>>2<<2)|0;i=d;g=g+(c<<2)|0;if((j|0)==(b|0)){c=e;b=i}else{c=j;e=i;do{f[d>>2]=f[c>>2];d=e+4|0;e=d;c=c+4|0}while((c|0)!=(b|0));c=f[a>>2]|0;b=e}f[a>>2]=h;f[m>>2]=i;f[n>>2]=b;f[l>>2]=g;if(c){tq(c);b=f[n>>2]|0}}while(0);f[b>>2]=k;f[n>>2]=(f[n>>2]|0)+4;u=o;return}function Jc(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;switch(c|0){case 1:{b=en(60)|0;f[b>>2]=1544;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Qj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2020;e=b;f[a>>2]=e;return}case 2:{b=en(60)|0;f[b>>2]=1544;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Qj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2076;e=b;f[a>>2]=e;return}case 4:{b=en(112)|0;f[b>>2]=1544;f[b+4>>2]=d;h=b+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];Qj(b+32|0,e+24|0);h=b+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[b>>2]=2132;h=b+60|0;c=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(c|0));e=b;f[a>>2]=e;return}case 3:{b=en(88)|0;f[b>>2]=1544;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Qj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2188;e=b+60|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;e=b;f[a>>2]=e;return}case 5:{b=en(104)|0;f[b>>2]=1544;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Qj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2244;f[b+60>>2]=0;f[b+64>>2]=0;f[b+76>>2]=0;f[b+80>>2]=0;f[b+84>>2]=0;e=b+88|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];e=b;f[a>>2]=e;return}case 6:{b=en(140)|0;f[b>>2]=1544;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Qj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2300;f[b+64>>2]=0;f[b+68>>2]=0;e=b+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b+60>>2]=2356;f[b+88>>2]=1;e=b+92|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;gn(b+108|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function Kc(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;switch(c|0){case 1:{b=en(60)|0;f[b>>2]=1544;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Qj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1656;e=b;f[a>>2]=e;return}case 2:{b=en(60)|0;f[b>>2]=1544;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Qj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1712;e=b;f[a>>2]=e;return}case 4:{b=en(112)|0;f[b>>2]=1544;f[b+4>>2]=d;h=b+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];Qj(b+32|0,e+24|0);h=b+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[b>>2]=1768;h=b+60|0;c=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(c|0));e=b;f[a>>2]=e;return}case 3:{b=en(88)|0;f[b>>2]=1544;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Qj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1824;e=b+60|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;e=b;f[a>>2]=e;return}case 5:{b=en(104)|0;f[b>>2]=1544;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Qj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1880;f[b+60>>2]=0;f[b+64>>2]=0;f[b+76>>2]=0;f[b+80>>2]=0;f[b+84>>2]=0;e=b+88|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];e=b;f[a>>2]=e;return}case 6:{b=en(140)|0;f[b>>2]=1544;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Qj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1936;f[b+64>>2]=0;f[b+68>>2]=0;e=b+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b+60>>2]=1992;f[b+88>>2]=1;e=b+92|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;gn(b+108|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function Lc(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|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,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,J=0;F=u;u=u+352|0;C=F+340|0;B=F+336|0;l=F+80|0;E=F+48|0;D=F;fj(l|0,0,256)|0;i=f[e+4>>2]|0;j=f[e>>2]|0;k=j;if((i|0)!=(j|0)){j=i-j>>2;i=0;do{A=l+(f[k+(i<<2)>>2]<<3)|0;z=A;z=Qn(f[z>>2]|0,f[z+4>>2]|0,1,0)|0;f[A>>2]=z;f[A+4>>2]=I;i=i+1|0}while(i>>>0>>0)}pn(E);w=c<<5;y=D+40|0;z=y;f[z>>2]=0;f[z+4>>2]=0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;f[D+16>>2]=0;f[D+20>>2]=0;cd(D,l,32,g)|0;z=D+16|0;z=zn(f[z>>2]|0,f[z+4>>2]|0,1)|0;A=g+4|0;x=(f[A>>2]|0)-(f[g>>2]|0)|0;v=y;f[v>>2]=x;f[v+4>>2]=0;z=Qn(z|0,I|0,39,0)|0;z=En(z|0,I|0,3)|0;z=Qn(z|0,I|0,8,0)|0;x=Qn(z|0,I|0,x|0,0)|0;tl(g,x,I);x=D+24|0;f[x>>2]=(f[g>>2]|0)+(f[y>>2]|0);y=D+28|0;f[y>>2]=0;z=D+32|0;f[z>>2]=16384;wi(E,w,((w|0)<0)<<31>>31,0)|0;w=c-d|0;a:do if((w|0)>-1){t=(d|0)>0;s=E+16|0;r=E+12|0;v=w;b:while(1){j=f[e>>2]|0;l=f[j+(((v|0)/(d|0)|0)<<2)>>2]|0;c=f[D>>2]|0;m=f[c+(l<<3)>>2]|0;i=f[z>>2]|0;k=m<<10;if(i>>>0>=k>>>0){do{p=f[x>>2]|0;q=f[y>>2]|0;f[y>>2]=q+1;b[p+q>>0]=i;i=(f[z>>2]|0)>>>8;f[z>>2]=i}while(i>>>0>=k>>>0);j=f[e>>2]|0}f[z>>2]=(((i>>>0)/(m>>>0)|0)<<12)+((i>>>0)%(m>>>0)|0)+(f[c+(l<<3)+4>>2]|0);q=w-v|0;j=f[j+(((q|0)/(d|0)|0)<<2)>>2]|0;c:do if(t){o=(j|0)<33;p=(j|0)>0;if((j|0)>-1)n=0;else{i=s;j=f[i+4>>2]|0;i=(j|0)>0|(j|0)==0&(f[i>>2]|0)>>>0>0;j=0;while(1){if(i){i=21;break b}j=j+1|0;if((j|0)>=(d|0))break c}}do{k=f[a+(n+q<<2)>>2]|0;m=s;c=f[m+4>>2]|0;if((c|0)>0|(c|0)==0&(f[m>>2]|0)>>>0>0){l=f[r>>2]|0;if(!o){i=22;break b}if(p){m=l+4|0;i=f[m>>2]|0;c=0;do{G=i>>>3;H=i&7;J=(f[l>>2]|0)+G|0;b[J>>0]=(h[J>>0]|0)&(1<>2]|0)+G|0;b[G>>0]=h[G>>0]|0|(k>>>c&1)<>2]|0)+1|0;f[m>>2]=i;c=c+1|0}while((c|0)!=(j|0))}}n=n+1|0}while((n|0)<(d|0))}while(0);v=v-d|0;if((v|0)<=-1)break a}if((i|0)==21)ra(19371,19386,88,19473);else if((i|0)==22)ra(19481,19386,89,19473)}while(0);rg(D,g);Tf(E);i=f[E>>2]|0;l=E+4|0;J=g+16|0;H=f[J+4>>2]|0;if(!((H|0)>0|(H|0)==0&(f[J>>2]|0)>>>0>0)){J=(f[l>>2]|0)-i|0;f[B>>2]=f[A>>2];f[C>>2]=f[B>>2];Me(g,C,i,i+J|0)|0}k=f[D>>2]|0;if(k|0){j=D+4|0;i=f[j>>2]|0;if((i|0)!=(k|0))f[j>>2]=i+(~((i+-8-k|0)>>>3)<<3);tq(k)}J=E+12|0;i=f[J>>2]|0;f[J>>2]=0;if(i|0)tq(i);i=f[E>>2]|0;if(!i){u=F;return 1}if((f[l>>2]|0)!=(i|0))f[l>>2]=i;tq(i);u=F;return 1} function Xa(a){a=a|0;var b=0,c=0,d=0,e=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,v=0,w=0,x=0;x=u;u=u+16|0;n=x;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=f[6040]|0;c=m>>>a;if(c&3|0){d=(c&1^1)+a|0;e=24200+(d<<1<<2)|0;b=e+8|0;a=f[b>>2]|0;g=a+8|0;c=f[g>>2]|0;if((e|0)==(c|0))f[6040]=m&~(1<>2]=e;f[b>>2]=c}w=d<<3;f[a+4>>2]=w|3;w=a+w+4|0;f[w>>2]=f[w>>2]|1;w=g;u=x;return w|0}l=f[6042]|0;if(k>>>0>l>>>0){if(c|0){h=2<>>12&16;c=c>>>h;a=c>>>5&8;c=c>>>a;e=c>>>2&4;c=c>>>e;b=c>>>1&2;c=c>>>b;d=c>>>1&1;d=(a|h|e|b|d)+(c>>>d)|0;c=24200+(d<<1<<2)|0;b=c+8|0;e=f[b>>2]|0;h=e+8|0;a=f[h>>2]|0;if((c|0)==(a|0)){a=m&~(1<>2]=c;f[b>>2]=a;a=m}g=(d<<3)-k|0;f[e+4>>2]=k|3;e=e+k|0;f[e+4>>2]=g|1;f[e+g>>2]=g;if(l|0){d=f[6045]|0;b=l>>>3;c=24200+(b<<1<<2)|0;b=1<>2]|0}f[b>>2]=d;f[a+12>>2]=d;f[d+8>>2]=a;f[d+12>>2]=c}f[6042]=g;f[6045]=e;w=h;u=x;return w|0}i=f[6041]|0;if(i){c=(i&0-i)+-1|0;h=c>>>12&16;c=c>>>h;g=c>>>5&8;c=c>>>g;j=c>>>2&4;c=c>>>j;a=c>>>1&2;c=c>>>a;d=c>>>1&1;d=f[24464+((g|h|j|a|d)+(c>>>d)<<2)>>2]|0;c=(f[d+4>>2]&-8)-k|0;a=f[d+16+(((f[d+16>>2]|0)==0&1)<<2)>>2]|0;if(!a){j=c;h=d}else{do{h=(f[a+4>>2]&-8)-k|0;j=h>>>0>>0;c=j?h:c;d=j?a:d;a=f[a+16+(((f[a+16>>2]|0)==0&1)<<2)>>2]|0}while((a|0)!=0);j=c;h=d}g=h+k|0;if(h>>>0>>0){e=f[h+24>>2]|0;b=f[h+12>>2]|0;do if((b|0)==(h|0)){a=h+20|0;b=f[a>>2]|0;if(!b){a=h+16|0;b=f[a>>2]|0;if(!b){c=0;break}}while(1){d=b+20|0;c=f[d>>2]|0;if(c|0){b=c;a=d;continue}d=b+16|0;c=f[d>>2]|0;if(!c)break;else{b=c;a=d}}f[a>>2]=0;c=b}else{c=f[h+8>>2]|0;f[c+12>>2]=b;f[b+8>>2]=c;c=b}while(0);do if(e|0){b=f[h+28>>2]|0;a=24464+(b<<2)|0;if((h|0)==(f[a>>2]|0)){f[a>>2]=c;if(!c){f[6041]=i&~(1<>2]|0)!=(h|0)&1)<<2)>>2]=c;if(!c)break}f[c+24>>2]=e;b=f[h+16>>2]|0;if(b|0){f[c+16>>2]=b;f[b+24>>2]=c}b=f[h+20>>2]|0;if(b|0){f[c+20>>2]=b;f[b+24>>2]=c}}while(0);if(j>>>0<16){w=j+k|0;f[h+4>>2]=w|3;w=h+w+4|0;f[w>>2]=f[w>>2]|1}else{f[h+4>>2]=k|3;f[g+4>>2]=j|1;f[g+j>>2]=j;if(l|0){d=f[6045]|0;b=l>>>3;c=24200+(b<<1<<2)|0;b=1<>2]|0}f[b>>2]=d;f[a+12>>2]=d;f[d+8>>2]=a;f[d+12>>2]=c}f[6042]=j;f[6045]=g}w=h+8|0;u=x;return w|0}else m=k}else m=k}else m=k}else if(a>>>0<=4294967231){a=a+11|0;k=a&-8;d=f[6041]|0;if(d){c=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{m=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;j=14-(l|m|j)+(v<>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;a=f[24464+(j<<2)>>2]|0;a:do if(!a){e=0;a=0;v=57}else{e=0;h=k<<((j|0)==31?0:25-(j>>>1)|0);i=a;a=0;while(1){g=(f[i+4>>2]&-8)-k|0;if(g>>>0>>0)if(!g){c=0;e=i;a=i;v=61;break a}else{c=g;a=i}g=f[i+20>>2]|0;i=f[i+16+(h>>>31<<2)>>2]|0;e=(g|0)==0|(g|0)==(i|0)?e:g;g=(i|0)==0;if(g){v=57;break}else h=h<<((g^1)&1)}}while(0);if((v|0)==57){if((e|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>j;i=a>>>5&8;a=a>>>i;l=a>>>2&4;a=a>>>l;m=a>>>1&2;a=a>>>m;e=a>>>1&1;e=f[24464+((i|j|l|m|e)+(a>>>e)<<2)>>2]|0;a=0}if(!e){i=c;j=a}else v=61}if((v|0)==61)while(1){v=0;l=(f[e+4>>2]&-8)-k|0;m=l>>>0>>0;c=m?l:c;a=m?e:a;e=f[e+16+(((f[e+16>>2]|0)==0&1)<<2)>>2]|0;if(!e){i=c;j=a;break}else v=61}if((j|0)!=0?i>>>0<((f[6042]|0)-k|0)>>>0:0){h=j+k|0;if(j>>>0>=h>>>0){w=0;u=x;return w|0}g=f[j+24>>2]|0;b=f[j+12>>2]|0;do if((b|0)==(j|0)){a=j+20|0;b=f[a>>2]|0;if(!b){a=j+16|0;b=f[a>>2]|0;if(!b){b=0;break}}while(1){e=b+20|0;c=f[e>>2]|0;if(c|0){b=c;a=e;continue}e=b+16|0;c=f[e>>2]|0;if(!c)break;else{b=c;a=e}}f[a>>2]=0}else{w=f[j+8>>2]|0;f[w+12>>2]=b;f[b+8>>2]=w}while(0);do if(g){a=f[j+28>>2]|0;c=24464+(a<<2)|0;if((j|0)==(f[c>>2]|0)){f[c>>2]=b;if(!b){d=d&~(1<>2]|0)!=(j|0)&1)<<2)>>2]=b;if(!b)break}f[b+24>>2]=g;a=f[j+16>>2]|0;if(a|0){f[b+16>>2]=a;f[a+24>>2]=b}a=f[j+20>>2]|0;if(a){f[b+20>>2]=a;f[a+24>>2]=b}}while(0);do if(i>>>0>=16){f[j+4>>2]=k|3;f[h+4>>2]=i|1;f[h+i>>2]=i;b=i>>>3;if(i>>>0<256){c=24200+(b<<1<<2)|0;a=f[6040]|0;b=1<>2]|0}f[b>>2]=h;f[a+12>>2]=h;f[h+8>>2]=a;f[h+12>>2]=c;break}b=i>>>8;if(b)if(i>>>0>16777215)b=31;else{v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;b=14-(t|v|b)+(w<>>15)|0;b=i>>>(b+7|0)&1|b<<1}else b=0;c=24464+(b<<2)|0;f[h+28>>2]=b;a=h+16|0;f[a+4>>2]=0;f[a>>2]=0;a=1<>2]=h;f[h+24>>2]=c;f[h+12>>2]=h;f[h+8>>2]=h;break}a=i<<((b|0)==31?0:25-(b>>>1)|0);c=f[c>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(i|0)){v=97;break}d=c+16+(a>>>31<<2)|0;b=f[d>>2]|0;if(!b){v=96;break}else{a=a<<1;c=b}}if((v|0)==96){f[d>>2]=h;f[h+24>>2]=c;f[h+12>>2]=h;f[h+8>>2]=h;break}else if((v|0)==97){v=c+8|0;w=f[v>>2]|0;f[w+12>>2]=h;f[v>>2]=h;f[h+8>>2]=w;f[h+12>>2]=c;f[h+24>>2]=0;break}}else{w=i+k|0;f[j+4>>2]=w|3;w=j+w+4|0;f[w>>2]=f[w>>2]|1}while(0);w=j+8|0;u=x;return w|0}else m=k}else m=k}else m=-1;while(0);c=f[6042]|0;if(c>>>0>=m>>>0){a=c-m|0;b=f[6045]|0;if(a>>>0>15){w=b+m|0;f[6045]=w;f[6042]=a;f[w+4>>2]=a|1;f[w+a>>2]=a;f[b+4>>2]=m|3}else{f[6042]=0;f[6045]=0;f[b+4>>2]=c|3;w=b+c+4|0;f[w>>2]=f[w>>2]|1}w=b+8|0;u=x;return w|0}h=f[6043]|0;if(h>>>0>m>>>0){t=h-m|0;f[6043]=t;w=f[6046]|0;v=w+m|0;f[6046]=v;f[v+4>>2]=t|1;f[w+4>>2]=m|3;w=w+8|0;u=x;return w|0}if(!(f[6158]|0)){f[6160]=4096;f[6159]=4096;f[6161]=-1;f[6162]=-1;f[6163]=0;f[6151]=0;a=n&-16^1431655768;f[n>>2]=a;f[6158]=a;a=4096}else a=f[6160]|0;i=m+48|0;j=m+47|0;g=a+j|0;d=0-a|0;k=g&d;if(k>>>0<=m>>>0){w=0;u=x;return w|0}a=f[6150]|0;if(a|0?(l=f[6148]|0,n=l+k|0,n>>>0<=l>>>0|n>>>0>a>>>0):0){w=0;u=x;return w|0}b:do if(!(f[6151]&4)){c=f[6046]|0;c:do if(c){e=24608;while(1){a=f[e>>2]|0;if(a>>>0<=c>>>0?(q=e+4|0,(a+(f[q>>2]|0)|0)>>>0>c>>>0):0)break;a=f[e+8>>2]|0;if(!a){v=118;break c}else e=a}b=g-h&d;if(b>>>0<2147483647){a=wl(b|0)|0;if((a|0)==((f[e>>2]|0)+(f[q>>2]|0)|0)){if((a|0)!=(-1|0)){h=a;g=b;v=135;break b}}else{d=a;v=126}}else b=0}else v=118;while(0);do if((v|0)==118){c=wl(0)|0;if((c|0)!=(-1|0)?(b=c,o=f[6159]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=f[6148]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){q=f[6150]|0;if(q|0?p>>>0<=o>>>0|p>>>0>q>>>0:0){b=0;break}a=wl(b|0)|0;if((a|0)==(c|0)){h=c;g=b;v=135;break b}else{d=a;v=126}}else b=0}while(0);do if((v|0)==126){c=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(d|0)!=(-1|0))))if((d|0)==(-1|0)){b=0;break}else{h=d;g=b;v=135;break b}a=f[6160]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=d;g=b;v=135;break b}if((wl(a|0)|0)==(-1|0)){wl(c|0)|0;b=0;break}else{h=d;g=a+b|0;v=135;break b}}while(0);f[6151]=f[6151]|4;v=133}else{b=0;v=133}while(0);if(((v|0)==133?k>>>0<2147483647:0)?(r=wl(k|0)|0,q=wl(0)|0,t=q-r|0,s=t>>>0>(m+40|0)>>>0,!((r|0)==(-1|0)|s^1|r>>>0>>0&((r|0)!=(-1|0)&(q|0)!=(-1|0))^1)):0){h=r;g=s?t:b;v=135}if((v|0)==135){b=(f[6148]|0)+g|0;f[6148]=b;if(b>>>0>(f[6149]|0)>>>0)f[6149]=b;j=f[6046]|0;do if(j){e=24608;while(1){b=f[e>>2]|0;d=e+4|0;a=f[d>>2]|0;if((h|0)==(b+a|0)){v=145;break}c=f[e+8>>2]|0;if(!c)break;else e=c}if(((v|0)==145?(f[e+12>>2]&8|0)==0:0)?j>>>0>>0&j>>>0>=b>>>0:0){f[d>>2]=a+g;w=j+8|0;w=(w&7|0)==0?0:0-w&7;v=j+w|0;w=(f[6043]|0)+(g-w)|0;f[6046]=v;f[6043]=w;f[v+4>>2]=w|1;f[v+w+4>>2]=40;f[6047]=f[6162];break}if(h>>>0<(f[6044]|0)>>>0)f[6044]=h;c=h+g|0;a=24608;while(1){if((f[a>>2]|0)==(c|0)){v=153;break}b=f[a+8>>2]|0;if(!b)break;else a=b}if((v|0)==153?(f[a+12>>2]&8|0)==0:0){f[a>>2]=h;l=a+4|0;f[l>>2]=(f[l>>2]|0)+g;l=h+8|0;l=h+((l&7|0)==0?0:0-l&7)|0;b=c+8|0;b=c+((b&7|0)==0?0:0-b&7)|0;k=l+m|0;i=b-l-m|0;f[l+4>>2]=m|3;do if((b|0)!=(j|0)){if((b|0)==(f[6045]|0)){w=(f[6042]|0)+i|0;f[6042]=w;f[6045]=k;f[k+4>>2]=w|1;f[k+w>>2]=w;break}a=f[b+4>>2]|0;if((a&3|0)==1){h=a&-8;d=a>>>3;d:do if(a>>>0<256){a=f[b+8>>2]|0;c=f[b+12>>2]|0;if((c|0)==(a|0)){f[6040]=f[6040]&~(1<>2]=c;f[c+8>>2]=a;break}}else{g=f[b+24>>2]|0;a=f[b+12>>2]|0;do if((a|0)==(b|0)){d=b+16|0;c=d+4|0;a=f[c>>2]|0;if(!a){a=f[d>>2]|0;if(!a){a=0;break}else e=d}else e=c;while(1){d=a+20|0;c=f[d>>2]|0;if(c|0){a=c;e=d;continue}d=a+16|0;c=f[d>>2]|0;if(!c)break;else{a=c;e=d}}f[e>>2]=0}else{w=f[b+8>>2]|0;f[w+12>>2]=a;f[a+8>>2]=w}while(0);if(!g)break;c=f[b+28>>2]|0;d=24464+(c<<2)|0;do if((b|0)!=(f[d>>2]|0)){f[g+16+(((f[g+16>>2]|0)!=(b|0)&1)<<2)>>2]=a;if(!a)break d}else{f[d>>2]=a;if(a|0)break;f[6041]=f[6041]&~(1<>2]=g;d=b+16|0;c=f[d>>2]|0;if(c|0){f[a+16>>2]=c;f[c+24>>2]=a}c=f[d+4>>2]|0;if(!c)break;f[a+20>>2]=c;f[c+24>>2]=a}while(0);b=b+h|0;e=h+i|0}else e=i;b=b+4|0;f[b>>2]=f[b>>2]&-2;f[k+4>>2]=e|1;f[k+e>>2]=e;b=e>>>3;if(e>>>0<256){c=24200+(b<<1<<2)|0;a=f[6040]|0;b=1<>2]|0}f[b>>2]=k;f[a+12>>2]=k;f[k+8>>2]=a;f[k+12>>2]=c;break}b=e>>>8;do if(!b)a=0;else{if(e>>>0>16777215){a=31;break}v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;a=14-(t|v|a)+(w<>>15)|0;a=e>>>(a+7|0)&1|a<<1}while(0);d=24464+(a<<2)|0;f[k+28>>2]=a;b=k+16|0;f[b+4>>2]=0;f[b>>2]=0;b=f[6041]|0;c=1<>2]=k;f[k+24>>2]=d;f[k+12>>2]=k;f[k+8>>2]=k;break}a=e<<((a|0)==31?0:25-(a>>>1)|0);c=f[d>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(e|0)){v=194;break}d=c+16+(a>>>31<<2)|0;b=f[d>>2]|0;if(!b){v=193;break}else{a=a<<1;c=b}}if((v|0)==193){f[d>>2]=k;f[k+24>>2]=c;f[k+12>>2]=k;f[k+8>>2]=k;break}else if((v|0)==194){v=c+8|0;w=f[v>>2]|0;f[w+12>>2]=k;f[v>>2]=k;f[k+8>>2]=w;f[k+12>>2]=c;f[k+24>>2]=0;break}}else{w=(f[6043]|0)+i|0;f[6043]=w;f[6046]=k;f[k+4>>2]=w|1}while(0);w=l+8|0;u=x;return w|0}a=24608;while(1){b=f[a>>2]|0;if(b>>>0<=j>>>0?(w=b+(f[a+4>>2]|0)|0,w>>>0>j>>>0):0)break;a=f[a+8>>2]|0}e=w+-47|0;a=e+8|0;a=e+((a&7|0)==0?0:0-a&7)|0;e=j+16|0;a=a>>>0>>0?j:a;b=a+8|0;c=h+8|0;c=(c&7|0)==0?0:0-c&7;v=h+c|0;c=g+-40-c|0;f[6046]=v;f[6043]=c;f[v+4>>2]=c|1;f[v+c+4>>2]=40;f[6047]=f[6162];c=a+4|0;f[c>>2]=27;f[b>>2]=f[6152];f[b+4>>2]=f[6153];f[b+8>>2]=f[6154];f[b+12>>2]=f[6155];f[6152]=h;f[6153]=g;f[6155]=0;f[6154]=b;b=a+24|0;do{v=b;b=b+4|0;f[b>>2]=7}while((v+8|0)>>>0>>0);if((a|0)!=(j|0)){g=a-j|0;f[c>>2]=f[c>>2]&-2;f[j+4>>2]=g|1;f[a>>2]=g;b=g>>>3;if(g>>>0<256){c=24200+(b<<1<<2)|0;a=f[6040]|0;b=1<>2]|0}f[b>>2]=j;f[a+12>>2]=j;f[j+8>>2]=a;f[j+12>>2]=c;break}b=g>>>8;if(b)if(g>>>0>16777215)c=31;else{v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;c=14-(t|v|c)+(w<>>15)|0;c=g>>>(c+7|0)&1|c<<1}else c=0;d=24464+(c<<2)|0;f[j+28>>2]=c;f[j+20>>2]=0;f[e>>2]=0;b=f[6041]|0;a=1<>2]=j;f[j+24>>2]=d;f[j+12>>2]=j;f[j+8>>2]=j;break}a=g<<((c|0)==31?0:25-(c>>>1)|0);c=f[d>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(g|0)){v=216;break}d=c+16+(a>>>31<<2)|0;b=f[d>>2]|0;if(!b){v=215;break}else{a=a<<1;c=b}}if((v|0)==215){f[d>>2]=j;f[j+24>>2]=c;f[j+12>>2]=j;f[j+8>>2]=j;break}else if((v|0)==216){v=c+8|0;w=f[v>>2]|0;f[w+12>>2]=j;f[v>>2]=j;f[j+8>>2]=w;f[j+12>>2]=c;f[j+24>>2]=0;break}}}else{w=f[6044]|0;if((w|0)==0|h>>>0>>0)f[6044]=h;f[6152]=h;f[6153]=g;f[6155]=0;f[6049]=f[6158];f[6048]=-1;b=0;do{w=24200+(b<<1<<2)|0;f[w+12>>2]=w;f[w+8>>2]=w;b=b+1|0}while((b|0)!=32);w=h+8|0;w=(w&7|0)==0?0:0-w&7;v=h+w|0;w=g+-40-w|0;f[6046]=v;f[6043]=w;f[v+4>>2]=w|1;f[v+w+4>>2]=40;f[6047]=f[6162]}while(0);b=f[6043]|0;if(b>>>0>m>>>0){t=b-m|0;f[6043]=t;w=f[6046]|0;v=w+m|0;f[6046]=v;f[v+4>>2]=t|1;f[w+4>>2]=m|3;w=w+8|0;u=x;return w|0}}w=iq()|0;f[w>>2]=12;w=0;u=x;return w|0}function Ya(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=u;u=u+16|0;b=l;j=l+8|0;c=l+4|0;f[j>>2]=a;do if(a>>>0>=212){i=(a>>>0)/210|0;e=i*210|0;f[c>>2]=a-e;h=(yl(6844,7036,c,b)|0)-6844>>2;a=e;e=0;a:while(1){b=(f[6844+(h<<2)>>2]|0)+a|0;d=5;while(1){if(d>>>0>=47){g=211;c=e;k=8;break}a=f[6652+(d<<2)>>2]|0;c=(b>>>0)/(a>>>0)|0;if(c>>>0>>0){k=106;break a}if((b|0)==(X(c,a)|0)){b=e;break}else d=d+1|0}b:do if((k|0)==8){c:while(1){k=0;a=(b>>>0)/(g>>>0)|0;do if(a>>>0>=g>>>0)if((b|0)!=(X(a,g)|0)){d=g+10|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+12|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+16|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+18|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+22|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+28|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)==(X(a,d)|0)){e=9;a=d}else{d=g+30|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+36|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+40|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+42|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+46|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+52|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+58|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+60|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+66|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+70|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+72|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+78|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+82|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+88|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+96|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+100|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+102|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+106|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+108|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+112|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+120|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+126|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+130|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+136|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+138|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+142|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+148|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+150|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+156|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+162|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+166|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+168|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+172|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+178|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+180|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+186|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+190|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+192|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+196|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+198|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}a=g+208|0;m=(b>>>0)/(a>>>0)|0;d=m>>>0>>0;m=(b|0)==(X(m,a)|0);e=d?1:m?9:0;a=d|m?a:g+210|0;c=d?b:c}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=g}else{e=1;a=g;c=b}while(0);switch(e&15){case 9:{b=c;break b}case 0:{g=a;k=8;break}default:break c}}if(!e)b=c;else{k=107;break a}}while(0);e=h+1|0;m=(e|0)==48;a=(m&1)+i|0;h=m?0:e;i=a;a=a*210|0;e=b}if((k|0)==106){f[j>>2]=b;break}else if((k|0)==107){f[j>>2]=b;b=c;break}}else{b=yl(6652,6844,j,b)|0;b=f[b>>2]|0}while(0);u=l;return b|0}function Za(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=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,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;ja=u;u=u+112|0;Y=ja+100|0;V=ja+96|0;ia=ja+48|0;fa=ja+32|0;_=ja+104|0;Z=ja+8|0;U=ja+4|0;W=ja;ga=a+8|0;f[ga>>2]=g;l=a+32|0;k=a+36|0;j=f[k>>2]|0;i=f[l>>2]|0;m=j-i>>2;if(m>>>0>=g>>>0){if(m>>>0>g>>>0?(n=i+(g<<2)|0,(j|0)!=(n|0)):0)f[k>>2]=j+(~((j+-4-n|0)>>>2)<<2)}else ri(l,g-m|0);if(e|0){i=f[c>>2]|0;if((e|0)>1){k=1;j=i;do{T=f[c+(k<<2)>>2]|0;S=(T|0)<(i|0);i=S?T:i;j=S?j:(T|0)>(j|0)?T:j;k=k+1|0}while((k|0)!=(e|0))}else j=i;f[a+12>>2]=i;f[a+16>>2]=j;T=1-i+j|0;f[a+20>>2]=T;i=(T|0)/2|0;j=a+24|0;f[j>>2]=i;f[a+28>>2]=0-i;if(!(T&1))f[j>>2]=i+-1}R=f[a+48>>2]|0;S=f[a+52>>2]|0;i=ia;j=i+48|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));if(!g){i=0;j=0}else{ri(ia,g);i=f[ia+12>>2]|0;j=f[ia+16>>2]|0}k=ia+16|0;l=j-i>>2;if(l>>>0>=g>>>0){if(l>>>0>g>>>0?(o=i+(g<<2)|0,(j|0)!=(o|0)):0)f[k>>2]=j+(~((j+-4-o|0)>>>2)<<2)}else ri(ia+12|0,g-l|0);l=ia+24|0;k=ia+28|0;j=f[k>>2]|0;i=f[l>>2]|0;m=j-i>>2;if(m>>>0>=g>>>0){if(m>>>0>g>>>0?(p=i+(g<<2)|0,(j|0)!=(p|0)):0)f[k>>2]=j+(~((j+-4-p|0)>>>2)<<2)}else ri(l,g-m|0);l=ia+36|0;k=ia+40|0;j=f[k>>2]|0;i=f[l>>2]|0;m=j-i>>2;if(m>>>0>=g>>>0){if(m>>>0>g>>>0?(q=i+(g<<2)|0,(j|0)!=(q|0)):0)f[k>>2]=j+(~((j+-4-q|0)>>>2)<<2)}else ri(l,g-m|0);f[fa>>2]=0;T=fa+4|0;f[T>>2]=0;f[fa+8>>2]=0;do if(g|0)if(g>>>0>1073741823)Jp(fa);else{P=g<<2;O=en(P)|0;f[fa>>2]=O;Q=O+(g<<2)|0;f[fa+8>>2]=Q;fj(O|0,0,P|0)|0;f[T>>2]=Q;break}while(0);Q=a+56|0;k=f[Q>>2]|0;l=f[k+4>>2]|0;m=f[k>>2]|0;i=l-m|0;a:do if((i|0)>4){j=i>>2;H=R+64|0;B=R+28|0;F=(g|0)>0;G=Z+4|0;O=Z+8|0;P=Z+12|0;L=a+16|0;D=a+32|0;N=a+12|0;M=a+28|0;K=a+20|0;J=a+24|0;C=Z+12|0;E=Z+16|0;I=_+1|0;A=g<<2;i=j+-1|0;if(l-m>>2>>>0>i>>>0){r=m;v=j;da=i}else{z=k;Jp(z)}b:while(1){p=f[r+(da<<2)>>2]|0;s=p+((p|0)<0?0:((p>>>0)%3|0|0)==0?2:-1)|0;r=s>>>5;t=1<<(s&31);q=(s|0)<0;i=p;o=1;j=0;c:while(1){do{if((i|0)<=-1){y=j;break c}k=f[ia+(j*12|0)>>2]|0;if(((f[(f[R>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)==0?(ea=f[(f[(f[H>>2]|0)+12>>2]|0)+(i<<2)>>2]|0,(ea|0)>=0):0)?(ca=f[B>>2]|0,z=f[S>>2]|0,aa=f[z+(f[ca+(ea<<2)>>2]<<2)>>2]|0,ba=ea+1|0,ba=f[z+(f[ca+((((ba|0)%3|0|0)==0?ea+-2|0:ba)<<2)>>2]<<2)>>2]|0,ca=f[z+(f[ca+((((ea>>>0)%3|0|0)==0?2:-1)+ea<<2)>>2]<<2)>>2]|0,(aa|0)<(da|0)&(ba|0)<(da|0)&(ca|0)<(da|0)):0){m=X(aa,g)|0;n=X(ba,g)|0;e=X(ca,g)|0;if(F){l=0;do{f[k+(l<<2)>>2]=(f[c+(l+e<<2)>>2]|0)+(f[c+(l+n<<2)>>2]|0)-(f[c+(l+m<<2)>>2]|0);l=l+1|0}while((l|0)!=(g|0))}j=j+1|0;if((j|0)==4){y=4;break c}}do if(o){k=i+1|0;i=((k|0)%3|0|0)==0?i+-2|0:k;k=f[R>>2]|0;if(!(f[k+(i>>>5<<2)>>2]&1<<(i&31))){if((i|0)>=0){i=f[(f[(f[H>>2]|0)+12>>2]|0)+(i<<2)>>2]|0;l=i+1|0;if((i|0)>=0)i=((l|0)%3|0|0)==0?i+-2|0:l}}else i=-1073741824}else{i=(((i>>>0)%3|0|0)==0?2:-1)+i|0;k=f[R>>2]|0;if(!(f[k+(i>>>5<<2)>>2]&1<<(i&31))){if((i|0)>=0){i=f[(f[(f[H>>2]|0)+12>>2]|0)+(i<<2)>>2]|0;if((i|0)>=0)if(!((i>>>0)%3|0)){i=i+2|0;break}else{i=i+-1|0;break}}}else i=-1073741824}while(0);if((i|0)==(p|0)){y=j;break c}}while(!(o&(i|0)<0));i=(t&f[k+(r<<2)>>2]|0)!=0;if(i|q){i=i?-1073741824:s;o=0;continue}i=f[(f[(f[H>>2]|0)+12>>2]|0)+(s<<2)>>2]|0;if((i|0)<0){o=0;continue}if(!((i>>>0)%3|0)){i=i+2|0;o=0;continue}else{i=i+-1|0;o=0;continue}}z=X(da,g)|0;f[Z>>2]=2147483647;b[G>>0]=0;f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;f[O+12>>2]=0;k=X(v+-2|0,g)|0;if(F){i=0;j=0;do{x=(f[c+(j+z<<2)>>2]|0)-(f[c+(j+k<<2)>>2]|0)|0;i=((x|0)>-1?x:0-x|0)+i|0;j=j+1|0}while((j|0)!=(g|0))}else i=0;f[Z>>2]=i;b[G>>0]=0;f[O>>2]=0;x=c+(k<<2)|0;Qf(P,x,x+(g<<2)|0);if((y|0)>=1){p=_+y|0;v=p+-1|0;r=(v|0)==(_|0);t=p+-2|0;q=I>>>0>>0;o=~y;o=y+2+((o|0)>-2?o:-2)|0;s=v>>>0>_>>>0;w=0;x=1;while(1){w=w+1|0;fj(_|0,1,o|0)|0;fj(_|0,0,w|0)|0;d:while(1){if(F){fj(f[fa>>2]|0,0,A|0)|0;l=f[fa>>2]|0;i=0;m=0;do{if(!(b[_+m>>0]|0)){j=f[ia+(m*12|0)>>2]|0;k=0;do{e=l+(k<<2)|0;f[e>>2]=(f[e>>2]|0)+(f[j+(k<<2)>>2]|0);k=k+1|0}while((k|0)!=(g|0));i=(1<>0]|0))i=(1<>2]|0;j=0;l=0;do{n=k+(l<<2)|0;e=(f[n>>2]|0)/(x|0)|0;f[n>>2]=e;e=e-(f[c+(l+z<<2)>>2]|0)|0;j=((e|0)>-1?e:0-e|0)+j|0;l=l+1|0}while((l|0)!=(g|0))}else j=0;if((j|0)<(f[Z>>2]|0)){f[Z>>2]=j;b[G>>0]=i;f[O>>2]=x;f[U>>2]=f[fa>>2];f[W>>2]=f[T>>2];f[V>>2]=f[U>>2];f[Y>>2]=f[W>>2];Df(P,V,Y)}if(r)break;$=b[v>>0]|0;m=$;n=-1;while(1){i=n+-1|0;e=p+i|0;l=m;m=b[e>>0]|0;if((m&255)<(l&255))break;if((e|0)==(_|0)){ha=78;break d}else n=i}i=p+n|0;if((m&255)<($&255)){k=$;j=v}else{k=p;l=v;while(1){j=l+-1|0;if((m&255)<(h[k+-2>>0]|0)){k=1;break}else{k=l;l=j}}}b[e>>0]=k;b[j>>0]=m;if((n|0)<-1)j=v;else continue;while(1){e=b[i>>0]|0;b[i>>0]=b[j>>0]|0;b[j>>0]=e;i=i+1|0;j=j+-1|0;if(i>>>0>=j>>>0)continue d}}if(((ha|0)==78?(ha=0,s):0)?(e=b[_>>0]|0,b[_>>0]=$,b[v>>0]=e,q):0){i=t;j=I;do{e=b[j>>0]|0;b[j>>0]=b[i>>0]|0;b[i>>0]=e;j=j+1|0;i=i+-1|0}while(j>>>0>>0)}if((x|0)>=(y|0))break;else x=x+1|0}if((y|0)>0){l=y+-1|0;n=a+60+(l*12|0)|0;m=a+60+(l*12|0)+4|0;l=a+60+(l*12|0)+8|0;e=0;do{i=f[m>>2]|0;j=f[l>>2]|0;k=(i|0)==(j<<5|0);if(!(h[G>>0]&1<>>0<1073741823?(x>>>0>>0?w:x):2147483647);i=f[m>>2]|0}f[m>>2]=i+1;x=(f[n>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]|1<<(i&31)}else{if(k){if((i+1|0)<0){ha=105;break b}x=j<<6;w=i+32&-32;hi(n,i>>>0<1073741823?(x>>>0>>0?w:x):2147483647);i=f[m>>2]|0}f[m>>2]=i+1;x=(f[n>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]&~(1<<(i&31))}e=e+1|0}while((e|0)<(y|0))}}o=c+(z<<2)|0;e=d+(z<<2)|0;j=f[ga>>2]|0;if((j|0)>0){i=f[P>>2]|0;n=0;l=i;do{if((j|0)>0){m=0;do{j=f[l+(m<<2)>>2]|0;k=f[L>>2]|0;if((j|0)>(k|0)){j=f[D>>2]|0;f[j+(m<<2)>>2]=k}else{y=f[N>>2]|0;z=f[D>>2]|0;f[z+(m<<2)>>2]=(j|0)<(y|0)?y:j;j=z}m=m+1|0}while((m|0)<(f[ga>>2]|0));l=j}else l=f[D>>2]|0;j=(f[o+(n<<2)>>2]|0)-(f[l+(n<<2)>>2]|0)|0;k=e+(n<<2)|0;f[k>>2]=j;if((j|0)>=(f[M>>2]|0)){if((j|0)>(f[J>>2]|0)){j=j-(f[K>>2]|0)|0;ha=95}}else{j=(f[K>>2]|0)+j|0;ha=95}if((ha|0)==95){ha=0;f[k>>2]=j}n=n+1|0;j=f[ga>>2]|0}while((n|0)<(j|0))}else i=f[C>>2]|0;if(i|0){j=f[E>>2]|0;if((j|0)!=(i|0))f[E>>2]=j+(~((j+-4-i|0)>>>2)<<2);tq(i)}if((da|0)<=1)break a;i=f[Q>>2]|0;r=f[i>>2]|0;j=da+-1|0;if((f[i+4>>2]|0)-r>>2>>>0<=j>>>0){ha=20;break}else{v=da;da=j}}if((ha|0)==20)Jp(i);else if((ha|0)==100)Jp(n);else if((ha|0)==105)Jp(n)}while(0);k=f[ia>>2]|0;if((g|0)>0){i=0;do{f[k+(i<<2)>>2]=0;i=i+1|0}while((i|0)!=(g|0))}i=f[ga>>2]|0;if((i|0)>0){p=a+16|0;e=a+32|0;r=a+12|0;q=a+28|0;o=a+20|0;n=a+24|0;m=0;do{if((i|0)>0){l=0;do{i=f[k+(l<<2)>>2]|0;j=f[p>>2]|0;if((i|0)>(j|0)){i=f[e>>2]|0;f[i+(l<<2)>>2]=j}else{g=f[r>>2]|0;a=f[e>>2]|0;f[a+(l<<2)>>2]=(i|0)<(g|0)?g:i;i=a}l=l+1|0}while((l|0)<(f[ga>>2]|0));k=i}else k=f[e>>2]|0;i=(f[c+(m<<2)>>2]|0)-(f[k+(m<<2)>>2]|0)|0;j=d+(m<<2)|0;f[j>>2]=i;if((i|0)>=(f[q>>2]|0)){if((i|0)>(f[n>>2]|0)){i=i-(f[o>>2]|0)|0;ha=127}}else{i=(f[o>>2]|0)+i|0;ha=127}if((ha|0)==127){ha=0;f[j>>2]=i}m=m+1|0;i=f[ga>>2]|0}while((m|0)<(i|0))}i=f[fa>>2]|0;if(i|0){j=f[T>>2]|0;if((j|0)!=(i|0))f[T>>2]=j+(~((j+-4-i|0)>>>2)<<2);tq(i)}i=f[ia+36>>2]|0;if(i|0){k=ia+40|0;j=f[k>>2]|0;if((j|0)!=(i|0))f[k>>2]=j+(~((j+-4-i|0)>>>2)<<2);tq(i)}i=f[ia+24>>2]|0;if(i|0){k=ia+28|0;j=f[k>>2]|0;if((j|0)!=(i|0))f[k>>2]=j+(~((j+-4-i|0)>>>2)<<2);tq(i)}i=f[ia+12>>2]|0;if(i|0){k=ia+16|0;j=f[k>>2]|0;if((j|0)!=(i|0))f[k>>2]=j+(~((j+-4-i|0)>>>2)<<2);tq(i)}k=f[ia>>2]|0;if(!k){u=ja;return 1}j=ia+4|0;i=f[j>>2]|0;if((i|0)!=(k|0))f[j>>2]=i+(~((i+-4-k|0)>>>2)<<2);tq(k);u=ja;return 1}function _a(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=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,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;ga=u;u=u+128|0;W=ga+108|0;U=ga+104|0;_=ga+80|0;$=ga+76|0;Y=ga+72|0;fa=ga+24|0;ca=ga+4|0;Z=ga+112|0;T=ga+16|0;V=ga;da=a+8|0;f[da>>2]=g;l=a+32|0;k=a+36|0;j=f[k>>2]|0;i=f[l>>2]|0;m=j-i>>2;if(m>>>0>=g>>>0){if(m>>>0>g>>>0?(n=i+(g<<2)|0,(j|0)!=(n|0)):0)f[k>>2]=j+(~((j+-4-n|0)>>>2)<<2)}else ri(l,g-m|0);if(e|0){i=f[c>>2]|0;if((e|0)>1){k=1;j=i;do{S=f[c+(k<<2)>>2]|0;R=(S|0)<(i|0);i=R?S:i;j=R?j:(S|0)>(j|0)?S:j;k=k+1|0}while((k|0)!=(e|0))}else j=i;f[a+12>>2]=i;f[a+16>>2]=j;S=1-i+j|0;f[a+20>>2]=S;i=(S|0)/2|0;j=a+24|0;f[j>>2]=i;f[a+28>>2]=0-i;if(!(S&1))f[j>>2]=i+-1}Q=f[a+48>>2]|0;R=f[a+52>>2]|0;i=fa;j=i+48|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));if(!g){i=0;j=0}else{ri(fa,g);i=f[fa+12>>2]|0;j=f[fa+16>>2]|0}k=fa+16|0;l=j-i>>2;if(l>>>0>=g>>>0){if(l>>>0>g>>>0?(o=i+(g<<2)|0,(j|0)!=(o|0)):0)f[k>>2]=j+(~((j+-4-o|0)>>>2)<<2)}else ri(fa+12|0,g-l|0);l=fa+24|0;k=fa+28|0;j=f[k>>2]|0;i=f[l>>2]|0;m=j-i>>2;if(m>>>0>=g>>>0){if(m>>>0>g>>>0?(p=i+(g<<2)|0,(j|0)!=(p|0)):0)f[k>>2]=j+(~((j+-4-p|0)>>>2)<<2)}else ri(l,g-m|0);l=fa+36|0;k=fa+40|0;j=f[k>>2]|0;i=f[l>>2]|0;m=j-i>>2;if(m>>>0>=g>>>0){if(m>>>0>g>>>0?(q=i+(g<<2)|0,(j|0)!=(q|0)):0)f[k>>2]=j+(~((j+-4-q|0)>>>2)<<2)}else ri(l,g-m|0);f[ca>>2]=0;S=ca+4|0;f[S>>2]=0;f[ca+8>>2]=0;do if(g|0)if(g>>>0>1073741823)Jp(ca);else{O=g<<2;N=en(O)|0;f[ca>>2]=N;P=N+(g<<2)|0;f[ca+8>>2]=P;fj(N|0,0,O|0)|0;f[S>>2]=P;break}while(0);P=a+56|0;k=f[P>>2]|0;l=f[k+4>>2]|0;m=f[k>>2]|0;i=l-m|0;a:do if((i|0)>4){j=i>>2;B=Q+12|0;F=(g|0)>0;G=_+4|0;N=_+8|0;O=_+12|0;K=a+16|0;D=a+32|0;M=a+12|0;L=a+28|0;J=a+20|0;I=a+24|0;C=_+12|0;E=_+16|0;H=Z+1|0;A=g<<2;i=j+-1|0;if(l-m>>2>>>0>i>>>0){r=m;v=j;ba=i}else{z=k;Jp(z)}b:while(1){r=f[r+(ba<<2)>>2]|0;t=(((r>>>0)%3|0|0)==0?2:-1)+r|0;s=(r|t|0)<0;q=(r|0)<0?r:t;i=r;p=1;j=0;c:while(1){do{if((i|0)<=-1){y=j;break c}o=f[fa+(j*12|0)>>2]|0;k=f[(f[B>>2]|0)+(i<<2)>>2]|0;do if((k|0)>=0){f[Y>>2]=k;f[W>>2]=f[Y>>2];eh(W,Q,R,U,_,$);k=f[U>>2]|0;if((k|0)>=(ba|0))break;l=f[_>>2]|0;if((l|0)>=(ba|0))break;m=f[$>>2]|0;if((m|0)>=(ba|0))break;e=X(k,g)|0;n=X(l,g)|0;l=X(m,g)|0;if(F){k=0;do{f[o+(k<<2)>>2]=(f[c+(k+l<<2)>>2]|0)+(f[c+(k+n<<2)>>2]|0)-(f[c+(k+e<<2)>>2]|0);k=k+1|0}while((k|0)!=(g|0))}j=j+1|0;if((j|0)==4){y=4;break c}}while(0);do if(p){z=i+1|0;i=((z|0)%3|0|0)==0?i+-2|0:z;if((i|0)>=0){i=f[(f[B>>2]|0)+(i<<2)>>2]|0;k=i+1|0;if((i|0)>=0)i=((k|0)%3|0|0)==0?i+-2|0:k}}else{i=(((i>>>0)%3|0|0)==0?2:-1)+i|0;if((i|0)>=0){i=f[(f[B>>2]|0)+(i<<2)>>2]|0;if((i|0)>=0)if(!((i>>>0)%3|0)){i=i+2|0;break}else{i=i+-1|0;break}}}while(0);if((i|0)==(r|0)){y=j;break c}}while(!(p&(i|0)<0));if(s){i=q;p=0;continue}i=f[(f[B>>2]|0)+(t<<2)>>2]|0;if((i|0)<0){p=0;continue}if(!((i>>>0)%3|0)){i=i+2|0;p=0;continue}else{i=i+-1|0;p=0;continue}}z=X(ba,g)|0;f[_>>2]=2147483647;b[G>>0]=0;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;k=X(v+-2|0,g)|0;if(F){i=0;j=0;do{x=(f[c+(j+z<<2)>>2]|0)-(f[c+(j+k<<2)>>2]|0)|0;i=((x|0)>-1?x:0-x|0)+i|0;j=j+1|0}while((j|0)!=(g|0))}else i=0;f[_>>2]=i;b[G>>0]=0;f[N>>2]=0;x=c+(k<<2)|0;Qf(O,x,x+(g<<2)|0);if((y|0)>=1){p=Z+y|0;v=p+-1|0;r=(v|0)==(Z|0);t=p+-2|0;q=H>>>0>>0;o=~y;o=y+2+((o|0)>-2?o:-2)|0;s=v>>>0>Z>>>0;w=0;x=1;while(1){w=w+1|0;fj(Z|0,1,o|0)|0;fj(Z|0,0,w|0)|0;d:while(1){if(F){fj(f[ca>>2]|0,0,A|0)|0;l=f[ca>>2]|0;i=0;m=0;do{if(!(b[Z+m>>0]|0)){j=f[fa+(m*12|0)>>2]|0;k=0;do{e=l+(k<<2)|0;f[e>>2]=(f[e>>2]|0)+(f[j+(k<<2)>>2]|0);k=k+1|0}while((k|0)!=(g|0));i=(1<>0]|0))i=(1<>2]|0;j=0;l=0;do{n=k+(l<<2)|0;e=(f[n>>2]|0)/(x|0)|0;f[n>>2]=e;e=e-(f[c+(l+z<<2)>>2]|0)|0;j=((e|0)>-1?e:0-e|0)+j|0;l=l+1|0}while((l|0)!=(g|0))}else j=0;if((j|0)<(f[_>>2]|0)){f[_>>2]=j;b[G>>0]=i;f[N>>2]=x;f[T>>2]=f[ca>>2];f[V>>2]=f[S>>2];f[U>>2]=f[T>>2];f[W>>2]=f[V>>2];Df(O,U,W)}if(r)break;aa=b[v>>0]|0;m=aa;n=-1;while(1){i=n+-1|0;e=p+i|0;l=m;m=b[e>>0]|0;if((m&255)<(l&255))break;if((e|0)==(Z|0)){ea=81;break d}else n=i}i=p+n|0;if((m&255)<(aa&255)){k=aa;j=v}else{k=p;l=v;while(1){j=l+-1|0;if((m&255)<(h[k+-2>>0]|0)){k=1;break}else{k=l;l=j}}}b[e>>0]=k;b[j>>0]=m;if((n|0)<-1)j=v;else continue;while(1){e=b[i>>0]|0;b[i>>0]=b[j>>0]|0;b[j>>0]=e;i=i+1|0;j=j+-1|0;if(i>>>0>=j>>>0)continue d}}if(((ea|0)==81?(ea=0,s):0)?(e=b[Z>>0]|0,b[Z>>0]=aa,b[v>>0]=e,q):0){i=t;j=H;do{e=b[j>>0]|0;b[j>>0]=b[i>>0]|0;b[i>>0]=e;j=j+1|0;i=i+-1|0}while(j>>>0>>0)}if((x|0)>=(y|0))break;else x=x+1|0}if((y|0)>0){l=y+-1|0;n=a+60+(l*12|0)|0;m=a+60+(l*12|0)+4|0;l=a+60+(l*12|0)+8|0;e=0;do{i=f[m>>2]|0;j=f[l>>2]|0;k=(i|0)==(j<<5|0);if(!(h[G>>0]&1<>>0<1073741823?(x>>>0>>0?w:x):2147483647);i=f[m>>2]|0}f[m>>2]=i+1;x=(f[n>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]|1<<(i&31)}else{if(k){if((i+1|0)<0){ea=108;break b}x=j<<6;w=i+32&-32;hi(n,i>>>0<1073741823?(x>>>0>>0?w:x):2147483647);i=f[m>>2]|0}f[m>>2]=i+1;x=(f[n>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]&~(1<<(i&31))}e=e+1|0}while((e|0)<(y|0))}}o=c+(z<<2)|0;e=d+(z<<2)|0;j=f[da>>2]|0;if((j|0)>0){i=f[O>>2]|0;n=0;l=i;do{if((j|0)>0){m=0;do{j=f[l+(m<<2)>>2]|0;k=f[K>>2]|0;if((j|0)>(k|0)){j=f[D>>2]|0;f[j+(m<<2)>>2]=k}else{y=f[M>>2]|0;z=f[D>>2]|0;f[z+(m<<2)>>2]=(j|0)<(y|0)?y:j;j=z}m=m+1|0}while((m|0)<(f[da>>2]|0));l=j}else l=f[D>>2]|0;j=(f[o+(n<<2)>>2]|0)-(f[l+(n<<2)>>2]|0)|0;k=e+(n<<2)|0;f[k>>2]=j;if((j|0)>=(f[L>>2]|0)){if((j|0)>(f[I>>2]|0)){j=j-(f[J>>2]|0)|0;ea=98}}else{j=(f[J>>2]|0)+j|0;ea=98}if((ea|0)==98){ea=0;f[k>>2]=j}n=n+1|0;j=f[da>>2]|0}while((n|0)<(j|0))}else i=f[C>>2]|0;if(i|0){j=f[E>>2]|0;if((j|0)!=(i|0))f[E>>2]=j+(~((j+-4-i|0)>>>2)<<2);tq(i)}if((ba|0)<=1)break a;i=f[P>>2]|0;r=f[i>>2]|0;j=ba+-1|0;if((f[i+4>>2]|0)-r>>2>>>0<=j>>>0){ea=20;break}else{v=ba;ba=j}}if((ea|0)==20)Jp(i);else if((ea|0)==103)Jp(n);else if((ea|0)==108)Jp(n)}while(0);k=f[fa>>2]|0;if((g|0)>0){i=0;do{f[k+(i<<2)>>2]=0;i=i+1|0}while((i|0)!=(g|0))}i=f[da>>2]|0;if((i|0)>0){p=a+16|0;e=a+32|0;r=a+12|0;q=a+28|0;o=a+20|0;n=a+24|0;m=0;do{if((i|0)>0){l=0;do{i=f[k+(l<<2)>>2]|0;j=f[p>>2]|0;if((i|0)>(j|0)){i=f[e>>2]|0;f[i+(l<<2)>>2]=j}else{g=f[r>>2]|0;a=f[e>>2]|0;f[a+(l<<2)>>2]=(i|0)<(g|0)?g:i;i=a}l=l+1|0}while((l|0)<(f[da>>2]|0));k=i}else k=f[e>>2]|0;i=(f[c+(m<<2)>>2]|0)-(f[k+(m<<2)>>2]|0)|0;j=d+(m<<2)|0;f[j>>2]=i;if((i|0)>=(f[q>>2]|0)){if((i|0)>(f[n>>2]|0)){i=i-(f[o>>2]|0)|0;ea=130}}else{i=(f[o>>2]|0)+i|0;ea=130}if((ea|0)==130){ea=0;f[j>>2]=i}m=m+1|0;i=f[da>>2]|0}while((m|0)<(i|0))}i=f[ca>>2]|0;if(i|0){j=f[S>>2]|0;if((j|0)!=(i|0))f[S>>2]=j+(~((j+-4-i|0)>>>2)<<2);tq(i)}i=f[fa+36>>2]|0;if(i|0){k=fa+40|0;j=f[k>>2]|0;if((j|0)!=(i|0))f[k>>2]=j+(~((j+-4-i|0)>>>2)<<2);tq(i)}i=f[fa+24>>2]|0;if(i|0){k=fa+28|0;j=f[k>>2]|0;if((j|0)!=(i|0))f[k>>2]=j+(~((j+-4-i|0)>>>2)<<2);tq(i)}i=f[fa+12>>2]|0;if(i|0){k=fa+16|0;j=f[k>>2]|0;if((j|0)!=(i|0))f[k>>2]=j+(~((j+-4-i|0)>>>2)<<2);tq(i)}k=f[fa>>2]|0;if(!k){u=ga;return 1}j=fa+4|0;i=f[j>>2]|0;if((i|0)!=(k|0))f[j>>2]=i+(~((i+-4-k|0)>>>2)<<2);tq(k);u=ga;return 1}function $a(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=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,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;da=u;u=u+112|0;S=da+100|0;Q=da+96|0;ca=da+48|0;V=da+32|0;U=da+104|0;T=da+8|0;P=da+4|0;R=da;N=f[a+28>>2]|0;O=f[a+32>>2]|0;i=ca;e=i+48|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(e|0));if(!g){i=0;e=0}else{ri(ca,g);i=f[ca+12>>2]|0;e=f[ca+16>>2]|0}j=ca+16|0;k=e-i>>2;if(k>>>0>=g>>>0){if(k>>>0>g>>>0?(l=i+(g<<2)|0,(e|0)!=(l|0)):0)f[j>>2]=e+(~((e+-4-l|0)>>>2)<<2)}else ri(ca+12|0,g-k|0);k=ca+24|0;j=ca+28|0;e=f[j>>2]|0;i=f[k>>2]|0;l=e-i>>2;if(l>>>0>=g>>>0){if(l>>>0>g>>>0?(m=i+(g<<2)|0,(e|0)!=(m|0)):0)f[j>>2]=e+(~((e+-4-m|0)>>>2)<<2)}else ri(k,g-l|0);k=ca+36|0;j=ca+40|0;e=f[j>>2]|0;i=f[k>>2]|0;l=e-i>>2;if(l>>>0>=g>>>0){if(l>>>0>g>>>0?(n=i+(g<<2)|0,(e|0)!=(n|0)):0)f[j>>2]=e+(~((e+-4-n|0)>>>2)<<2)}else ri(k,g-l|0);f[V>>2]=0;M=V+4|0;f[M>>2]=0;f[V+8>>2]=0;do if(g|0)if(g>>>0>1073741823)Jp(V);else{K=g<<2;J=en(K)|0;f[V>>2]=J;L=J+(g<<2)|0;f[V+8>>2]=L;fj(J|0,0,K|0)|0;f[M>>2]=L;break}while(0);L=a+36|0;j=f[L>>2]|0;k=f[j+4>>2]|0;l=f[j>>2]|0;i=k-l|0;a:do if((i|0)>4){e=i>>2;G=N+64|0;B=N+28|0;E=(g|0)>0;F=T+4|0;I=T+8|0;J=T+12|0;K=a+8|0;C=T+12|0;D=T+16|0;H=U+1|0;A=g<<2;i=e+-1|0;if(k-l>>2>>>0>i>>>0){o=l;v=e;$=i}else{z=j;Jp(z)}b:while(1){p=f[o+($<<2)>>2]|0;s=p+((p|0)<0?0:((p>>>0)%3|0|0)==0?2:-1)|0;r=s>>>5;t=1<<(s&31);q=(s|0)<0;i=p;o=1;e=0;c:while(1){do{if((i|0)<=-1){z=e;break c}j=f[ca+(e*12|0)>>2]|0;if(((f[(f[N>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)==0?(aa=f[(f[(f[G>>2]|0)+12>>2]|0)+(i<<2)>>2]|0,(aa|0)>=0):0)?(_=f[B>>2]|0,z=f[O>>2]|0,Y=f[z+(f[_+(aa<<2)>>2]<<2)>>2]|0,Z=aa+1|0,Z=f[z+(f[_+((((Z|0)%3|0|0)==0?aa+-2|0:Z)<<2)>>2]<<2)>>2]|0,_=f[z+(f[_+((((aa>>>0)%3|0|0)==0?2:-1)+aa<<2)>>2]<<2)>>2]|0,(Y|0)<($|0)&(Z|0)<($|0)&(_|0)<($|0)):0){l=X(Y,g)|0;m=X(Z,g)|0;n=X(_,g)|0;if(E){k=0;do{f[j+(k<<2)>>2]=(f[c+(k+n<<2)>>2]|0)+(f[c+(k+m<<2)>>2]|0)-(f[c+(k+l<<2)>>2]|0);k=k+1|0}while((k|0)!=(g|0))}e=e+1|0;if((e|0)==4){z=4;break c}}do if(o){j=i+1|0;i=((j|0)%3|0|0)==0?i+-2|0:j;j=f[N>>2]|0;if(!(f[j+(i>>>5<<2)>>2]&1<<(i&31))){if((i|0)>=0){i=f[(f[(f[G>>2]|0)+12>>2]|0)+(i<<2)>>2]|0;k=i+1|0;if((i|0)>=0)i=((k|0)%3|0|0)==0?i+-2|0:k}}else i=-1073741824}else{i=(((i>>>0)%3|0|0)==0?2:-1)+i|0;j=f[N>>2]|0;if(!(f[j+(i>>>5<<2)>>2]&1<<(i&31))){if((i|0)>=0){i=f[(f[(f[G>>2]|0)+12>>2]|0)+(i<<2)>>2]|0;if((i|0)>=0)if(!((i>>>0)%3|0)){i=i+2|0;break}else{i=i+-1|0;break}}}else i=-1073741824}while(0);if((i|0)==(p|0)){z=e;break c}}while(!(o&(i|0)<0));i=(t&f[j+(r<<2)>>2]|0)!=0;if(i|q){i=i?-1073741824:s;o=0;continue}i=f[(f[(f[G>>2]|0)+12>>2]|0)+(s<<2)>>2]|0;if((i|0)<0){o=0;continue}if(!((i>>>0)%3|0)){i=i+2|0;o=0;continue}else{i=i+-1|0;o=0;continue}}y=X($,g)|0;f[T>>2]=2147483647;b[F>>0]=0;f[I>>2]=0;f[I+4>>2]=0;f[I+8>>2]=0;f[I+12>>2]=0;j=X(v+-2|0,g)|0;if(E){i=0;e=0;do{x=(f[c+(e+y<<2)>>2]|0)-(f[c+(e+j<<2)>>2]|0)|0;i=((x|0)>-1?x:0-x|0)+i|0;e=e+1|0}while((e|0)!=(g|0))}else i=0;f[T>>2]=i;b[F>>0]=0;f[I>>2]=0;x=c+(j<<2)|0;Qf(J,x,x+(g<<2)|0);if((z|0)>=1){p=U+z|0;v=p+-1|0;r=(v|0)==(U|0);t=p+-2|0;q=H>>>0>>0;o=~z;o=z+2+((o|0)>-2?o:-2)|0;s=v>>>0>U>>>0;w=0;x=1;while(1){w=w+1|0;fj(U|0,1,o|0)|0;fj(U|0,0,w|0)|0;d:while(1){if(E){fj(f[V>>2]|0,0,A|0)|0;k=f[V>>2]|0;i=0;l=0;do{if(!(b[U+l>>0]|0)){e=f[ca+(l*12|0)>>2]|0;j=0;do{n=k+(j<<2)|0;f[n>>2]=(f[n>>2]|0)+(f[e+(j<<2)>>2]|0);j=j+1|0}while((j|0)!=(g|0));i=(1<>0]|0))i=(1<>2]|0;e=0;k=0;do{m=j+(k<<2)|0;n=(f[m>>2]|0)/(x|0)|0;f[m>>2]=n;n=n-(f[c+(k+y<<2)>>2]|0)|0;e=((n|0)>-1?n:0-n|0)+e|0;k=k+1|0}while((k|0)!=(g|0))}else e=0;if((e|0)<(f[T>>2]|0)){f[T>>2]=e;b[F>>0]=i;f[I>>2]=x;f[P>>2]=f[V>>2];f[R>>2]=f[M>>2];f[Q>>2]=f[P>>2];f[S>>2]=f[R>>2];Df(J,Q,S)}if(r)break;W=b[v>>0]|0;l=W;m=-1;while(1){i=m+-1|0;n=p+i|0;k=l;l=b[n>>0]|0;if((l&255)<(k&255))break;if((n|0)==(U|0)){ba=69;break d}else m=i}i=p+m|0;if((l&255)<(W&255)){j=W;e=v}else{j=p;k=v;while(1){e=k+-1|0;if((l&255)<(h[j+-2>>0]|0)){j=1;break}else{j=k;k=e}}}b[n>>0]=j;b[e>>0]=l;if((m|0)<-1)e=v;else continue;while(1){n=b[i>>0]|0;b[i>>0]=b[e>>0]|0;b[e>>0]=n;i=i+1|0;e=e+-1|0;if(i>>>0>=e>>>0)continue d}}if(((ba|0)==69?(ba=0,s):0)?(n=b[U>>0]|0,b[U>>0]=W,b[v>>0]=n,q):0){i=t;e=H;do{n=b[e>>0]|0;b[e>>0]=b[i>>0]|0;b[i>>0]=n;e=e+1|0;i=i+-1|0}while(e>>>0>>0)}if((x|0)>=(z|0))break;else x=x+1|0}if((z|0)>0){k=z+-1|0;m=a+40+(k*12|0)|0;l=a+40+(k*12|0)+4|0;k=a+40+(k*12|0)+8|0;n=0;do{i=f[l>>2]|0;e=f[k>>2]|0;j=(i|0)==(e<<5|0);if(!(h[F>>0]&1<>>0<1073741823?(x>>>0>>0?w:x):2147483647);i=f[l>>2]|0}f[l>>2]=i+1;x=(f[m>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]|1<<(i&31)}else{if(j){if((i+1|0)<0){ba=82;break b}x=e<<6;w=i+32&-32;hi(m,i>>>0<1073741823?(x>>>0>>0?w:x):2147483647);i=f[l>>2]|0}f[l>>2]=i+1;x=(f[m>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]&~(1<<(i&31))}n=n+1|0}while((n|0)<(z|0))}}bi(K,c+(y<<2)|0,f[J>>2]|0,d+(y<<2)|0);i=f[C>>2]|0;if(i|0){e=f[D>>2]|0;if((e|0)!=(i|0))f[D>>2]=e+(~((e+-4-i|0)>>>2)<<2);tq(i)}if(($|0)<=1)break a;i=f[L>>2]|0;o=f[i>>2]|0;e=$+-1|0;if((f[i+4>>2]|0)-o>>2>>>0<=e>>>0){ba=11;break}else{v=$;$=e}}if((ba|0)==11)Jp(i);else if((ba|0)==77)Jp(m);else if((ba|0)==82)Jp(m)}while(0);if((g|0)>0)fj(f[ca>>2]|0,0,g<<2|0)|0;bi(a+8|0,c,f[ca>>2]|0,d);i=f[V>>2]|0;if(i|0){e=f[M>>2]|0;if((e|0)!=(i|0))f[M>>2]=e+(~((e+-4-i|0)>>>2)<<2);tq(i)}i=f[ca+36>>2]|0;if(i|0){j=ca+40|0;e=f[j>>2]|0;if((e|0)!=(i|0))f[j>>2]=e+(~((e+-4-i|0)>>>2)<<2);tq(i)}i=f[ca+24>>2]|0;if(i|0){j=ca+28|0;e=f[j>>2]|0;if((e|0)!=(i|0))f[j>>2]=e+(~((e+-4-i|0)>>>2)<<2);tq(i)}i=f[ca+12>>2]|0;if(i|0){j=ca+16|0;e=f[j>>2]|0;if((e|0)!=(i|0))f[j>>2]=e+(~((e+-4-i|0)>>>2)<<2);tq(i)}j=f[ca>>2]|0;if(!j){u=da;return 1}e=ca+4|0;i=f[e>>2]|0;if((i|0)!=(j|0))f[e>>2]=i+(~((i+-4-j|0)>>>2)<<2);tq(j);u=da;return 1}function ab(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=Ka;if(!g){g=0;return g|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){l=f[c>>2]|0;i=f[f[a>>2]>>2]|0;c=a+40|0;l=dn(f[c>>2]|0,f[c+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;c=a+48|0;c=Qn(l|0,I|0,f[c>>2]|0,f[c+4>>2]|0)|0;c=i+c|0;if(!(b[a+32>>0]|0)){a=0;while(1){m=$(b[c>>0]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}else{a=0;while(1){m=$($(b[c>>0]|0)/$(127.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}fj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 2:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){i=f[c>>2]|0;l=f[f[a>>2]>>2]|0;c=a+40|0;i=dn(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;c=a+48|0;c=Qn(i|0,I|0,f[c>>2]|0,f[c+4>>2]|0)|0;c=l+c|0;if(!(b[a+32>>0]|0)){a=0;while(1){m=$(h[c>>0]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}else{a=0;while(1){m=$($(h[c>>0]|0)/$(255.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}fj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 3:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Qn(dn(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$(d[c>>1]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}else{a=0;while(1){m=$($(d[c>>1]|0)/$(32767.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}fj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 4:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Qn(dn(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$(j[c>>1]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}else{a=0;while(1){m=$($(j[c>>1]|0)/$(65535.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}fj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 5:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Qn(dn(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$(f[c>>2]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}else{a=0;while(1){m=$($(f[c>>2]|0)*$(4.65661287e-10));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}fj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 6:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Qn(dn(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$((f[c>>2]|0)>>>0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}else{a=0;while(1){m=$($((f[c>>2]|0)>>>0)*$(2.32830644e-10));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}fj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 7:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Qn(dn(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){i=c;m=$(+((f[i>>2]|0)>>>0)+4294967296.0*+(f[i+4>>2]|0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}else{a=0;while(1){i=c;m=$($(+((f[i>>2]|0)>>>0)+4294967296.0*+(f[i+4>>2]|0))*$(1.08420217e-19));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}fj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 8:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Qn(dn(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){i=c;m=$(+((f[i>>2]|0)>>>0)+4294967296.0*+((f[i+4>>2]|0)>>>0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}else{a=0;while(1){i=c;m=$($(+((f[i>>2]|0)>>>0)+4294967296.0*+((f[i+4>>2]|0)>>>0))*$(5.42101086e-20));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}fj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 9:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=dn(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Qn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}fj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 10:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=dn(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Qn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){m=$(+p[a>>3]);n[g+(c<<2)>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}fj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 11:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=dn(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Qn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){m=$((b[a>>0]|0)!=0&1);n[g+(c<<2)>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}fj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}default:{l=0;return l|0}}while(0);return 0}function bb(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=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,Y=0,Z=0,_=0,$=0,aa=0;aa=u;u=u+128|0;R=aa+108|0;P=aa+104|0;U=aa+80|0;V=aa+76|0;S=aa+72|0;$=aa+24|0;W=aa+4|0;T=aa+112|0;O=aa+16|0;Q=aa;M=f[a+28>>2]|0;N=f[a+32>>2]|0;i=$;e=i+48|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(e|0));if(!g){i=0;e=0}else{ri($,g);i=f[$+12>>2]|0;e=f[$+16>>2]|0}j=$+16|0;k=e-i>>2;if(k>>>0>=g>>>0){if(k>>>0>g>>>0?(l=i+(g<<2)|0,(e|0)!=(l|0)):0)f[j>>2]=e+(~((e+-4-l|0)>>>2)<<2)}else ri($+12|0,g-k|0);k=$+24|0;j=$+28|0;e=f[j>>2]|0;i=f[k>>2]|0;l=e-i>>2;if(l>>>0>=g>>>0){if(l>>>0>g>>>0?(m=i+(g<<2)|0,(e|0)!=(m|0)):0)f[j>>2]=e+(~((e+-4-m|0)>>>2)<<2)}else ri(k,g-l|0);k=$+36|0;j=$+40|0;e=f[j>>2]|0;i=f[k>>2]|0;l=e-i>>2;if(l>>>0>=g>>>0){if(l>>>0>g>>>0?(n=i+(g<<2)|0,(e|0)!=(n|0)):0)f[j>>2]=e+(~((e+-4-n|0)>>>2)<<2)}else ri(k,g-l|0);f[W>>2]=0;L=W+4|0;f[L>>2]=0;f[W+8>>2]=0;do if(g|0)if(g>>>0>1073741823)Jp(W);else{J=g<<2;I=en(J)|0;f[W>>2]=I;K=I+(g<<2)|0;f[W+8>>2]=K;fj(I|0,0,J|0)|0;f[L>>2]=K;break}while(0);K=a+36|0;j=f[K>>2]|0;k=f[j+4>>2]|0;l=f[j>>2]|0;i=k-l|0;a:do if((i|0)>4){e=i>>2;B=M+12|0;E=(g|0)>0;F=U+4|0;H=U+8|0;I=U+12|0;J=a+8|0;C=U+12|0;D=U+16|0;G=T+1|0;A=g<<2;i=e+-1|0;if(k-l>>2>>>0>i>>>0){o=l;v=e;Z=i}else{z=j;Jp(z)}b:while(1){r=f[o+(Z<<2)>>2]|0;t=(((r>>>0)%3|0|0)==0?2:-1)+r|0;s=(r|t|0)<0;q=(r|0)<0?r:t;i=r;p=1;e=0;c:while(1){do{if((i|0)<=-1){z=e;break c}o=f[$+(e*12|0)>>2]|0;j=f[(f[B>>2]|0)+(i<<2)>>2]|0;do if((j|0)>=0){f[S>>2]=j;f[R>>2]=f[S>>2];eh(R,M,N,P,U,V);j=f[P>>2]|0;if((j|0)>=(Z|0))break;k=f[U>>2]|0;if((k|0)>=(Z|0))break;l=f[V>>2]|0;if((l|0)>=(Z|0))break;n=X(j,g)|0;m=X(k,g)|0;k=X(l,g)|0;if(E){j=0;do{f[o+(j<<2)>>2]=(f[c+(j+k<<2)>>2]|0)+(f[c+(j+m<<2)>>2]|0)-(f[c+(j+n<<2)>>2]|0);j=j+1|0}while((j|0)!=(g|0))}e=e+1|0;if((e|0)==4){z=4;break c}}while(0);do if(p){z=i+1|0;i=((z|0)%3|0|0)==0?i+-2|0:z;if((i|0)>=0){i=f[(f[B>>2]|0)+(i<<2)>>2]|0;j=i+1|0;if((i|0)>=0)i=((j|0)%3|0|0)==0?i+-2|0:j}}else{i=(((i>>>0)%3|0|0)==0?2:-1)+i|0;if((i|0)>=0){i=f[(f[B>>2]|0)+(i<<2)>>2]|0;if((i|0)>=0)if(!((i>>>0)%3|0)){i=i+2|0;break}else{i=i+-1|0;break}}}while(0);if((i|0)==(r|0)){z=e;break c}}while(!(p&(i|0)<0));if(s){i=q;p=0;continue}i=f[(f[B>>2]|0)+(t<<2)>>2]|0;if((i|0)<0){p=0;continue}if(!((i>>>0)%3|0)){i=i+2|0;p=0;continue}else{i=i+-1|0;p=0;continue}}y=X(Z,g)|0;f[U>>2]=2147483647;b[F>>0]=0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;f[H+12>>2]=0;j=X(v+-2|0,g)|0;if(E){i=0;e=0;do{x=(f[c+(e+y<<2)>>2]|0)-(f[c+(e+j<<2)>>2]|0)|0;i=((x|0)>-1?x:0-x|0)+i|0;e=e+1|0}while((e|0)!=(g|0))}else i=0;f[U>>2]=i;b[F>>0]=0;f[H>>2]=0;x=c+(j<<2)|0;Qf(I,x,x+(g<<2)|0);if((z|0)>=1){p=T+z|0;v=p+-1|0;r=(v|0)==(T|0);t=p+-2|0;q=G>>>0>>0;o=~z;o=z+2+((o|0)>-2?o:-2)|0;s=v>>>0>T>>>0;w=0;x=1;while(1){w=w+1|0;fj(T|0,1,o|0)|0;fj(T|0,0,w|0)|0;d:while(1){if(E){fj(f[W>>2]|0,0,A|0)|0;k=f[W>>2]|0;i=0;l=0;do{if(!(b[T+l>>0]|0)){e=f[$+(l*12|0)>>2]|0;j=0;do{n=k+(j<<2)|0;f[n>>2]=(f[n>>2]|0)+(f[e+(j<<2)>>2]|0);j=j+1|0}while((j|0)!=(g|0));i=(1<>0]|0))i=(1<>2]|0;e=0;k=0;do{m=j+(k<<2)|0;n=(f[m>>2]|0)/(x|0)|0;f[m>>2]=n;n=n-(f[c+(k+y<<2)>>2]|0)|0;e=((n|0)>-1?n:0-n|0)+e|0;k=k+1|0}while((k|0)!=(g|0))}else e=0;if((e|0)<(f[U>>2]|0)){f[U>>2]=e;b[F>>0]=i;f[H>>2]=x;f[O>>2]=f[W>>2];f[Q>>2]=f[L>>2];f[P>>2]=f[O>>2];f[R>>2]=f[Q>>2];Df(I,P,R)}if(r)break;Y=b[v>>0]|0;l=Y;m=-1;while(1){i=m+-1|0;n=p+i|0;k=l;l=b[n>>0]|0;if((l&255)<(k&255))break;if((n|0)==(T|0)){_=72;break d}else m=i}i=p+m|0;if((l&255)<(Y&255)){j=Y;e=v}else{j=p;k=v;while(1){e=k+-1|0;if((l&255)<(h[j+-2>>0]|0)){j=1;break}else{j=k;k=e}}}b[n>>0]=j;b[e>>0]=l;if((m|0)<-1)e=v;else continue;while(1){n=b[i>>0]|0;b[i>>0]=b[e>>0]|0;b[e>>0]=n;i=i+1|0;e=e+-1|0;if(i>>>0>=e>>>0)continue d}}if(((_|0)==72?(_=0,s):0)?(n=b[T>>0]|0,b[T>>0]=Y,b[v>>0]=n,q):0){i=t;e=G;do{n=b[e>>0]|0;b[e>>0]=b[i>>0]|0;b[i>>0]=n;e=e+1|0;i=i+-1|0}while(e>>>0>>0)}if((x|0)>=(z|0))break;else x=x+1|0}if((z|0)>0){k=z+-1|0;m=a+40+(k*12|0)|0;l=a+40+(k*12|0)+4|0;k=a+40+(k*12|0)+8|0;n=0;do{i=f[l>>2]|0;e=f[k>>2]|0;j=(i|0)==(e<<5|0);if(!(h[F>>0]&1<>>0<1073741823?(x>>>0>>0?w:x):2147483647);i=f[l>>2]|0}f[l>>2]=i+1;x=(f[m>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]|1<<(i&31)}else{if(j){if((i+1|0)<0){_=85;break b}x=e<<6;w=i+32&-32;hi(m,i>>>0<1073741823?(x>>>0>>0?w:x):2147483647);i=f[l>>2]|0}f[l>>2]=i+1;x=(f[m>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]&~(1<<(i&31))}n=n+1|0}while((n|0)<(z|0))}}bi(J,c+(y<<2)|0,f[I>>2]|0,d+(y<<2)|0);i=f[C>>2]|0;if(i|0){e=f[D>>2]|0;if((e|0)!=(i|0))f[D>>2]=e+(~((e+-4-i|0)>>>2)<<2);tq(i)}if((Z|0)<=1)break a;i=f[K>>2]|0;o=f[i>>2]|0;e=Z+-1|0;if((f[i+4>>2]|0)-o>>2>>>0<=e>>>0){_=11;break}else{v=Z;Z=e}}if((_|0)==11)Jp(i);else if((_|0)==80)Jp(m);else if((_|0)==85)Jp(m)}while(0);if((g|0)>0)fj(f[$>>2]|0,0,g<<2|0)|0;bi(a+8|0,c,f[$>>2]|0,d);i=f[W>>2]|0;if(i|0){e=f[L>>2]|0;if((e|0)!=(i|0))f[L>>2]=e+(~((e+-4-i|0)>>>2)<<2);tq(i)}i=f[$+36>>2]|0;if(i|0){j=$+40|0;e=f[j>>2]|0;if((e|0)!=(i|0))f[j>>2]=e+(~((e+-4-i|0)>>>2)<<2);tq(i)}i=f[$+24>>2]|0;if(i|0){j=$+28|0;e=f[j>>2]|0;if((e|0)!=(i|0))f[j>>2]=e+(~((e+-4-i|0)>>>2)<<2);tq(i)}i=f[$+12>>2]|0;if(i|0){j=$+16|0;e=f[j>>2]|0;if((e|0)!=(i|0))f[j>>2]=e+(~((e+-4-i|0)>>>2)<<2);tq(i)}j=f[$>>2]|0;if(!j){u=aa;return 1}e=$+4|0;i=f[e>>2]|0;if((i|0)!=(j|0))f[e>>2]=i+(~((i+-4-j|0)>>>2)<<2);tq(j);u=aa;return 1}function cb(a){a=a|0;var c=0,d=0,e=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,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;Y=u;u=u+64|0;V=Y+56|0;W=Y+52|0;P=Y+48|0;i=Y+60|0;X=Y;G=Y+44|0;H=Y+40|0;D=Y+36|0;E=Y+32|0;F=Y+28|0;O=Y+24|0;Q=Y+20|0;R=Y+16|0;T=Y+12|0;if(!(b[a+288>>0]|0)){tf(V,f[a+8>>2]|0);U=a+12|0;M=f[V>>2]|0;f[V>>2]=0;d=f[U>>2]|0;f[U>>2]=M;if(d){ti(d);tq(d);d=f[V>>2]|0;f[V>>2]=0;if(d|0){ti(d);tq(d)}}else f[V>>2]=0}else{Sh(V,f[a+8>>2]|0);U=a+12|0;M=f[V>>2]|0;f[V>>2]=0;d=f[U>>2]|0;f[U>>2]=M;if(d){ti(d);tq(d);d=f[V>>2]|0;f[V>>2]=0;if(d|0){ti(d);tq(d)}}else f[V>>2]=0}B=a+12|0;d=f[B>>2]|0;if(!d){a=0;u=Y;return a|0}M=a+200|0;f[a+264>>2]=a;U=a+4|0;Th(((f[d+28>>2]|0)-(f[d+24>>2]|0)>>2)-(f[d+44>>2]|0)|0,f[(f[U>>2]|0)+44>>2]|0)|0;J=f[B>>2]|0;Th((((f[J+4>>2]|0)-(f[J>>2]|0)>>2>>>0)/3|0)-(f[J+40>>2]|0)|0,f[(f[U>>2]|0)+44>>2]|0)|0;J=a+28|0;I=a+8|0;h=f[I>>2]|0;h=((f[h+100>>2]|0)-(f[h+96>>2]|0)|0)/12|0;b[V>>0]=0;$g(J,h,V);h=f[B>>2]|0;h=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;f[V>>2]=-1;cg(a+52|0,h,V);h=a+40|0;d=f[h>>2]|0;g=a+44|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);A=f[B>>2]|0;A=(f[A+4>>2]|0)-(f[A>>2]|0)>>2;Kj(h,A-((A>>>0)%3|0)|0);A=a+84|0;z=f[B>>2]|0;z=(f[z+28>>2]|0)-(f[z+24>>2]|0)>>2;b[V>>0]=0;$g(A,z,V);z=a+96|0;d=f[z>>2]|0;y=a+100|0;e=f[y>>2]|0;if((e|0)!=(d|0))f[y>>2]=e+(~((e+-4-d|0)>>>2)<<2);f[a+164>>2]=-1;C=a+168|0;f[C>>2]=0;d=f[a+108>>2]|0;g=a+112|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~(((e+-12-d|0)>>>0)/12|0)*12|0);h=a+132|0;if(f[h>>2]|0){e=a+128|0;d=f[e>>2]|0;if(d|0)do{x=d;d=f[d>>2]|0;tq(x)}while((d|0)!=0);f[e>>2]=0;d=f[a+124>>2]|0;if(d|0){e=a+120|0;g=0;do{f[(f[e>>2]|0)+(g<<2)>>2]=0;g=g+1|0}while((g|0)!=(d|0))}f[h>>2]=0}f[a+144>>2]=0;w=f[B>>2]|0;w=(f[w+28>>2]|0)-(f[w+24>>2]|0)>>2;f[V>>2]=-1;cg(a+152|0,w,V);w=a+72|0;d=f[w>>2]|0;t=a+76|0;e=f[t>>2]|0;if((e|0)!=(d|0))f[t>>2]=e+(~((e+-4-d|0)>>>2)<<2);x=f[B>>2]|0;Kj(w,((f[x+4>>2]|0)-(f[x>>2]|0)>>2>>>0)/3|0);f[a+64>>2]=0;if(!(Nd(a)|0)){a=0;u=Y;return a|0}if(!(Uf(a)|0)){a=0;u=Y;return a|0}s=a+172|0;r=a+176|0;d=(((f[r>>2]|0)-(f[s>>2]|0)|0)/108|0)&255;b[i>>0]=d;e=f[(f[U>>2]|0)+44>>2]|0;x=e+16|0;v=f[x+4>>2]|0;if(!((v|0)>0|(v|0)==0&(f[x>>2]|0)>>>0>0)){f[W>>2]=f[e+4>>2];f[V>>2]=f[W>>2];Me(e,V,i,i+1|0)|0;d=b[i>>0]|0}v=a+284|0;f[v>>2]=d&255;p=f[B>>2]|0;p=(f[p+4>>2]|0)-(f[p>>2]|0)|0;q=p>>2;Ni(M);f[X>>2]=0;x=X+4|0;f[x>>2]=0;f[X+8>>2]=0;a:do if((p|0)>0){o=a+104|0;n=X+8|0;p=0;b:while(1){d=(p>>>0)/3|0;k=d>>>5;l=1<<(d&31);if((f[(f[J>>2]|0)+(k<<2)>>2]&l|0)==0?(m=f[B>>2]|0,f[G>>2]=d,f[V>>2]=f[G>>2],!(ui(m,V)|0)):0){f[W>>2]=0;f[H>>2]=d;f[V>>2]=f[H>>2];m=Zd(a,V,W)|0;cj(M,m);d=f[W>>2]|0;do if(m){e=f[B>>2]|0;m=(d|0)<0;do if(m){h=-1073741824;g=-1073741824;e=-1073741824}else{g=f[e>>2]|0;j=(f[e+4>>2]|0)-g>>2;if((d|0)>=(j|0)){K=39;break b}e=f[g+(d<<2)>>2]|0;h=d+1|0;if(!((h|0)%3|0))if((d|0)<2)i=-1073741824;else{h=d+-2|0;K=42}else K=42;if((K|0)==42){K=0;if((h|0)>=(j|0)){K=43;break b}i=f[g+(h<<2)>>2]|0}h=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((h|0)<0){h=-1073741824;g=i;break}if((h|0)>=(j|0)){K=47;break b}h=f[g+(h<<2)>>2]|0;g=i}while(0);j=f[A>>2]|0;i=j+(e>>>5<<2)|0;f[i>>2]=f[i>>2]|1<<(e&31);e=j+(g>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(g&31);e=j+(h>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(h&31);f[V>>2]=1;e=f[y>>2]|0;if(e>>>0<(f[o>>2]|0)>>>0){f[e>>2]=1;f[y>>2]=e+4}else Ji(z,V);h=(f[J>>2]|0)+(k<<2)|0;f[h>>2]=f[h>>2]|l;h=d+1|0;if(m)g=d;else g=((h|0)%3|0|0)==0?d+-2|0:h;f[V>>2]=g;e=f[x>>2]|0;if(e>>>0<(f[n>>2]|0)>>>0){f[e>>2]=g;f[x>>2]=e+4}else Ji(X,V);if(m)break;d=((h|0)%3|0|0)==0?d+-2|0:h;if((d|0)<0)break;e=f[(f[(f[B>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;m=(e|0)<0;d=m?-1073741824:(e>>>0)/3|0;if(m)break;if(f[(f[J>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)|0)break;f[D>>2]=e;f[V>>2]=f[D>>2];if(!(Yb(a,V)|0)){K=67;break b}}else{e=d+1|0;if((d|0)>=0)d=((e|0)%3|0|0)==0?d+-2|0:e;f[E>>2]=d;f[V>>2]=f[E>>2];Od(a,V,1)|0;f[F>>2]=f[W>>2];f[V>>2]=f[F>>2];if(!(Yb(a,V)|0)){K=67;break b}}while(0)}p=p+1|0;if((p|0)>=(q|0)){K=68;break a}}if((K|0)==39)ra(20128,20163,98,20248);else if((K|0)==43)ra(20128,20163,98,20248);else if((K|0)==47)ra(20128,20163,98,20248);else if((K|0)==67){L=0;break}}else K=68;while(0);if((K|0)==68){d=f[w>>2]|0;e=f[t>>2]|0;g=e;if((d|0)!=(e|0)?(N=e+-4|0,d>>>0>>0):0){e=d;d=N;do{N=f[e>>2]|0;f[e>>2]=f[d>>2];f[d>>2]=N;e=e+4|0;d=d+-4|0}while(e>>>0>>0)}f[O>>2]=g;f[Q>>2]=f[X>>2];f[R>>2]=f[x>>2];f[P>>2]=f[O>>2];f[W>>2]=f[Q>>2];f[V>>2]=f[R>>2];Wd(w,P,W,V)|0;if((f[r>>2]|0)!=(f[s>>2]|0)?(c=f[I>>2]|0,c=((f[c+100>>2]|0)-(f[c+96>>2]|0)|0)/12|0,b[V>>0]=0,$g(J,c,V),c=f[w>>2]|0,S=f[t>>2]|0,(c|0)!=(S|0)):0)do{f[T>>2]=f[c>>2];f[V>>2]=f[T>>2];lg(a,V)|0;c=c+4|0}while((c|0)!=(S|0));bh(M);e=a+232|0;hd(M,e);d=a+280|0;c=f[d>>2]|0;if((c|0?(f[v>>2]|0)>0:0)?(hd(c,e),(f[v>>2]|0)>1):0){c=1;do{hd((f[d>>2]|0)+(c<<5)|0,e);c=c+1|0}while((c|0)<(f[v>>2]|0))}Th((f[a+272>>2]|0)-(f[a+268>>2]|0)>>2,f[(f[U>>2]|0)+44>>2]|0)|0;Th(f[C>>2]|0,f[(f[U>>2]|0)+44>>2]|0)|0;if(Jg(a)|0){d=f[(f[U>>2]|0)+44>>2]|0;c=f[e>>2]|0;U=d+16|0;T=f[U+4>>2]|0;if(!((T|0)>0|(T|0)==0&(f[U>>2]|0)>>>0>0)){a=(f[a+236>>2]|0)-c|0;f[W>>2]=f[d+4>>2];f[V>>2]=f[W>>2];Me(d,V,c,c+a|0)|0}L=1}else L=0}c=f[X>>2]|0;if(c|0){d=f[x>>2]|0;if((d|0)!=(c|0))f[x>>2]=d+(~((d+-4-c|0)>>>2)<<2);tq(c)}a=L;u=Y;return a|0}function db(a){a=a|0;var c=0,d=0,e=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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=u;u=u+64|0;U=X+56|0;V=X+52|0;P=X+48|0;i=X+60|0;W=X;F=X+44|0;G=X+40|0;C=X+36|0;D=X+32|0;E=X+28|0;O=X+24|0;Q=X+20|0;R=X+16|0;T=X+12|0;if(!(b[a+352>>0]|0)){tf(U,f[a+8>>2]|0);M=a+12|0;K=f[U>>2]|0;f[U>>2]=0;d=f[M>>2]|0;f[M>>2]=K;if(d){ti(d);tq(d);d=f[U>>2]|0;f[U>>2]=0;if(d|0){ti(d);tq(d)}}else f[U>>2]=0}else{Sh(U,f[a+8>>2]|0);M=a+12|0;K=f[U>>2]|0;f[U>>2]=0;d=f[M>>2]|0;f[M>>2]=K;if(d){ti(d);tq(d);d=f[U>>2]|0;f[U>>2]=0;if(d|0){ti(d);tq(d)}}else f[U>>2]=0}A=a+12|0;if(!(f[A>>2]|0)){a=0;u=X;return a|0}M=a+200|0;ze(M,a)|0;J=f[A>>2]|0;K=a+4|0;Th(((f[J+28>>2]|0)-(f[J+24>>2]|0)>>2)-(f[J+44>>2]|0)|0,f[(f[K>>2]|0)+44>>2]|0)|0;J=f[A>>2]|0;Th((((f[J+4>>2]|0)-(f[J>>2]|0)>>2>>>0)/3|0)-(f[J+40>>2]|0)|0,f[(f[K>>2]|0)+44>>2]|0)|0;J=a+28|0;I=a+8|0;h=f[I>>2]|0;h=((f[h+100>>2]|0)-(f[h+96>>2]|0)|0)/12|0;b[U>>0]=0;$g(J,h,U);h=f[A>>2]|0;h=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;f[U>>2]=-1;cg(a+52|0,h,U);h=a+40|0;d=f[h>>2]|0;g=a+44|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);z=f[A>>2]|0;z=(f[z+4>>2]|0)-(f[z>>2]|0)>>2;Kj(h,z-((z>>>0)%3|0)|0);z=a+84|0;y=f[A>>2]|0;y=(f[y+28>>2]|0)-(f[y+24>>2]|0)>>2;b[U>>0]=0;$g(z,y,U);y=a+96|0;d=f[y>>2]|0;x=a+100|0;e=f[x>>2]|0;if((e|0)!=(d|0))f[x>>2]=e+(~((e+-4-d|0)>>>2)<<2);f[a+164>>2]=-1;B=a+168|0;f[B>>2]=0;d=f[a+108>>2]|0;g=a+112|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~(((e+-12-d|0)>>>0)/12|0)*12|0);h=a+132|0;if(f[h>>2]|0){e=a+128|0;d=f[e>>2]|0;if(d|0)do{w=d;d=f[d>>2]|0;tq(w)}while((d|0)!=0);f[e>>2]=0;d=f[a+124>>2]|0;if(d|0){e=a+120|0;g=0;do{f[(f[e>>2]|0)+(g<<2)>>2]=0;g=g+1|0}while((g|0)!=(d|0))}f[h>>2]=0}f[a+144>>2]=0;w=f[A>>2]|0;w=(f[w+28>>2]|0)-(f[w+24>>2]|0)>>2;f[U>>2]=-1;cg(a+152|0,w,U);w=a+72|0;d=f[w>>2]|0;v=a+76|0;e=f[v>>2]|0;if((e|0)!=(d|0))f[v>>2]=e+(~((e+-4-d|0)>>>2)<<2);t=f[A>>2]|0;Kj(w,((f[t+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0);f[a+64>>2]=0;if(!(Nd(a)|0)){a=0;u=X;return a|0}if(!(Rf(a)|0)){a=0;u=X;return a|0}s=a+172|0;r=a+176|0;d=(((f[r>>2]|0)-(f[s>>2]|0)|0)/108|0)&255;b[i>>0]=d;e=f[(f[K>>2]|0)+44>>2]|0;t=e+16|0;q=f[t+4>>2]|0;if(!((q|0)>0|(q|0)==0&(f[t>>2]|0)>>>0>0)){f[V>>2]=f[e+4>>2];f[U>>2]=f[V>>2];Me(e,U,i,i+1|0)|0;d=b[i>>0]|0}f[a+284>>2]=d&255;p=f[A>>2]|0;p=(f[p+4>>2]|0)-(f[p>>2]|0)|0;q=p>>2;Ni(M);f[W>>2]=0;t=W+4|0;f[t>>2]=0;f[W+8>>2]=0;a:do if((p|0)>0){o=a+104|0;n=W+8|0;p=0;b:while(1){d=(p>>>0)/3|0;k=d>>>5;l=1<<(d&31);if((f[(f[J>>2]|0)+(k<<2)>>2]&l|0)==0?(m=f[A>>2]|0,f[F>>2]=d,f[U>>2]=f[F>>2],!(ui(m,U)|0)):0){f[V>>2]=0;f[G>>2]=d;f[U>>2]=f[G>>2];m=Zd(a,U,V)|0;cj(M,m);d=f[V>>2]|0;do if(m){e=f[A>>2]|0;m=(d|0)<0;do if(m){h=-1073741824;g=-1073741824;e=-1073741824}else{g=f[e>>2]|0;j=(f[e+4>>2]|0)-g>>2;if((d|0)>=(j|0)){H=39;break b}e=f[g+(d<<2)>>2]|0;h=d+1|0;if(!((h|0)%3|0))if((d|0)<2)i=-1073741824;else{h=d+-2|0;H=42}else H=42;if((H|0)==42){H=0;if((h|0)>=(j|0)){H=43;break b}i=f[g+(h<<2)>>2]|0}h=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((h|0)<0){h=-1073741824;g=i;break}if((h|0)>=(j|0)){H=47;break b}h=f[g+(h<<2)>>2]|0;g=i}while(0);j=f[z>>2]|0;i=j+(e>>>5<<2)|0;f[i>>2]=f[i>>2]|1<<(e&31);e=j+(g>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(g&31);e=j+(h>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(h&31);f[U>>2]=1;e=f[x>>2]|0;if(e>>>0<(f[o>>2]|0)>>>0){f[e>>2]=1;f[x>>2]=e+4}else Ji(y,U);h=(f[J>>2]|0)+(k<<2)|0;f[h>>2]=f[h>>2]|l;h=d+1|0;if(m)g=d;else g=((h|0)%3|0|0)==0?d+-2|0:h;f[U>>2]=g;e=f[t>>2]|0;if(e>>>0<(f[n>>2]|0)>>>0){f[e>>2]=g;f[t>>2]=e+4}else Ji(W,U);if(m)break;d=((h|0)%3|0|0)==0?d+-2|0:h;if((d|0)<0)break;e=f[(f[(f[A>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;m=(e|0)<0;d=m?-1073741824:(e>>>0)/3|0;if(m)break;if(f[(f[J>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)|0)break;f[C>>2]=e;f[U>>2]=f[C>>2];if(!(vb(a,U)|0)){H=67;break b}}else{e=d+1|0;if((d|0)>=0)d=((e|0)%3|0|0)==0?d+-2|0:e;f[D>>2]=d;f[U>>2]=f[D>>2];Od(a,U,1)|0;f[E>>2]=f[V>>2];f[U>>2]=f[E>>2];if(!(vb(a,U)|0)){H=67;break b}}while(0)}p=p+1|0;if((p|0)>=(q|0)){H=68;break a}}if((H|0)==39)ra(20128,20163,98,20248);else if((H|0)==43)ra(20128,20163,98,20248);else if((H|0)==47)ra(20128,20163,98,20248);else if((H|0)==67){L=0;break}}else H=68;while(0);if((H|0)==68){d=f[w>>2]|0;e=f[v>>2]|0;g=e;if((d|0)!=(e|0)?(N=e+-4|0,d>>>0>>0):0){e=d;d=N;do{N=f[e>>2]|0;f[e>>2]=f[d>>2];f[d>>2]=N;e=e+4|0;d=d+-4|0}while(e>>>0>>0)}f[O>>2]=g;f[Q>>2]=f[W>>2];f[R>>2]=f[t>>2];f[P>>2]=f[O>>2];f[V>>2]=f[Q>>2];f[U>>2]=f[R>>2];Wd(w,P,V,U)|0;if((f[r>>2]|0)!=(f[s>>2]|0)?(c=f[I>>2]|0,c=((f[c+100>>2]|0)-(f[c+96>>2]|0)|0)/12|0,b[U>>0]=0,$g(J,c,U),c=f[w>>2]|0,S=f[v>>2]|0,(c|0)!=(S|0)):0)do{f[T>>2]=f[c>>2];f[U>>2]=f[T>>2];lg(a,U)|0;c=c+4|0}while((c|0)!=(S|0));li(M);Th(f[a+324>>2]|0,f[(f[K>>2]|0)+44>>2]|0)|0;Th(f[B>>2]|0,f[(f[K>>2]|0)+44>>2]|0)|0;if(Jg(a)|0){c=f[(f[K>>2]|0)+44>>2]|0;d=f[a+232>>2]|0;T=c+16|0;S=f[T+4>>2]|0;if(!((S|0)>0|(S|0)==0&(f[T>>2]|0)>>>0>0)){a=(f[a+236>>2]|0)-d|0;f[V>>2]=f[c+4>>2];f[U>>2]=f[V>>2];Me(c,U,d,d+a|0)|0}L=1}else L=0}c=f[W>>2]|0;if(c|0){d=f[t>>2]|0;if((d|0)!=(c|0))f[t>>2]=d+(~((d+-4-c|0)>>>2)<<2);tq(c)}a=L;u=X;return a|0}function eb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=u;u=u+48|0;L=Q+36|0;J=Q+32|0;P=Q;I=Q+28|0;K=Q+24|0;M=a+8|0;i=f[M>>2]|0;f[L>>2]=0;k=L+4|0;f[k>>2]=0;f[L+8>>2]=0;do if(i)if(i>>>0>1073741823)Jp(L);else{N=i<<2;e=en(N)|0;f[L>>2]=e;h=e+(i<<2)|0;f[L+8>>2]=h;fj(e|0,0,N|0)|0;f[k>>2]=h;break}else{h=0;e=0}while(0);H=a+1164|0;m=f[H>>2]|0;j=f[m>>2]|0;l=m+4|0;if(!j){j=e;e=m+8|0}else{e=f[l>>2]|0;if((e|0)!=(j|0))f[l>>2]=e+(~((e+-4-j|0)>>>2)<<2);tq(j);e=m+8|0;f[e>>2]=0;f[l>>2]=0;f[m>>2]=0;j=f[L>>2]|0;h=f[k>>2]|0;i=f[M>>2]|0}f[m>>2]=j;f[l>>2]=h;f[e>>2]=f[L+8>>2];f[L>>2]=0;h=L+4|0;f[h>>2]=0;f[L+8>>2]=0;do if(i)if(i>>>0>1073741823)Jp(L);else{N=i<<2;g=en(N)|0;f[L>>2]=g;d=g+(i<<2)|0;f[L+8>>2]=d;fj(g|0,0,N|0)|0;f[h>>2]=d;break}else{d=0;g=0}while(0);D=a+1176|0;j=f[D>>2]|0;e=f[j>>2]|0;i=j+4|0;if(!e)e=j+8|0;else{d=f[i>>2]|0;if((d|0)!=(e|0))f[i>>2]=d+(~((d+-4-e|0)>>>2)<<2);tq(e);e=j+8|0;f[e>>2]=0;f[i>>2]=0;f[j>>2]=0;g=f[L>>2]|0;d=f[h>>2]|0}f[j>>2]=g;f[i>>2]=d;f[e>>2]=f[L+8>>2];g=f[b>>2]|0;h=f[c>>2]|0;f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;f[P+16>>2]=0;f[P+20>>2]=0;N=P+8|0;G=P+4|0;F=P+16|0;E=P+20|0;Ic(P);d=f[G>>2]|0;e=(f[E>>2]|0)+(f[F>>2]|0)|0;if((f[N>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/204|0)<<2)>>2]|0)+(((e>>>0)%204|0)*20|0)|0;f[d>>2]=g;f[d+4>>2]=h;f[d+8>>2]=0;f[d+12>>2]=(h-g|0)/12|0;f[d+16>>2]=0;d=(f[E>>2]|0)+1|0;f[E>>2]=d;a:do if(d|0){x=a+1152|0;C=a+1068|0;w=a+1124|0;B=a+1120|0;y=a+1112|0;z=a+1116|0;A=a+1108|0;b:while(1){s=f[F>>2]|0;e=d+-1|0;t=s+e|0;v=f[G>>2]|0;r=f[v+(((t>>>0)/204|0)<<2)>>2]|0;t=(t>>>0)%204|0;j=r+(t*20|0)|0;n=f[j>>2]|0;j=f[j+4>>2]|0;h=f[r+(t*20|0)+8>>2]|0;t=f[r+(t*20|0)+16>>2]|0;f[E>>2]=e;e=f[N>>2]|0;v=e-v>>2;if((1-d-s+((v|0)==0?0:(v*204|0)+-1|0)|0)>>>0>407){tq(f[e+-4>>2]|0);f[N>>2]=(f[N>>2]|0)+-4}f[b>>2]=n;f[c>>2]=j;k=f[H>>2]|0;l=k+(t*12|0)|0;m=(f[D>>2]|0)+(t*12|0)|0;f[I>>2]=n;f[K>>2]=j;g=j;i=n;f[J>>2]=f[I>>2];f[L>>2]=f[K>>2];e=Vd(a,J,L,l,m,h)|0;j=j-n|0;s=(j|0)/12|0;d=(f[a>>2]|0)-(f[(f[m>>2]|0)+(e<<2)>>2]|0)|0;c:do if(d){if(s>>>0<3){h=f[x>>2]|0;f[h>>2]=e;d=f[M>>2]|0;if(d>>>0>1){g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[M>>2]|0}while(g>>>0>>0)}if(!j){O=77;break}else{e=d;j=0}while(1){if(!d)d=0;else{h=0;while(1){d=f[(f[x>>2]|0)+(h<<2)>>2]|0;g=(f[a>>2]|0)-(f[(f[m>>2]|0)+(d<<2)>>2]|0)|0;if(!g)d=e;else{si(C,g,f[i+(j*12|0)+(d<<2)>>2]|0);d=f[M>>2]|0}h=h+1|0;if(h>>>0>=d>>>0){e=d;break}else e=d}}j=j+1|0;if(j>>>0>=s>>>0){O=77;break c}}}m=1<>2]|0;d=f[l>>2]|0;k=d;j=f[(f[H>>2]|0)+(v*12|0)>>2]|0;if((h|0)!=(d|0)){h=h-d>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}r=j+(e<<2)|0;j=(f[r>>2]|0)+m|0;f[r>>2]=j;d:do if((i|0)!=(g|0)){d=n;while(1){while(1){if((f[i+(e<<2)>>2]|0)>>>0>=j>>>0)break;d=i+12|0;if((d|0)==(g|0))break d;else i=d}while(1){h=g+-12|0;if((i|0)==(h|0)){g=i;break d}if((f[g+-12+(e<<2)>>2]|0)>>>0>>0)break;else g=h}p=f[i>>2]|0;q=f[i+4>>2]|0;r=f[i+8>>2]|0;f[i>>2]=f[h>>2];f[i+4>>2]=f[h+4>>2];f[i+8>>2]=f[h+8>>2];f[h>>2]=p;f[g+-8>>2]=q;f[g+-4>>2]=r;d=d+12|0;if((d|0)==(h|0)){g=h;break}else{i=d;g=h}}}while(0);p=g;q=f[c>>2]|0;m=f[b>>2]|0;l=m;n=q;if((q-m|0)<=0)break b;j=(_(s|0)|0)^31;o=(p-m|0)/12|0;r=(q-p|0)/12|0;h=o>>>0>>0;if((o|0)!=(r|0)){d=f[w>>2]|0;if(h)f[B>>2]=f[B>>2]|1<<31-d;k=d+1|0;f[w>>2]=k;if((k|0)==32){d=f[y>>2]|0;if((d|0)==(f[z>>2]|0))Ji(A,B);else{f[d>>2]=f[B>>2];f[y>>2]=d+4}f[w>>2]=0;f[B>>2]=0}}d=s>>>1;if(h){i=d-o|0;if(j|0){d=0;h=1<>>1}}}else{i=d-r|0;if(j|0){d=0;h=1<>>1}}}d=f[D>>2]|0;k=f[d+(t*12|0)>>2]|0;h=k+(e<<2)|0;f[h>>2]=(f[h>>2]|0)+1;h=f[d+(t*12|0)+4>>2]|0;i=k;if((h|0)!=(i|0)){j=f[d+(v*12|0)>>2]|0;h=h-i>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if((g|0)!=(l|0)){j=f[N>>2]|0;i=f[G>>2]|0;s=j-i>>2;d=f[F>>2]|0;h=f[E>>2]|0;if((((s|0)==0?0:(s*204|0)+-1|0)|0)==(h+d|0)){Ic(P);d=f[F>>2]|0;h=f[E>>2]|0;j=f[N>>2]|0;i=f[G>>2]|0}d=h+d|0;if((j|0)==(i|0))d=0;else d=(f[i+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=m;f[d+4>>2]=p;f[d+8>>2]=e;f[d+12>>2]=o;f[d+16>>2]=t;f[E>>2]=(f[E>>2]|0)+1}if((g|0)!=(n|0)){i=f[N>>2]|0;h=f[G>>2]|0;t=i-h>>2;d=f[F>>2]|0;g=f[E>>2]|0;if((((t|0)==0?0:(t*204|0)+-1|0)|0)==(g+d|0)){Ic(P);d=f[F>>2]|0;g=f[E>>2]|0;i=f[N>>2]|0;h=f[G>>2]|0}d=g+d|0;if((i|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=p;f[d+4>>2]=q;f[d+8>>2]=e;f[d+12>>2]=r;f[d+16>>2]=v;d=(f[E>>2]|0)+1|0;f[E>>2]=d}else O=77}else O=77;while(0);if((O|0)==77){O=0;d=f[E>>2]|0}if(!d)break a}ra(7748,7778,332,7919)}while(0);d=f[G>>2]|0;e=f[F>>2]|0;h=d+(((e>>>0)/204|0)<<2)|0;g=f[N>>2]|0;j=g;k=d;if((g|0)==(d|0)){i=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%204|0)*20|0)|0;i=e}e:while(1){do{if((e|0)==(i|0))break e;e=e+20|0}while((e-(f[h>>2]|0)|0)!=4080);e=h+4|0;h=e;e=f[e>>2]|0}f[E>>2]=0;e=j-k>>2;if(e>>>0>2)do{tq(f[d>>2]|0);d=(f[G>>2]|0)+4|0;f[G>>2]=d;g=f[N>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=102;O=91;break}case 2:{e=204;O=91;break}default:{}}if((O|0)==91)f[F>>2]=e;if((d|0)!=(g|0)){do{tq(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[G>>2]|0;e=f[N>>2]|0;if((e|0)!=(d|0))f[N>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[P>>2]|0;if(!d){u=Q;return}tq(d);u=Q;return}function fb(a){a=a|0;var c=0,d=0,e=0,g=Ka,h=Ka,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=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=Ka;U=u;u=u+64|0;T=U+28|0;R=U+16|0;P=U+4|0;M=U;S=a;N=a+80|0;c=f[N>>2]|0;f[T>>2]=0;f[T+4>>2]=0;f[T+8>>2]=0;f[T+12>>2]=0;f[T+16>>2]=S;I=T+20|0;n[I>>2]=$(1.0);f[T+24>>2]=S;wh(T,c);c=f[N>>2]|0;f[R>>2]=0;S=R+4|0;f[S>>2]=0;f[R+8>>2]=0;do if(c|0)if(c>>>0>1073741823)Jp(R);else{H=c<<2;G=en(H)|0;f[R>>2]=G;Q=G+(c<<2)|0;f[R+8>>2]=Q;fj(G|0,0,H|0)|0;f[S>>2]=Q;break}while(0);f[P>>2]=0;Q=P+4|0;f[Q>>2]=0;f[P+8>>2]=0;f[M>>2]=0;a:do if((c|0)>0){G=T+16|0;E=T+4|0;F=T+12|0;D=T+8|0;C=P+8|0;H=T+24|0;c=0;A=0;b:while(1){x=f[G>>2]|0;k=f[x+8>>2]|0;x=(f[x+12>>2]|0)-k|0;w=(x|0)>0;if(w){i=k;l=x>>>2;d=0;j=0;do{e=f[i+(j<<2)>>2]|0;if(!(b[e+84>>0]|0))e=f[(f[e+68>>2]|0)+(c<<2)>>2]|0;else e=c;d=e<<2^d<<1;j=j+1|0}while((j|0)<(l|0));v=d}else v=0;y=f[E>>2]|0;z=(y|0)==0;c:do if(!z){q=y+-1|0;e=(q&y|0)==0;if(!e)if(v>>>0>>0)t=v;else t=(v>>>0)%(y>>>0)|0;else t=q&v;d=f[(f[T>>2]|0)+(t<<2)>>2]|0;if((d|0)!=0?(L=f[d>>2]|0,(L|0)!=0):0){r=f[H>>2]|0;s=r+8|0;r=r+12|0;d:do if(e){d=L;while(1){p=f[d+4>>2]|0;e=(p|0)==(v|0);if(!(e|(p&q|0)==(t|0))){B=50;break c}e:do if(e){p=f[d+8>>2]|0;e=f[s>>2]|0;i=(f[r>>2]|0)-e|0;if((i|0)<=0)break d;o=i>>>2;m=0;while(1){i=f[e+(m<<2)>>2]|0;j=(b[i+84>>0]|0)==0;if(j)l=f[(f[i+68>>2]|0)+(p<<2)>>2]|0;else l=p;if((o|0)<=(m|0)){B=44;break b}if(j)i=f[(f[i+68>>2]|0)+(c<<2)>>2]|0;else i=c;m=m+1|0;if((l|0)!=(i|0))break e;if((m|0)>=(o|0)){B=48;break d}}}while(0);d=f[d>>2]|0;if(!d){B=50;break c}}}else{d=L;while(1){e=f[d+4>>2]|0;f:do if((e|0)!=(v|0)){if(e>>>0>=y>>>0)e=(e>>>0)%(y>>>0)|0;if((e|0)!=(t|0)){B=50;break c}}else{p=f[d+8>>2]|0;e=f[s>>2]|0;i=(f[r>>2]|0)-e|0;if((i|0)<=0)break d;o=i>>>2;m=0;while(1){i=f[e+(m<<2)>>2]|0;j=(b[i+84>>0]|0)==0;if(j)l=f[(f[i+68>>2]|0)+(p<<2)>>2]|0;else l=p;if((o|0)<=(m|0)){B=44;break b}if(j)i=f[(f[i+68>>2]|0)+(c<<2)>>2]|0;else i=c;m=m+1|0;if((l|0)!=(i|0))break f;if((m|0)>=(o|0)){B=48;break d}}}while(0);d=f[d>>2]|0;if(!d){B=50;break c}}}while(0);if((B|0)==48){B=0;if(!d){B=50;break}}f[(f[R>>2]|0)+(c<<2)>>2]=f[d+12>>2];e=A}else B=50}else B=50;while(0);do if((B|0)==50){B=0;if(w){j=x>>>2;d=0;i=0;do{e=f[k+(i<<2)>>2]|0;if(!(b[e+84>>0]|0))e=f[(f[e+68>>2]|0)+(c<<2)>>2]|0;else e=c;d=e<<2^d<<1;i=i+1|0}while((i|0)<(j|0));t=d}else t=0;g:do if(!z){p=y+-1|0;e=(p&y|0)==0;if(!e)if(t>>>0>>0)s=t;else s=(t>>>0)%(y>>>0)|0;else s=p&t;d=f[(f[T>>2]|0)+(s<<2)>>2]|0;if((d|0)!=0?(K=f[d>>2]|0,(K|0)!=0):0){q=f[H>>2]|0;r=q+8|0;q=q+12|0;if(e){m=K;while(1){x=f[m+4>>2]|0;if(!((x|0)==(t|0)|(x&p|0)==(s|0))){d=s;B=89;break g}o=f[m+8>>2]|0;d=f[r>>2]|0;e=(f[q>>2]|0)-d|0;if((e|0)<=0)break g;l=e>>>2;k=0;while(1){e=f[d+(k<<2)>>2]|0;i=(b[e+84>>0]|0)==0;if(i)j=f[(f[e+68>>2]|0)+(o<<2)>>2]|0;else j=o;if((l|0)<=(k|0)){B=85;break b}if(i)e=f[(f[e+68>>2]|0)+(c<<2)>>2]|0;else e=c;k=k+1|0;if((j|0)!=(e|0))break;if((k|0)>=(l|0))break g}m=f[m>>2]|0;if(!m){d=s;B=89;break g}}}else o=K;while(1){d=f[o+4>>2]|0;if((d|0)!=(t|0)){if(d>>>0>=y>>>0)d=(d>>>0)%(y>>>0)|0;if((d|0)!=(s|0)){d=s;B=89;break g}}m=f[o+8>>2]|0;d=f[r>>2]|0;e=(f[q>>2]|0)-d|0;if((e|0)<=0)break g;l=e>>>2;k=0;while(1){e=f[d+(k<<2)>>2]|0;i=(b[e+84>>0]|0)==0;if(i)j=f[(f[e+68>>2]|0)+(m<<2)>>2]|0;else j=m;if((l|0)<=(k|0)){B=85;break b}if(i)e=f[(f[e+68>>2]|0)+(c<<2)>>2]|0;else e=c;k=k+1|0;if((j|0)!=(e|0))break;if((k|0)>=(l|0))break g}o=f[o>>2]|0;if(!o){d=s;B=89;break}}}else{d=s;B=89}}else{d=0;B=89}while(0);if((B|0)==89){B=0;i=en(16)|0;f[i+8>>2]=c;f[i+12>>2]=A;f[i+4>>2]=t;f[i>>2]=0;h=$(((f[F>>2]|0)+1|0)>>>0);V=$(y>>>0);g=$(n[I>>2]);do if(z|h>$(V*g)){c=(y>>>0<3|(y+-1&y|0)!=0)&1|y<<1;d=~~$(W($(h/g)))>>>0;wh(T,c>>>0>>0?d:c);c=f[E>>2]|0;d=c+-1|0;if(!(d&c)){e=c;c=d&t;break}if(t>>>0>>0){e=c;c=t}else{e=c;c=(t>>>0)%(c>>>0)|0}}else{e=y;c=d}while(0);d=(f[T>>2]|0)+(c<<2)|0;c=f[d>>2]|0;if(!c){f[i>>2]=f[D>>2];f[D>>2]=i;f[d>>2]=D;c=f[i>>2]|0;if(c|0){c=f[c+4>>2]|0;d=e+-1|0;if(d&e){if(c>>>0>=e>>>0)c=(c>>>0)%(e>>>0)|0}else c=c&d;c=(f[T>>2]|0)+(c<<2)|0;B=102}}else{f[i>>2]=f[c>>2];B=102}if((B|0)==102){B=0;f[c>>2]=i}f[F>>2]=(f[F>>2]|0)+1;c=f[M>>2]|0}e=A+1|0;f[(f[R>>2]|0)+(c<<2)>>2]=A;c=f[Q>>2]|0;if((c|0)==(f[C>>2]|0)){Ji(P,M);break}else{f[c>>2]=f[M>>2];f[Q>>2]=c+4;break}}while(0);c=(f[M>>2]|0)+1|0;f[M>>2]=c;d=f[N>>2]|0;if((c|0)>=(d|0)){J=d;O=e;break a}else A=e}if((B|0)==44)ra(20555,20609,68,20700);else if((B|0)==85)ra(20555,20609,68,20700)}else{J=0;O=0}while(0);if((O|0)!=(J|0)){Ta[f[(f[a>>2]|0)+24>>2]&15](a,R,P);f[N>>2]=O}c=f[P>>2]|0;if(c|0){d=f[Q>>2]|0;if((d|0)!=(c|0))f[Q>>2]=d+(~((d+-4-c|0)>>>2)<<2);tq(c)}c=f[R>>2]|0;if(c|0){d=f[S>>2]|0;if((d|0)!=(c|0))f[S>>2]=d+(~((d+-4-c|0)>>>2)<<2);tq(c)}c=f[T+8>>2]|0;if(c|0)do{S=c;c=f[c>>2]|0;tq(S)}while((c|0)!=0);c=f[T>>2]|0;f[T>>2]=0;if(!c){u=U;return}tq(c);u=U;return}function gb(a,c){a=a|0;c=c|0;var d=0,e=0,g=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,v=0,w=0,x=0,y=0,z=0;z=u;u=u+1328|0;x=z+1304|0;w=z+1296|0;y=z;g=z+1284|0;l=z+1280|0;t=z+1316|0;p=z+1288|0;q=z+72|0;n=z+1268|0;i=z+64|0;j=z+56|0;k=z+80|0;d=f[a+4>>2]|0;if(((f[a+8>>2]|0)-d|0)!=4){y=0;u=z;return y|0}m=f[d>>2]|0;s=a+28|0;e=f[s>>2]|0;d=f[e+4>>2]|0;if((m|0)<=-1)ra(20916,20609,59,20700);a=f[d+8>>2]|0;if(((f[d+12>>2]|0)-a>>2|0)<=(m|0))ra(20555,20609,60,20700);r=f[a+(m<<2)>>2]|0;if((b[r+24>>0]|0)!=3){y=0;u=z;return y|0}e=10-(gi(f[e+48>>2]|0)|0)|0;e=(e|0)<6?e:6;b[t>>0]=e;if((e&255)>>>0>=7)ra(7566,7593,92,7711);a:do switch(f[r+28>>2]|0){case 9:{i=f[(f[s>>2]|0)+48>>2]|0;d=en(32)|0;f[x>>2]=d;f[x+8>>2]=-2147483616;f[x+4>>2]=17;a=d;e=17770;g=a+17|0;do{b[a>>0]=b[e>>0]|0;a=a+1|0;e=e+1|0}while((a|0)<(g|0));b[d+17>>0]=0;g=i+16|0;a=f[g>>2]|0;if(a){d=g;b:while(1){e=a;while(1){if((f[e+16>>2]|0)>=(m|0))break;a=f[e+4>>2]|0;if(!a)break b;else e=a}a=f[e>>2]|0;if(!a){d=e;break}else d=e}if(((d|0)!=(g|0)?(m|0)>=(f[d+16>>2]|0):0)?(o=d+20|0,(Qh(o,x)|0)!=0):0)e=Dk(o,x,-1)|0;else v=19}else v=19;if((v|0)==19)e=Dk(i,x,-1)|0;if((b[x+11>>0]|0)<0)tq(f[x>>2]|0);if((e|0)>=1){b[y>>0]=0;g=c+16|0;d=g;a=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&a>>>0>0)){f[w>>2]=f[c+4>>2];f[x>>2]=f[w>>2];Me(c,x,y,y+1|0)|0;a=g;d=f[a+4>>2]|0;a=f[a>>2]|0}if(!((d|0)>0|(d|0)==0&a>>>0>0)){f[w>>2]=f[c+4>>2];f[x>>2]=f[w>>2];Me(c,x,t,t+1|0)|0;a=g;d=f[a+4>>2]|0;a=f[a>>2]|0}f[y>>2]=f[(f[(f[s>>2]|0)+4>>2]|0)+80>>2];if(!((d|0)>0|(d|0)==0&a>>>0>0)){f[w>>2]=f[c+4>>2];f[x>>2]=f[w>>2];Me(c,x,y,y+4|0)|0}Hl(y,1,e,h[t>>0]|0);f[p>>2]=r;f[p+4>>2]=0;t=f[(f[(f[s>>2]|0)+4>>2]|0)+80>>2]|0;s=q;f[s>>2]=r;f[s+4>>2]=0;f[q+4>>2]=t;f[w>>2]=f[p>>2];f[w+4>>2]=f[p+4>>2];f[x>>2]=f[q>>2];f[x+4>>2]=f[q+4>>2];if(yd(y,w,x)|0){d=f[y+16>>2]|0;t=g;s=f[t+4>>2]|0;if(!((s|0)>0|(s|0)==0&(f[t>>2]|0)>>>0>0)){t=(f[y+20>>2]|0)-d|0;f[w>>2]=f[c+4>>2];f[x>>2]=f[w>>2];Me(c,x,d,d+t|0)|0}e=0}else e=1;c=y+28|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0)tq(d);a=f[y+16>>2]|0;if(a|0){d=y+20|0;if((f[d>>2]|0)!=(a|0))f[d>>2]=a;tq(a)}if(!e)v=64;else d=0}else d=0;break}case 6:{b[y>>0]=1;e=c+16|0;d=e;a=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&a>>>0>0)){f[w>>2]=f[c+4>>2];f[x>>2]=f[w>>2];Me(c,x,y,y+1|0)|0;a=e;d=f[a+4>>2]|0;a=f[a>>2]|0}if((d|0)>0|(d|0)==0&a>>>0>0)e=d;else{f[w>>2]=f[c+4>>2];f[x>>2]=f[w>>2];Me(c,x,t,t+1|0)|0;a=e;e=f[a+4>>2]|0;a=f[a>>2]|0}d=f[s>>2]|0;f[y>>2]=f[(f[d+4>>2]|0)+80>>2];if(!((e|0)>0|(e|0)==0&a>>>0>0)){f[w>>2]=f[c+4>>2];f[x>>2]=f[w>>2];Me(c,x,y,y+4|0)|0;d=f[s>>2]|0}f[i>>2]=r;f[i+4>>2]=0;v=f[(f[d+4>>2]|0)+80>>2]|0;s=j;f[s>>2]=r;f[s+4>>2]=0;f[j+4>>2]=v;f[w>>2]=f[i>>2];f[w+4>>2]=f[i+4>>2];f[x>>2]=f[j>>2];f[x+4>>2]=f[j+4>>2];Pg(n,w,x);switch(b[t>>0]|0){case 6:{Oe(k,3);v=f[n+4>>2]|0;f[y>>2]=f[n>>2];f[g>>2]=v;f[l>>2]=32;f[w>>2]=f[y>>2];f[x>>2]=f[g>>2];y=Ye(k,w,x,l,c)|0;Xe(k);if(y)v=54;else v=59;break}case 5:{Oe(k,3);v=f[n+4>>2]|0;f[y>>2]=f[n>>2];f[g>>2]=v;f[l>>2]=32;f[w>>2]=f[y>>2];f[x>>2]=f[g>>2];y=Ze(k,w,x,l,c)|0;Xe(k);if(y)v=54;else v=59;break}case 4:{Oe(k,3);v=f[n+4>>2]|0;f[y>>2]=f[n>>2];f[g>>2]=v;f[l>>2]=32;f[w>>2]=f[y>>2];f[x>>2]=f[g>>2];y=Ze(k,w,x,l,c)|0;Xe(k);if(y)v=54;else v=59;break}case 3:{Pe(k,3);v=f[n+4>>2]|0;f[y>>2]=f[n>>2];f[g>>2]=v;f[l>>2]=32;f[w>>2]=f[y>>2];f[x>>2]=f[g>>2];y=rf(k,w,x,l,c)|0;kf(k);if(y)v=54;else v=59;break}case 2:{Pe(k,3);v=f[n+4>>2]|0;f[y>>2]=f[n>>2];f[g>>2]=v;f[l>>2]=32;f[w>>2]=f[y>>2];f[x>>2]=f[g>>2];y=rf(k,w,x,l,c)|0;kf(k);if(y)v=54;else v=59;break}case 1:{Qe(k,3);v=f[n+4>>2]|0;f[y>>2]=f[n>>2];f[g>>2]=v;f[l>>2]=32;f[w>>2]=f[y>>2];f[x>>2]=f[g>>2];y=qf(k,w,x,l,c)|0;jf(k);if(y)v=54;else v=59;break}case 0:{Qe(k,3);v=f[n+4>>2]|0;f[y>>2]=f[n>>2];f[g>>2]=v;f[l>>2]=32;f[w>>2]=f[y>>2];f[x>>2]=f[g>>2];y=qf(k,w,x,l,c)|0;jf(k);if(y)v=54;else v=59;break}default:v=59}if((v|0)==54){e=f[n>>2]|0;if(e|0){a=n+4|0;d=f[a>>2]|0;if((d|0)!=(e|0))f[a>>2]=d+(~(((d+-12-e|0)>>>0)/12|0)*12|0);tq(e)}v=64;break a}else if((v|0)==59){e=f[n>>2]|0;if(e|0){a=n+4|0;d=f[a>>2]|0;if((d|0)!=(e|0))f[a>>2]=d+(~(((d+-12-e|0)>>>0)/12|0)*12|0);tq(e)}d=0;break a}break}default:d=0}while(0);if((v|0)==64)d=1;y=d;u=z;return y|0}function hb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=u;u=u+32|0;L=M;I=a+8|0;i=f[I>>2]|0;f[L>>2]=0;k=L+4|0;f[k>>2]=0;f[L+8>>2]=0;do if(i)if(i>>>0>1073741823)Jp(L);else{J=i<<2;e=en(J)|0;f[L>>2]=e;h=e+(i<<2)|0;f[L+8>>2]=h;fj(e|0,0,J|0)|0;f[k>>2]=h;break}else{h=0;e=0}while(0);H=a+1164|0;m=f[H>>2]|0;j=f[m>>2]|0;l=m+4|0;if(!j){j=e;e=m+8|0}else{e=f[l>>2]|0;if((e|0)!=(j|0))f[l>>2]=e+(~((e+-4-j|0)>>>2)<<2);tq(j);e=m+8|0;f[e>>2]=0;f[l>>2]=0;f[m>>2]=0;j=f[L>>2]|0;h=f[k>>2]|0;i=f[I>>2]|0}f[m>>2]=j;f[l>>2]=h;f[e>>2]=f[L+8>>2];f[L>>2]=0;h=L+4|0;f[h>>2]=0;f[L+8>>2]=0;do if(i)if(i>>>0>1073741823)Jp(L);else{J=i<<2;g=en(J)|0;f[L>>2]=g;d=g+(i<<2)|0;f[L+8>>2]=d;fj(g|0,0,J|0)|0;f[h>>2]=d;break}else{d=0;g=0}while(0);D=a+1176|0;j=f[D>>2]|0;e=f[j>>2]|0;i=j+4|0;if(!e)e=j+8|0;else{d=f[i>>2]|0;if((d|0)!=(e|0))f[i>>2]=d+(~((d+-4-e|0)>>>2)<<2);tq(e);e=j+8|0;f[e>>2]=0;f[i>>2]=0;f[j>>2]=0;g=f[L>>2]|0;d=f[h>>2]|0}f[j>>2]=g;f[i>>2]=d;f[e>>2]=f[L+8>>2];g=f[b>>2]|0;h=f[c>>2]|0;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;f[L+12>>2]=0;f[L+16>>2]=0;f[L+20>>2]=0;J=L+8|0;G=L+4|0;F=L+16|0;E=L+20|0;Ic(L);d=f[G>>2]|0;e=(f[E>>2]|0)+(f[F>>2]|0)|0;if((f[J>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/204|0)<<2)>>2]|0)+(((e>>>0)%204|0)*20|0)|0;f[d>>2]=g;f[d+4>>2]=h;f[d+8>>2]=0;f[d+12>>2]=(h-g|0)/12|0;f[d+16>>2]=0;d=(f[E>>2]|0)+1|0;f[E>>2]=d;a:do if(d|0){x=a+1152|0;C=a+1068|0;w=a+1124|0;B=a+1120|0;y=a+1112|0;z=a+1116|0;A=a+1108|0;b:while(1){s=f[F>>2]|0;e=d+-1|0;t=s+e|0;v=f[G>>2]|0;r=f[v+(((t>>>0)/204|0)<<2)>>2]|0;t=(t>>>0)%204|0;h=r+(t*20|0)|0;n=f[h>>2]|0;h=f[h+4>>2]|0;g=f[r+(t*20|0)+8>>2]|0;t=f[r+(t*20|0)+16>>2]|0;f[E>>2]=e;e=f[J>>2]|0;v=e-v>>2;if((1-d-s+((v|0)==0?0:(v*204|0)+-1|0)|0)>>>0>407){tq(f[e+-4>>2]|0);f[J>>2]=(f[J>>2]|0)+-4}f[b>>2]=n;f[c>>2]=h;m=f[H>>2]|0;j=m+(t*12|0)|0;e=((f[I>>2]|0)+-1|0)==(g|0)?0:g+1|0;l=(f[D>>2]|0)+(t*12|0)|0;k=h-n|0;s=(k|0)/12|0;d=(f[a>>2]|0)-(f[(f[l>>2]|0)+(e<<2)>>2]|0)|0;g=h;i=n;c:do if(d){if(s>>>0<3){h=f[x>>2]|0;f[h>>2]=e;d=f[I>>2]|0;if(d>>>0>1){g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[I>>2]|0}while(g>>>0>>0)}if(!k){K=77;break}else{e=d;j=0}while(1){if(!d)d=0;else{h=0;while(1){d=f[(f[x>>2]|0)+(h<<2)>>2]|0;g=(f[a>>2]|0)-(f[(f[l>>2]|0)+(d<<2)>>2]|0)|0;if(!g)d=e;else{si(C,g,f[i+(j*12|0)+(d<<2)>>2]|0);d=f[I>>2]|0}h=h+1|0;if(h>>>0>=d>>>0){e=d;break}else e=d}}j=j+1|0;if(j>>>0>=s>>>0){K=77;break c}}}l=1<>2]|0;d=f[j>>2]|0;k=d;j=f[m+(v*12|0)>>2]|0;if((h|0)!=(d|0)){h=h-d>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}r=j+(e<<2)|0;j=(f[r>>2]|0)+l|0;f[r>>2]=j;d:do if((i|0)!=(g|0)){d=n;while(1){while(1){if((f[i+(e<<2)>>2]|0)>>>0>=j>>>0)break;d=i+12|0;if((d|0)==(g|0))break d;else i=d}while(1){h=g+-12|0;if((i|0)==(h|0)){g=i;break d}if((f[g+-12+(e<<2)>>2]|0)>>>0>>0)break;else g=h}p=f[i>>2]|0;q=f[i+4>>2]|0;r=f[i+8>>2]|0;f[i>>2]=f[h>>2];f[i+4>>2]=f[h+4>>2];f[i+8>>2]=f[h+8>>2];f[h>>2]=p;f[g+-8>>2]=q;f[g+-4>>2]=r;d=d+12|0;if((d|0)==(h|0)){g=h;break}else{i=d;g=h}}}while(0);p=g;q=f[c>>2]|0;m=f[b>>2]|0;l=m;n=q;if((q-m|0)<=0)break b;j=(_(s|0)|0)^31;o=(p-m|0)/12|0;r=(q-p|0)/12|0;h=o>>>0>>0;if((o|0)!=(r|0)){d=f[w>>2]|0;if(h)f[B>>2]=f[B>>2]|1<<31-d;k=d+1|0;f[w>>2]=k;if((k|0)==32){d=f[y>>2]|0;if((d|0)==(f[z>>2]|0))Ji(A,B);else{f[d>>2]=f[B>>2];f[y>>2]=d+4}f[w>>2]=0;f[B>>2]=0}}d=s>>>1;if(h){i=d-o|0;if(j|0){d=0;h=1<>>1}}}else{i=d-r|0;if(j|0){d=0;h=1<>>1}}}d=f[D>>2]|0;k=f[d+(t*12|0)>>2]|0;h=k+(e<<2)|0;f[h>>2]=(f[h>>2]|0)+1;h=f[d+(t*12|0)+4>>2]|0;i=k;if((h|0)!=(i|0)){j=f[d+(v*12|0)>>2]|0;h=h-i>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if((g|0)!=(l|0)){j=f[J>>2]|0;i=f[G>>2]|0;s=j-i>>2;d=f[F>>2]|0;h=f[E>>2]|0;if((((s|0)==0?0:(s*204|0)+-1|0)|0)==(h+d|0)){Ic(L);d=f[F>>2]|0;h=f[E>>2]|0;j=f[J>>2]|0;i=f[G>>2]|0}d=h+d|0;if((j|0)==(i|0))d=0;else d=(f[i+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=m;f[d+4>>2]=p;f[d+8>>2]=e;f[d+12>>2]=o;f[d+16>>2]=t;f[E>>2]=(f[E>>2]|0)+1}if((g|0)!=(n|0)){i=f[J>>2]|0;h=f[G>>2]|0;t=i-h>>2;d=f[F>>2]|0;g=f[E>>2]|0;if((((t|0)==0?0:(t*204|0)+-1|0)|0)==(g+d|0)){Ic(L);d=f[F>>2]|0;g=f[E>>2]|0;i=f[J>>2]|0;h=f[G>>2]|0}d=g+d|0;if((i|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=p;f[d+4>>2]=q;f[d+8>>2]=e;f[d+12>>2]=r;f[d+16>>2]=v;d=(f[E>>2]|0)+1|0;f[E>>2]=d}else K=77}else K=77;while(0);if((K|0)==77){K=0;d=f[E>>2]|0}if(!d)break a}ra(7748,7778,332,7919)}while(0);d=f[G>>2]|0;e=f[F>>2]|0;h=d+(((e>>>0)/204|0)<<2)|0;g=f[J>>2]|0;j=g;k=d;if((g|0)==(d|0)){i=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%204|0)*20|0)|0;i=e}e:while(1){do{if((e|0)==(i|0))break e;e=e+20|0}while((e-(f[h>>2]|0)|0)!=4080);e=h+4|0;h=e;e=f[e>>2]|0}f[E>>2]=0;e=j-k>>2;if(e>>>0>2)do{tq(f[d>>2]|0);d=(f[G>>2]|0)+4|0;f[G>>2]=d;g=f[J>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=102;K=91;break}case 2:{e=204;K=91;break}default:{}}if((K|0)==91)f[F>>2]=e;if((d|0)!=(g|0)){do{tq(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[G>>2]|0;e=f[J>>2]|0;if((e|0)!=(d|0))f[J>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[L>>2]|0;if(!d){u=M;return}tq(d);u=M;return}function ib(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=u;u=u+32|0;M=N;J=a+8|0;i=f[J>>2]|0;f[M>>2]=0;k=M+4|0;f[k>>2]=0;f[M+8>>2]=0;do if(i)if(i>>>0>1073741823)Jp(M);else{K=i<<2;e=en(K)|0;f[M>>2]=e;h=e+(i<<2)|0;f[M+8>>2]=h;fj(e|0,0,K|0)|0;f[k>>2]=h;break}else{h=0;e=0}while(0);I=a+128|0;m=f[I>>2]|0;j=f[m>>2]|0;l=m+4|0;if(!j){j=e;e=m+8|0}else{e=f[l>>2]|0;if((e|0)!=(j|0))f[l>>2]=e+(~((e+-4-j|0)>>>2)<<2);tq(j);e=m+8|0;f[e>>2]=0;f[l>>2]=0;f[m>>2]=0;j=f[M>>2]|0;h=f[k>>2]|0;i=f[J>>2]|0}f[m>>2]=j;f[l>>2]=h;f[e>>2]=f[M+8>>2];f[M>>2]=0;h=M+4|0;f[h>>2]=0;f[M+8>>2]=0;do if(i)if(i>>>0>1073741823)Jp(M);else{K=i<<2;g=en(K)|0;f[M>>2]=g;d=g+(i<<2)|0;f[M+8>>2]=d;fj(g|0,0,K|0)|0;f[h>>2]=d;break}else{d=0;g=0}while(0);E=a+140|0;j=f[E>>2]|0;e=f[j>>2]|0;i=j+4|0;if(!e)e=j+8|0;else{d=f[i>>2]|0;if((d|0)!=(e|0))f[i>>2]=d+(~((d+-4-e|0)>>>2)<<2);tq(e);e=j+8|0;f[e>>2]=0;f[i>>2]=0;f[j>>2]=0;g=f[M>>2]|0;d=f[h>>2]|0}f[j>>2]=g;f[i>>2]=d;f[e>>2]=f[M+8>>2];g=f[b>>2]|0;h=f[c>>2]|0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;f[M+16>>2]=0;f[M+20>>2]=0;K=M+8|0;H=M+4|0;G=M+16|0;F=M+20|0;Ic(M);d=f[H>>2]|0;e=(f[F>>2]|0)+(f[G>>2]|0)|0;if((f[K>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/204|0)<<2)>>2]|0)+(((e>>>0)%204|0)*20|0)|0;f[d>>2]=g;f[d+4>>2]=h;f[d+8>>2]=0;f[d+12>>2]=(h-g|0)/12|0;f[d+16>>2]=0;d=(f[F>>2]|0)+1|0;f[F>>2]=d;a:do if(d|0){x=a+116|0;D=a+32|0;C=a+12|0;w=a+88|0;B=a+84|0;y=a+76|0;z=a+80|0;A=a+72|0;b:while(1){s=f[G>>2]|0;e=d+-1|0;t=s+e|0;v=f[H>>2]|0;r=f[v+(((t>>>0)/204|0)<<2)>>2]|0;t=(t>>>0)%204|0;h=r+(t*20|0)|0;n=f[h>>2]|0;h=f[h+4>>2]|0;g=f[r+(t*20|0)+8>>2]|0;t=f[r+(t*20|0)+16>>2]|0;f[F>>2]=e;e=f[K>>2]|0;v=e-v>>2;if((1-d-s+((v|0)==0?0:(v*204|0)+-1|0)|0)>>>0>407){tq(f[e+-4>>2]|0);f[K>>2]=(f[K>>2]|0)+-4}f[b>>2]=n;f[c>>2]=h;m=f[I>>2]|0;j=m+(t*12|0)|0;e=((f[J>>2]|0)+-1|0)==(g|0)?0:g+1|0;l=(f[E>>2]|0)+(t*12|0)|0;k=h-n|0;s=(k|0)/12|0;d=(f[a>>2]|0)-(f[(f[l>>2]|0)+(e<<2)>>2]|0)|0;g=h;i=n;c:do if(d){if(s>>>0<3){h=f[x>>2]|0;f[h>>2]=e;d=f[J>>2]|0;if(d>>>0>1){g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[J>>2]|0}while(g>>>0>>0)}if(!k){L=73;break}else{e=d;j=0}while(1){if(!d)d=0;else{h=0;while(1){d=f[(f[x>>2]|0)+(h<<2)>>2]|0;g=(f[a>>2]|0)-(f[(f[l>>2]|0)+(d<<2)>>2]|0)|0;if(!g)d=e;else{si(D,g,f[i+(j*12|0)+(d<<2)>>2]|0);d=f[J>>2]|0}h=h+1|0;if(h>>>0>=d>>>0){e=d;break}else e=d}}j=j+1|0;if(j>>>0>=s>>>0){L=73;break c}}}l=1<>2]|0;d=f[j>>2]|0;k=d;j=f[m+(v*12|0)>>2]|0;if((h|0)!=(d|0)){h=h-d>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}r=j+(e<<2)|0;j=(f[r>>2]|0)+l|0;f[r>>2]=j;d:do if((i|0)!=(g|0)){d=n;while(1){while(1){if((f[i+(e<<2)>>2]|0)>>>0>=j>>>0)break;d=i+12|0;if((d|0)==(g|0))break d;else i=d}while(1){h=g+-12|0;if((i|0)==(h|0)){g=i;break d}if((f[g+-12+(e<<2)>>2]|0)>>>0>>0)break;else g=h}p=f[i>>2]|0;q=f[i+4>>2]|0;r=f[i+8>>2]|0;f[i>>2]=f[h>>2];f[i+4>>2]=f[h+4>>2];f[i+8>>2]=f[h+8>>2];f[h>>2]=p;f[g+-8>>2]=q;f[g+-4>>2]=r;d=d+12|0;if((d|0)==(h|0)){g=h;break}else{i=d;g=h}}}while(0);p=g;q=f[c>>2]|0;m=f[b>>2]|0;l=m;n=q;if((q-m|0)<=0)break b;i=(_(s|0)|0)^31;o=(p-m|0)/12|0;r=(q-p|0)/12|0;h=o>>>0>>0;if((o|0)!=(r|0)){d=f[w>>2]|0;if(h)f[B>>2]=f[B>>2]|1<<31-d;k=d+1|0;f[w>>2]=k;if((k|0)==32){d=f[y>>2]|0;if((d|0)==(f[z>>2]|0))Ji(A,B);else{f[d>>2]=f[B>>2];f[y>>2]=d+4}f[w>>2]=0;f[B>>2]=0}}d=s>>>1;if(h)si(C,i,d-o|0);else si(C,i,d-r|0);d=f[E>>2]|0;k=f[d+(t*12|0)>>2]|0;h=k+(e<<2)|0;f[h>>2]=(f[h>>2]|0)+1;h=f[d+(t*12|0)+4>>2]|0;i=k;if((h|0)!=(i|0)){j=f[d+(v*12|0)>>2]|0;h=h-i>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if((g|0)!=(l|0)){j=f[K>>2]|0;i=f[H>>2]|0;s=j-i>>2;d=f[G>>2]|0;h=f[F>>2]|0;if((((s|0)==0?0:(s*204|0)+-1|0)|0)==(h+d|0)){Ic(M);d=f[G>>2]|0;h=f[F>>2]|0;j=f[K>>2]|0;i=f[H>>2]|0}d=h+d|0;if((j|0)==(i|0))d=0;else d=(f[i+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=m;f[d+4>>2]=p;f[d+8>>2]=e;f[d+12>>2]=o;f[d+16>>2]=t;f[F>>2]=(f[F>>2]|0)+1}if((g|0)!=(n|0)){i=f[K>>2]|0;h=f[H>>2]|0;t=i-h>>2;d=f[G>>2]|0;g=f[F>>2]|0;if((((t|0)==0?0:(t*204|0)+-1|0)|0)==(g+d|0)){Ic(M);d=f[G>>2]|0;g=f[F>>2]|0;i=f[K>>2]|0;h=f[H>>2]|0}d=g+d|0;if((i|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=p;f[d+4>>2]=q;f[d+8>>2]=e;f[d+12>>2]=r;f[d+16>>2]=v;d=(f[F>>2]|0)+1|0;f[F>>2]=d}else L=73}else L=73;while(0);if((L|0)==73){L=0;d=f[F>>2]|0}if(!d)break a}ra(7748,7778,332,7919)}while(0);d=f[H>>2]|0;e=f[G>>2]|0;h=d+(((e>>>0)/204|0)<<2)|0;g=f[K>>2]|0;j=g;k=d;if((g|0)==(d|0)){i=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%204|0)*20|0)|0;i=e}e:while(1){do{if((e|0)==(i|0))break e;e=e+20|0}while((e-(f[h>>2]|0)|0)!=4080);e=h+4|0;h=e;e=f[e>>2]|0}f[F>>2]=0;e=j-k>>2;if(e>>>0>2)do{tq(f[d>>2]|0);d=(f[H>>2]|0)+4|0;f[H>>2]=d;g=f[K>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=102;L=87;break}case 2:{e=204;L=87;break}default:{}}if((L|0)==87)f[G>>2]=e;if((d|0)!=(g|0)){do{tq(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[H>>2]|0;e=f[K>>2]|0;if((e|0)!=(d|0))f[K>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[M>>2]|0;if(!d){u=N;return}tq(d);u=N;return}function jb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=u;u=u+32|0;M=N;J=a+8|0;i=f[J>>2]|0;f[M>>2]=0;k=M+4|0;f[k>>2]=0;f[M+8>>2]=0;do if(i)if(i>>>0>1073741823)Jp(M);else{K=i<<2;e=en(K)|0;f[M>>2]=e;h=e+(i<<2)|0;f[M+8>>2]=h;fj(e|0,0,K|0)|0;f[k>>2]=h;break}else{h=0;e=0}while(0);I=a+140|0;m=f[I>>2]|0;j=f[m>>2]|0;l=m+4|0;if(!j){j=e;e=m+8|0}else{e=f[l>>2]|0;if((e|0)!=(j|0))f[l>>2]=e+(~((e+-4-j|0)>>>2)<<2);tq(j);e=m+8|0;f[e>>2]=0;f[l>>2]=0;f[m>>2]=0;j=f[M>>2]|0;h=f[k>>2]|0;i=f[J>>2]|0}f[m>>2]=j;f[l>>2]=h;f[e>>2]=f[M+8>>2];f[M>>2]=0;h=M+4|0;f[h>>2]=0;f[M+8>>2]=0;do if(i)if(i>>>0>1073741823)Jp(M);else{K=i<<2;g=en(K)|0;f[M>>2]=g;d=g+(i<<2)|0;f[M+8>>2]=d;fj(g|0,0,K|0)|0;f[h>>2]=d;break}else{d=0;g=0}while(0);E=a+152|0;j=f[E>>2]|0;e=f[j>>2]|0;i=j+4|0;if(!e)e=j+8|0;else{d=f[i>>2]|0;if((d|0)!=(e|0))f[i>>2]=d+(~((d+-4-e|0)>>>2)<<2);tq(e);e=j+8|0;f[e>>2]=0;f[i>>2]=0;f[j>>2]=0;g=f[M>>2]|0;d=f[h>>2]|0}f[j>>2]=g;f[i>>2]=d;f[e>>2]=f[M+8>>2];g=f[b>>2]|0;h=f[c>>2]|0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;f[M+16>>2]=0;f[M+20>>2]=0;K=M+8|0;H=M+4|0;G=M+16|0;F=M+20|0;Ic(M);d=f[H>>2]|0;e=(f[F>>2]|0)+(f[G>>2]|0)|0;if((f[K>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/204|0)<<2)>>2]|0)+(((e>>>0)%204|0)*20|0)|0;f[d>>2]=g;f[d+4>>2]=h;f[d+8>>2]=0;f[d+12>>2]=(h-g|0)/12|0;f[d+16>>2]=0;d=(f[F>>2]|0)+1|0;f[F>>2]=d;a:do if(d|0){x=a+128|0;D=a+44|0;C=a+12|0;w=a+100|0;B=a+96|0;y=a+88|0;z=a+92|0;A=a+84|0;b:while(1){s=f[G>>2]|0;e=d+-1|0;t=s+e|0;v=f[H>>2]|0;r=f[v+(((t>>>0)/204|0)<<2)>>2]|0;t=(t>>>0)%204|0;h=r+(t*20|0)|0;n=f[h>>2]|0;h=f[h+4>>2]|0;g=f[r+(t*20|0)+8>>2]|0;t=f[r+(t*20|0)+16>>2]|0;f[F>>2]=e;e=f[K>>2]|0;v=e-v>>2;if((1-d-s+((v|0)==0?0:(v*204|0)+-1|0)|0)>>>0>407){tq(f[e+-4>>2]|0);f[K>>2]=(f[K>>2]|0)+-4}f[b>>2]=n;f[c>>2]=h;m=f[I>>2]|0;j=m+(t*12|0)|0;e=((f[J>>2]|0)+-1|0)==(g|0)?0:g+1|0;l=(f[E>>2]|0)+(t*12|0)|0;k=h-n|0;s=(k|0)/12|0;d=(f[a>>2]|0)-(f[(f[l>>2]|0)+(e<<2)>>2]|0)|0;g=h;i=n;c:do if(d){if(s>>>0<3){h=f[x>>2]|0;f[h>>2]=e;d=f[J>>2]|0;if(d>>>0>1){g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[J>>2]|0}while(g>>>0>>0)}if(!k){L=73;break}else{e=d;j=0}while(1){if(!d)d=0;else{h=0;while(1){d=f[(f[x>>2]|0)+(h<<2)>>2]|0;g=(f[a>>2]|0)-(f[(f[l>>2]|0)+(d<<2)>>2]|0)|0;if(!g)d=e;else{si(D,g,f[i+(j*12|0)+(d<<2)>>2]|0);d=f[J>>2]|0}h=h+1|0;if(h>>>0>=d>>>0){e=d;break}else e=d}}j=j+1|0;if(j>>>0>=s>>>0){L=73;break c}}}l=1<>2]|0;d=f[j>>2]|0;k=d;j=f[m+(v*12|0)>>2]|0;if((h|0)!=(d|0)){h=h-d>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}r=j+(e<<2)|0;j=(f[r>>2]|0)+l|0;f[r>>2]=j;d:do if((i|0)!=(g|0)){d=n;while(1){while(1){if((f[i+(e<<2)>>2]|0)>>>0>=j>>>0)break;d=i+12|0;if((d|0)==(g|0))break d;else i=d}while(1){h=g+-12|0;if((i|0)==(h|0)){g=i;break d}if((f[g+-12+(e<<2)>>2]|0)>>>0>>0)break;else g=h}p=f[i>>2]|0;q=f[i+4>>2]|0;r=f[i+8>>2]|0;f[i>>2]=f[h>>2];f[i+4>>2]=f[h+4>>2];f[i+8>>2]=f[h+8>>2];f[h>>2]=p;f[g+-8>>2]=q;f[g+-4>>2]=r;d=d+12|0;if((d|0)==(h|0)){g=h;break}else{i=d;g=h}}}while(0);p=g;q=f[c>>2]|0;m=f[b>>2]|0;l=m;n=q;if((q-m|0)<=0)break b;i=(_(s|0)|0)^31;o=(p-m|0)/12|0;r=(q-p|0)/12|0;h=o>>>0>>0;if((o|0)!=(r|0)){d=f[w>>2]|0;if(h)f[B>>2]=f[B>>2]|1<<31-d;k=d+1|0;f[w>>2]=k;if((k|0)==32){d=f[y>>2]|0;if((d|0)==(f[z>>2]|0))Ji(A,B);else{f[d>>2]=f[B>>2];f[y>>2]=d+4}f[w>>2]=0;f[B>>2]=0}}d=s>>>1;if(h)Of(C,i,d-o|0);else Of(C,i,d-r|0);d=f[E>>2]|0;k=f[d+(t*12|0)>>2]|0;h=k+(e<<2)|0;f[h>>2]=(f[h>>2]|0)+1;h=f[d+(t*12|0)+4>>2]|0;i=k;if((h|0)!=(i|0)){j=f[d+(v*12|0)>>2]|0;h=h-i>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if((g|0)!=(l|0)){j=f[K>>2]|0;i=f[H>>2]|0;s=j-i>>2;d=f[G>>2]|0;h=f[F>>2]|0;if((((s|0)==0?0:(s*204|0)+-1|0)|0)==(h+d|0)){Ic(M);d=f[G>>2]|0;h=f[F>>2]|0;j=f[K>>2]|0;i=f[H>>2]|0}d=h+d|0;if((j|0)==(i|0))d=0;else d=(f[i+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=m;f[d+4>>2]=p;f[d+8>>2]=e;f[d+12>>2]=o;f[d+16>>2]=t;f[F>>2]=(f[F>>2]|0)+1}if((g|0)!=(n|0)){i=f[K>>2]|0;h=f[H>>2]|0;t=i-h>>2;d=f[G>>2]|0;g=f[F>>2]|0;if((((t|0)==0?0:(t*204|0)+-1|0)|0)==(g+d|0)){Ic(M);d=f[G>>2]|0;g=f[F>>2]|0;i=f[K>>2]|0;h=f[H>>2]|0}d=g+d|0;if((i|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=p;f[d+4>>2]=q;f[d+8>>2]=e;f[d+12>>2]=r;f[d+16>>2]=v;d=(f[F>>2]|0)+1|0;f[F>>2]=d}else L=73}else L=73;while(0);if((L|0)==73){L=0;d=f[F>>2]|0}if(!d)break a}ra(7748,7778,332,7919)}while(0);d=f[H>>2]|0;e=f[G>>2]|0;h=d+(((e>>>0)/204|0)<<2)|0;g=f[K>>2]|0;j=g;k=d;if((g|0)==(d|0)){i=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%204|0)*20|0)|0;i=e}e:while(1){do{if((e|0)==(i|0))break e;e=e+20|0}while((e-(f[h>>2]|0)|0)!=4080);e=h+4|0;h=e;e=f[e>>2]|0}f[F>>2]=0;e=j-k>>2;if(e>>>0>2)do{tq(f[d>>2]|0);d=(f[H>>2]|0)+4|0;f[H>>2]=d;g=f[K>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=102;L=87;break}case 2:{e=204;L=87;break}default:{}}if((L|0)==87)f[G>>2]=e;if((d|0)!=(g|0)){do{tq(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[H>>2]|0;e=f[K>>2]|0;if((e|0)!=(d|0))f[K>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[M>>2]|0;if(!d){u=N;return}tq(d);u=N;return}function kb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|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,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,J=0,K=0,L=0,M=0;H=u;u=u+80|0;m=H+76|0;n=H+72|0;D=H+48|0;x=H+24|0;B=H;g=f[c>>2]|0;c=g+1|0;do if((g|0)>=0){i=((c|0)%3|0|0)==0?g+-2|0:c;h=(((g>>>0)%3|0|0)==0?2:-1)+g|0;g=f[a+32>>2]|0;do if((i|0)>=0){c=f[g>>2]|0;if((i|0)<((f[g+4>>2]|0)-c>>2|0)){j=f[c+(i<<2)>>2]|0;break}else ra(20128,20163,98,20248)}else j=-1073741824;while(0);if((h|0)>=0){c=f[g>>2]|0;if((h|0)<((f[g+4>>2]|0)-c>>2|0)){k=j;l=f[c+(h<<2)>>2]|0;break}else ra(20128,20163,98,20248)}else{k=j;l=-1073741824}}else{k=-1073741824;l=-1073741824}while(0);g=f[a+36>>2]|0;c=f[g>>2]|0;h=(f[g+4>>2]|0)-c>>2;if(h>>>0<=k>>>0)Jp(g);w=f[c+(k<<2)>>2]|0;if(h>>>0<=l>>>0)Jp(g);h=f[c+(l<<2)>>2]|0;t=(w|0)<(e|0);do if(t&(h|0)<(e|0)){z=w<<1;v=f[d+(z<<2)>>2]|0;y=((v|0)<0)<<31>>31;z=f[d+((z|1)<<2)>>2]|0;A=((z|0)<0)<<31>>31;s=h<<1;r=f[d+(s<<2)>>2]|0;s=f[d+((s|1)<<2)>>2]|0;if(!((r|0)!=(v|0)|(s|0)!=(z|0))){f[a+8>>2]=v;f[a+12>>2]=z;u=H;return}i=a+4|0;c=f[(f[i>>2]|0)+(e<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;f[D+16>>2]=0;f[D+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[n>>2]=c;c=b[g+24>>0]|0;f[m>>2]=f[n>>2];mb(g,m,c,D)|0;c=f[(f[i>>2]|0)+(w<<2)>>2]|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;f[x+16>>2]=0;f[x+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[n>>2]=c;c=b[g+24>>0]|0;f[m>>2]=f[n>>2];mb(g,m,c,x)|0;c=f[(f[i>>2]|0)+(h<<2)>>2]|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;f[B+12>>2]=0;f[B+16>>2]=0;f[B+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[n>>2]=c;i=b[g+24>>0]|0;f[m>>2]=f[n>>2];mb(g,m,i,B)|0;n=B;i=x;h=f[i>>2]|0;i=f[i+4>>2]|0;n=co(f[n>>2]|0,f[n+4>>2]|0,h|0,i|0)|0;o=I;p=B+8|0;k=x+8|0;j=f[k>>2]|0;k=f[k+4>>2]|0;p=co(f[p>>2]|0,f[p+4>>2]|0,j|0,k|0)|0;q=I;l=B+16|0;g=x+16|0;c=f[g>>2]|0;g=f[g+4>>2]|0;l=co(f[l>>2]|0,f[l+4>>2]|0,c|0,g|0)|0;m=I;C=dn(n|0,o|0,n|0,o|0)|0;x=I;B=dn(p|0,q|0,p|0,q|0)|0;x=Qn(B|0,I|0,C|0,x|0)|0;C=I;B=dn(l|0,m|0,l|0,m|0)|0;B=Qn(x|0,C|0,B|0,I|0)|0;C=I;if((B|0)==0&(C|0)==0)break;M=D;M=co(f[M>>2]|0,f[M+4>>2]|0,h|0,i|0)|0;L=I;K=D+8|0;K=co(f[K>>2]|0,f[K+4>>2]|0,j|0,k|0)|0;J=I;h=D+16|0;g=co(f[h>>2]|0,f[h+4>>2]|0,c|0,g|0)|0;h=I;k=dn(M|0,L|0,n|0,o|0)|0;i=I;c=dn(K|0,J|0,p|0,q|0)|0;i=Qn(c|0,I|0,k|0,i|0)|0;k=I;c=dn(g|0,h|0,l|0,m|0)|0;c=Qn(i|0,k|0,c|0,I|0)|0;k=I;i=co(r|0,((r|0)<0)<<31>>31|0,v|0,y|0)|0;D=I;w=co(s|0,((s|0)<0)<<31>>31|0,z|0,A|0)|0;x=I;s=dn(B|0,C|0,v|0,y|0)|0;r=I;v=dn(B|0,C|0,z|0,A|0)|0;t=I;A=dn(c|0,k|0,i|0,D|0)|0;z=I;j=dn(c|0,k|0,w|0,x|0)|0;y=I;r=Qn(A|0,z|0,s|0,r|0)|0;s=I;t=Qn(j|0,y|0,v|0,t|0)|0;v=I;y=dn(c|0,k|0,n|0,o|0)|0;j=I;z=dn(c|0,k|0,p|0,q|0)|0;A=I;m=dn(c|0,k|0,l|0,m|0)|0;k=I;j=mk(y|0,j|0,B|0,C|0)|0;l=I;A=mk(z|0,A|0,B|0,C|0)|0;z=I;k=mk(m|0,k|0,B|0,C|0)|0;m=I;l=co(M|0,L|0,j|0,l|0)|0;j=I;z=co(K|0,J|0,A|0,z|0)|0;A=I;m=co(g|0,h|0,k|0,m|0)|0;k=I;j=dn(l|0,j|0,l|0,j|0)|0;l=I;A=dn(z|0,A|0,z|0,A|0)|0;l=Qn(A|0,I|0,j|0,l|0)|0;j=I;k=dn(m|0,k|0,m|0,k|0)|0;k=Qn(l|0,j|0,k|0,I|0)|0;j=I;l=co(0,0,i|0,D|0)|0;m=I;j=dn(k|0,j|0,B|0,C|0)|0;k=I;switch(j|0){case 0:{if(!k){g=0;c=0}else{g=1;c=0;h=j;i=k;E=27}break}case 1:{if(!k){g=1;c=0;E=28}else{g=1;c=0;h=j;i=k;E=27}break}default:{g=1;c=0;h=j;i=k;E=27}}if((E|0)==27)while(1){g=zn(g|0,c|0,1)|0;c=I;M=h;h=En(h|0,i|0,2)|0;if(!(i>>>0>0|(i|0)==0&M>>>0>7)){E=28;break}else{i=I;E=27}}if((E|0)==28)while(1){M=To(j|0,k|0,g|0,c|0)|0;g=Qn(M|0,I|0,g|0,c|0)|0;g=En(g|0,I|0,1)|0;c=I;M=dn(g|0,c|0,g|0,c|0)|0;L=I;if(L>>>0>k>>>0|(L|0)==(k|0)&M>>>0>j>>>0)E=28;else break}n=dn(g|0,c|0,w|0,x|0)|0;M=I;m=dn(g|0,c|0,l|0,m|0)|0;j=I;L=Qn(n|0,M|0,r|0,s|0)|0;g=I;k=Qn(m|0,j|0,t|0,v|0)|0;c=I;g=mk(L|0,g|0,B|0,C|0)|0;L=I;c=mk(k|0,c|0,B|0,C|0)|0;k=I;M=co(r|0,s|0,n|0,M|0)|0;n=I;j=co(t|0,v|0,m|0,j|0)|0;m=I;n=mk(M|0,n|0,B|0,C|0)|0;M=I;m=mk(j|0,m|0,B|0,C|0)|0;j=I;h=e<<1;i=f[d+(h<<2)>>2]|0;K=((i|0)<0)<<31>>31;h=f[d+((h|1)<<2)>>2]|0;l=((h|0)<0)<<31>>31;L=co(i|0,K|0,g|0,L|0)|0;J=I;d=co(h|0,l|0,c|0,k|0)|0;k=I;J=dn(L|0,J|0,L|0,J|0)|0;L=I;k=dn(d|0,k|0,d|0,k|0)|0;L=Qn(k|0,I|0,J|0,L|0)|0;J=I;M=co(i|0,K|0,n|0,M|0)|0;K=I;j=co(h|0,l|0,m|0,j|0)|0;l=I;K=dn(M|0,K|0,M|0,K|0)|0;M=I;l=dn(j|0,l|0,j|0,l|0)|0;M=Qn(l|0,I|0,K|0,M|0)|0;K=I;l=a+16|0;j=a+20|0;h=f[j>>2]|0;i=f[a+24>>2]|0;k=(h|0)==(i<<5|0);if(J>>>0>>0|(J|0)==(K|0)&L>>>0>>0){do if(k)if((h+1|0)<0)Jp(l);else{F=i<<6;M=h+32&-32;hi(l,h>>>0<1073741823?(F>>>0>>0?M:F):2147483647);F=f[j>>2]|0;break}else F=h;while(0);f[j>>2]=F+1;M=(f[l>>2]|0)+(F>>>5<<2)|0;f[M>>2]=f[M>>2]|1<<(F&31)}else{do if(k)if((h+1|0)<0)Jp(l);else{G=i<<6;M=h+32&-32;hi(l,h>>>0<1073741823?(G>>>0>>0?M:G):2147483647);G=f[j>>2]|0;break}else G=h;while(0);f[j>>2]=G+1;g=(f[l>>2]|0)+(G>>>5<<2)|0;f[g>>2]=f[g>>2]&~(1<<(G&31));g=n;c=m}f[a+8>>2]=g;f[a+12>>2]=c;u=H;return}while(0);do if(t)c=w<<1;else{if((e|0)>0){c=(e<<1)+-2|0;break}M=a+8|0;f[M>>2]=0;f[M+4>>2]=0;u=H;return}while(0);f[a+8>>2]=f[d+(c<<2)>>2];f[a+12>>2]=f[d+(c+1<<2)>>2];u=H;return}function lb(a,b){a=a|0;b=b|0;var c=0,d=0,e=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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=u;u=u+32|0;A=F+28|0;E=F+16|0;D=F+4|0;z=F;if((f[a+64>>2]|0)!=(f[a+60>>2]|0))ra(19828,19872,193,19958);if((f[a+76>>2]|0)!=(f[a+72>>2]|0))ra(19979,19872,194,19958);f[a+36>>2]=b;B=a+24|0;y=a+28|0;g=f[y>>2]|0;e=f[B>>2]|0;i=g-e>>2;if(i>>>0>=b>>>0){if(i>>>0>b>>>0?(h=e+(b<<2)|0,(g|0)!=(h|0)):0)f[y>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else ph(B,b-i|0,6028);f[E>>2]=0;x=E+4|0;f[x>>2]=0;w=E+8|0;f[w>>2]=0;if(b){if((b|0)<0)Jp(E);e=((b+-1|0)>>>5)+1|0;g=en(e<<2)|0;f[E>>2]=g;f[w>>2]=e;f[x>>2]=b;e=b>>>5;fj(g|0,0,e<<2|0)|0;h=b-(e<<5)|0;e=g+(e<<2)|0;i=g;if(!h)l=b;else{f[e>>2]=f[e>>2]&~(-1>>>(32-h|0));l=b}}else{g=0;l=0;i=0}v=a+4|0;j=(f[v>>2]|0)-(f[a>>2]|0)|0;k=j>>2;f[D>>2]=0;h=D+4|0;f[h>>2]=0;e=D+8|0;f[e>>2]=0;do if(k){if((j|0)<0)Jp(D);s=((k+-1|0)>>>5)+1|0;t=en(s<<2)|0;f[D>>2]=t;f[e>>2]=s;f[h>>2]=k;e=k>>>5;fj(t|0,0,e<<2|0)|0;h=k-(e<<5)|0;e=t+(e<<2)|0;if(h|0)f[e>>2]=f[e>>2]&~(-1>>>(32-h|0));if(k>>>0>2){o=a+12|0;r=a+32|0;p=a+52|0;q=a+56|0;t=a+48|0;s=0;e=b;a:while(1){n=s*3|0;f[z>>2]=s;f[A>>2]=f[z>>2];if(!(ui(a,A)|0)){g=f[D>>2]|0;m=0;do{j=m+n|0;if(!(f[g+(j>>>5<<2)>>2]&1<<(j&31))){g=f[(f[a>>2]|0)+(j<<2)>>2]|0;f[A>>2]=g;h=f[E>>2]|0;if(!(f[h+(g>>>5<<2)>>2]&1<<(g&31)))k=0;else{g=f[y>>2]|0;if((g|0)==(f[r>>2]|0))Ji(B,6028);else{f[g>>2]=-1073741824;f[y>>2]=g+4}g=f[p>>2]|0;if((g|0)==(f[q>>2]|0))Ji(t,A);else{f[g>>2]=f[A>>2];f[p>>2]=g+4}g=f[x>>2]|0;h=f[w>>2]|0;if((g|0)==(h<<5|0)){if((g+1|0)<0){h=51;break a}b=h<<6;l=g+32&-32;hi(E,g>>>0<1073741823?(b>>>0>>0?l:b):2147483647);g=f[x>>2]|0}f[x>>2]=g+1;h=f[E>>2]|0;k=h+(g>>>5<<2)|0;f[k>>2]=f[k>>2]&~(1<<(g&31));f[A>>2]=e;g=e;k=1;e=e+1|0}b=h+(g>>>5<<2)|0;f[b>>2]=f[b>>2]|1<<(g&31);b:do if(k){h=j;while(1){if((h|0)==-1073741824){h=68;break b}g=f[D>>2]|0;i=g+(h>>>5<<2)|0;f[i>>2]=f[i>>2]|1<<(h&31);i=f[A>>2]|0;f[(f[B>>2]|0)+(i<<2)>>2]=h;f[(f[a>>2]|0)+(h<<2)>>2]=i;i=h+1|0;do if((h|0)>=0){h=((i|0)%3|0|0)==0?h+-2|0:i;if((h|0)<0)break;h=f[(f[o>>2]|0)+(h<<2)>>2]|0;i=h+1|0;if((h|0)<0)break;h=((i|0)%3|0|0)==0?h+-2|0:i}while(0);if((h|0)==(j|0)){h=67;break}}}else{h=j;while(1){if((h|0)==-1073741824){h=68;break b}g=f[D>>2]|0;i=g+(h>>>5<<2)|0;f[i>>2]=f[i>>2]|1<<(h&31);f[(f[B>>2]|0)+(f[A>>2]<<2)>>2]=h;i=h+1|0;do if((h|0)>=0){h=((i|0)%3|0|0)==0?h+-2|0:i;if((h|0)<0)break;h=f[(f[o>>2]|0)+(h<<2)>>2]|0;i=h+1|0;if((h|0)<0)break;h=((i|0)%3|0|0)==0?h+-2|0:i}while(0);if((h|0)==(j|0)){h=67;break}}}while(0);do if((h|0)==67){h=0;if((j|0)==-1073741824){j=-1073741824;h=74}}else if((h|0)==68)if((j|0)>=0){g=(((j>>>0)%3|0|0)==0?2:-1)+j|0;if((g|0)>=0){g=f[(f[o>>2]|0)+(g<<2)>>2]|0;if((g|0)<0){j=g;h=74;break}if(!((g>>>0)%3|0)){j=g+2|0;h=74;break}else{j=g+-1|0;h=74;break}}else{j=g;h=74}}else h=74;while(0);c:do if((h|0)==74){g=f[D>>2]|0;i=g+(j>>>5<<2)|0;l=1<<(j&31);h=(j|0)<0;if((j|0)!=-1073741824){if(!k){g=l;while(1){if(h){h=86;break a}f[i>>2]=f[i>>2]|g;g=(((j>>>0)%3|0|0)==0?2:-1)+j|0;do if((g|0)>=0){g=f[(f[o>>2]|0)+(g<<2)>>2]|0;if((g|0)<0)break;if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}while(0);h=f[D>>2]|0;if((g|0)==-1073741824){g=h;break c}else{j=g;i=h+(g>>>5<<2)|0;h=(g|0)<0;g=1<<(g&31)}}}b=f[a>>2]|0;k=h;g=l;while(1){h=b+(j<<2)|0;do{f[i>>2]=f[i>>2]|g;f[h>>2]=f[A>>2]}while(k);g=(((j>>>0)%3|0|0)==0?2:-1)+j|0;do if((g|0)>=0){g=f[(f[o>>2]|0)+(g<<2)>>2]|0;if((g|0)<0){h=g;break}if(!((g>>>0)%3|0)){h=g+2|0;break}else{h=g+-1|0;break}}else h=g;while(0);g=f[D>>2]|0;if((h|0)==-1073741824)break;else{j=h;i=g+(h>>>5<<2)|0;k=(h|0)<0;g=1<<(h&31)}}}}while(0)}m=m+1|0}while((m|0)<3)}s=s+1|0;if((s|0)>=(((f[v>>2]|0)-(f[a>>2]|0)>>2>>>0)/3|0|0)){h=22;break}}if((h|0)==22){c=f[E>>2]|0;d=c;C=f[x>>2]|0;break}else if((h|0)==51)Jp(E);else if((h|0)==86)while(1)h=86}else{d=i;C=l;c=g}}else{d=i;C=l;c=g}while(0);k=a+44|0;f[k>>2]=0;B=C>>>5;j=d+(B<<2)|0;i=C&31;e=(B|0)!=0;d:do if(B|i|0){if(!i){g=d;d=0;while(1){e:do if(e){e=0;while(1){if(!(f[g>>2]&1<>2]=d}if((e|0)==31)break;else e=e+1|0}}else{e=0;while(1){if(!(f[g>>2]&1<>2]=d}if((e|0)==31)break e;e=e+1|0;if(!e)break d}}while(0);g=g+4|0;if((g|0)==(j|0))break d;else e=1}}if(e){g=d;d=0;e=0;do{h=0;while(1){if(!(f[g>>2]&1<>2]=e;d=e}if((h|0)==31)break;else h=h+1|0}g=g+4|0}while((g|0)!=(j|0))}else{g=d;d=0}e=0;do{if(!(f[g>>2]&1<>2]=d}e=e+1|0}while((e|0)!=(i|0))}while(0);d=f[D>>2]|0;if(d){tq(d);c=f[E>>2]|0}if(!c){u=F;return 1}tq(c);u=F;return 1}function mb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=Ka,q=0.0;if(!g){g=0;return g|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;i=f[f[a>>2]>>2]|0;l=a+40|0;c=dn(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Qn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=i+a|0;while(1){l=b[a>>0]|0;i=g+(c<<3)|0;f[i>>2]=l;f[i+4>>2]=((l|0)<0)<<31>>31;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}fj(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 2:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=dn(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Qn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=h[a>>0];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}fj(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 3:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=dn(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Qn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){l=d[a>>1]|0;i=g+(c<<3)|0;f[i>>2]=l;f[i+4>>2]=((l|0)<0)<<31>>31;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}fj(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 4:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=dn(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Qn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=j[a>>1];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}fj(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 5:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=dn(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Qn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){l=f[a>>2]|0;i=g+(c<<3)|0;f[i>>2]=l;f[i+4>>2]=((l|0)<0)<<31>>31;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}fj(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 6:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=dn(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Qn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=f[a>>2];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}fj(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 7:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=dn(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Qn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){m=a;l=f[m+4>>2]|0;i=g+(c<<3)|0;f[i>>2]=f[m>>2];f[i+4>>2]=l;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}fj(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 8:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=dn(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Qn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){l=a;m=f[l+4>>2]|0;i=g+(c<<3)|0;f[i>>2]=f[l>>2];f[i+4>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}fj(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 9:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=dn(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Qn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){o=$(n[a>>2]);m=+K(+o)>=1.0?(+o>0.0?~~+Y(+J(+o/4294967296.0),4294967295.0)>>>0:~~+W((+o-+(~~+o>>>0))/4294967296.0)>>>0):0;i=g+(c<<3)|0;f[i>>2]=~~+o>>>0;f[i+4>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}fj(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 10:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=dn(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Qn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){q=+p[a>>3];m=+K(q)>=1.0?(q>0.0?~~+Y(+J(q/4294967296.0),4294967295.0)>>>0:~~+W((q-+(~~q>>>0))/4294967296.0)>>>0):0;i=g+(c<<3)|0;f[i>>2]=~~q>>>0;f[i+4>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}fj(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 11:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=dn(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Qn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=h[a>>0];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}fj(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}default:{m=0;return m|0}}while(0);return 0}function nb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|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,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,J=0,K=0,L=0,M=0;H=u;u=u+80|0;k=H+76|0;l=H+72|0;D=H+48|0;m=H+24|0;x=H;h=a+32|0;g=f[c>>2]|0;c=g+1|0;do if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}else c=g;while(0);i=f[(f[h>>2]|0)+28>>2]|0;h=f[i+(c<<2)>>2]|0;i=f[i+(g<<2)>>2]|0;g=f[a+36>>2]|0;c=f[g>>2]|0;j=(f[g+4>>2]|0)-c>>2;if(j>>>0<=h>>>0)Jp(g);w=f[c+(h<<2)>>2]|0;if(j>>>0<=i>>>0)Jp(g);h=f[c+(i<<2)>>2]|0;t=(w|0)<(e|0);do if(t&(h|0)<(e|0)){y=w<<1;A=f[d+(y<<2)>>2]|0;v=((A|0)<0)<<31>>31;y=f[d+((y|1)<<2)>>2]|0;z=((y|0)<0)<<31>>31;s=h<<1;r=f[d+(s<<2)>>2]|0;s=f[d+((s|1)<<2)>>2]|0;if(!((r|0)!=(A|0)|(s|0)!=(y|0))){f[a+8>>2]=A;f[a+12>>2]=y;u=H;return}i=a+4|0;c=f[(f[i>>2]|0)+(e<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;f[D+16>>2]=0;f[D+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[l>>2]=c;c=b[g+24>>0]|0;f[k>>2]=f[l>>2];mb(g,k,c,D)|0;c=f[(f[i>>2]|0)+(w<<2)>>2]|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m+16>>2]=0;f[m+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[l>>2]=c;c=b[g+24>>0]|0;f[k>>2]=f[l>>2];mb(g,k,c,m)|0;c=f[(f[i>>2]|0)+(h<<2)>>2]|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;f[x+16>>2]=0;f[x+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[l>>2]=c;n=b[g+24>>0]|0;f[k>>2]=f[l>>2];mb(g,k,n,x)|0;n=x;i=m;h=f[i>>2]|0;i=f[i+4>>2]|0;n=co(f[n>>2]|0,f[n+4>>2]|0,h|0,i|0)|0;o=I;p=x+8|0;k=m+8|0;j=f[k>>2]|0;k=f[k+4>>2]|0;p=co(f[p>>2]|0,f[p+4>>2]|0,j|0,k|0)|0;q=I;l=x+16|0;g=m+16|0;c=f[g>>2]|0;g=f[g+4>>2]|0;l=co(f[l>>2]|0,f[l+4>>2]|0,c|0,g|0)|0;m=I;C=dn(n|0,o|0,n|0,o|0)|0;x=I;B=dn(p|0,q|0,p|0,q|0)|0;x=Qn(B|0,I|0,C|0,x|0)|0;C=I;B=dn(l|0,m|0,l|0,m|0)|0;B=Qn(x|0,C|0,B|0,I|0)|0;C=I;if((B|0)==0&(C|0)==0)break;M=D;M=co(f[M>>2]|0,f[M+4>>2]|0,h|0,i|0)|0;L=I;K=D+8|0;K=co(f[K>>2]|0,f[K+4>>2]|0,j|0,k|0)|0;J=I;h=D+16|0;g=co(f[h>>2]|0,f[h+4>>2]|0,c|0,g|0)|0;h=I;k=dn(M|0,L|0,n|0,o|0)|0;i=I;c=dn(K|0,J|0,p|0,q|0)|0;i=Qn(c|0,I|0,k|0,i|0)|0;k=I;c=dn(g|0,h|0,l|0,m|0)|0;c=Qn(i|0,k|0,c|0,I|0)|0;k=I;i=co(r|0,((r|0)<0)<<31>>31|0,A|0,v|0)|0;D=I;w=co(s|0,((s|0)<0)<<31>>31|0,y|0,z|0)|0;x=I;s=dn(B|0,C|0,A|0,v|0)|0;r=I;v=dn(B|0,C|0,y|0,z|0)|0;t=I;A=dn(c|0,k|0,i|0,D|0)|0;z=I;j=dn(c|0,k|0,w|0,x|0)|0;y=I;r=Qn(A|0,z|0,s|0,r|0)|0;s=I;t=Qn(j|0,y|0,v|0,t|0)|0;v=I;y=dn(c|0,k|0,n|0,o|0)|0;j=I;z=dn(c|0,k|0,p|0,q|0)|0;A=I;m=dn(c|0,k|0,l|0,m|0)|0;k=I;j=mk(y|0,j|0,B|0,C|0)|0;l=I;A=mk(z|0,A|0,B|0,C|0)|0;z=I;k=mk(m|0,k|0,B|0,C|0)|0;m=I;l=co(M|0,L|0,j|0,l|0)|0;j=I;z=co(K|0,J|0,A|0,z|0)|0;A=I;m=co(g|0,h|0,k|0,m|0)|0;k=I;j=dn(l|0,j|0,l|0,j|0)|0;l=I;A=dn(z|0,A|0,z|0,A|0)|0;l=Qn(A|0,I|0,j|0,l|0)|0;j=I;k=dn(m|0,k|0,m|0,k|0)|0;k=Qn(l|0,j|0,k|0,I|0)|0;j=I;l=co(0,0,i|0,D|0)|0;m=I;j=dn(k|0,j|0,B|0,C|0)|0;k=I;switch(j|0){case 0:{if(!k){g=0;c=0}else{g=1;c=0;h=j;i=k;E=22}break}case 1:{if(!k){g=1;c=0;E=23}else{g=1;c=0;h=j;i=k;E=22}break}default:{g=1;c=0;h=j;i=k;E=22}}if((E|0)==22)while(1){g=zn(g|0,c|0,1)|0;c=I;M=h;h=En(h|0,i|0,2)|0;if(!(i>>>0>0|(i|0)==0&M>>>0>7)){E=23;break}else{i=I;E=22}}if((E|0)==23)while(1){M=To(j|0,k|0,g|0,c|0)|0;g=Qn(M|0,I|0,g|0,c|0)|0;g=En(g|0,I|0,1)|0;c=I;M=dn(g|0,c|0,g|0,c|0)|0;L=I;if(L>>>0>k>>>0|(L|0)==(k|0)&M>>>0>j>>>0)E=23;else break}n=dn(g|0,c|0,w|0,x|0)|0;M=I;m=dn(g|0,c|0,l|0,m|0)|0;j=I;L=Qn(n|0,M|0,r|0,s|0)|0;g=I;k=Qn(m|0,j|0,t|0,v|0)|0;c=I;g=mk(L|0,g|0,B|0,C|0)|0;L=I;c=mk(k|0,c|0,B|0,C|0)|0;k=I;M=co(r|0,s|0,n|0,M|0)|0;n=I;j=co(t|0,v|0,m|0,j|0)|0;m=I;n=mk(M|0,n|0,B|0,C|0)|0;M=I;m=mk(j|0,m|0,B|0,C|0)|0;j=I;h=e<<1;i=f[d+(h<<2)>>2]|0;K=((i|0)<0)<<31>>31;h=f[d+((h|1)<<2)>>2]|0;l=((h|0)<0)<<31>>31;L=co(i|0,K|0,g|0,L|0)|0;J=I;d=co(h|0,l|0,c|0,k|0)|0;k=I;J=dn(L|0,J|0,L|0,J|0)|0;L=I;k=dn(d|0,k|0,d|0,k|0)|0;L=Qn(k|0,I|0,J|0,L|0)|0;J=I;M=co(i|0,K|0,n|0,M|0)|0;K=I;j=co(h|0,l|0,m|0,j|0)|0;l=I;K=dn(M|0,K|0,M|0,K|0)|0;M=I;l=dn(j|0,l|0,j|0,l|0)|0;M=Qn(l|0,I|0,K|0,M|0)|0;K=I;l=a+16|0;j=a+20|0;h=f[j>>2]|0;i=f[a+24>>2]|0;k=(h|0)==(i<<5|0);if(J>>>0>>0|(J|0)==(K|0)&L>>>0>>0){do if(k)if((h+1|0)<0)Jp(l);else{F=i<<6;M=h+32&-32;hi(l,h>>>0<1073741823?(F>>>0>>0?M:F):2147483647);F=f[j>>2]|0;break}else F=h;while(0);f[j>>2]=F+1;M=(f[l>>2]|0)+(F>>>5<<2)|0;f[M>>2]=f[M>>2]|1<<(F&31)}else{do if(k)if((h+1|0)<0)Jp(l);else{G=i<<6;M=h+32&-32;hi(l,h>>>0<1073741823?(G>>>0>>0?M:G):2147483647);G=f[j>>2]|0;break}else G=h;while(0);f[j>>2]=G+1;g=(f[l>>2]|0)+(G>>>5<<2)|0;f[g>>2]=f[g>>2]&~(1<<(G&31));g=n;c=m}f[a+8>>2]=g;f[a+12>>2]=c;u=H;return}while(0);do if(t)c=w<<1;else{if((e|0)>0){c=(e<<1)+-2|0;break}M=a+8|0;f[M>>2]=0;f[M+4>>2]=0;u=H;return}while(0);f[a+8>>2]=f[d+(c<<2)>>2];f[a+12>>2]=f[d+(c+1<<2)>>2];u=H;return}function ob(a,c,d,e,g,i){a=a|0;c=+c;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=u;u=u+560|0;l=G+8|0;t=G;F=G+524|0;E=F;m=G+512|0;f[t>>2]=0;D=m+12|0;bo(c)|0;if((I|0)<0){C=1;A=21624;c=-c}else{C=(g&2049|0)!=0&1;A=(g&2048|0)==0?((g&1|0)==0?21625:21630):21627}bo(c)|0;B=I&2146435072;do if(B>>>0<2146435072|(B|0)==2146435072&0<0){q=+aq(c,t)*2.0;j=q!=0.0;if(j)f[t>>2]=(f[t>>2]|0)+-1;w=i|32;if((w|0)==97){r=i&32;p=(r|0)==0?A:A+9|0;o=C|2;j=12-e|0;do if(!(e>>>0>11|(j|0)==0)){c=8.0;do{j=j+-1|0;c=c*16.0}while((j|0)!=0);if((b[p>>0]|0)==45){c=-(c+(-q-c));break}else{c=q+c-c;break}}else c=q;while(0);k=f[t>>2]|0;j=(k|0)<0?0-k|0:k;j=qk(j,((j|0)<0)<<31>>31,D)|0;if((j|0)==(D|0)){j=m+11|0;b[j>>0]=48}b[j+-1>>0]=(k>>31&2)+43;n=j+-2|0;b[n>>0]=i+15;l=(e|0)<1;m=(g&8|0)==0;k=F;while(1){C=~~c;j=k+1|0;b[k>>0]=h[21655+C>>0]|r;c=(c-+(C|0))*16.0;if((j-E|0)==1?!(m&(l&c==0.0)):0){b[j>>0]=46;j=k+2|0}if(!(c!=0.0))break;else k=j}C=j-E|0;E=D-n|0;D=(e|0)!=0&(C+-2|0)<(e|0)?e+2|0:C;j=E+o+D|0;Tk(a,32,d,j,g);Fo(a,p,o);Tk(a,48,d,j,g^65536);Fo(a,F,C);Tk(a,48,D-C|0,0,0);Fo(a,n,E);Tk(a,32,d,j,g^8192);break}k=(e|0)<0?6:e;if(j){j=(f[t>>2]|0)+-28|0;f[t>>2]=j;c=q*268435456.0}else{j=f[t>>2]|0;c=q}B=(j|0)<0?l:l+288|0;l=B;do{y=~~c>>>0;f[l>>2]=y;l=l+4|0;c=(c-+(y>>>0))*1.0e9}while(c!=0.0);if((j|0)>0){m=B;n=l;while(1){o=(j|0)<29?j:29;j=n+-4|0;if(j>>>0>=m>>>0){l=0;do{x=zn(f[j>>2]|0,0,o|0)|0;x=Qn(x|0,I|0,l|0,0)|0;y=I;v=Ym(x|0,y|0,1e9,0)|0;f[j>>2]=v;l=To(x|0,y|0,1e9,0)|0;j=j+-4|0}while(j>>>0>=m>>>0);if(l){m=m+-4|0;f[m>>2]=l}}l=n;while(1){if(l>>>0<=m>>>0)break;j=l+-4|0;if(!(f[j>>2]|0))l=j;else break}j=(f[t>>2]|0)-o|0;f[t>>2]=j;if((j|0)>0)n=l;else break}}else m=B;if((j|0)<0){e=((k+25|0)/9|0)+1|0;s=(w|0)==102;do{r=0-j|0;r=(r|0)<9?r:9;if(m>>>0>>0){o=(1<>>r;p=0;j=m;do{y=f[j>>2]|0;f[j>>2]=(y>>>r)+p;p=X(y&o,n)|0;j=j+4|0}while(j>>>0>>0);j=(f[m>>2]|0)==0?m+4|0:m;if(!p){m=j;j=l}else{f[l>>2]=p;m=j;j=l+4|0}}else{m=(f[m>>2]|0)==0?m+4|0:m;j=l}l=s?B:m;l=(j-l>>2|0)>(e|0)?l+(e<<2)|0:j;j=(f[t>>2]|0)+r|0;f[t>>2]=j}while((j|0)<0);j=m;e=l}else{j=m;e=l}y=B;if(j>>>0>>0){l=(y-j>>2)*9|0;n=f[j>>2]|0;if(n>>>0>=10){m=10;do{m=m*10|0;l=l+1|0}while(n>>>0>=m>>>0)}}else l=0;s=(w|0)==103;v=(k|0)!=0;m=k-((w|0)!=102?l:0)+((v&s)<<31>>31)|0;if((m|0)<(((e-y>>2)*9|0)+-9|0)){n=m+9216|0;m=B+4+(((n|0)/9|0)+-1024<<2)|0;n=((n|0)%9|0)+1|0;if((n|0)<9){o=10;do{o=o*10|0;n=n+1|0}while((n|0)!=9)}else o=10;p=f[m>>2]|0;r=(p>>>0)%(o>>>0)|0;n=(m+4|0)==(e|0);if(!(n&(r|0)==0)){q=(((p>>>0)/(o>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;x=(o|0)/2|0;c=r>>>0>>0?.5:n&(r|0)==(x|0)?1.0:1.5;if(C){x=(b[A>>0]|0)==45;q=x?-q:q;c=x?-c:c}n=p-r|0;f[m>>2]=n;if(q+c!=q){x=n+o|0;f[m>>2]=x;if(x>>>0>999999999){l=m;while(1){m=l+-4|0;f[l>>2]=0;if(m>>>0>>0){j=j+-4|0;f[j>>2]=0}x=(f[m>>2]|0)+1|0;f[m>>2]=x;if(x>>>0>999999999)l=m;else break}}l=(y-j>>2)*9|0;o=f[j>>2]|0;if(o>>>0>=10){n=10;do{n=n*10|0;l=l+1|0}while(o>>>0>=n>>>0)}}}w=m+4|0;x=j;j=e>>>0>w>>>0?w:e}else{x=j;j=e}w=j;while(1){if(w>>>0<=x>>>0){t=0;break}j=w+-4|0;if(!(f[j>>2]|0))w=j;else{t=1;break}}e=0-l|0;do if(s){j=((v^1)&1)+k|0;if((j|0)>(l|0)&(l|0)>-5){k=j+-1-l|0;n=i+-1|0}else{k=j+-1|0;n=i+-2|0}j=g&8;if(!j){if(t?(z=f[w+-4>>2]|0,(z|0)!=0):0)if(!((z>>>0)%10|0)){j=10;m=0;do{j=j*10|0;m=m+1|0}while(!((z>>>0)%(j>>>0)|0|0))}else m=0;else m=9;j=((w-y>>2)*9|0)+-9|0;if((n|32|0)==102){i=j-m|0;i=(i|0)>0?i:0;r=0;k=(k|0)<(i|0)?k:i;break}else{i=j+l-m|0;i=(i|0)>0?i:0;r=0;k=(k|0)<(i|0)?k:i;break}}else r=j}else{r=g&8;n=i}while(0);s=k|r;o=(s|0)!=0&1;p=(n|32|0)==102;if(p){v=0;j=(l|0)>0?l:0}else{j=(l|0)<0?e:l;j=qk(j,((j|0)<0)<<31>>31,D)|0;m=D;if((m-j|0)<2)do{j=j+-1|0;b[j>>0]=48}while((m-j|0)<2);b[j+-1>>0]=(l>>31&2)+43;j=j+-2|0;b[j>>0]=n;v=j;j=m-j|0}j=C+1+k+o+j|0;Tk(a,32,d,j,g);Fo(a,A,C);Tk(a,48,d,j,g^65536);if(p){o=x>>>0>B>>>0?B:x;r=F+9|0;p=r;n=F+8|0;m=o;do{l=qk(f[m>>2]|0,0,r)|0;if((m|0)==(o|0)){if((l|0)==(r|0)){b[n>>0]=48;l=n}}else if(l>>>0>F>>>0){fj(F|0,48,l-E|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}Fo(a,l,p-l|0);m=m+4|0}while(m>>>0<=B>>>0);if(s|0)Fo(a,21671,1);if(m>>>0>>0&(k|0)>0)while(1){l=qk(f[m>>2]|0,0,r)|0;if(l>>>0>F>>>0){fj(F|0,48,l-E|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}Fo(a,l,(k|0)<9?k:9);m=m+4|0;l=k+-9|0;if(!(m>>>0>>0&(k|0)>9)){k=l;break}else k=l}Tk(a,48,k+9|0,9,0)}else{t=t?w:x+4|0;if((k|0)>-1){s=F+9|0;e=(r|0)==0;r=s;n=0-E|0;p=F+8|0;o=x;do{l=qk(f[o>>2]|0,0,s)|0;if((l|0)==(s|0)){b[p>>0]=48;l=p}do if((o|0)==(x|0)){m=l+1|0;Fo(a,l,1);if(e&(k|0)<1){l=m;break}Fo(a,21671,1);l=m}else{if(l>>>0<=F>>>0)break;fj(F|0,48,l+n|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}while(0);E=r-l|0;Fo(a,l,(k|0)>(E|0)?E:k);k=k-E|0;o=o+4|0}while(o>>>0>>0&(k|0)>-1)}Tk(a,48,k+18|0,18,0);Fo(a,v,D-v|0)}Tk(a,32,d,j,g^8192)}else{F=(i&32|0)!=0;j=C+3|0;Tk(a,32,d,j,g&-65537);Fo(a,A,C);Fo(a,c!=c|0.0!=0.0?(F?23574:21651):F?21643:21647,3);Tk(a,32,d,j,g^8192)}while(0);u=G;return ((j|0)<(d|0)?d:j)|0}function pb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0.0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=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,J=0.0;H=u;u=u+512|0;E=H;F=d+c|0;G=0-F|0;B=a+4|0;C=a+100|0;j=b;m=0;a:while(1){switch(j|0){case 46:{A=6;break a}case 48:break;default:{l=0;b=0;p=0;break a}}b=f[B>>2]|0;if(b>>>0<(f[C>>2]|0)>>>0){f[B>>2]=b+1;j=h[b>>0]|0;m=1;continue}else{j=_i(a)|0;m=1;continue}}if((A|0)==6){b=f[B>>2]|0;if(b>>>0<(f[C>>2]|0)>>>0){f[B>>2]=b+1;j=h[b>>0]|0}else j=_i(a)|0;if((j|0)==48){j=0;b=0;while(1){l=Qn(j|0,b|0,-1,-1)|0;b=I;j=f[B>>2]|0;if(j>>>0<(f[C>>2]|0)>>>0){f[B>>2]=j+1;j=h[j>>0]|0}else j=_i(a)|0;if((j|0)==48)j=l;else{m=1;p=1;break}}}else{l=0;b=0;p=1}}f[E>>2]=0;v=j+-48|0;n=(j|0)==46;b:do if(n|v>>>0<10){A=E+496|0;y=l;z=0;t=0;w=n;o=0;l=0;n=0;c:while(1){do if(w)if(!p){y=z;b=t;p=1}else break c;else{w=Qn(z|0,t|0,1,0)|0;t=I;x=(j|0)!=48;if((l|0)>=125){if(!x){z=w;break}f[A>>2]=f[A>>2]|1;z=w;break}m=E+(l<<2)|0;if(!o)j=v;else j=j+-48+((f[m>>2]|0)*10|0)|0;f[m>>2]=j;o=o+1|0;v=(o|0)==9;z=w;m=1;o=v?0:o;l=(v&1)+l|0;n=x?w:n}while(0);j=f[B>>2]|0;if(j>>>0<(f[C>>2]|0)>>>0){f[B>>2]=j+1;j=h[j>>0]|0}else j=_i(a)|0;v=j+-48|0;w=(j|0)==46;if(!(w|v>>>0<10)){w=y;v=z;A=29;break b}}v=z;p=y;j=(m|0)!=0;A=37}else{w=l;v=0;t=0;o=0;l=0;n=0;A=29}while(0);do if((A|0)==29){z=(p|0)==0;p=z?v:w;b=z?t:b;w=(m|0)!=0;if(!(w&(j|32|0)==101))if((j|0)>-1){j=w;A=37;break}else{m=t;j=w;A=39;break}m=bf(a,g)|0;j=I;if((m|0)==0&(j|0)==-2147483648){if(!g){Pm(a,0);i=0.0;break}if(!(f[C>>2]|0)){m=0;j=0}else{f[B>>2]=(f[B>>2]|0)+-1;m=0;j=0}}y=Qn(m|0,j|0,p|0,b|0)|0;p=v;b=I;m=t;A=41}while(0);if((A|0)==37)if(f[C>>2]|0){f[B>>2]=(f[B>>2]|0)+-1;if(j){y=p;p=v;m=t;A=41}else A=40}else{m=t;A=39}if((A|0)==39)if(j){y=p;p=v;A=41}else A=40;do if((A|0)==40){G=iq()|0;f[G>>2]=22;Pm(a,0);i=0.0}else if((A|0)==41){j=f[E>>2]|0;if(!j){i=+(e|0)*0.0;break}if(((m|0)<0|(m|0)==0&p>>>0<10)&((y|0)==(p|0)&(b|0)==(m|0))?(c|0)>30|(j>>>c|0)==0:0){i=+(e|0)*+(j>>>0);break}a=(d|0)/-2|0;C=((a|0)<0)<<31>>31;if((b|0)>(C|0)|(b|0)==(C|0)&y>>>0>a>>>0){G=iq()|0;f[G>>2]=34;i=+(e|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}a=d+-106|0;C=((a|0)<0)<<31>>31;if((b|0)<(C|0)|(b|0)==(C|0)&y>>>0>>0){G=iq()|0;f[G>>2]=34;i=+(e|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(o){if((o|0)<9){m=E+(l<<2)|0;b=o;j=f[m>>2]|0;do{j=j*10|0;b=b+1|0}while((b|0)!=9);f[m>>2]=j}l=l+1|0}if((n|0)<9?(n|0)<=(y|0)&(y|0)<18:0){b=f[E>>2]|0;if((y|0)==9){i=+(e|0)*+(b>>>0);break}if((y|0)<9){i=+(e|0)*+(b>>>0)/+(f[6612+(8-y<<2)>>2]|0);break}a=c+27+(X(y,-3)|0)|0;if((a|0)>30|(b>>>a|0)==0){i=+(e|0)*+(b>>>0)*+(f[6612+(y+-10<<2)>>2]|0);break}}b=(y|0)%9|0;if(!b){m=0;b=0}else{t=(y|0)>-1?b:b+9|0;m=f[6612+(8-t<<2)>>2]|0;if(l){o=1e9/(m|0)|0;b=0;n=0;p=0;j=y;do{B=E+(p<<2)|0;C=f[B>>2]|0;a=((C>>>0)/(m>>>0)|0)+n|0;f[B>>2]=a;n=X(o,(C>>>0)%(m>>>0)|0)|0;a=(p|0)==(b|0)&(a|0)==0;j=a?j+-9|0:j;b=a?b+1&127:b;p=p+1|0}while((p|0)!=(l|0));if(n){f[E+(l<<2)>>2]=n;l=l+1|0}}else{b=0;j=y;l=0}m=b;b=0;y=9-t+j|0}d:while(1){v=(y|0)<18;w=(y|0)==18;t=E+(m<<2)|0;while(1){if(!v){if(!w){j=y;break d}if((f[t>>2]|0)>>>0>=9007199){j=18;break d}}n=0;j=l+127|0;x=l;while(1){p=j&127;o=E+(p<<2)|0;j=zn(f[o>>2]|0,0,29)|0;j=Qn(j|0,I|0,n|0,0)|0;l=I;if(l>>>0>0|(l|0)==0&j>>>0>1e9){n=To(j|0,l|0,1e9,0)|0;j=Ym(j|0,l|0,1e9,0)|0}else n=0;f[o>>2]=j;a=(p|0)==(m|0);x=(j|0)==0&(((p|0)!=(x+127&127|0)|a)^1)?p:x;if(a)break;else j=p+-1|0}b=b+-29|0;if(n|0)break;else l=x}m=m+127&127;l=x+127&127;j=E+((x+126&127)<<2)|0;if((m|0)==(x|0))f[j>>2]=f[j>>2]|f[E+(l<<2)>>2];else l=x;f[E+(m<<2)>>2]=n;y=y+9|0}e:while(1){x=l+1&127;y=E+((l+127&127)<<2)|0;v=j;while(1){o=(v|0)==18;w=(v|0)>27?9:1;z=m;while(1){j=0;while(1){m=j+z&127;if((m|0)==(l|0)){D=2;A=88;break}m=f[E+(m<<2)>>2]|0;n=f[6644+(j<<2)>>2]|0;if(m>>>0>>0){D=2;A=88;break}if(m>>>0>n>>>0)break;j=j+1|0;if((j|0)>=2){D=j;A=88;break}}if((A|0)==88?(A=0,o&(D|0)==2):0){n=0;i=0.0;break e}b=w+b|0;if((z|0)==(l|0))z=l;else break}t=(1<>>w;m=z;o=0;n=z;j=v;do{B=E+(n<<2)|0;C=f[B>>2]|0;a=(C>>>w)+o|0;f[B>>2]=a;o=X(C&t,p)|0;a=(n|0)==(m|0)&(a|0)==0;j=a?j+-9|0:j;m=a?m+1&127:m;n=n+1&127}while((n|0)!=(l|0));if(!o){v=j;continue}if((x|0)!=(m|0))break;f[y>>2]=f[y>>2]|1;v=j}f[E+(l<<2)>>2]=o;l=x}while(1){m=n+z&127;j=l+1&127;if((m|0)==(l|0))f[E+(j+-1<<2)>>2]=0;else j=l;i=i*1.0e9+ +((f[E+(m<<2)>>2]|0)>>>0);n=n+1|0;if((n|0)==2)break;else l=j}s=+(e|0);k=s*i;m=b+53|0;p=m-d|0;o=(p|0)<(c|0);n=o?((p|0)>0?p:0):c;if((n|0)<53){J=+_p(+Tj(1.0,105-n|0),k);q=+jq(k,+Tj(1.0,53-n|0));r=J;i=q;q=J+(k-q)}else{r=0.0;i=0.0;q=k}l=z+2&127;if((l|0)!=(j|0)){l=f[E+(l<<2)>>2]|0;do if(l>>>0>=5e8){if((l|0)!=5e8){i=s*.75+i;break}if((z+3&127|0)==(j|0)){i=s*.5+i;break}else{i=s*.75+i;break}}else{if((l|0)==0?(z+3&127|0)==(j|0):0)break;i=s*.25+i}while(0);if((53-n|0)>1?!(+jq(i,1.0)!=0.0):0)k=i+1.0;else k=i}else k=i;i=q+k-r;do if((m&2147483647|0)>(-2-F|0)){F=!(+K(+i)>=9007199254740992.0);b=((F^1)&1)+b|0;i=F?i:i*.5;if((b+50|0)<=(G|0)?!(k!=0.0&(o&((n|0)!=(p|0)|F))):0)break;G=iq()|0;f[G>>2]=34}while(0);i=+$p(i,b)}while(0);u=H;return +i}function qb(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=u;u=u+64|0;C=G+16|0;z=G;y=G+24|0;F=G+8|0;B=G+20|0;f[C>>2]=c;E=(a|0)!=0;x=y+40|0;D=x;y=y+39|0;A=F+4|0;o=c;c=0;i=0;l=0;a:while(1){do if((c|0)>-1)if((i|0)>(2147483647-c|0)){c=iq()|0;f[c>>2]=75;c=-1;break}else{c=i+c|0;break}while(0);i=b[o>>0]|0;if(!(i<<24>>24)){w=87;break}else j=o;b:while(1){switch(i<<24>>24){case 37:{i=j;w=9;break b}case 0:{i=j;break b}default:{}}v=j+1|0;f[C>>2]=v;i=b[v>>0]|0;j=v}c:do if((w|0)==9)while(1){w=0;if((b[i+1>>0]|0)!=37)break c;j=j+1|0;i=i+2|0;f[C>>2]=i;if((b[i>>0]|0)==37)w=9;else break}while(0);j=j-o|0;if(E)Fo(a,o,j);if(j|0){o=i;i=j;continue}k=i+1|0;j=(b[k>>0]|0)+-48|0;if(j>>>0<10){v=(b[i+2>>0]|0)==36;r=v?j:-1;n=v?1:l;k=v?i+3|0:k}else{r=-1;n=l}f[C>>2]=k;i=b[k>>0]|0;j=(i<<24>>24)+-32|0;d:do if(j>>>0<32){l=0;while(1){j=1<>2]=k;i=b[k>>0]|0;j=(i<<24>>24)+-32|0;if(j>>>0>=32){m=l;break}}}else m=0;while(0);if(i<<24>>24==42){j=k+1|0;i=(b[j>>0]|0)+-48|0;if(i>>>0<10?(b[k+2>>0]|0)==36:0){f[h+(i<<2)>>2]=10;l=1;i=k+3|0;j=f[g+((b[j>>0]|0)+-48<<3)>>2]|0}else{if(n|0){c=-1;break}if(E){l=(f[e>>2]|0)+(4-1)&~(4-1);v=f[l>>2]|0;f[e>>2]=l+4;l=0;i=j;j=v}else{l=0;i=j;j=0}}f[C>>2]=i;t=(j|0)<0;q=t?m|8192:m;v=l;t=t?0-j|0:j}else{j=gm(C)|0;if((j|0)<0){c=-1;break}i=f[C>>2]|0;q=m;v=n;t=j}do if((b[i>>0]|0)==46){if((b[i+1>>0]|0)!=42){f[C>>2]=i+1;m=gm(C)|0;i=f[C>>2]|0;break}k=i+2|0;j=(b[k>>0]|0)+-48|0;if(j>>>0<10?(b[i+3>>0]|0)==36:0){f[h+(j<<2)>>2]=10;m=f[g+((b[k>>0]|0)+-48<<3)>>2]|0;i=i+4|0;f[C>>2]=i;break}if(v|0){c=-1;break a}if(E){s=(f[e>>2]|0)+(4-1)&~(4-1);j=f[s>>2]|0;f[e>>2]=s+4}else j=0;f[C>>2]=k;i=k;m=j}else m=-1;while(0);n=0;while(1){if(((b[i>>0]|0)+-65|0)>>>0>57){c=-1;break a}s=i+1|0;f[C>>2]=s;j=b[(b[i>>0]|0)+-65+(21143+(n*58|0))>>0]|0;l=j&255;if((l+-1|0)>>>0<8){i=s;n=l}else break}if(!(j<<24>>24)){c=-1;break}k=(r|0)>-1;do if(j<<24>>24==19)if(k){c=-1;break a}else w=49;else{if(k){f[h+(r<<2)>>2]=l;l=g+(r<<3)|0;r=f[l+4>>2]|0;w=z;f[w>>2]=f[l>>2];f[w+4>>2]=r;w=49;break}if(!E){c=0;break a}Ue(z,l,e)}while(0);if((w|0)==49?(w=0,!E):0){o=s;i=0;l=v;continue}l=b[i>>0]|0;l=(n|0)!=0&(l&15|0)==3?l&-33:l;j=q&-65537;r=(q&8192|0)==0?q:j;e:do switch(l|0){case 110:switch((n&255)<<24>>24){case 0:{f[f[z>>2]>>2]=c;o=s;i=0;l=v;continue a}case 1:{f[f[z>>2]>>2]=c;o=s;i=0;l=v;continue a}case 2:{o=f[z>>2]|0;f[o>>2]=c;f[o+4>>2]=((c|0)<0)<<31>>31;o=s;i=0;l=v;continue a}case 3:{d[f[z>>2]>>1]=c;o=s;i=0;l=v;continue a}case 4:{b[f[z>>2]>>0]=c;o=s;i=0;l=v;continue a}case 6:{f[f[z>>2]>>2]=c;o=s;i=0;l=v;continue a}case 7:{o=f[z>>2]|0;f[o>>2]=c;f[o+4>>2]=((c|0)<0)<<31>>31;o=s;i=0;l=v;continue a}default:{o=s;i=0;l=v;continue a}}case 112:{i=r|8;j=m>>>0>8?m:8;l=120;w=61;break}case 88:case 120:{i=r;j=m;w=61;break}case 111:{q=z;o=f[q>>2]|0;q=f[q+4>>2]|0;n=Gm(o,q,x)|0;j=D-n|0;i=r;j=(r&8|0)==0|(m|0)>(j|0)?m:j+1|0;k=0;m=21607;w=67;break}case 105:case 100:{j=z;i=f[j>>2]|0;j=f[j+4>>2]|0;if((j|0)<0){i=co(0,0,i|0,j|0)|0;j=I;k=z;f[k>>2]=i;f[k+4>>2]=j;k=1;l=21607;w=66;break e}else{k=(r&2049|0)!=0&1;l=(r&2048|0)==0?((r&1|0)==0?21607:21609):21608;w=66;break e}}case 117:{j=z;i=f[j>>2]|0;j=f[j+4>>2]|0;k=0;l=21607;w=66;break}case 99:{b[y>>0]=f[z>>2];o=y;n=j;l=1;k=0;j=21607;i=x;break}case 109:{i=iq()|0;i=Lo(f[i>>2]|0)|0;w=71;break}case 115:{i=f[z>>2]|0;i=i|0?i:21617;w=71;break}case 67:{f[F>>2]=f[z>>2];f[A>>2]=0;f[z>>2]=F;i=F;m=-1;w=75;break}case 83:{i=f[z>>2]|0;if(!m){Tk(a,32,t,0,r);i=0;w=84}else w=75;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{o=s;i=ob(a,+p[z>>3],t,m,r,l)|0;l=v;continue a}default:{n=r;l=m;k=0;j=21607;i=x}}while(0);f:do if((w|0)==61){q=z;o=f[q>>2]|0;q=f[q+4>>2]|0;n=km(o,q,x,l&32)|0;m=(i&8|0)==0|(o|0)==0&(q|0)==0;k=m?0:2;m=m?21607:21607+(l>>4)|0;w=67}else if((w|0)==66){o=i;q=j;n=qk(i,j,x)|0;i=r;j=m;m=l;w=67}else if((w|0)==71){w=0;r=ci(i,0,m)|0;q=(r|0)==0;o=i;n=j;l=q?m:r-i|0;k=0;j=21607;i=q?i+m|0:r}else if((w|0)==75){w=0;k=0;j=0;n=i;while(1){l=f[n>>2]|0;if(!l)break;j=Ko(B,l)|0;if((j|0)<0|j>>>0>(m-k|0)>>>0)break;k=j+k|0;if(m>>>0>k>>>0)n=n+4|0;else break}if((j|0)<0){c=-1;break a}Tk(a,32,t,k,r);if(!k){i=0;w=84}else{l=0;while(1){j=f[i>>2]|0;if(!j){i=k;w=84;break f}j=Ko(B,j)|0;l=j+l|0;if((l|0)>(k|0)){i=k;w=84;break f}Fo(a,B,j);if(l>>>0>=k>>>0){i=k;w=84;break}else i=i+4|0}}}while(0);if((w|0)==67){w=0;l=(o|0)!=0|(q|0)!=0;r=(j|0)!=0|l;l=((l^1)&1)+(D-n)|0;o=r?n:x;n=(j|0)>-1?i&-65537:i;l=r?((j|0)>(l|0)?j:l):j;j=m;i=x}else if((w|0)==84){w=0;Tk(a,32,t,i,r^8192);o=s;i=(t|0)>(i|0)?t:i;l=v;continue}r=i-o|0;q=(l|0)<(r|0)?r:l;l=q+k|0;i=(t|0)<(l|0)?l:t;Tk(a,32,i,l,n);Fo(a,j,k);Tk(a,48,i,l,n^65536);Tk(a,48,q,r,0);Fo(a,o,r);Tk(a,32,i,l,n^8192);o=s;l=v}g:do if((w|0)==87)if(!a)if(!l)c=0;else{c=1;while(1){i=f[h+(c<<2)>>2]|0;if(!i)break;Ue(g+(c<<3)|0,i,e);c=c+1|0;if((c|0)>=10){c=1;break g}}while(1){if(f[h+(c<<2)>>2]|0){c=-1;break g}c=c+1|0;if((c|0)>=10){c=1;break}}}while(0);u=G;return c|0}function rb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0;if(!g){g=0;return g|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;i=f[f[a>>2]>>2]|0;l=a+40|0;c=dn(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Qn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=i+a|0;while(1){f[g+(c<<2)>>2]=b[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}fj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 2:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=dn(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Qn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=h[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}fj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 3:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=dn(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Qn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=d[a>>1];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}fj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 4:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=dn(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Qn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=j[a>>1];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}fj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 5:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=dn(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Qn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}fj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 6:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=dn(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Qn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}fj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 7:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=dn(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Qn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}fj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 8:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=dn(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Qn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}fj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 9:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=dn(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Qn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=~~$(n[a>>2])>>>0;f[g+(c<<2)>>2]=i;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}fj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 10:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=dn(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Qn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=~~+p[a>>3]>>>0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}fj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 11:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=dn(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Qn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=h[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}fj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}default:{l=0;return l|0}}while(0);return 0}function sb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0;if(!g){g=0;return g|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;i=f[f[a>>2]>>2]|0;l=a+40|0;c=dn(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Qn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=i+a|0;while(1){f[g+(c<<2)>>2]=b[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}fj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 2:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=dn(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Qn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=h[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}fj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 3:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=dn(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Qn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=d[a>>1];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}fj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 4:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=dn(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Qn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=j[a>>1];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}fj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 5:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=dn(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Qn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}fj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 6:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=dn(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Qn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}fj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 7:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=dn(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Qn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}fj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 8:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=dn(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Qn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}fj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 9:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=dn(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Qn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=~~$(n[a>>2]);f[g+(c<<2)>>2]=i;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}fj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 10:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=dn(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Qn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=~~+p[a>>3];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}fj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 11:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=dn(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Qn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=h[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}fj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}default:{l=0;return l|0}}while(0);return 0}function tb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var 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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;O=u;u=u+32|0;C=O+16|0;E=O+12|0;D=O+8|0;F=O+4|0;B=O;N=a+8|0;f[N>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else ri(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{M=f[b+(i<<2)>>2]|0;L=(M|0)<(g|0);g=L?M:g;h=L?h:(M|0)>(h|0)?M:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;M=1-g+h|0;f[a+20>>2]=M;g=(M|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(M&1))f[h>>2]=g+-1}x=f[a+48>>2]|0;y=f[a+52>>2]|0;z=e>>>0>1073741823?-1:e<<2;L=qq(z)|0;fj(L|0,0,z|0)|0;M=qq(z)|0;fj(M|0,0,z|0)|0;z=a+56|0;i=f[z>>2]|0;j=f[i+4>>2]|0;k=f[i>>2]|0;g=j-k|0;a:do if((g|0)>4){h=g>>2;q=(e|0)>0;o=x+12|0;t=a+16|0;p=a+32|0;w=a+12|0;v=a+28|0;s=a+20|0;r=a+24|0;n=e<<2;g=h+-1|0;if(j-k>>2>>>0>g>>>0){m=k;A=h;K=g}else{d=i;Jp(d)}while(1){m=f[m+(K<<2)>>2]|0;if(q)fj(L|0,0,n|0)|0;if((m|0)>-1){if(q){d=m;h=0;do{g=f[(f[o>>2]|0)+(d<<2)>>2]|0;do if((g|0)>=0){f[B>>2]=g;f[C>>2]=f[B>>2];eh(C,x,y,E,D,F);g=f[E>>2]|0;if((g|0)>=(K|0))break;i=f[D>>2]|0;if((i|0)>=(K|0))break;j=f[F>>2]|0;if((j|0)>=(K|0))break;l=X(g,e)|0;k=X(i,e)|0;i=X(j,e)|0;g=0;do{f[M+(g<<2)>>2]=(f[b+(g+i<<2)>>2]|0)+(f[b+(g+k<<2)>>2]|0)-(f[b+(g+l<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0));g=0;do{l=L+(g<<2)|0;f[l>>2]=(f[l>>2]|0)+(f[M+(g<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0));h=h+1|0}while(0);g=(((d>>>0)%3|0|0)==0?2:-1)+d|0;do if((g|0)>=0){g=f[(f[o>>2]|0)+(g<<2)>>2]|0;if((g|0)>=0)if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}while(0);d=(g|0)==(m|0)?-1073741824:g}while((d|0)>-1)}else{i=m;h=0;do{g=f[(f[o>>2]|0)+(i<<2)>>2]|0;do if((g|0)>=0){f[B>>2]=g;f[C>>2]=f[B>>2];eh(C,x,y,E,D,F);if((f[E>>2]|0)>=(K|0))break;if((f[D>>2]|0)<(K|0)){h=h+((f[F>>2]|0)<(K|0)&1)|0;break}else break}while(0);g=(((i>>>0)%3|0|0)==0?2:-1)+i|0;do if((g|0)>=0){g=f[(f[o>>2]|0)+(g<<2)>>2]|0;if((g|0)>=0)if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}while(0);i=(g|0)==(m|0)?-1073741824:g}while((i|0)>-1)}i=X(K,e)|0;if(h){if(q){g=0;do{m=L+(g<<2)|0;f[m>>2]=(f[m>>2]|0)/(h|0)|0;g=g+1|0}while((g|0)!=(e|0))}d=b+(i<<2)|0;l=c+(i<<2)|0;g=f[N>>2]|0;if((g|0)>0){k=0;i=L;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[t>>2]|0;if((g|0)>(h|0)){g=f[p>>2]|0;f[g+(j<<2)>>2]=h}else{h=f[w>>2]|0;m=f[p>>2]|0;f[m+(j<<2)>>2]=(g|0)<(h|0)?h:g;g=m}j=j+1|0}while((j|0)<(f[N>>2]|0));i=g}else i=f[p>>2]|0;g=(f[d+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=l+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[v>>2]|0)){if((g|0)>(f[r>>2]|0)){g=g-(f[s>>2]|0)|0;P=82}}else{g=(f[s>>2]|0)+g|0;P=82}if((P|0)==82){P=0;f[h>>2]=g}k=k+1|0;g=f[N>>2]|0}while((k|0)<(g|0))}}else{J=i;P=55}}else{J=X(K,e)|0;P=55}if((P|0)==55?(P=0,H=b+(J<<2)|0,I=c+(J<<2)|0,G=f[N>>2]|0,(G|0)>0):0){h=G;k=0;j=b+((X(A+-2|0,e)|0)<<2)|0;while(1){if((h|0)>0){i=0;do{g=f[j+(i<<2)>>2]|0;h=f[t>>2]|0;if((g|0)>(h|0)){g=f[p>>2]|0;f[g+(i<<2)>>2]=h}else{m=f[w>>2]|0;A=f[p>>2]|0;f[A+(i<<2)>>2]=(g|0)<(m|0)?m:g;g=A}i=i+1|0}while((i|0)<(f[N>>2]|0))}else g=f[p>>2]|0;h=(f[H+(k<<2)>>2]|0)-(f[g+(k<<2)>>2]|0)|0;i=I+(k<<2)|0;f[i>>2]=h;if((h|0)>=(f[v>>2]|0)){if((h|0)>(f[r>>2]|0)){h=h-(f[s>>2]|0)|0;P=67}}else{h=(f[s>>2]|0)+h|0;P=67}if((P|0)==67){P=0;f[i>>2]=h}k=k+1|0;h=f[N>>2]|0;if((k|0)>=(h|0))break;else j=g}}if((K|0)<=1)break a;g=f[z>>2]|0;m=f[g>>2]|0;h=K+-1|0;if((f[g+4>>2]|0)-m>>2>>>0<=h>>>0)break;else{A=K;K=h}}Jp(g)}while(0);if((e|0)>0)fj(L|0,0,e<<2|0)|0;g=f[N>>2]|0;if((g|0)<=0){rq(M);rq(L);u=O;return 1}n=a+16|0;d=a+32|0;p=a+12|0;o=a+28|0;m=a+20|0;l=a+24|0;k=0;i=L;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[n>>2]|0;if((g|0)>(h|0)){g=f[d>>2]|0;f[g+(j<<2)>>2]=h}else{e=f[p>>2]|0;a=f[d>>2]|0;f[a+(j<<2)>>2]=(g|0)<(e|0)?e:g;g=a}j=j+1|0}while((j|0)<(f[N>>2]|0));i=g}else i=f[d>>2]|0;g=(f[b+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=c+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[o>>2]|0)){if((g|0)>(f[l>>2]|0)){g=g-(f[m>>2]|0)|0;P=97}}else{g=(f[m>>2]|0)+g|0;P=97}if((P|0)==97){P=0;f[h>>2]=g}k=k+1|0;g=f[N>>2]|0}while((k|0)<(g|0));rq(M);rq(L);u=O;return 1}function ub(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=Ka,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=u;u=u+48|0;z=B+36|0;v=B+24|0;y=B+12|0;w=B;if(!(hh(a,c,d)|0)){A=0;u=B;return A|0}e=f[c+4>>2]|0;if((d|0)<=-1)ra(20916,20609,59,20700);g=f[e+8>>2]|0;if(((f[e+12>>2]|0)-g>>2|0)<=(d|0))ra(20555,20609,60,20700);m=f[g+(d<<2)>>2]|0;if((f[m+28>>2]|0)!=9){A=0;u=B;return A|0}r=c+48|0;j=f[r>>2]|0;e=en(32)|0;f[z>>2]=e;f[z+8>>2]=-2147483616;f[z+4>>2]=17;c=e;i=17770;l=c+17|0;do{b[c>>0]=b[i>>0]|0;c=c+1|0;i=i+1|0}while((c|0)<(l|0));b[e+17>>0]=0;i=j+16|0;g=f[i>>2]|0;if(g){e=i;c=g;a:while(1){g=c;while(1){if((f[g+16>>2]|0)>=(d|0))break;g=f[g+4>>2]|0;if(!g)break a}c=f[g>>2]|0;if(!c){e=g;break}else e=g}if(((e|0)!=(i|0)?(f[e+16>>2]|0)<=(d|0):0)?(k=e+20|0,(Qh(k,z)|0)!=0):0)s=Dk(k,z,-1)|0;else A=16}else A=16;if((A|0)==16)s=Dk(j,z,-1)|0;if((b[z+11>>0]|0)<0)tq(f[z>>2]|0);if((s|0)<1){A=0;u=B;return A|0}e=f[r>>2]|0;g=en(32)|0;f[z>>2]=g;f[z+8>>2]=-2147483616;f[z+4>>2]=19;c=g;i=17713;l=c+19|0;do{b[c>>0]=b[i>>0]|0;c=c+1|0;i=i+1|0}while((c|0)<(l|0));b[g+19>>0]=0;j=e+16|0;c=f[j>>2]|0;if(c){g=j;b:while(1){i=c;while(1){if((f[i+16>>2]|0)>=(d|0))break;c=f[i+4>>2]|0;if(!c)break b;else i=c}c=f[i>>2]|0;if(!c){g=i;break}else g=i}if((g|0)!=(j|0)?(f[g+16>>2]|0)<=(d|0):0)e=g+20|0;else A=28}else A=28;if(!(Qh(e,z)|0))e=0;else{e=f[r>>2]|0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;g=en(32)|0;f[v>>2]=g;f[v+8>>2]=-2147483616;f[v+4>>2]=18;c=g;i=17733;l=c+18|0;do{b[c>>0]=b[i>>0]|0;c=c+1|0;i=i+1|0}while((c|0)<(l|0));b[g+18>>0]=0;j=e+16|0;c=f[j>>2]|0;if(c){g=j;c:while(1){i=c;while(1){if((f[i+16>>2]|0)>=(d|0))break;c=f[i+4>>2]|0;if(!c)break c;else i=c}c=f[i>>2]|0;if(!c){g=i;break}else g=i}if((g|0)!=(j|0)?(f[g+16>>2]|0)<=(d|0):0)e=g+20|0;else A=38}else A=38;e=(Qh(e,v)|0)!=0;if((b[v+11>>0]|0)<0)tq(f[v>>2]|0)}if((b[z+11>>0]|0)<0)tq(f[z>>2]|0);if(!e){Qd(a+40|0,m,s)|0;A=1;u=B;return A|0}m=m+24|0;e=b[m>>0]|0;g=e<<24>>24;f[y>>2]=0;o=y+4|0;f[o>>2]=0;f[y+8>>2]=0;do if(e<<24>>24)if(e<<24>>24<0)Jp(y);else{k=g<<2;t=en(k)|0;f[y>>2]=t;l=t+(g<<2)|0;f[y+8>>2]=l;fj(t|0,0,k|0)|0;f[o>>2]=l;break}else t=0;while(0);k=f[r>>2]|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;e=en(32)|0;f[w>>2]=e;f[w+8>>2]=-2147483616;f[w+4>>2]=19;c=e;i=17713;l=c+19|0;do{b[c>>0]=b[i>>0]|0;c=c+1|0;i=i+1|0}while((c|0)<(l|0));b[e+19>>0]=0;j=b[m>>0]|0;l=j<<24>>24;i=k+16|0;e=f[i>>2]|0;if(e){g=i;d:while(1){c=e;while(1){if((f[c+16>>2]|0)>=(d|0))break;e=f[c+4>>2]|0;if(!e)break d;else c=e}e=f[c>>2]|0;if(!e){g=c;break}else g=c}if(((g|0)!=(i|0)?(f[g+16>>2]|0)<=(d|0):0)?(p=g+20|0,(Qh(p,w)|0)!=0):0){e=Rg(p,w)|0;if((e|0)!=(g+24|0)){gj(z,e+28|0);c=z+11|0;e=b[c>>0]|0;g=e<<24>>24<0;if((g?f[z+4>>2]|0:e&255)|0)if(j<<24>>24>0){e=g?f[z>>2]|0:z;g=0;do{h=$(Qp(e,v));p=e;e=f[v>>2]|0;if((p|0)==(e|0))break;n[t+(g<<2)>>2]=h;g=g+1|0}while((g|0)<(l|0));e=b[c>>0]|0}if(e<<24>>24<0)tq(f[z>>2]|0)}}else A=68}else A=68;if((A|0)==68?(q=Rg(k,w)|0,(q|0)!=(k+4|0)):0){gj(z,q+28|0);c=z+11|0;e=b[c>>0]|0;g=e<<24>>24<0;if((g?f[z+4>>2]|0:e&255)|0)if(j<<24>>24>0){e=g?f[z>>2]|0:z;g=0;do{h=$(Qp(e,v));q=e;e=f[v>>2]|0;if((q|0)==(e|0))break;n[t+(g<<2)>>2]=h;g=g+1|0}while((g|0)<(l|0));e=b[c>>0]|0}if(e<<24>>24<0)tq(f[z>>2]|0)}if((b[w+11>>0]|0)<0)tq(f[w>>2]|0);j=f[r>>2]|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;e=en(32)|0;f[z>>2]=e;f[z+8>>2]=-2147483616;f[z+4>>2]=18;c=e;i=17733;l=c+18|0;do{b[c>>0]=b[i>>0]|0;c=c+1|0;i=i+1|0}while((c|0)<(l|0));b[e+18>>0]=0;i=j+16|0;g=f[i>>2]|0;if(g){e=i;e:while(1){c=g;while(1){if((f[c+16>>2]|0)>=(d|0))break;g=f[c+4>>2]|0;if(!g)break e;else c=g}g=f[c>>2]|0;if(!g){e=c;break}else e=c}if(((e|0)!=(i|0)?(f[e+16>>2]|0)<=(d|0):0)?(x=e+20|0,(Qh(x,z)|0)!=0):0)h=$(yk(x,z,$(1.0)));else A=90}else A=90;if((A|0)==90)h=$(yk(j,z,$(1.0)));if((b[z+11>>0]|0)<0)tq(f[z>>2]|0);vl(a+40|0,s,f[y>>2]|0,b[m>>0]|0,h);e=f[y>>2]|0;if(e|0){g=f[o>>2]|0;if((g|0)!=(e|0))f[o>>2]=g+(~((g+-4-e|0)>>>2)<<2);tq(e)}A=1;u=B;return A|0}function vb(a,b){a=a|0;b=b|0;var c=0,d=0,e=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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=u;u=u+16|0;T=X+8|0;V=X;S=X+4|0;U=a+16|0;d=f[U>>2]|0;R=a+20|0;c=f[R>>2]|0;if((c|0)==(d|0))c=d;else{c=c+(~((c+-4-d|0)>>>2)<<2)|0;f[R>>2]=c}O=a+24|0;if((c|0)==(f[O>>2]|0)){Ji(U,b);d=f[U>>2]|0;e=f[R>>2]|0}else{f[c>>2]=f[b>>2];e=c+4|0;f[R>>2]=e}c=f[a+8>>2]|0;c=(f[c+100>>2]|0)-(f[c+96>>2]|0)|0;N=(c|0)/12|0;if((d|0)==(e|0)){u=X;return 1}M=a+28|0;B=(c|0)>0;D=a+164|0;A=a+12|0;y=a+76|0;z=a+80|0;J=a+72|0;K=a+200|0;L=a+320|0;x=a+152|0;r=a+84|0;H=a+324|0;w=a+292|0;s=a+304|0;I=a+316|0;F=a+328|0;t=a+336|0;E=a+332|0;G=a+168|0;v=a+140|0;C=a+120|0;c=e;a:while(1){d=f[c+-4>>2]|0;f[b>>2]=d;b:do if((d|0)>=0?(q=(d>>>0)/3|0,P=f[M>>2]|0,(f[P+(q>>>5<<2)>>2]&1<<(q&31)|0)==0):0){if(B){d=P;c=0;while(1){q=c+1|0;f[D>>2]=(f[D>>2]|0)+1;p=f[b>>2]|0;p=(p|0)<0?-1073741824:(p>>>0)/3|0;c=d+(p>>>5<<2)|0;f[c>>2]=1<<(p&31)|f[c>>2];c=f[y>>2]|0;if((c|0)==(f[z>>2]|0))Ji(J,b);else{f[c>>2]=f[b>>2];f[y>>2]=c+4}f[L>>2]=f[b>>2];m=f[A>>2]|0;d=f[b>>2]|0;if((d|0)<0)o=-1073741824;else{c=f[m>>2]|0;if((d|0)>=((f[m+4>>2]|0)-c>>2|0)){W=18;break a}o=f[c+(d<<2)>>2]|0}n=(f[(f[x>>2]|0)+(o<<2)>>2]|0)!=-1;e=(f[r>>2]|0)+(o>>>5<<2)|0;g=1<<(o&31);c=f[e>>2]|0;do if(!(c&g)){f[e>>2]=c|g;if(n){d=f[b>>2]|0;W=40;break}f[H>>2]=(f[H>>2]|0)+1;d=f[L>>2]|0;c=d+1|0;do if((d|0)>=0){c=((c|0)%3|0|0)==0?d+-2|0:c;if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}else c=d;while(0);e=f[w>>2]|0;p=f[s>>2]|0;o=p+(f[e+(c<<2)>>2]<<2)|0;c=f[o>>2]|0;f[o>>2]=c+-1;e=p+(f[e+(d<<2)>>2]<<2)|0;f[e>>2]=(f[e>>2]|0)+-1;e=f[I>>2]|0;if((e|0)!=-1){d=f[F>>2]|0;if((c|0)<(d|0))c=d;else{p=f[E>>2]|0;c=(c|0)>(p|0)?p:c}h=c-d|0;g=f[t>>2]|0;c=f[3612+(e<<2)>>2]|0;f[T>>2]=c;e=g+(h*12|0)+4|0;d=f[e>>2]|0;if(d>>>0<(f[g+(h*12|0)+8>>2]|0)>>>0){f[d>>2]=c;f[e>>2]=d+4}else Ji(g+(h*12|0)|0,T)}f[I>>2]=0;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0){c=((d|0)%3|0|0)==0?c+-2|0:d;if((c|0)>=0)c=f[(f[(f[A>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}f[b>>2]=c}else W=40;while(0);if((W|0)==40){W=0;l=(d|0)<0;j=d+1|0;if(!l){c=((j|0)%3|0|0)==0?d+-2|0:j;if((c|0)<0)e=c;else e=f[(f[m+12>>2]|0)+(c<<2)>>2]|0;f[V>>2]=e;c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((c|0)>=0)c=f[(f[m+12>>2]|0)+(c<<2)>>2]|0;i=(e|0)<0;h=i?-1073741824:(e>>>0)/3|0;g=(c|0)<0;k=g?-1073741824:(c>>>0)/3|0;e=((j|0)%3|0|0)==0?d+-2|0:j;if((e|0)>=0)e=f[(f[m+12>>2]|0)+(e<<2)>>2]|0}else{f[V>>2]=d;g=1;i=1;c=d;k=-1073741824;h=-1073741824;e=d}if((e|0)!=-1073741824?(j=(e|0)<0?-1073741824:(e>>>0)/3|0,Q=f[M>>2]|0,(f[Q+(j>>>5<<2)>>2]&1<<(j&31)|0)==0):0){if(!l){d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((d|0)>=0)d=f[(f[m+12>>2]|0)+(d<<2)>>2]|0}if((d|0)!=-1073741824?(m=(d|0)<0?-1073741824:(d>>>0)/3|0,(f[Q+(m>>>5<<2)>>2]&1<<(m&31)|0)==0):0){W=69;break}if(!g)vf(a,f[D>>2]|0,p,0,k);id(K,3);c=f[V>>2]|0}else{if(!i){vf(a,f[D>>2]|0,p,1,h);d=f[b>>2]|0}if((d|0)>=0){d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((d|0)>=0)d=f[(f[(f[A>>2]|0)+12>>2]|0)+(d<<2)>>2]|0}if((d|0)==-1073741824){W=57;break}o=(d|0)<0?-1073741824:(d>>>0)/3|0;if(f[(f[M>>2]|0)+(o>>>5<<2)>>2]&1<<(o&31)|0){W=57;break}id(K,5)}f[b>>2]=c}if((q|0)>=(N|0))break b;d=f[M>>2]|0;c=q}do if((W|0)==57){W=0;if(!g)vf(a,f[D>>2]|0,p,0,k);id(K,7);f[R>>2]=(f[R>>2]|0)+-4}else if((W|0)==69){W=0;id(K,1);f[G>>2]=(f[G>>2]|0)+1;if(n?(q=f[(f[x>>2]|0)+(o<<2)>>2]|0,(1<<(q&31)&f[(f[v>>2]|0)+(q>>>5<<2)>>2]|0)==0):0){f[S>>2]=f[b>>2];f[T>>2]=f[S>>2];Od(a,T,0)|0}q=f[D>>2]|0;f[T>>2]=p;d=we(C,T)|0;f[d>>2]=q;d=f[R>>2]|0;f[d+-4>>2]=c;if((d|0)==(f[O>>2]|0)){Ji(U,V);break}else{f[d>>2]=f[V>>2];f[R>>2]=d+4;break}}while(0)}}else W=11;while(0);if((W|0)==11){W=0;f[R>>2]=c+-4}c=f[R>>2]|0;if((f[U>>2]|0)==(c|0)){W=77;break}}if((W|0)==18)ra(20128,20163,98,20248);else if((W|0)==77){u=X;return 1}return 0}function wb(a,b){a=a|0;b=b|0;var c=0,d=0,e=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,v=0,w=0,x=0,y=0,z=0;z=u;u=u+48|0;y=z;w=z+36|0;i=z+32|0;j=z+28|0;l=z+24|0;m=z+20|0;n=z+16|0;o=z+12|0;v=z+8|0;x=z+4|0;if((f[a+96>>2]|0)==(f[a+92>>2]|0)){u=z;return}d=a+56|0;c=f[d>>2]|0;if((c|0)==(f[a+60>>2]|0)){Ji(a+52|0,b);r=b}else{f[c>>2]=f[b>>2];f[d>>2]=c+4;r=b}s=a+88|0;f[s>>2]=0;e=f[a>>2]|0;b=f[r>>2]|0;c=b+1|0;do if((b|0)>=0){d=((c|0)%3|0|0)==0?b+-2|0:c;do if((d|0)>=0){c=f[e>>2]|0;if((d|0)<((f[e+4>>2]|0)-c>>2|0)){g=f[c+(d<<2)>>2]|0;break}else ra(20128,20163,98,20248)}else g=-1073741824;while(0);d=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((d|0)>=0){c=f[e>>2]|0;if((d|0)<((f[e+4>>2]|0)-c>>2|0)){h=g;k=f[c+(d<<2)>>2]|0;break}else ra(20128,20163,98,20248)}else{h=g;k=-1073741824}}else{h=-1073741824;k=-1073741824}while(0);q=a+24|0;c=f[q>>2]|0;b=c+(h>>>5<<2)|0;e=1<<(h&31);d=f[b>>2]|0;if(!(d&e)){f[b>>2]=d|e;f[i>>2]=h;c=f[r>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;f[j>>2]=c;f[w>>2]=f[i>>2];f[y>>2]=f[j>>2];Bg(a+36|0,w,y);c=f[q>>2]|0}d=c+(k>>>5<<2)|0;b=1<<(k&31);c=f[d>>2]|0;if(!(c&b)){f[d>>2]=c|b;d=a+36|0;f[l>>2]=k;c=f[r>>2]|0;do if((c|0)>=0)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);f[m>>2]=c;f[w>>2]=f[l>>2];f[y>>2]=f[m>>2];Bg(d,w,y)}c=f[a>>2]|0;d=f[r>>2]|0;do if((d|0)>=0){b=f[c>>2]|0;if((d|0)<((f[c+4>>2]|0)-b>>2|0)){p=f[b+(d<<2)>>2]|0;break}else ra(20128,20163,98,20248)}else p=-1073741824;while(0);d=(f[q>>2]|0)+(p>>>5<<2)|0;b=1<<(p&31);c=f[d>>2]|0;if(!(b&c)){f[d>>2]=c|b;f[n>>2]=p;f[o>>2]=f[r>>2];f[w>>2]=f[n>>2];f[y>>2]=f[o>>2];Bg(a+36|0,w,y)}c=f[s>>2]|0;a:do if((c|0)<3){m=a+12|0;n=a+36|0;l=a+92|0;b:while(1){while(1){b=a+52+(c*12|0)+4|0;d=f[b>>2]|0;if((f[a+52+(c*12|0)>>2]|0)!=(d|0))break;c=c+1|0;if((c|0)>=3)break a}p=d+-4|0;e=f[p>>2]|0;f[b>>2]=p;f[s>>2]=c;f[r>>2]=e;if((e|0)<=-1){t=85;break}p=(e>>>0)/3|0;d=f[m>>2]|0;do if(!(f[d+(p>>>5<<2)>>2]&1<<(p&31))){i=f[a>>2]|0;c=e;b=i;c:while(1){p=(c|0)/3|0;d=d+(p>>>5<<2)|0;f[d>>2]=1<<(p&31)|f[d>>2];d=f[r>>2]|0;if((d|0)<0)g=-1073741824;else{c=f[i>>2]|0;if((d|0)>=((f[b+4>>2]|0)-c>>2|0)){t=42;break b}g=f[c+(d<<2)>>2]|0}e=(f[q>>2]|0)+(g>>>5<<2)|0;h=1<<(g&31);c=f[e>>2]|0;if(!(h&c)){f[e>>2]=c|h;f[v>>2]=g;f[x>>2]=f[r>>2];f[w>>2]=f[v>>2];f[y>>2]=f[x>>2];Bg(n,w,y);i=f[a>>2]|0;d=f[r>>2]|0;b=i}if((d|0)<0){t=83;break}c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;if((c|0)<0)k=c;else k=f[(f[b+12>>2]|0)+(c<<2)>>2]|0;c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((c|0)>=0)c=f[(f[b+12>>2]|0)+(c<<2)>>2]|0;j=(k|0)<0;d=j?-1:(k>>>0)/3|0;e=(c|0)<0;g=e?-1:(c>>>0)/3|0;if(j)h=1;else h=(f[(f[m>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)|0)!=0;do if(e)if(h){t=83;break c}else{d=i;t=70}else{if(f[(f[m>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0)if(h){t=83;break c}else{d=i;t=70;break}d=f[b>>2]|0;if((c|0)>=((f[b+4>>2]|0)-d>>2|0)){t=57;break b}d=f[d+(c<<2)>>2]|0;if(!(1<<(d&31)&f[(f[q>>2]|0)+(d>>>5<<2)>>2])){p=(f[l>>2]|0)+(d<<2)|0;e=f[p>>2]|0;f[p>>2]=e+1;e=(e|0)>0?1:2}else e=0;if(h?(e|0)<=(f[s>>2]|0):0){e=i;break}f[y>>2]=c;b=a+52+(e*12|0)+4|0;d=f[b>>2]|0;if((d|0)==(f[a+52+(e*12|0)+8>>2]|0))Ji(a+52+(e*12|0)|0,y);else{f[d>>2]=c;f[b>>2]=d+4}if((f[s>>2]|0)>(e|0))f[s>>2]=e;if(h){t=83;break c}d=f[a>>2]|0;b=d;t=70}while(0);if((t|0)==70){t=0;if(j)c=-1073741824;else{c=f[b>>2]|0;if((k|0)>=((f[b+4>>2]|0)-c>>2|0)){t=72;break b}c=f[c+(k<<2)>>2]|0}if(!(1<<(c&31)&f[(f[q>>2]|0)+(c>>>5<<2)>>2])){p=(f[l>>2]|0)+(c<<2)|0;e=f[p>>2]|0;f[p>>2]=e+1;e=(e|0)>0?1:2}else e=0;if((e|0)>(f[s>>2]|0))break;else{e=d;c=k}}f[r>>2]=c;d=f[m>>2]|0;i=e}if((t|0)==83){t=0;c=f[s>>2]|0;break}f[y>>2]=k;d=a+52+(e*12|0)+4|0;c=f[d>>2]|0;if((c|0)==(f[a+52+(e*12|0)+8>>2]|0))Ji(a+52+(e*12|0)|0,y);else{f[c>>2]=k;f[d>>2]=c+4}c=f[s>>2]|0;if((c|0)>(e|0)){f[s>>2]=e;c=e}}while(0);if((c|0)>=3)break a}if((t|0)==42)ra(20128,20163,98,20248);else if((t|0)==57)ra(20128,20163,98,20248);else if((t|0)==72)ra(20128,20163,98,20248);else if((t|0)==85){u=z;return}}while(0);f[r>>2]=-1073741824;u=z;return}function xb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=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;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=wg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Xd(t,l,c)|0;a=l+4|0;if(Xd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}xb(t,l,c);a=l+4|0}if((s|0)==82){s=0;xb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Jp(b);if(d>>>0<=g>>>0)Jp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{wg(t,t+4|0,u,c)|0;return}case 12:{Tg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Yg(t,b,c);return}case 20:{Jp(l);break}case 22:{Jp(l);break}case 26:{Jp(l);break}case 32:{Jp(l);break}case 38:{Jp(l);break}case 40:{Jp(l);break}case 46:{Jp(l);break}case 47:{Jp(l);break}case 51:{Jp(l);break}case 57:{Jp(a);break}case 59:{Jp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Jp(a);else Jp(a);break}case 66:{Jp(a);break}case 72:{Jp(h);break}case 74:{Jp(h);break}case 84:return}}function yb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=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;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=wg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Xd(t,l,c)|0;a=l+4|0;if(Xd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}yb(t,l,c);a=l+4|0}if((s|0)==82){s=0;yb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Jp(b);if(d>>>0<=g>>>0)Jp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{wg(t,t+4|0,u,c)|0;return}case 12:{Tg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Yg(t,b,c);return}case 20:{Jp(l);break}case 22:{Jp(l);break}case 26:{Jp(l);break}case 32:{Jp(l);break}case 38:{Jp(l);break}case 40:{Jp(l);break}case 46:{Jp(l);break}case 47:{Jp(l);break}case 51:{Jp(l);break}case 57:{Jp(a);break}case 59:{Jp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Jp(a);else Jp(a);break}case 66:{Jp(a);break}case 72:{Jp(h);break}case 74:{Jp(h);break}case 84:return}}function zb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=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;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=wg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Xd(t,l,c)|0;a=l+4|0;if(Xd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}zb(t,l,c);a=l+4|0}if((s|0)==82){s=0;zb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Jp(b);if(d>>>0<=g>>>0)Jp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{wg(t,t+4|0,u,c)|0;return}case 12:{Tg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Yg(t,b,c);return}case 20:{Jp(l);break}case 22:{Jp(l);break}case 26:{Jp(l);break}case 32:{Jp(l);break}case 38:{Jp(l);break}case 40:{Jp(l);break}case 46:{Jp(l);break}case 47:{Jp(l);break}case 51:{Jp(l);break}case 57:{Jp(a);break}case 59:{Jp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Jp(a);else Jp(a);break}case 66:{Jp(a);break}case 72:{Jp(h);break}case 74:{Jp(h);break}case 84:return}}function Ab(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=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;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=wg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Xd(t,l,c)|0;a=l+4|0;if(Xd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}Ab(t,l,c);a=l+4|0}if((s|0)==82){s=0;Ab(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Jp(b);if(d>>>0<=g>>>0)Jp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{wg(t,t+4|0,u,c)|0;return}case 12:{Tg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Yg(t,b,c);return}case 20:{Jp(l);break}case 22:{Jp(l);break}case 26:{Jp(l);break}case 32:{Jp(l);break}case 38:{Jp(l);break}case 40:{Jp(l);break}case 46:{Jp(l);break}case 47:{Jp(l);break}case 51:{Jp(l);break}case 57:{Jp(a);break}case 59:{Jp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Jp(a);else Jp(a);break}case 66:{Jp(a);break}case 72:{Jp(h);break}case 74:{Jp(h);break}case 84:return}}function Bb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=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;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=wg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Xd(t,l,c)|0;a=l+4|0;if(Xd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}Bb(t,l,c);a=l+4|0}if((s|0)==82){s=0;Bb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Jp(b);if(d>>>0<=g>>>0)Jp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{wg(t,t+4|0,u,c)|0;return}case 12:{Tg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Yg(t,b,c);return}case 20:{Jp(l);break}case 22:{Jp(l);break}case 26:{Jp(l);break}case 32:{Jp(l);break}case 38:{Jp(l);break}case 40:{Jp(l);break}case 46:{Jp(l);break}case 47:{Jp(l);break}case 51:{Jp(l);break}case 57:{Jp(a);break}case 59:{Jp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Jp(a);else Jp(a);break}case 66:{Jp(a);break}case 72:{Jp(h);break}case 74:{Jp(h);break}case 84:return}}function Cb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=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;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=wg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Xd(t,l,c)|0;a=l+4|0;if(Xd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}Cb(t,l,c);a=l+4|0}if((s|0)==82){s=0;Cb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Jp(b);if(d>>>0<=g>>>0)Jp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{wg(t,t+4|0,u,c)|0;return}case 12:{Tg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Yg(t,b,c);return}case 20:{Jp(l);break}case 22:{Jp(l);break}case 26:{Jp(l);break}case 32:{Jp(l);break}case 38:{Jp(l);break}case 40:{Jp(l);break}case 46:{Jp(l);break}case 47:{Jp(l);break}case 51:{Jp(l);break}case 57:{Jp(a);break}case 59:{Jp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Jp(a);else Jp(a);break}case 66:{Jp(a);break}case 72:{Jp(h);break}case 74:{Jp(h);break}case 84:return}}function Db(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=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;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=wg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Xd(t,l,c)|0;a=l+4|0;if(Xd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}Db(t,l,c);a=l+4|0}if((s|0)==82){s=0;Db(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Jp(b);if(d>>>0<=g>>>0)Jp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{wg(t,t+4|0,u,c)|0;return}case 12:{Tg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Yg(t,b,c);return}case 20:{Jp(l);break}case 22:{Jp(l);break}case 26:{Jp(l);break}case 32:{Jp(l);break}case 38:{Jp(l);break}case 40:{Jp(l);break}case 46:{Jp(l);break}case 47:{Jp(l);break}case 51:{Jp(l);break}case 57:{Jp(a);break}case 59:{Jp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Jp(a);else Jp(a);break}case 66:{Jp(a);break}case 72:{Jp(h);break}case 74:{Jp(h);break}case 84:return}}function Eb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=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;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=wg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Xd(t,l,c)|0;a=l+4|0;if(Xd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}Eb(t,l,c);a=l+4|0}if((s|0)==82){s=0;Eb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Jp(b);if(d>>>0<=g>>>0)Jp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{wg(t,t+4|0,u,c)|0;return}case 12:{Tg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Yg(t,b,c);return}case 20:{Jp(l);break}case 22:{Jp(l);break}case 26:{Jp(l);break}case 32:{Jp(l);break}case 38:{Jp(l);break}case 40:{Jp(l);break}case 46:{Jp(l);break}case 47:{Jp(l);break}case 51:{Jp(l);break}case 57:{Jp(a);break}case 59:{Jp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Jp(a);else Jp(a);break}case 66:{Jp(a);break}case 72:{Jp(h);break}case 74:{Jp(h);break}case 84:return}}function Fb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=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;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=wg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Xd(t,l,c)|0;a=l+4|0;if(Xd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}Fb(t,l,c);a=l+4|0}if((s|0)==82){s=0;Fb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Jp(b);if(d>>>0<=g>>>0)Jp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{wg(t,t+4|0,u,c)|0;return}case 12:{Tg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Yg(t,b,c);return}case 20:{Jp(l);break}case 22:{Jp(l);break}case 26:{Jp(l);break}case 32:{Jp(l);break}case 38:{Jp(l);break}case 40:{Jp(l);break}case 46:{Jp(l);break}case 47:{Jp(l);break}case 51:{Jp(l);break}case 57:{Jp(a);break}case 59:{Jp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Jp(a);else Jp(a);break}case 66:{Jp(a);break}case 72:{Jp(h);break}case 74:{Jp(h);break}case 84:return}}function Gb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=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;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=wg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Xd(t,l,c)|0;a=l+4|0;if(Xd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}Gb(t,l,c);a=l+4|0}if((s|0)==82){s=0;Gb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Jp(b);if(d>>>0<=g>>>0)Jp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{wg(t,t+4|0,u,c)|0;return}case 12:{Tg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Yg(t,b,c);return}case 20:{Jp(l);break}case 22:{Jp(l);break}case 26:{Jp(l);break}case 32:{Jp(l);break}case 38:{Jp(l);break}case 40:{Jp(l);break}case 46:{Jp(l);break}case 47:{Jp(l);break}case 51:{Jp(l);break}case 57:{Jp(a);break}case 59:{Jp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Jp(a);else Jp(a);break}case 66:{Jp(a);break}case 72:{Jp(h);break}case 74:{Jp(h);break}case 84:return}} // EMSCRIPTEN_END_FUNCS var Ma=[xq,Wp,Yp,Yp,Wp,zq,zq,zq,ck,Vf,Yp,Eo,zq,zq,Yp,zq,Yp,Yp,ul,Wp,ul,yn,ul,Kp,pl,Yp,Jn,pl,Yp,Ln,Wk,Yp,Gp,Yp,ul,Wp,ul,yn,ul,Kp,pl,Yp,Jn,pl,Yp,Ln,Wk,Yp,Gp,Yp,Kp,zq,Eo,Yp,zq,Yp,Kp,Yp,ml,Wp,ml,yn,ml,Kp,hl,Yp,Jn,hl,Yp,Ln,Nk,Yp,Gp,Yp,ml,Wp,ml,yn,ml,Kp,hl,Yp,Jn,hl,Yp,Ln,Nk,Yp,Gp,Yp,Wp,Yp,Yp,Fd,Yp,Do,Ve,dh,vk,_n,Yn,cb,yo,Eo,pg,Dg,uf,db,yo,Eo,Yp,zq,zq,bc,Li,zq,Yp,Yp,Dj,zq,Dj,Uj,fn,pp,xq,xq,xq,xq];var Na=[kq,zl,vh,_d,Dl,Bp,Bp,Bp,kp,kp,gb,$n,kp,kp,ki,$i,_h,_j,ll,Bj,Yk,Rj,Wj,Ge,lo,Bp,ji,of,Lm,Ol,se,Bm,Ol,af,Dm,Ml,mh,sm,of,Lm,Ol,se,Bm,Ol,af,Dm,Ml,mh,sm,nn,lo,Bp,ei,lf,Lm,Fl,re,Bm,Fl,_e,Dm,Cl,gh,sm,lf,Lm,Fl,re,Bm,Fl,_e,Dm,Cl,gh,sm,kn,Bn,sn,Dn,An,Lg,Yj,zk,Ub,ue,Qm,df,Ke,Le,Ig,Yj,zk,Tb,ue,Qm,kp,Bp,Bp,sf,rm,qj,sf,kq,kq,kq,kq,kq,kq,kq,kq,kq,kq,kq,kq,kq,kq,kq,kq,kq,kq,kq,kq,kq,kq,kq,kq,kq,kq];var Oa=[Vp,Nn,bp,Zk,Km,kg,bj,il,hh,jc,Uh,Yf,Oh,ub,Ch,Ug,fl,Hm,pj,Vp,Vp,Vp,Vp,Vp,Vp,Vp,Vp,Vp,Vp,Vp,Vp,Vp];var Pa=[Mo,xd,pc,tb,_a,Dd,Jd,_l,vc,Vb,Za,Cd,Id,_l,tj,Pc,Fc,bb,eg,Fg,nc,Yd,jd,$a,bg,zg,lc,Mo,Mo,Mo,Mo,Mo];var Qa=[Eq,mq,Bi,tn];var Ra=[Cq,yq,rq,wm,hm,Sk,Jk,Jk,Ei,Oo,Ph,qo,Zl,Kl,cm,Ll,Ll,Ll,Ll,Pj,Mj,wk,ik,Rk,Fk,$k,Mk,yq,rq,Ll,Ll,Nj,Jj,ok,fk,Ok,Ek,Vk,Ik,yq,rq,Zl,Kl,yq,rq,rq,rq,Uk,Kk,Jl,sl,Em,nm,$m,Um,yq,rq,rq,rq,Pk,Gk,El,ol,ym,im,Vm,Nm,yq,rq,jk,$j,jm,Xl,Te,Hn,hk,Zj,_m,Fm,Nl,kk,ek,cn,Om,Ql,am,Tl,Se,vn,dj,rp,rp,yq,rq,rp,rp,rp,Ak,rk,fb,Ag,yp,yq,zp,yq,yq,zp,Xo,Ip,Ip,hn,Cq,Cq,Cq,Cq,Cq,Cq,Cq,Cq,Cq,Cq,Cq,Cq,Cq,Cq,Cq,Cq,Cq];var Sa=[oq,nk,Zf,uk,Ec,oq,oq,oq];var Ta=[cq,Ae,Ti,Ac,Wb,te,Ac,Wb,Gg,lj,ig,dg,cq,cq,cq,cq];var Ua=[Pp,dm,dl,Pp];var Va=[up,ej,ah,up];var Wa=[Zo,Il,Lk,Zo];return{___cxa_can_catch:lm,___cxa_is_pointer_type:no,___divdi3:mk,___muldi3:dn,___udivdi3:To,___uremdi3:Ym,_bitshift64Lshr:En,_bitshift64Shl:zn,_emscripten_bind_DracoInt8Array_DracoInt8Array_0:No,_emscripten_bind_DracoInt8Array_GetValue_1:wo,_emscripten_bind_DracoInt8Array___destroy___0:Tm,_emscripten_bind_DracoInt8Array_size_0:dp,_emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2:Un,_emscripten_bind_Encoder_Encoder_0:op,_emscripten_bind_Encoder_SetAttributeExplicitQuantization_5:Rm,_emscripten_bind_Encoder_SetAttributeQuantization_2:Sn,_emscripten_bind_Encoder_SetEncodingMethod_1:mo,_emscripten_bind_Encoder_SetSpeedOptions_2:so,_emscripten_bind_Encoder___destroy___0:Gj,_emscripten_bind_GeometryAttribute_GeometryAttribute_0:Ao,_emscripten_bind_GeometryAttribute___destroy___0:ep,_emscripten_bind_MeshBuilder_AddFacesToMesh_3:Tn,_emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5:Xm,_emscripten_bind_MeshBuilder_AddInt32AttributeToMesh_5:Wm,_emscripten_bind_MeshBuilder_AddMetadataToMesh_2:Vn,_emscripten_bind_MeshBuilder_MeshBuilder_0:fp,_emscripten_bind_MeshBuilder_SetMetadataForAttribute_3:rn,_emscripten_bind_MeshBuilder___destroy___0:ep,_emscripten_bind_Mesh_Mesh_0:qp,_emscripten_bind_Mesh___destroy___0:go,_emscripten_bind_Mesh_num_attributes_0:Ro,_emscripten_bind_Mesh_num_faces_0:Jo,_emscripten_bind_Mesh_num_points_0:Np,_emscripten_bind_Mesh_set_num_points_1:mp,_emscripten_bind_MetadataBuilder_AddDoubleEntry_3:In,_emscripten_bind_MetadataBuilder_AddIntEntry_3:Mn,_emscripten_bind_MetadataBuilder_AddStringEntry_3:Gn,_emscripten_bind_MetadataBuilder_MetadataBuilder_0:fp,_emscripten_bind_MetadataBuilder___destroy___0:ep,_emscripten_bind_Metadata_Metadata_0:Pl,_emscripten_bind_Metadata___destroy___0:Co,_emscripten_bind_PointAttribute_PointAttribute_0:Ho,_emscripten_bind_PointAttribute___destroy___0:vj,_emscripten_bind_PointAttribute_attribute_type_0:wp,_emscripten_bind_PointAttribute_byte_offset_0:Dp,_emscripten_bind_PointAttribute_byte_stride_0:Cp,_emscripten_bind_PointAttribute_data_type_0:Gp,_emscripten_bind_PointAttribute_normalized_0:sp,_emscripten_bind_PointAttribute_num_components_0:Ap,_emscripten_bind_PointAttribute_size_0:Np,_emscripten_bind_PointAttribute_unique_id_0:Fp,_emscripten_bind_PointCloud_PointCloud_0:Vo,_emscripten_bind_PointCloud___destroy___0:go,_emscripten_bind_PointCloud_num_attributes_0:Ro,_emscripten_bind_PointCloud_num_points_0:Np,_emscripten_bind_VoidPtr___destroy___0:ep,_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE:eq,_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD:dq,_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH:gq,_emscripten_enum_draco_GeometryAttribute_Type_COLOR:hq,_emscripten_enum_draco_GeometryAttribute_Type_GENERIC:fq,_emscripten_enum_draco_GeometryAttribute_Type_INVALID:eq,_emscripten_enum_draco_GeometryAttribute_Type_NORMAL:gq,_emscripten_enum_draco_GeometryAttribute_Type_POSITION:dq,_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD:bq,_emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING:gq,_emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING:dq,_emscripten_get_global_libc:vq,_emscripten_replace_memory:La,_free:uc,_i64Add:Qn,_i64Subtract:co,_llvm_bswap_i32:_o,_malloc:Xa,_memcpy:Sg,_memmove:fm,_memset:fj,_sbrk:wl,dynCall_ii:Ep,dynCall_iii:Yo,dynCall_iiii:vo,dynCall_iiiiiii:qn,dynCall_v:lq,dynCall_vi:Rp,dynCall_vii:np,dynCall_viii:Go,dynCall_viiii:ho,dynCall_viiiii:Wn,dynCall_viiiiii:wn,establishStackSpace:Lp,getTempRet0:Aq,runPostSets:Pn,setTempRet0:uq,setThrew:ip,stackAlloc:Io,stackRestore:sq,stackSave:Bq}}) // EMSCRIPTEN_END_ASM (Module.asmGlobalArg,Module.asmLibraryArg,buffer);var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var ___divdi3=Module["___divdi3"]=asm["___divdi3"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var ___uremdi3=Module["___uremdi3"]=asm["___uremdi3"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _emscripten_bind_DracoInt8Array_DracoInt8Array_0=Module["_emscripten_bind_DracoInt8Array_DracoInt8Array_0"]=asm["_emscripten_bind_DracoInt8Array_DracoInt8Array_0"];var _emscripten_bind_DracoInt8Array_GetValue_1=Module["_emscripten_bind_DracoInt8Array_GetValue_1"]=asm["_emscripten_bind_DracoInt8Array_GetValue_1"];var _emscripten_bind_DracoInt8Array___destroy___0=Module["_emscripten_bind_DracoInt8Array___destroy___0"]=asm["_emscripten_bind_DracoInt8Array___destroy___0"];var _emscripten_bind_DracoInt8Array_size_0=Module["_emscripten_bind_DracoInt8Array_size_0"]=asm["_emscripten_bind_DracoInt8Array_size_0"];var _emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2=Module["_emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2"]=asm["_emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2"];var _emscripten_bind_Encoder_Encoder_0=Module["_emscripten_bind_Encoder_Encoder_0"]=asm["_emscripten_bind_Encoder_Encoder_0"];var _emscripten_bind_Encoder_SetAttributeExplicitQuantization_5=Module["_emscripten_bind_Encoder_SetAttributeExplicitQuantization_5"]=asm["_emscripten_bind_Encoder_SetAttributeExplicitQuantization_5"];var _emscripten_bind_Encoder_SetAttributeQuantization_2=Module["_emscripten_bind_Encoder_SetAttributeQuantization_2"]=asm["_emscripten_bind_Encoder_SetAttributeQuantization_2"];var _emscripten_bind_Encoder_SetEncodingMethod_1=Module["_emscripten_bind_Encoder_SetEncodingMethod_1"]=asm["_emscripten_bind_Encoder_SetEncodingMethod_1"];var _emscripten_bind_Encoder_SetSpeedOptions_2=Module["_emscripten_bind_Encoder_SetSpeedOptions_2"]=asm["_emscripten_bind_Encoder_SetSpeedOptions_2"];var _emscripten_bind_Encoder___destroy___0=Module["_emscripten_bind_Encoder___destroy___0"]=asm["_emscripten_bind_Encoder___destroy___0"];var _emscripten_bind_GeometryAttribute_GeometryAttribute_0=Module["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"]=asm["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"];var _emscripten_bind_GeometryAttribute___destroy___0=Module["_emscripten_bind_GeometryAttribute___destroy___0"]=asm["_emscripten_bind_GeometryAttribute___destroy___0"];var _emscripten_bind_MeshBuilder_AddFacesToMesh_3=Module["_emscripten_bind_MeshBuilder_AddFacesToMesh_3"]=asm["_emscripten_bind_MeshBuilder_AddFacesToMesh_3"];var _emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5=Module["_emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5"]=asm["_emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5"];var _emscripten_bind_MeshBuilder_AddInt32AttributeToMesh_5=Module["_emscripten_bind_MeshBuilder_AddInt32AttributeToMesh_5"]=asm["_emscripten_bind_MeshBuilder_AddInt32AttributeToMesh_5"];var _emscripten_bind_MeshBuilder_AddMetadataToMesh_2=Module["_emscripten_bind_MeshBuilder_AddMetadataToMesh_2"]=asm["_emscripten_bind_MeshBuilder_AddMetadataToMesh_2"];var _emscripten_bind_MeshBuilder_MeshBuilder_0=Module["_emscripten_bind_MeshBuilder_MeshBuilder_0"]=asm["_emscripten_bind_MeshBuilder_MeshBuilder_0"];var _emscripten_bind_MeshBuilder_SetMetadataForAttribute_3=Module["_emscripten_bind_MeshBuilder_SetMetadataForAttribute_3"]=asm["_emscripten_bind_MeshBuilder_SetMetadataForAttribute_3"];var _emscripten_bind_MeshBuilder___destroy___0=Module["_emscripten_bind_MeshBuilder___destroy___0"]=asm["_emscripten_bind_MeshBuilder___destroy___0"];var _emscripten_bind_Mesh_Mesh_0=Module["_emscripten_bind_Mesh_Mesh_0"]=asm["_emscripten_bind_Mesh_Mesh_0"];var _emscripten_bind_Mesh___destroy___0=Module["_emscripten_bind_Mesh___destroy___0"]=asm["_emscripten_bind_Mesh___destroy___0"];var _emscripten_bind_Mesh_num_attributes_0=Module["_emscripten_bind_Mesh_num_attributes_0"]=asm["_emscripten_bind_Mesh_num_attributes_0"];var _emscripten_bind_Mesh_num_faces_0=Module["_emscripten_bind_Mesh_num_faces_0"]=asm["_emscripten_bind_Mesh_num_faces_0"];var _emscripten_bind_Mesh_num_points_0=Module["_emscripten_bind_Mesh_num_points_0"]=asm["_emscripten_bind_Mesh_num_points_0"];var _emscripten_bind_Mesh_set_num_points_1=Module["_emscripten_bind_Mesh_set_num_points_1"]=asm["_emscripten_bind_Mesh_set_num_points_1"];var _emscripten_bind_MetadataBuilder_AddDoubleEntry_3=Module["_emscripten_bind_MetadataBuilder_AddDoubleEntry_3"]=asm["_emscripten_bind_MetadataBuilder_AddDoubleEntry_3"];var _emscripten_bind_MetadataBuilder_AddIntEntry_3=Module["_emscripten_bind_MetadataBuilder_AddIntEntry_3"]=asm["_emscripten_bind_MetadataBuilder_AddIntEntry_3"];var _emscripten_bind_MetadataBuilder_AddStringEntry_3=Module["_emscripten_bind_MetadataBuilder_AddStringEntry_3"]=asm["_emscripten_bind_MetadataBuilder_AddStringEntry_3"];var _emscripten_bind_MetadataBuilder_MetadataBuilder_0=Module["_emscripten_bind_MetadataBuilder_MetadataBuilder_0"]=asm["_emscripten_bind_MetadataBuilder_MetadataBuilder_0"];var _emscripten_bind_MetadataBuilder___destroy___0=Module["_emscripten_bind_MetadataBuilder___destroy___0"]=asm["_emscripten_bind_MetadataBuilder___destroy___0"];var _emscripten_bind_Metadata_Metadata_0=Module["_emscripten_bind_Metadata_Metadata_0"]=asm["_emscripten_bind_Metadata_Metadata_0"];var _emscripten_bind_Metadata___destroy___0=Module["_emscripten_bind_Metadata___destroy___0"]=asm["_emscripten_bind_Metadata___destroy___0"];var _emscripten_bind_PointAttribute_PointAttribute_0=Module["_emscripten_bind_PointAttribute_PointAttribute_0"]=asm["_emscripten_bind_PointAttribute_PointAttribute_0"];var _emscripten_bind_PointAttribute___destroy___0=Module["_emscripten_bind_PointAttribute___destroy___0"]=asm["_emscripten_bind_PointAttribute___destroy___0"];var _emscripten_bind_PointAttribute_attribute_type_0=Module["_emscripten_bind_PointAttribute_attribute_type_0"]=asm["_emscripten_bind_PointAttribute_attribute_type_0"];var _emscripten_bind_PointAttribute_byte_offset_0=Module["_emscripten_bind_PointAttribute_byte_offset_0"]=asm["_emscripten_bind_PointAttribute_byte_offset_0"];var _emscripten_bind_PointAttribute_byte_stride_0=Module["_emscripten_bind_PointAttribute_byte_stride_0"]=asm["_emscripten_bind_PointAttribute_byte_stride_0"];var _emscripten_bind_PointAttribute_data_type_0=Module["_emscripten_bind_PointAttribute_data_type_0"]=asm["_emscripten_bind_PointAttribute_data_type_0"];var _emscripten_bind_PointAttribute_normalized_0=Module["_emscripten_bind_PointAttribute_normalized_0"]=asm["_emscripten_bind_PointAttribute_normalized_0"];var _emscripten_bind_PointAttribute_num_components_0=Module["_emscripten_bind_PointAttribute_num_components_0"]=asm["_emscripten_bind_PointAttribute_num_components_0"];var _emscripten_bind_PointAttribute_size_0=Module["_emscripten_bind_PointAttribute_size_0"]=asm["_emscripten_bind_PointAttribute_size_0"];var _emscripten_bind_PointAttribute_unique_id_0=Module["_emscripten_bind_PointAttribute_unique_id_0"]=asm["_emscripten_bind_PointAttribute_unique_id_0"];var _emscripten_bind_PointCloud_PointCloud_0=Module["_emscripten_bind_PointCloud_PointCloud_0"]=asm["_emscripten_bind_PointCloud_PointCloud_0"];var _emscripten_bind_PointCloud___destroy___0=Module["_emscripten_bind_PointCloud___destroy___0"]=asm["_emscripten_bind_PointCloud___destroy___0"];var _emscripten_bind_PointCloud_num_attributes_0=Module["_emscripten_bind_PointCloud_num_attributes_0"]=asm["_emscripten_bind_PointCloud_num_attributes_0"];var _emscripten_bind_PointCloud_num_points_0=Module["_emscripten_bind_PointCloud_num_points_0"]=asm["_emscripten_bind_PointCloud_num_points_0"];var _emscripten_bind_VoidPtr___destroy___0=Module["_emscripten_bind_VoidPtr___destroy___0"]=asm["_emscripten_bind_VoidPtr___destroy___0"];var _emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=Module["_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE"]=asm["_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE"];var _emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=Module["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"]=asm["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"];var _emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=Module["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"]=asm["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"];var _emscripten_enum_draco_GeometryAttribute_Type_COLOR=Module["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"];var _emscripten_enum_draco_GeometryAttribute_Type_GENERIC=Module["_emscripten_enum_draco_GeometryAttribute_Type_GENERIC"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_GENERIC"];var _emscripten_enum_draco_GeometryAttribute_Type_INVALID=Module["_emscripten_enum_draco_GeometryAttribute_Type_INVALID"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_INVALID"];var _emscripten_enum_draco_GeometryAttribute_Type_NORMAL=Module["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"];var _emscripten_enum_draco_GeometryAttribute_Type_POSITION=Module["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"];var _emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=Module["_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD"];var _emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING=Module["_emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING"]=asm["_emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING"];var _emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING=Module["_emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING"]=asm["_emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING"];var _emscripten_get_global_libc=Module["_emscripten_get_global_libc"]=asm["_emscripten_get_global_libc"];var _emscripten_replace_memory=Module["_emscripten_replace_memory"]=asm["_emscripten_replace_memory"];var _free=Module["_free"]=asm["_free"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memmove=Module["_memmove"]=asm["_memmove"];var _memset=Module["_memset"]=asm["_memset"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var getTempRet0=Module["getTempRet0"]=asm["getTempRet0"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var setTempRet0=Module["setTempRet0"]=asm["setTempRet0"];var setThrew=Module["setThrew"]=asm["setThrew"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];Runtime.stackAlloc=Module["stackAlloc"];Runtime.stackSave=Module["stackSave"];Runtime.stackRestore=Module["stackRestore"];Runtime.establishStackSpace=Module["establishStackSpace"];Runtime.setTempRet0=Module["setTempRet0"];Runtime.getTempRet0=Module["getTempRet0"];Module["asm"]=asm;if(memoryInitializer){if(typeof Module["locateFile"]==="function"){memoryInitializer=Module["locateFile"](memoryInitializer)}else if(Module["memoryInitializerPrefixURL"]){memoryInitializer=Module["memoryInitializerPrefixURL"]+memoryInitializer}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,Runtime.GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=(function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,Runtime.GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")});function doBrowserLoad(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,(function(){throw"could not load memory initializer "+memoryInitializer}))}var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module["memoryInitializerRequest"]){function useRequest(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module["memoryInitializerRequestURL"]);if(data){response=data.buffer}else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)}if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}Module["then"]=(function(func){if(Module["calledRun"]){func(Module)}else{var old=Module["onRuntimeInitialized"];Module["onRuntimeInitialized"]=(function(){if(old)old();func(Module)})}return Module});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;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};function run(args){args=args||Module["arguments"];if(preloadStartTime===null)preloadStartTime=Date.now();if(runDependencies>0){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"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}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)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=exit;var abortDecorators=[];function abort(what){if(Module["onAbort"]){Module["onAbort"](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"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run();function WrapperObject(){}WrapperObject.prototype=Object.create(WrapperObject.prototype);WrapperObject.prototype.constructor=WrapperObject;WrapperObject.prototype.__class__=WrapperObject;WrapperObject.__cache__={};Module["WrapperObject"]=WrapperObject;function getCache(__class__){return(__class__||WrapperObject).__cache__}Module["getCache"]=getCache;function wrapPointer(ptr,__class__){var cache=getCache(__class__);var ret=cache[ptr];if(ret)return ret;ret=Object.create((__class__||WrapperObject).prototype);ret.ptr=ptr;return cache[ptr]=ret}Module["wrapPointer"]=wrapPointer;function castObject(obj,__class__){return wrapPointer(obj.ptr,__class__)}Module["castObject"]=castObject;Module["NULL"]=wrapPointer(0);function destroy(obj){if(!obj["__destroy__"])throw"Error: Cannot destroy object. (Did you create it yourself?)";obj["__destroy__"]();delete getCache(obj.__class__)[obj.ptr]}Module["destroy"]=destroy;function compare(obj1,obj2){return obj1.ptr===obj2.ptr}Module["compare"]=compare;function getPointer(obj){return obj.ptr}Module["getPointer"]=getPointer;function getClass(obj){return obj.__class__}Module["getClass"]=getClass;var ensureCache={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:(function(){if(ensureCache.needed){for(var i=0;i=ensureCache.size){assert(len>0);ensureCache.needed+=len;ret=Module["_malloc"](len);ensureCache.temps.push(ret)}else{ret=ensureCache.buffer+ensureCache.pos;ensureCache.pos+=len}return ret}),copy:(function(array,view,offset){var offsetShifted=offset;var bytes=view.BYTES_PER_ELEMENT;switch(bytes){case 2:offsetShifted>>=1;break;case 4:offsetShifted>>=2;break;case 8:offsetShifted>>=3;break}for(var i=0;i