draco/javascript/draco_encoder.js
Ondrej Stava c75a03b051 Updated snapshot to 1.3.3
* Added ExpertEncoder to the Javascript API
  * Allows developers to set quantization options per attribute id
* Bug fixes
2018-06-15 15:59:50 -07:00

33 lines
943 KiB
JavaScript

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]<=3)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<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){if(!func)return;assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){if(sig.length===1){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func)}}else if(sig.length===2){sigCache[func]=function dynCall_wrapper(arg){return Runtime.dynCall(sig,func,[arg])}}else{sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,Array.prototype.slice.call(arguments))}}}return sigCache[func]}),getCompilerSetting:(function(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+size|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){var ret=HEAP32[DYNAMICTOP_PTR>>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<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=Runtime.stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0){Runtime.stackRestore(stack)}return ret}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>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<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[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<size){var curr=slab[i];if(typeof curr==="function"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+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<str.length;++i){var u=str.charCodeAt(i);if(u>=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<str.length;++i){var u=str.charCodeAt(i);if(u>=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<HEAP32[DYNAMICTOP_PTR>>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_MEMORY<TOTAL_STACK)Module.printErr("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+TOTAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")");if(Module["buffer"]){buffer=Module["buffer"]}else{{buffer=new ArrayBuffer(TOTAL_MEMORY)}}updateGlobalBufferViews();function getTotalMemory(){return TOTAL_MEMORY}HEAP32[0]=1668509029;HEAP16[1]=25459;if(HEAPU8[2]!==115||HEAPU8[3]!==99)throw"Runtime error: expected the system to be little-endian!";Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){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<str.length;++i){HEAP8[buffer++>>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+20112;__ATINIT__.push();memoryInitializer="data:application/octet-stream;base64,lBwAAAQdAAC8HAAAUh0AACAAAAAAAAAAlBwAAHkdAAC8HAAAlh0AACAAAAAAAAAAlBwAAL8dAAC8HAAA2x0AADgAAAAAAAAAlBwAAP0dAAC8HAAAIh4AADgAAAAAAAAAvBwAANoqAABQAAAAAAAAALwcAABSHgAAiAAAAAAAAAC8HAAAqx4AAJgAAAAAAAAAvBwAAP8eAACoAAAAAAAAALwcAAAzHwAAuAAAAAAAAACUHAAAXh8AALwcAACCHwAA0AAAAAAAAACUHAAAICAAALwcAAC+IAAA6AAAAAAAAAC8HAAAViEAAIgAAAAAAAAAvBwAAN8hAADoAAAAAAAAALwcAAB5IgAA6AAAAAAAAAC8HAAACyMAAOgAAAAAAAAAvBwAALEjAADoAAAAAAAAALwcAABMJAAA6AAAAAAAAAC8HAAA4iQAAFgBAAAAAAAAlBwAAI0lAAC8HAAAOCYAAHABAAAAAAAAvBwAAN0mAACIAAAAAAAAALwcAABzJwAAcAEAAAAAAAC8HAAAGigAAHABAAAAAAAAvBwAALkoAABwAQAAAAAAALwcAABsKQAAcAEAAAAAAAC8HAAAFCoAAHABAAAAAAAAvBwAAMg4AABoAAAAAAAAALwcAAAGKwAA8AEAAAAAAAC8HAAAdysAAJgAAAAAAAAAvBwAAOMrAAAQAgAAAAAAAJQcAACZLAAAvBwAAE8tAAAoAgAAAAAAALwcAAD/LQAA8AEAAAAAAAC8HAAAoC4AACgCAAAAAAAAvBwAAFIvAAAoAgAAAAAAALwcAAD8LwAAKAIAAAAAAAC8HAAAujAAACgCAAAAAAAAvBwAAG0xAAAoAgAAAAAAALwcAAAbMgAAmAIAAAAAAACUHAAA3jIAALwcAAChMwAAsAIAAAAAAAC8HAAAXjQAAPABAAAAAAAAvBwAAAw1AACwAgAAAAAAALwcAADLNQAAsAIAAAAAAAC8HAAAgjYAALACAAAAAAAAvBwAAE03AACwAgAAAAAAALwcAAANOAAAsAIAAAAAAAC8HAAA8zgAAGgAAAAAAAAAvBwAAGk5AAAIAAAAAAAAAJQcAAA2OQAAvBwAAHw5AAAwAwAAAAAAALwcAABTOgAAyAMAAAAAAAC8HAAAVT0AALADAAAAAAAAlBwAAHQ6AAC8HAAAvDoAAIADAAAAAAAAlBwAAIY7AACUHAAAoDsAALwcAADbOwAAgAMAAAAAAAC8HAAAmDwAAIADAAAAAAAAlBwAAKE9AAC8HAAAzz0AALADAAAAAAAAvBwAAEA+AAD4AwAAAAAAALwcAACGPgAAyAMAAAAAAAC8HAAAbD4AAIADAAAAAAAAlBwAAKY+AAC8HAAAmz8AAPgDAAAAAAAAvBwAAL0/AAD4AwAAAAAAALwcAAAcQAAAMAQAAAAAAACUHAAAbkAAAJQcAACdSgAAvBwAAP1KAABQBAAAAAAAALwcAACqSgAAYAQAAAAAAACUHAAAy0oAALwcAADYSgAAQAQAAAAAAAC8HAAA30sAADgEAAAAAAAAvBwAAO9LAAB4BAAAAAAAALwcAAAkTAAAUAQAAAAAAAC8HAAAAEwAAJgEAAAAAAAAAAAAAAgAAAABAAAAAgAAAAAAAAAQAAAAAwAAAAQAAAABAAAAAQAAAAEAAAAAAAAAKAAAAAUAAAAGAAAAAgAAAAIAAAACAAAA//////////8AAAAAOAAAAAcAAAAIAAAAAQAAAAMAAAABAAAABAAAAAUAAAACAAAABgAAAAcAAAADAAAAAQAAAAgAAAAAAAAAQAAAAAkAAAAKAAAAAQAAAAMAAAAEAAAABAAAAAUAAAACAAAABgAAAAcAAAAFAAAACQAAAAoAAAAAAAAAUAAAAAsAAAAMAAAAAwAAAAsAAAAMAAAABAAAAA0AAAAGAAAABwAAAA4AAAAPAAAABQAAAAAAAABYAAAADQAAAA4AAAAGAAAAEAAAAAgAAAARAAAAEgAAAAcAAAATAAAAFAAAAAkAAAAVAAAAFgAAAAoAAAABAAAAAAAAAGgAAAAPAAAAEAAAAAgAAAALAAAAFwAAAAQAAAANAAAABgAAAAsAAAAOAAAADwAAAAkAAAACAAAACgAAAP////8AAAAAiAAAABEAAAASAAAAAQAAAAwAAAABAAAADQAAABgAAAAZAAAADgAAAA8AAAAaAAAAAQAAAAAAAAB4AAAAEQAAABMAAAAQAAAADAAAABEAAAANAAAAGAAAABkAAAAOAAAADwAAABoAAAABAAAAAAAAADgBAAARAAAAFAAAABIAAAAMAAAAEwAAAA0AAAAYAAAAGQAAAA4AAAAPAAAAGgAAAAIAAAAAAAAAKAEAABEAAAAVAAAAFAAAAAwAAAAVAAAADQAAABgAAAAZAAAADgAAAA8AAAAaAAAAAwAAAAAAAAAIAQAAFgAAABcAAAAWAAAADAAAABcAAAAYAAAAGwAAABwAAAAOAAAADwAAAB0AAAAEAAAAAAAAAPgAAAAYAAAAGQAAABkAAAAMAAAAGgAAABsAAAAeAAAAHwAAAA4AAAAPAAAAIAAAAAUAAAAAAAAA2AAAABoAAAAbAAAAHAAAAAwAAAAdAAAAHgAAACEAAAAiAAAADgAAAA8AAAAjAAAABgAAAAAAAADAAAAAHAAAAB0AAAAkAAAAHwAAAAMAAAAAAAAA6AAAABEAAAAeAAAAAQAAAAwAAAABAAAADQAAABgAAAAZAAAADgAAAA8AAAAaAAAAAQAAAAAAAAAYAQAAHwAAACAAAAAgAAAADAAAACEAAAANAAAAGAAAABkAAAAOAAAADwAAACUAAAAHAAAAAAAAAMABAAARAAAAIQAAACIAAAAMAAAAIwAAAA0AAAAYAAAAGQAAAA4AAAAPAAAAGgAAAAgAAAAAAAAAsAEAABEAAAAiAAAAJAAAAAwAAAAlAAAADQAAABgAAAAZAAAADgAAAA8AAAAaAAAACQAAAAAAAACQAQAAIwAAACQAAAAmAAAADAAAACcAAAAoAAAAJgAAACcAAAAOAAAADwAAACgAAAAKAAAAAAAAAIABAAAlAAAAJgAAACkAAAAMAAAAKgAAACsAAAApAAAAKgAAAA4AAAAPAAAAKwAAAAsAAAAAAAAAYAEAACcAAAAoAAAALAAAAAwAAAAtAAAALgAAACwAAAAtAAAADgAAAA8AAAAuAAAADAAAAAAAAABIAQAAKQAAACoAAAAvAAAALwAAAAQAAAAAAAAAcAEAABEAAAArAAAAAQAAAAwAAAABAAAADQAAABgAAAAZAAAADgAAAA8AAAAaAAAAAQAAAAAAAACgAQAALAAAAC0AAAAwAAAADAAAADEAAAANAAAAGAAAABkAAAAOAAAADwAAADAAAAANAAAAAAAAANABAAAuAAAALwAAAAsAAAALAAAAFwAAAAQAAAAxAAAAMgAAADMAAAAOAAAADwAAAAkAAAAFAAAADAAAAAAAAADgAQAAMAAAADEAAAA0AAAANQAAADYAAAA3AAAAMgAAADMAAAA4AAAAOQAAADQAAAAOAAAAAAAAAHgCAAAwAAAAMgAAADoAAAA1AAAAOwAAADcAAAAyAAAAMwAAADgAAAA5AAAANAAAAA8AAAAAAAAAaAIAADAAAAAzAAAAPAAAADUAAAA9AAAANwAAADIAAAAzAAAAOAAAADkAAAA0AAAAEAAAAAAAAABYAgAANAAAADUAAAA+AAAANQAAAD8AAAA3AAAAMgAAADMAAAA4AAAAOQAAADUAAAARAAAAAAAAAEgCAAA2AAAANwAAAEAAAAA1AAAAQQAAAEIAAAA2AAAANwAAADgAAAA5AAAAOAAAABIAAAAAAAAAOAIAADgAAAA5AAAAQwAAADUAAABEAAAARQAAADkAAAA6AAAAOAAAADkAAAA7AAAAEwAAAAAAAAAYAgAAOgAAADsAAABGAAAANQAAAEcAAABIAAAAPAAAAD0AAAA4AAAAOQAAAD4AAAAUAAAAAAAAAAACAAA8AAAAPQAAAD8AAABJAAAABgAAAAAAAAAAAwAAMAAAAD4AAABKAAAANQAAAEsAAAA3AAAAMgAAADMAAAA4AAAAOQAAADQAAAAVAAAAAAAAAPACAAAwAAAAPwAAAEwAAAA1AAAATQAAADcAAAAyAAAAMwAAADgAAAA5AAAANAAAABYAAAAAAAAA4AIAAEAAAABBAAAATgAAADUAAABPAAAANwAAADIAAAAzAAAAOAAAADkAAABAAAAAFwAAAAAAAADQAgAAQgAAAEMAAABQAAAANQAAAFEAAABSAAAAQQAAAEIAAAA4AAAAOQAAAEMAAAAYAAAAAAAAAMACAABEAAAARQAAAFMAAAA1AAAAVAAAAFUAAABEAAAARQAAADgAAAA5AAAARgAAABkAAAAAAAAAoAIAAEYAAABHAAAAVgAAADUAAABXAAAAWAAAAEcAAABIAAAAOAAAADkAAABJAAAAGgAAAAAAAACIAgAASAAAAEkAAABKAAAAWQAAAAcAAAAAAAAAEAMAAEoAAABLAAAADQAAAAsAAAAXAAAABAAAAEsAAABaAAAAWwAAAA4AAAAPAAAACQAAAAIAAAAOAAAAAAAAACADAAABAAAATAAAAAEAAAACAAAAAAAAADADAABNAAAATgAAAAAAAAA4AwAATQAAAE8AAAAAAAAASAMAAFAAAABRAAAAXAAAAF0AAABeAAAAXwAAAGAAAABhAAAAYgAAAEwAAABNAAAAYwAAAFIAAABkAAAATgAAAE8AAABlAAAAUwAAAAAAAABYAwAAVAAAAFUAAABQAAAAUQAAAFIAAABTAAAAVAAAAGYAAABnAAAAVQAAAGgAAAABAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAABwAwAAVgAAAFcAAABWAAAAaQAAAAAAAABoAwAAWAAAAFkAAABaAAAA/////wAAAACQAwAAWwAAAFwAAABXAAAAagAAAAAAAACIAwAAXQAAAF4AAABfAAAAAAAAAKADAABgAAAAYQAAAFgAAABrAAAAAAAAALgDAABiAAAAYwAAAFkAAABaAAAAWwAAAFwAAABdAAAAbAAAAG0AAABeAAAAbgAAAAAAAAABAAAABQAAAAIAAAAFAAAAAwAAAAUAAAAEAAAAAAAAAMgDAABkAAAAZQAAAFwAAAABAAAAbwAAAF8AAABgAAAAYQAAAGIAAAABAAAAXwAAAGMAAAABAAAAcAAAAGAAAABhAAAAAQAAAAEAAAAAAAAA2AMAAGQAAABmAAAAXAAAAHEAAABvAAAAXwAAAGAAAABhAAAAYgAAAGIAAABfAAAAYwAAAGcAAABwAAAAYAAAAGEAAAByAAAAaAAAAAAAAADoAwAAaQAAAGoAAABjAAAAcwAAAAAAAAD4AwAAZAAAAGsAAAB0AAAAAQAAAG8AAABfAAAAdQAAAGEAAABiAAAAAQAAAF8AAABjAAAAAQAAAAAAAAAABAAAZAAAAGwAAAB0AAAAdgAAAG8AAABfAAAAdwAAAGEAAABiAAAAZAAAAF8AAABjAAAAbQAAAAAAAAAQBAAAZAAAAG4AAAB0AAAAeAAAAG8AAABfAAAAeQAAAGEAAABiAAAAZQAAAF8AAABjAAAAbwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAFZVVVUCAAAAAAAAAAIAAACamZmZAwAAAFZVVVUDAAAAJUmSJAMAAAAAAAAAAwAAAMhxHMcEAAAAmpmZmQQAAABGF110BAAAAFZVVVUEAAAAPLETOwQAAAAlSZIkBAAAABIREREEAAAAAAAAAAQAAADi4eHhBQAAAMhxHMcFAAAAy2sorwUAAACamZmZBQAAAIdhGIYFAAAARhdddAUAAACRhSxkBQAAAFZVVVUFAAAAexSuRwUAAAA8sRM7BQAAANtLaC8FAAAAJUmSJAUAAAASlnsaBQAAABIREREFAAAAhRBCCAUAAAAAAAAABQAAAAgffPAGAAAA4uHh4QYAAADVQR3UBgAAAMhxHMcGAAAATZHPugYAAADLayivBgAAAKVBGqQGAAAAmpmZmQYAAAD6GJyPBgAAAIdhGIYGAAAAGPQFfQYAAABGF110BgAAAG3BFmwGAAAAkYUsZAYAAAC6gphcBgAAAFZVVVUGAAAAcwpeTgYAAAB7FK5HBgAAAEJBQUEGAAAAPLETOwYAAACzzyE1BgAAANtLaC8GAAAAnxLkKQYAAAAlSZIkBgAAAN1HcB8GAAAAEpZ7GgYAAAD45bEVBgAAABIREREGAAAA/BSXDAYAAACFEEIIBgAAAAVBEAQGAAAAAAAAAAYAAAD5gR/4BwAAAAgffPAHAAAAwBoT6QcAAADi4eHhBwAAAGwH5toHAAAA1UEd1AcAAACRaIXNBwAAAMhxHMcHAAAAOXDgwAcAAABNkc+6BwAAAE8b6LQHAAAAy2sorwcAAAAH9o6pBwAAAKVBGqQHAAAAUunIngcAAACamZmZBwAAAM4Pi5QHAAAA+hicjwcAAAD3kMuKBwAAAIdhGIYHAAAAgoGBgQcAAAAY9AV9BwAAABjIpHgHAAAARhdddAcAAADBBS5wBwAAAG3BFmwHAAAAaYEWaAcAAACRhSxkBwAAAAYWWGAHAAAAuoKYXAcAAAAJI+1YBwAAAFZVVVUHAAAAr37QUQcAAABzCl5OBwAAAAZq/UoHAAAAexSuRwcAAABXhm9EBwAAAEJBQUEHAAAAz8siPgcAAAA8sRM7BwAAADmBEzgHAAAAs88hNQcAAACjND4yBwAAANtLaC8HAAAA2bSfLAcAAACfEuQpBwAAAIkLNScHAAAAJUmSJAcAAAATePshBwAAAN1HcB8HAAAA22rwHAcAAAASlnsaBwAAABmBERgHAAAA+OWxFQcAAAAUgVwTBwAAABIREREHAAAAv1bPDgcAAAD8FJcMBwAAAKcQaAoHAAAAhRBCCAcAAAAw3SQGBwAAAAVBEAQHAAAAEQgEAgcAAAAAAAAABwAAACDwB/wIAAAA+YEf+AgAAADlWUb0CAAAAAgffPAIAAAAMXvA7AgAAADAGhPpCAAAAJGsc+UIAAAA4uHh4QgAAABAbl3eCAAAAGwH5toIAAAATGV71wgAAADVQR3UCAAAAPdYy9AIAAAAkWiFzQgAAABWMEvKCAAAAMhxHMcIAAAAHfD4wwgAAAA5cODACAAAAJq40r0IAAAATZHPuggAAADew9a3CAAAAE8b6LQIAAAAB2QDsggAAADLayivCAAAAK0BV6wIAAAAB/aOqQgAAABuGtCmCAAAAKVBGqQIAAAAmD9toQgAAABS6cieCAAAAO8ULZwIAAAAmpmZmQgAAACBTw6XCAAAAM4Pi5QIAAAAnrQPkggAAAD6GJyPCAAAANQYMI0IAAAA95DLiggAAAALX26ICAAAAIdhGIYIAAAArHfJgwgAAACCgYGBCAAAANFfQH8IAAAAGPQFfQgAAACPINJ6CAAAABjIpHgIAAAARM59dggAAABGF110CAAAAPWHQnIIAAAAwQUucAgAAAC1dh9uCAAAAG3BFmwIAAAAFs0TaggAAABpgRZoCAAAAKbGHmYIAAAAkYUsZAgAAABxpz9iCAAAAAYWWGAIAAAAjrt1XggAAAC6gphcCAAAALFWwFoIAAAACSPtWAgAAADG0x5XCAAAAFZVVVUIAAAAkJSQUwgAAACvftBRCAAAAFEBFVAIAAAAcwpeTggAAABziKtMCAAAAAZq/UoIAAAAPJ5TSQgAAAB7FK5HCAAAAIC8DEYIAAAAV4ZvRAgAAABeYtZCCAAAAEJBQUEIAAAA/BOwPwgAAADPyyI+CAAAAEhamTwIAAAAPLETOwgAAADCwpE5CAAAADmBEzgIAAAAPt+YNggAAACzzyE1CAAAALZFrjMIAAAAozQ+MggAAAAUkNEwCAAAANtLaC8IAAAABVwCLggAAADZtJ8sCAAAANFKQCsIAAAAnxLkKQgAAAApAYsoCAAAAIkLNScIAAAACSfiJQgAAAAlSZIkCAAAAIpnRSMIAAAAE3j7IQgAAADHcLQgCAAAAN1HcB8IAAAAtPMuHggAAADbavAcCAAAAAWktBsIAAAAEpZ7GggAAAAJOEUZCAAAABmBERgIAAAAlWjgFggAAAD45bEVCAAAAOHwhRQIAAAAFIFcEwgAAAB2jjUSCAAAABIREREIAAAAEAHvDwgAAAC/Vs8OCAAAAIkKsg0IAAAA/BSXDAgAAADDbn4LCAAAAKcQaAoIAAAAkfNTCQgAAACFEEIICAAAAKVgMgcIAAAAMN0kBggAAAB+fxkFCAAAAAVBEAQIAAAAUhsJAwgAAAARCAQCCAAAAAIBAQEIAAAA/////wAAAAAgBAAAcAAAAHEAAAAIAAAAAwAAAHoAAAByAAAACQAAAP////8AAAAAMAQAAHMAAAB0AAAACgAAAAQAAAB6AAAAcgAAAAsAAAD/////8BgAAAUAAAAAAAAAAAAAAHsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAQAAAAjE4AAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGBOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAABkAAAA6AMAABAnAACghgEAQEIPAICWmAAA4fUFX3CJAP8JLw8AAAAAAgAAAAMAAAAFAAAABwAAAAsAAAANAAAAEQAAABMAAAAXAAAAHQAAAB8AAAAlAAAAKQAAACsAAAAvAAAANQAAADsAAAA9AAAAQwAAAEcAAABJAAAATwAAAFMAAABZAAAAYQAAAGUAAABnAAAAawAAAG0AAABxAAAAfwAAAIMAAACJAAAAiwAAAJUAAACXAAAAnQAAAKMAAACnAAAArQAAALMAAAC1AAAAvwAAAMEAAADFAAAAxwAAANMAAAABAAAACwAAAA0AAAARAAAAEwAAABcAAAAdAAAAHwAAACUAAAApAAAAKwAAAC8AAAA1AAAAOwAAAD0AAABDAAAARwAAAEkAAABPAAAAUwAAAFkAAABhAAAAZQAAAGcAAABrAAAAbQAAAHEAAAB5AAAAfwAAAIMAAACJAAAAiwAAAI8AAACVAAAAlwAAAJ0AAACjAAAApwAAAKkAAACtAAAAswAAALUAAAC7AAAAvwAAAMEAAADFAAAAxwAAANEAAAACAAAAlEoAAAAAAABABAAAdQAAAHYAAAB3AAAAeAAAABIAAAABAAAAAQAAAAMAAAAAAAAAaAQAAHUAAAB5AAAAdwAAAHgAAAASAAAAAgAAAAIAAAAEAAAAAAAAAHgEAAB6AAAAewAAAHwAAAAAAAAAiAQAAHoAAAB8AAAAfAAAAE41ZHJhY28xMUVuY29kZXJCYXNlSU5TXzE4RW5jb2Rlck9wdGlvbnNCYXNlSU5TXzE3R2VvbWV0cnlBdHRyaWJ1dGU0VHlwZUVFRUVFAE41ZHJhY28yOEF0dHJpYnV0ZU9jdGFoZWRyb25UcmFuc2Zvcm1FAE41ZHJhY28xOEF0dHJpYnV0ZVRyYW5zZm9ybUUATjVkcmFjbzMwQXR0cmlidXRlUXVhbnRpemF0aW9uVHJhbnNmb3JtRQBONWRyYWNvMTdBdHRyaWJ1dGVzRW5jb2RlckUATjVkcmFjbzIzS2RUcmVlQXR0cmlidXRlc0VuY29kZXJFAE41ZHJhY28yNlNlcXVlbnRpYWxBdHRyaWJ1dGVFbmNvZGVyRQBONWRyYWNvMzdTZXF1ZW50aWFsQXR0cmlidXRlRW5jb2RlcnNDb250cm9sbGVyRQBONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFFbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRUVFAE41ZHJhY28yM1ByZWRpY3Rpb25TY2hlbWVFbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRUVFAE41ZHJhY28zN1ByZWRpY3Rpb25TY2hlbWVUeXBlZEVuY29kZXJJbnRlcmZhY2VJaWlFRQBONWRyYWNvMzJQcmVkaWN0aW9uU2NoZW1lRW5jb2RlckludGVyZmFjZUUATjVkcmFjbzI1UHJlZGljdGlvblNjaGVtZUludGVyZmFjZUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVFbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDRNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc1BvcnRhYmxlRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzM2TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNFbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNTZNZXNoUHJlZGljdGlvblNjaGVtZUNvbnN0cmFpbmVkTXVsdGlQYXJhbGxlbG9ncmFtRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ1TWVzaFByZWRpY3Rpb25TY2hlbWVNdWx0aVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDBNZXNoUHJlZGljdGlvblNjaGVtZVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbEVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDRNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc1BvcnRhYmxlRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28zNk1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY281Nk1lc2hQcmVkaWN0aW9uU2NoZW1lQ29uc3RyYWluZWRNdWx0aVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ1TWVzaFByZWRpY3Rpb25TY2hlbWVNdWx0aVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQwTWVzaFByZWRpY3Rpb25TY2hlbWVQYXJhbGxlbG9ncmFtRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAHVzZV9idWlsdF9pbl9hdHRyaWJ1dGVfY29tcHJlc3Npb24ATjVkcmFjbzMzU2VxdWVudGlhbEludGVnZXJBdHRyaWJ1dGVFbmNvZGVyRQBONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFFbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRUVFAE41ZHJhY28yM1ByZWRpY3Rpb25TY2hlbWVFbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbEVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ0TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNQb3J0YWJsZUVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28zNk1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzU2TWVzaFByZWRpY3Rpb25TY2hlbWVDb25zdHJhaW5lZE11bHRpUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280NU1lc2hQcmVkaWN0aW9uU2NoZW1lTXVsdGlQYXJhbGxlbG9ncmFtRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQwTWVzaFByZWRpY3Rpb25TY2hlbWVQYXJhbGxlbG9ncmFtRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQyTWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxFbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVFbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ0TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNQb3J0YWJsZUVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMzZNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc0VuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNTZNZXNoUHJlZGljdGlvblNjaGVtZUNvbnN0cmFpbmVkTXVsdGlQYXJhbGxlbG9ncmFtRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280NU1lc2hQcmVkaWN0aW9uU2NoZW1lTXVsdGlQYXJhbGxlbG9ncmFtRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280ME1lc2hQcmVkaWN0aW9uU2NoZW1lUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMzJTZXF1ZW50aWFsTm9ybWFsQXR0cmlidXRlRW5jb2RlckUATjVkcmFjbzM4U2VxdWVudGlhbFF1YW50aXphdGlvbkF0dHJpYnV0ZUVuY29kZXJFAHByZWRpY3Rpb25fc2NoZW1lAE41ZHJhY28xMUVuY29kZXJCYXNlSU5TXzE4RW5jb2Rlck9wdGlvbnNCYXNlSWlFRUVFAE41ZHJhY283RW5jb2RlckUAIABONWRyYWNvMTNFeHBlcnRFbmNvZGVyRQBlbmNvZGluZ19tZXRob2QAcXVhbnRpemF0aW9uX2JpdHMASW52YWxpZCBlbmNvZGluZyBtZXRob2QuAGVuY29kaW5nX3NwZWVkAGRlY29kaW5nX3NwZWVkAHF1YW50aXphdGlvbl9vcmlnaW4AcXVhbnRpemF0aW9uX3JhbmdlAHN0YW5kYXJkX2VkZ2VicmVha2VyAHByZWRpY3RpdmVfZWRnZWJyZWFrZXIAZWRnZWJyZWFrZXJfbWV0aG9kAE41ZHJhY28yMk1lc2hFZGdlQnJlYWtlckVuY29kZXJFAE41ZHJhY28yOUNvcm5lclRhYmxlVHJhdmVyc2FsUHJvY2Vzc29ySU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFAE41ZHJhY28yMk1lc2hUcmF2ZXJzYWxTZXF1ZW5jZXJJTlNfMjBFZGdlQnJlYWtlclRyYXZlcnNlcklOU18yOUNvcm5lclRhYmxlVHJhdmVyc2FsUHJvY2Vzc29ySU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzNfRUVOU18xOUVkZ2VCcmVha2VyT2JzZXJ2ZXJFRUVFRQBONWRyYWNvMTVQb2ludHNTZXF1ZW5jZXJFAE41ZHJhY28yOUNvcm5lclRhYmxlVHJhdmVyc2FsUHJvY2Vzc29ySU5TXzExQ29ybmVyVGFibGVFRUUATjVkcmFjbzIyTWVzaFRyYXZlcnNhbFNlcXVlbmNlcklOU18yMEVkZ2VCcmVha2VyVHJhdmVyc2VySU5TXzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMTFDb3JuZXJUYWJsZUVFRU5TXzM2TWVzaEF0dHJpYnV0ZUluZGljZXNFbmNvZGluZ09ic2VydmVySVMzX0VFTlNfMTlFZGdlQnJlYWtlck9ic2VydmVyRUVFRUUATjVkcmFjbzIyTWVzaFRyYXZlcnNhbFNlcXVlbmNlcklOU18yNVByZWRpY3Rpb25EZWdyZWVUcmF2ZXJzZXJJTlNfMjlDb3JuZXJUYWJsZVRyYXZlcnNhbFByb2Nlc3NvcklOU18xMUNvcm5lclRhYmxlRUVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzNfRUVFRUVFAHNwbGl0X21lc2hfb25fc2VhbXMATjVkcmFjbzI2TWVzaEVkZ2VCcmVha2VyRW5jb2RlckltcGxJTlNfMzFNZXNoRWRnZUJyZWFrZXJUcmF2ZXJzYWxFbmNvZGVyRUVFAE41ZHJhY28zNU1lc2hFZGdlQnJlYWtlckVuY29kZXJJbXBsSW50ZXJmYWNlRQBONWRyYWNvMjZNZXNoRWRnZUJyZWFrZXJFbmNvZGVySW1wbElOU18zOE1lc2hFZGdlQnJlYWtlclRyYXZlcnNhbFZhbGVuY2VFbmNvZGVyRUVFAHN0b3JlX251bWJlcl9vZl9lbmNvZGVkX2ZhY2VzAE41ZHJhY28xMU1lc2hFbmNvZGVyRQBjb21wcmVzc19jb25uZWN0aXZpdHkATjVkcmFjbzE1TGluZWFyU2VxdWVuY2VyRQBONWRyYWNvMjFNZXNoU2VxdWVudGlhbEVuY29kZXJFAE41ZHJhY28xN1BvaW50Q2xvdWRFbmNvZGVyRQBJbnZhbGlkIGlucHV0IGdlb21ldHJ5LgBGYWlsZWQgdG8gaW5pdGlhbGl6ZSBlbmNvZGVyLgBGYWlsZWQgdG8gZW5jb2RlIGludGVybmFsIGRhdGEuAEZhaWxlZCB0byBlbmNvZGUgZ2VvbWV0cnkgZGF0YS4ARmFpbGVkIHRvIGVuY29kZSBwb2ludCBhdHRyaWJ1dGVzLgBzdG9yZV9udW1iZXJfb2ZfZW5jb2RlZF9wb2ludHMARmFpbGVkIHRvIGVuY29kZSBtZXRhZGF0YS4ARFJBQ08ATjVkcmFjbzIzUG9pbnRDbG91ZEtkVHJlZUVuY29kZXJFAE41ZHJhY28yN1BvaW50Q2xvdWRTZXF1ZW50aWFsRW5jb2RlckUAc3ltYm9sX2VuY29kaW5nX21ldGhvZABzeW1ib2xfZW5jb2RpbmdfY29tcHJlc3Npb25fbGV2ZWwATjVkcmFjbzRNZXNoRQBhbGxvY2F0b3I8VD46OmFsbG9jYXRlKHNpemVfdCBuKSAnbicgZXhjZWVkcyBtYXhpbXVtIHN1cHBvcnRlZCBzaXplAE41ZHJhY28xMFBvaW50Q2xvdWRFABEACgAREREAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAEQAPChEREQMKBwABEwkLCwAACQYLAAALAAYRAAAAERERAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAABEACgoREREACgAAAgAJCwAAAAkACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAADQAAAAQNAAAAAAkOAAAAAAAOAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA8AAAAADwAAAAAJEAAAAAAAEAAAEAAAEgAAABISEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAEhISAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAACgAAAAAKAAAAAAkLAAAAAAALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAALSsgICAwWDB4AChudWxsKQAtMFgrMFggMFgtMHgrMHggMHgAaW5mAElORgBOQU4AMDEyMzQ1Njc4OUFCQ0RFRi4AVCEiGQ0BAgMRSxwMEAQLHRIeJ2hub3BxYiAFBg8TFBUaCBYHKCQXGAkKDhsfJSODgn0mKis8PT4/Q0dKTVhZWltcXV5fYGFjZGVmZ2lqa2xyc3R5ent8AElsbGVnYWwgYnl0ZSBzZXF1ZW5jZQBEb21haW4gZXJyb3IAUmVzdWx0IG5vdCByZXByZXNlbnRhYmxlAE5vdCBhIHR0eQBQZXJtaXNzaW9uIGRlbmllZABPcGVyYXRpb24gbm90IHBlcm1pdHRlZABObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5AE5vIHN1Y2ggcHJvY2VzcwBGaWxlIGV4aXN0cwBWYWx1ZSB0b28gbGFyZ2UgZm9yIGRhdGEgdHlwZQBObyBzcGFjZSBsZWZ0IG9uIGRldmljZQBPdXQgb2YgbWVtb3J5AFJlc291cmNlIGJ1c3kASW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwAUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBvcnRlZABQcm90b2NvbCBmYW1pbHkgbm90IHN1cHBvcnRlZABBZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sAEFkZHJlc3Mgbm90IGF2YWlsYWJsZQBOZXR3b3JrIGlzIGRvd24ATmV0d29yayB1bnJlYWNoYWJsZQBDb25uZWN0aW9uIHJlc2V0IGJ5IG5ldHdvcmsAQ29ubmVjdGlvbiBhYm9ydGVkAE5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUAU29ja2V0IGlzIGNvbm5lY3RlZABTb2NrZXQgbm90IGNvbm5lY3RlZABDYW5ub3Qgc2VuZCBhZnRlciBzb2NrZXQgc2h1dGRvd24AT3BlcmF0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MAT3BlcmF0aW9uIGluIHByb2dyZXNzAFN0YWxlIGZpbGUgaGFuZGxlAFJlbW90ZSBJL08gZXJyb3IAUXVvdGEgZXhjZWVkZWQATm8gbWVkaXVtIGZvdW5kAFdyb25nIG1lZGl1bSB0eXBlAE5vIGVycm9yIGluZm9ybWF0aW9uAABpbmZpbml0eQBuYW4AJWQAJWYAdGVybWluYXRpbmcgd2l0aCAlcyBleGNlcHRpb24gb2YgdHlwZSAlczogJXMAdGVybWluYXRpbmcgd2l0aCAlcyBleGNlcHRpb24gb2YgdHlwZSAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGZvcmVpZ24gZXhjZXB0aW9uAHRlcm1pbmF0aW5nAHVuY2F1Z2h0AFN0OWV4Y2VwdGlvbgBOMTBfX2N4eGFiaXYxMTZfX3NoaW1fdHlwZV9pbmZvRQBTdDl0eXBlX2luZm8ATjEwX19jeHhhYml2MTIwX19zaV9jbGFzc190eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fY2xhc3NfdHlwZV9pbmZvRQBwdGhyZWFkX29uY2UgZmFpbHVyZSBpbiBfX2N4YV9nZXRfZ2xvYmFsc19mYXN0KCkAY2Fubm90IGNyZWF0ZSBwdGhyZWFkIGtleSBmb3IgX19jeGFfZ2V0X2dsb2JhbHMoKQBjYW5ub3QgemVybyBvdXQgdGhyZWFkIHZhbHVlIGZvciBfX2N4YV9nZXRfZ2xvYmFscygpAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZABTdDExbG9naWNfZXJyb3IAU3QxMmxlbmd0aF9lcnJvcgBOMTBfX2N4eGFiaXYxMTlfX3BvaW50ZXJfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0U=";var tempDoublePtr=STATICTOP;STATICTOP+=16;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<typeArray.length;i++){if(typeArray[i]&&Module["___cxa_can_catch"](typeArray[i],throwntype,thrown)){thrown=HEAP32[thrown>>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<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j<len;j++){___syscall146.printChar(stream,HEAPU8[ptr+j])}ret+=len}return ret}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _abort(){Module["abort"]()}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}var PTHREAD_SPECIFIC={};function _pthread_getspecific(key){return PTHREAD_SPECIFIC[key]||0}var PTHREAD_SPECIFIC_NEXT_KEY=1;var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _pthread_key_create(key,destructor){if(key==0){return ERRNO_CODES.EINVAL}HEAP32[key>>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;i<array.length;i++){var chr=array[i];if(chr>255){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(i<input.length);return output});function intArrayFromBase64(s){if(typeof ENVIRONMENT_IS_NODE==="boolean"&&ENVIRONMENT_IS_NODE){var buf;try{buf=Buffer.from(s,"base64")}catch(_){buf=new Buffer(s,"base64")}return new Uint8Array(buf.buffer,buf.byteOffset,buf.byteLength)}try{var decoded=decodeBase64(s);var bytes=new Uint8Array(decoded.length);for(var i=0;i<decoded.length;++i){bytes[i]=decoded.charCodeAt(i)}return bytes}catch(_){throw new Error("Converting base64 string to bytes failed.")}}function tryParseAsDataURI(filename){var dataURIPrefix="data:application/octet-stream;base64,";if(!(String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0)){return}return intArrayFromBase64(filename.slice(dataURIPrefix.length))}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viii(index,a1,a2,a3){try{Module["dynCall_viii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiii(index,a1,a2,a3,a4){try{Module["dynCall_viiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity,"byteLength":byteLength};Module.asmLibraryArg={"abort":abort,"assert":assert,"enlargeMemory":enlargeMemory,"getTotalMemory":getTotalMemory,"abortOnCannotGrowMemory":abortOnCannotGrowMemory,"invoke_ii":invoke_ii,"invoke_iii":invoke_iii,"invoke_iiii":invoke_iiii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_v":invoke_v,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_viii":invoke_viii,"invoke_viiii":invoke_viiii,"invoke_viiiii":invoke_viiiii,"invoke_viiiiii":invoke_viiiiii,"__ZSt18uncaught_exceptionv":__ZSt18uncaught_exceptionv,"___cxa_allocate_exception":___cxa_allocate_exception,"___cxa_begin_catch":___cxa_begin_catch,"___cxa_find_matching_catch":___cxa_find_matching_catch,"___cxa_pure_virtual":___cxa_pure_virtual,"___cxa_throw":___cxa_throw,"___gxx_personality_v0":___gxx_personality_v0,"___resumeException":___resumeException,"___setErrNo":___setErrNo,"___syscall140":___syscall140,"___syscall146":___syscall146,"___syscall6":___syscall6,"_abort":_abort,"_emscripten_memcpy_big":_emscripten_memcpy_big,"_pthread_getspecific":_pthread_getspecific,"_pthread_key_create":_pthread_key_create,"_pthread_once":_pthread_once,"_pthread_setspecific":_pthread_setspecific,"DYNAMICTOP_PTR":DYNAMICTOP_PTR,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM
var asm=(/** @suppress {uselessCode} */ function(global,env,buffer) {
"almost asm";var a=global.Int8Array;var b=new a(buffer);var c=global.Int16Array;var d=new c(buffer);var e=global.Int32Array;var f=new e(buffer);var g=global.Uint8Array;var h=new g(buffer);var i=global.Uint16Array;var j=new i(buffer);var k=global.Uint32Array;var l=new k(buffer);var m=global.Float32Array;var n=new m(buffer);var o=global.Float64Array;var p=new o(buffer);var q=global.byteLength;var r=env.DYNAMICTOP_PTR|0;var s=env.tempDoublePtr|0;var t=env.ABORT|0;var u=env.STACKTOP|0;var v=env.STACK_MAX|0;var w=env.cttz_i8|0;var x=0;var y=0;var z=0;var A=0;var B=global.NaN,C=global.Infinity;var D=0,E=0,F=0,G=0,H=0.0;var I=0;var J=global.Math.floor;var K=global.Math.abs;var L=global.Math.sqrt;var M=global.Math.pow;var N=global.Math.cos;var O=global.Math.sin;var P=global.Math.tan;var Q=global.Math.acos;var R=global.Math.asin;var S=global.Math.atan;var T=global.Math.atan2;var U=global.Math.exp;var V=global.Math.log;var W=global.Math.ceil;var X=global.Math.imul;var Y=global.Math.min;var Z=global.Math.max;var _=global.Math.clz32;var $=global.Math.fround;var aa=env.abort;var ba=env.assert;var ca=env.enlargeMemory;var da=env.getTotalMemory;var ea=env.abortOnCannotGrowMemory;var fa=env.invoke_ii;var ga=env.invoke_iii;var ha=env.invoke_iiii;var ia=env.invoke_iiiiiii;var ja=env.invoke_v;var ka=env.invoke_vi;var la=env.invoke_vii;var ma=env.invoke_viii;var na=env.invoke_viiii;var oa=env.invoke_viiiii;var pa=env.invoke_viiiiii;var qa=env.__ZSt18uncaught_exceptionv;var ra=env.___cxa_allocate_exception;var sa=env.___cxa_begin_catch;var ta=env.___cxa_find_matching_catch;var ua=env.___cxa_pure_virtual;var va=env.___cxa_throw;var wa=env.___gxx_personality_v0;var xa=env.___resumeException;var ya=env.___setErrNo;var za=env.___syscall140;var Aa=env.___syscall146;var Ba=env.___syscall6;var Ca=env._abort;var Da=env._emscripten_memcpy_big;var Ea=env._pthread_getspecific;var Fa=env._pthread_key_create;var Ga=env._pthread_once;var Ha=env._pthread_setspecific;var Ia=$(0);const Ja=$(0);function Ka(newBuffer){if(q(newBuffer)&16777215||q(newBuffer)<=16777215||q(newBuffer)>2147483648)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 tc(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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!a)return;b=a+-8|0;c=f[4886]|0;d=f[a+-4>>2]|0;a=d&-8;e=b+a|0;do if(!(d&1)){g=f[b>>2]|0;if(!(d&3))return;h=b+(0-g)|0;i=g+a|0;if(h>>>0<c>>>0)return;if((h|0)==(f[4887]|0)){j=e+4|0;k=f[j>>2]|0;if((k&3|0)!=3){l=h;m=h;n=i;break}f[4884]=i;f[j>>2]=k&-2;f[h+4>>2]=i|1;f[h+i>>2]=i;return}k=g>>>3;if(g>>>0<256){g=f[h+8>>2]|0;j=f[h+12>>2]|0;if((j|0)==(g|0)){f[4882]=f[4882]&~(1<<k);l=h;m=h;n=i;break}else{f[g+12>>2]=j;f[j+8>>2]=g;l=h;m=h;n=i;break}}g=f[h+24>>2]|0;j=f[h+12>>2]|0;do if((j|0)==(h|0)){k=h+16|0;o=k+4|0;p=f[o>>2]|0;if(!p){q=f[k>>2]|0;if(!q){r=0;break}else{s=q;t=k}}else{s=p;t=o}while(1){o=s+20|0;p=f[o>>2]|0;if(p|0){s=p;t=o;continue}o=s+16|0;p=f[o>>2]|0;if(!p)break;else{s=p;t=o}}f[t>>2]=0;r=s}else{o=f[h+8>>2]|0;f[o+12>>2]=j;f[j+8>>2]=o;r=j}while(0);if(g){j=f[h+28>>2]|0;o=19832+(j<<2)|0;if((h|0)==(f[o>>2]|0)){f[o>>2]=r;if(!r){f[4883]=f[4883]&~(1<<j);l=h;m=h;n=i;break}}else{f[g+16+(((f[g+16>>2]|0)!=(h|0)&1)<<2)>>2]=r;if(!r){l=h;m=h;n=i;break}}f[r+24>>2]=g;j=h+16|0;o=f[j>>2]|0;if(o|0){f[r+16>>2]=o;f[o+24>>2]=r}o=f[j+4>>2]|0;if(o){f[r+20>>2]=o;f[o+24>>2]=r;l=h;m=h;n=i}else{l=h;m=h;n=i}}else{l=h;m=h;n=i}}else{l=b;m=b;n=a}while(0);if(l>>>0>=e>>>0)return;a=e+4|0;b=f[a>>2]|0;if(!(b&1))return;if(!(b&2)){r=f[4887]|0;if((e|0)==(f[4888]|0)){s=(f[4885]|0)+n|0;f[4885]=s;f[4888]=m;f[m+4>>2]=s|1;if((m|0)!=(r|0))return;f[4887]=0;f[4884]=0;return}if((e|0)==(r|0)){r=(f[4884]|0)+n|0;f[4884]=r;f[4887]=l;f[m+4>>2]=r|1;f[l+r>>2]=r;return}r=(b&-8)+n|0;s=b>>>3;do if(b>>>0<256){t=f[e+8>>2]|0;c=f[e+12>>2]|0;if((c|0)==(t|0)){f[4882]=f[4882]&~(1<<s);break}else{f[t+12>>2]=c;f[c+8>>2]=t;break}}else{t=f[e+24>>2]|0;c=f[e+12>>2]|0;do if((c|0)==(e|0)){d=e+16|0;o=d+4|0;j=f[o>>2]|0;if(!j){p=f[d>>2]|0;if(!p){u=0;break}else{v=p;w=d}}else{v=j;w=o}while(1){o=v+20|0;j=f[o>>2]|0;if(j|0){v=j;w=o;continue}o=v+16|0;j=f[o>>2]|0;if(!j)break;else{v=j;w=o}}f[w>>2]=0;u=v}else{o=f[e+8>>2]|0;f[o+12>>2]=c;f[c+8>>2]=o;u=c}while(0);if(t|0){c=f[e+28>>2]|0;i=19832+(c<<2)|0;if((e|0)==(f[i>>2]|0)){f[i>>2]=u;if(!u){f[4883]=f[4883]&~(1<<c);break}}else{f[t+16+(((f[t+16>>2]|0)!=(e|0)&1)<<2)>>2]=u;if(!u)break}f[u+24>>2]=t;c=e+16|0;i=f[c>>2]|0;if(i|0){f[u+16>>2]=i;f[i+24>>2]=u}i=f[c+4>>2]|0;if(i|0){f[u+20>>2]=i;f[i+24>>2]=u}}}while(0);f[m+4>>2]=r|1;f[l+r>>2]=r;if((m|0)==(f[4887]|0)){f[4884]=r;return}else x=r}else{f[a>>2]=b&-2;f[m+4>>2]=n|1;f[l+n>>2]=n;x=n}n=x>>>3;if(x>>>0<256){l=19568+(n<<1<<2)|0;b=f[4882]|0;a=1<<n;if(!(b&a)){f[4882]=b|a;y=l+8|0;z=l}else{a=l+8|0;y=a;z=f[a>>2]|0}f[y>>2]=m;f[z+12>>2]=m;f[m+8>>2]=z;f[m+12>>2]=l;return}l=x>>>8;if(l)if(x>>>0>16777215)A=31;else{z=(l+1048320|0)>>>16&8;y=l<<z;l=(y+520192|0)>>>16&4;a=y<<l;y=(a+245760|0)>>>16&2;b=14-(l|z|y)+(a<<y>>>15)|0;A=x>>>(b+7|0)&1|b<<1}else A=0;b=19832+(A<<2)|0;f[m+28>>2]=A;f[m+20>>2]=0;f[m+16>>2]=0;y=f[4883]|0;a=1<<A;do if(y&a){z=x<<((A|0)==31?0:25-(A>>>1)|0);l=f[b>>2]|0;while(1){if((f[l+4>>2]&-8|0)==(x|0)){B=73;break}C=l+16+(z>>>31<<2)|0;n=f[C>>2]|0;if(!n){B=72;break}else{z=z<<1;l=n}}if((B|0)==72){f[C>>2]=m;f[m+24>>2]=l;f[m+12>>2]=m;f[m+8>>2]=m;break}else if((B|0)==73){z=l+8|0;t=f[z>>2]|0;f[t+12>>2]=m;f[z>>2]=m;f[m+8>>2]=t;f[m+12>>2]=l;f[m+24>>2]=0;break}}else{f[4883]=y|a;f[b>>2]=m;f[m+24>>2]=b;f[m+12>>2]=m;f[m+8>>2]=m}while(0);m=(f[4890]|0)+-1|0;f[4890]=m;if(!m)D=19984;else return;while(1){m=f[D>>2]|0;if(!m)break;else D=m+8|0}f[4890]=-1;return}function uc(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,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;c=u;u=u+32|0;e=c+4|0;g=c;h=c+16|0;i=a+56|0;j=f[i>>2]|0;k=(f[j+100>>2]|0)-(f[j+96>>2]|0)|0;j=(k|0)/12|0;l=a+44|0;ai(j,f[l>>2]|0)|0;ai(f[(f[i>>2]|0)+80>>2]|0,f[l>>2]|0)|0;m=f[a+48>>2]|0;n=tn(32)|0;f[e>>2]=n;f[e+8>>2]=-2147483616;f[e+4>>2]=21;o=n;p=15958;q=o+21|0;do{b[o>>0]=b[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(q|0));b[n+21>>0]=0;n=Yj(m,e,0)|0;if((b[e+11>>0]|0)<0)pr(f[e>>2]|0);m=f[l>>2]|0;if(n){b[h>>0]=0;n=m+16|0;p=f[n+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[n>>2]|0)>>>0>0)){f[g>>2]=f[m+4>>2];f[e>>2]=f[g>>2];Fe(m,e,h,h+1|0)|0}jf(a)|0;u=c;return 1}b[h>>0]=1;a=m+16|0;n=f[a+4>>2]|0;if(!((n|0)>0|(n|0)==0&(f[a>>2]|0)>>>0>0)){f[g>>2]=f[m+4>>2];f[e>>2]=f[g>>2];Fe(m,e,h,h+1|0)|0}m=f[i>>2]|0;a=f[m+80>>2]|0;if(a>>>0<256){if(!k){u=c;return 1}n=h+1|0;p=h+1|0;o=h+1|0;q=m;r=0;while(1){s=f[q+96>>2]|0;t=f[l>>2]|0;b[h>>0]=f[s+(r*12|0)>>2];v=t+16|0;w=f[v>>2]|0;x=f[v+4>>2]|0;if((x|0)>0|(x|0)==0&w>>>0>0){y=x;z=w;A=t}else{f[g>>2]=f[t+4>>2];f[e>>2]=f[g>>2];Fe(t,e,h,o)|0;t=f[l>>2]|0;w=t+16|0;y=f[w+4>>2]|0;z=f[w>>2]|0;A=t}b[h>>0]=f[s+(r*12|0)+4>>2];if((y|0)>0|(y|0)==0&z>>>0>0){B=y;C=z;D=A}else{f[g>>2]=f[A+4>>2];f[e>>2]=f[g>>2];Fe(A,e,h,p)|0;t=f[l>>2]|0;w=t+16|0;B=f[w+4>>2]|0;C=f[w>>2]|0;D=t}b[h>>0]=f[s+(r*12|0)+8>>2];if(!((B|0)>0|(B|0)==0&C>>>0>0)){f[g>>2]=f[D+4>>2];f[e>>2]=f[g>>2];Fe(D,e,h,n)|0}s=r+1|0;if(s>>>0>=j>>>0)break;q=f[i>>2]|0;r=s}u=c;return 1}if(a>>>0<65536){if(!k){u=c;return 1}r=h+2|0;q=h+2|0;n=h+2|0;D=m;C=0;while(1){B=f[D+96>>2]|0;p=f[l>>2]|0;d[h>>1]=f[B+(C*12|0)>>2];A=p+16|0;z=f[A>>2]|0;y=f[A+4>>2]|0;if((y|0)>0|(y|0)==0&z>>>0>0){E=y;F=z;G=p}else{f[g>>2]=f[p+4>>2];f[e>>2]=f[g>>2];Fe(p,e,h,n)|0;p=f[l>>2]|0;z=p+16|0;E=f[z+4>>2]|0;F=f[z>>2]|0;G=p}d[h>>1]=f[B+(C*12|0)+4>>2];if((E|0)>0|(E|0)==0&F>>>0>0){H=E;I=F;J=G}else{f[g>>2]=f[G+4>>2];f[e>>2]=f[g>>2];Fe(G,e,h,q)|0;p=f[l>>2]|0;z=p+16|0;H=f[z+4>>2]|0;I=f[z>>2]|0;J=p}d[h>>1]=f[B+(C*12|0)+8>>2];if(!((H|0)>0|(H|0)==0&I>>>0>0)){f[g>>2]=f[J+4>>2];f[e>>2]=f[g>>2];Fe(J,e,h,r)|0}B=C+1|0;if(B>>>0>=j>>>0)break;D=f[i>>2]|0;C=B}u=c;return 1}C=(k|0)!=0;if(a>>>0<2097152){if(C){K=m;L=0}else{u=c;return 1}while(1){a=f[K+96>>2]|0;ai(f[a+(L*12|0)>>2]|0,f[l>>2]|0)|0;ai(f[a+(L*12|0)+4>>2]|0,f[l>>2]|0)|0;ai(f[a+(L*12|0)+8>>2]|0,f[l>>2]|0)|0;a=L+1|0;if(a>>>0>=j>>>0)break;K=f[i>>2]|0;L=a}u=c;return 1}if(!C){u=c;return 1}C=m;m=0;while(1){L=(f[C+96>>2]|0)+(m*12|0)|0;K=f[l>>2]|0;a=K+16|0;k=f[a+4>>2]|0;if(!((k|0)>0|(k|0)==0&(f[a>>2]|0)>>>0>0)){f[g>>2]=f[K+4>>2];f[e>>2]=f[g>>2];Fe(K,e,L,L+12|0)|0}L=m+1|0;if(L>>>0>=j>>>0)break;C=f[i>>2]|0;m=L}u=c;return 1}function vc(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,p=0,q=0,r=0,s=0,t=0,v=Ja,w=Ja,x=Ja,y=Ja,z=0,A=0,B=0,C=Ja,D=Ja,E=Ja,F=Ja,G=Ja,H=Ja,I=Ja,K=Ja,M=Ja,N=Ja,O=Ja,P=0,Q=Ja,R=Ja,S=0;g=u;u=u+48|0;h=g+40|0;i=g+36|0;j=g+24|0;k=g+12|0;l=g;m=a+28|0;o=f[c>>2]|0;c=o+1|0;if((o|0)!=-1){p=((c>>>0)%3|0|0)==0?o+-2|0:c;c=o+(((o>>>0)%3|0|0)==0?2:-1)|0;if((p|0)==-1)q=-1;else q=f[(f[f[m>>2]>>2]|0)+(p<<2)>>2]|0;if((c|0)==-1){r=q;s=-1}else{r=q;s=f[(f[f[m>>2]>>2]|0)+(c<<2)>>2]|0}}else{r=-1;s=-1}c=f[a+32>>2]|0;m=f[c>>2]|0;q=(f[c+4>>2]|0)-m>>2;if(q>>>0<=r>>>0)Cq(c);p=m;m=f[p+(r<<2)>>2]|0;if(q>>>0<=s>>>0)Cq(c);c=f[p+(s<<2)>>2]|0;s=(m|0)<(e|0);if(!(s&(c|0)<(e|0))){do if(s)t=m;else{if((e|0)>0){t=e+-1|0;break}p=a+52|0;if((f[p>>2]|0)<=0){u=g;return}q=f[a+48>>2]|0;r=0;do{f[q+(r<<2)>>2]=0;r=r+1|0}while((r|0)<(f[p>>2]|0));u=g;return}while(0);s=a+52|0;p=f[s>>2]|0;r=X(p,t)|0;if((p|0)<=0){u=g;return}p=f[a+48>>2]|0;t=0;do{f[p+(t<<2)>>2]=f[d+(t+r<<2)>>2];t=t+1|0}while((t|0)<(f[s>>2]|0));u=g;return}s=a+52|0;t=f[s>>2]|0;r=X(t,m)|0;v=$(f[d+(r<<2)>>2]|0);w=$(f[d+(r+1<<2)>>2]|0);r=X(t,c)|0;x=$(f[d+(r<<2)>>2]|0);y=$(f[d+(r+1<<2)>>2]|0);if(!(x!=v|y!=w)){r=f[a+48>>2]|0;f[r>>2]=~~x;f[r+4>>2]=~~y;u=g;return}r=a+44|0;t=f[(f[r>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;p=a+40|0;q=f[p>>2]|0;if(!(b[q+84>>0]|0))z=f[(f[q+68>>2]|0)+(t<<2)>>2]|0;else z=t;f[i>>2]=z;z=b[q+24>>0]|0;f[h>>2]=f[i>>2];gb(q,h,z,j)|0;z=f[(f[r>>2]|0)+(m<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;m=f[p>>2]|0;if(!(b[m+84>>0]|0))A=f[(f[m+68>>2]|0)+(z<<2)>>2]|0;else A=z;f[i>>2]=A;A=b[m+24>>0]|0;f[h>>2]=f[i>>2];gb(m,h,A,k)|0;A=f[(f[r>>2]|0)+(c<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;c=f[p>>2]|0;if(!(b[c+84>>0]|0))B=f[(f[c+68>>2]|0)+(A<<2)>>2]|0;else B=A;f[i>>2]=B;B=b[c+24>>0]|0;f[h>>2]=f[i>>2];gb(c,h,B,l)|0;C=$(n[l>>2]);D=$(n[k>>2]);E=$(C-D);C=$(n[l+4>>2]);F=$(n[k+4>>2]);G=$(C-F);C=$(n[l+8>>2]);H=$(n[k+8>>2]);I=$(C-H);C=$($(n[j>>2])-D);D=$($(n[j+4>>2])-F);F=$($(n[j+8>>2])-H);H=$($($($(E*E)+$(0.0))+$(G*G))+$(I*I));if(H>$(0.0)){K=$($($($($(E*C)+$(0.0))+$(G*D))+$(I*F))/H);M=$(C-$(E*K));E=$(D-$(G*K));G=$(F-$(I*K));N=K;O=$(L($($($(G*G)+$($(E*E)+$($(M*M)+$(0.0))))/H)))}else{N=$(0.0);O=$(0.0)}H=$(x-v);x=$(y-w);y=$(v+$(H*N));v=$(H*O);H=$(w+$(x*N));N=$(x*O);O=$(y-N);x=$(H+v);w=$(y+N);N=$(H-v);j=X(f[s>>2]|0,e)|0;v=$(f[d+(j<<2)>>2]|0);H=$(f[d+(j+1<<2)>>2]|0);y=$(v-O);M=$(H-x);E=$(v-w);v=$(H-N);j=$($($(y*y)+$(0.0))+$(M*M))<$($($(E*E)+$(0.0))+$(v*v));d=a+56|0;e=a+60|0;s=f[e>>2]|0;k=f[a+64>>2]|0;l=(s|0)==(k<<5|0);if(j){do if(l)if((s+1|0)<0)Cq(d);else{j=k<<6;B=s+32&-32;si(d,s>>>0<1073741823?(j>>>0<B>>>0?B:j):2147483647);P=f[e>>2]|0;break}else P=s;while(0);f[e>>2]=P+1;j=(f[d>>2]|0)+(P>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(P&31);Q=O;R=x}else{do if(l)if((s+1|0)<0)Cq(d);else{P=k<<6;j=s+32&-32;si(d,s>>>0<1073741823?(P>>>0<j>>>0?j:P):2147483647);S=f[e>>2]|0;break}else S=s;while(0);f[e>>2]=S+1;e=(f[d>>2]|0)+(S>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(S&31));Q=w;R=N}S=~~+J(+(+Q+.5));e=f[a+48>>2]|0;f[e>>2]=S;S=~~+J(+(+R+.5));f[e+4>>2]=S;u=g;return}function wc(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,p=0,q=0,r=0,s=0,t=Ja,v=Ja,w=Ja,x=Ja,y=0,z=0,A=0,B=Ja,C=Ja,D=Ja,E=Ja,F=Ja,G=Ja,H=Ja,I=Ja,K=Ja,M=Ja,N=Ja,O=0,P=Ja,Q=Ja,R=0;g=u;u=u+48|0;h=g+40|0;i=g+36|0;j=g+24|0;k=g+12|0;l=g;m=a+28|0;o=f[c>>2]|0;c=o+1|0;do if((o|0)!=-1){p=((c>>>0)%3|0|0)==0?o+-2|0:c;if(!((o>>>0)%3|0)){q=p;r=o+2|0;break}else{q=p;r=o+-1|0;break}}else{q=-1;r=-1}while(0);o=f[(f[m>>2]|0)+28>>2]|0;m=f[o+(q<<2)>>2]|0;q=f[o+(r<<2)>>2]|0;r=f[a+32>>2]|0;o=f[r>>2]|0;c=(f[r+4>>2]|0)-o>>2;if(c>>>0<=m>>>0)Cq(r);p=o;o=f[p+(m<<2)>>2]|0;if(c>>>0<=q>>>0)Cq(r);r=f[p+(q<<2)>>2]|0;q=(o|0)<(e|0);if(!(q&(r|0)<(e|0))){do if(q)s=o;else{if((e|0)>0){s=e+-1|0;break}p=a+52|0;if((f[p>>2]|0)<=0){u=g;return}c=f[a+48>>2]|0;m=0;do{f[c+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[p>>2]|0));u=g;return}while(0);q=a+52|0;p=f[q>>2]|0;m=X(p,s)|0;if((p|0)<=0){u=g;return}p=f[a+48>>2]|0;s=0;do{f[p+(s<<2)>>2]=f[d+(s+m<<2)>>2];s=s+1|0}while((s|0)<(f[q>>2]|0));u=g;return}q=a+52|0;s=f[q>>2]|0;m=X(s,o)|0;t=$(f[d+(m<<2)>>2]|0);v=$(f[d+(m+1<<2)>>2]|0);m=X(s,r)|0;w=$(f[d+(m<<2)>>2]|0);x=$(f[d+(m+1<<2)>>2]|0);if(!(w!=t|x!=v)){m=f[a+48>>2]|0;f[m>>2]=~~w;f[m+4>>2]=~~x;u=g;return}m=a+44|0;s=f[(f[m>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;p=a+40|0;c=f[p>>2]|0;if(!(b[c+84>>0]|0))y=f[(f[c+68>>2]|0)+(s<<2)>>2]|0;else y=s;f[i>>2]=y;y=b[c+24>>0]|0;f[h>>2]=f[i>>2];gb(c,h,y,j)|0;y=f[(f[m>>2]|0)+(o<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;o=f[p>>2]|0;if(!(b[o+84>>0]|0))z=f[(f[o+68>>2]|0)+(y<<2)>>2]|0;else z=y;f[i>>2]=z;z=b[o+24>>0]|0;f[h>>2]=f[i>>2];gb(o,h,z,k)|0;z=f[(f[m>>2]|0)+(r<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;r=f[p>>2]|0;if(!(b[r+84>>0]|0))A=f[(f[r+68>>2]|0)+(z<<2)>>2]|0;else A=z;f[i>>2]=A;A=b[r+24>>0]|0;f[h>>2]=f[i>>2];gb(r,h,A,l)|0;B=$(n[l>>2]);C=$(n[k>>2]);D=$(B-C);B=$(n[l+4>>2]);E=$(n[k+4>>2]);F=$(B-E);B=$(n[l+8>>2]);G=$(n[k+8>>2]);H=$(B-G);B=$($(n[j>>2])-C);C=$($(n[j+4>>2])-E);E=$($(n[j+8>>2])-G);G=$($($($(D*D)+$(0.0))+$(F*F))+$(H*H));if(G>$(0.0)){I=$($($($($(D*B)+$(0.0))+$(F*C))+$(H*E))/G);K=$(B-$(D*I));D=$(C-$(F*I));F=$(E-$(H*I));M=I;N=$(L($($($(F*F)+$($(D*D)+$($(K*K)+$(0.0))))/G)))}else{M=$(0.0);N=$(0.0)}G=$(w-t);w=$(x-v);x=$(t+$(G*M));t=$(G*N);G=$(v+$(w*M));M=$(w*N);N=$(x-M);w=$(G+t);v=$(x+M);M=$(G-t);j=X(f[q>>2]|0,e)|0;t=$(f[d+(j<<2)>>2]|0);G=$(f[d+(j+1<<2)>>2]|0);x=$(t-N);K=$(G-w);D=$(t-v);t=$(G-M);j=$($($(x*x)+$(0.0))+$(K*K))<$($($(D*D)+$(0.0))+$(t*t));d=a+56|0;e=a+60|0;q=f[e>>2]|0;k=f[a+64>>2]|0;l=(q|0)==(k<<5|0);if(j){do if(l)if((q+1|0)<0)Cq(d);else{j=k<<6;A=q+32&-32;si(d,q>>>0<1073741823?(j>>>0<A>>>0?A:j):2147483647);O=f[e>>2]|0;break}else O=q;while(0);f[e>>2]=O+1;j=(f[d>>2]|0)+(O>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(O&31);P=N;Q=w}else{do if(l)if((q+1|0)<0)Cq(d);else{O=k<<6;j=q+32&-32;si(d,q>>>0<1073741823?(O>>>0<j>>>0?j:O):2147483647);R=f[e>>2]|0;break}else R=q;while(0);f[e>>2]=R+1;e=(f[d>>2]|0)+(R>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(R&31));P=v;Q=M}R=~~+J(+(+P+.5));e=f[a+48>>2]|0;f[e>>2]=R;R=~~+J(+(+Q+.5));f[e+4>>2]=R;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=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=Ja,w=Ja,x=Ja,y=Ja,z=0,A=0,B=0,C=Ja,D=Ja,E=Ja,F=Ja,G=Ja,H=Ja,I=Ja,K=Ja,M=Ja,N=Ja,O=Ja,P=0,Q=Ja,R=Ja,S=0;g=u;u=u+48|0;h=g+40|0;i=g+36|0;j=g+24|0;k=g+12|0;l=g;m=a+48|0;o=f[c>>2]|0;c=o+1|0;if((o|0)!=-1){p=((c>>>0)%3|0|0)==0?o+-2|0:c;c=o+(((o>>>0)%3|0|0)==0?2:-1)|0;if((p|0)==-1)q=-1;else q=f[(f[f[m>>2]>>2]|0)+(p<<2)>>2]|0;if((c|0)==-1){r=q;s=-1}else{r=q;s=f[(f[f[m>>2]>>2]|0)+(c<<2)>>2]|0}}else{r=-1;s=-1}c=f[a+52>>2]|0;m=f[c>>2]|0;q=(f[c+4>>2]|0)-m>>2;if(q>>>0<=r>>>0)Cq(c);p=m;m=f[p+(r<<2)>>2]|0;if(q>>>0<=s>>>0)Cq(c);c=f[p+(s<<2)>>2]|0;s=(m|0)<(e|0);if(!(s&(c|0)<(e|0))){do if(s)t=m;else{if((e|0)>0){t=e+-1|0;break}p=a+72|0;if((f[p>>2]|0)<=0){u=g;return}q=f[a+68>>2]|0;r=0;do{f[q+(r<<2)>>2]=0;r=r+1|0}while((r|0)<(f[p>>2]|0));u=g;return}while(0);s=a+72|0;p=f[s>>2]|0;r=X(p,t)|0;if((p|0)<=0){u=g;return}p=f[a+68>>2]|0;t=0;do{f[p+(t<<2)>>2]=f[d+(t+r<<2)>>2];t=t+1|0}while((t|0)<(f[s>>2]|0));u=g;return}s=a+72|0;t=f[s>>2]|0;r=X(t,m)|0;v=$(f[d+(r<<2)>>2]|0);w=$(f[d+(r+1<<2)>>2]|0);r=X(t,c)|0;x=$(f[d+(r<<2)>>2]|0);y=$(f[d+(r+1<<2)>>2]|0);if(!(x!=v|y!=w)){r=f[a+68>>2]|0;f[r>>2]=~~x;f[r+4>>2]=~~y;u=g;return}r=a+64|0;t=f[(f[r>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;p=a+60|0;q=f[p>>2]|0;if(!(b[q+84>>0]|0))z=f[(f[q+68>>2]|0)+(t<<2)>>2]|0;else z=t;f[i>>2]=z;z=b[q+24>>0]|0;f[h>>2]=f[i>>2];gb(q,h,z,j)|0;z=f[(f[r>>2]|0)+(m<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;m=f[p>>2]|0;if(!(b[m+84>>0]|0))A=f[(f[m+68>>2]|0)+(z<<2)>>2]|0;else A=z;f[i>>2]=A;A=b[m+24>>0]|0;f[h>>2]=f[i>>2];gb(m,h,A,k)|0;A=f[(f[r>>2]|0)+(c<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;c=f[p>>2]|0;if(!(b[c+84>>0]|0))B=f[(f[c+68>>2]|0)+(A<<2)>>2]|0;else B=A;f[i>>2]=B;B=b[c+24>>0]|0;f[h>>2]=f[i>>2];gb(c,h,B,l)|0;C=$(n[l>>2]);D=$(n[k>>2]);E=$(C-D);C=$(n[l+4>>2]);F=$(n[k+4>>2]);G=$(C-F);C=$(n[l+8>>2]);H=$(n[k+8>>2]);I=$(C-H);C=$($(n[j>>2])-D);D=$($(n[j+4>>2])-F);F=$($(n[j+8>>2])-H);H=$($($($(E*E)+$(0.0))+$(G*G))+$(I*I));if(H>$(0.0)){K=$($($($($(E*C)+$(0.0))+$(G*D))+$(I*F))/H);M=$(C-$(E*K));E=$(D-$(G*K));G=$(F-$(I*K));N=K;O=$(L($($($(G*G)+$($(E*E)+$($(M*M)+$(0.0))))/H)))}else{N=$(0.0);O=$(0.0)}H=$(x-v);x=$(y-w);y=$(v+$(H*N));v=$(H*O);H=$(w+$(x*N));N=$(x*O);O=$(y-N);x=$(H+v);w=$(y+N);N=$(H-v);j=X(f[s>>2]|0,e)|0;v=$(f[d+(j<<2)>>2]|0);H=$(f[d+(j+1<<2)>>2]|0);y=$(v-O);M=$(H-x);E=$(v-w);v=$(H-N);j=$($($(y*y)+$(0.0))+$(M*M))<$($($(E*E)+$(0.0))+$(v*v));d=a+76|0;e=a+80|0;s=f[e>>2]|0;k=f[a+84>>2]|0;l=(s|0)==(k<<5|0);if(j){do if(l)if((s+1|0)<0)Cq(d);else{j=k<<6;B=s+32&-32;si(d,s>>>0<1073741823?(j>>>0<B>>>0?B:j):2147483647);P=f[e>>2]|0;break}else P=s;while(0);f[e>>2]=P+1;j=(f[d>>2]|0)+(P>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(P&31);Q=O;R=x}else{do if(l)if((s+1|0)<0)Cq(d);else{P=k<<6;j=s+32&-32;si(d,s>>>0<1073741823?(P>>>0<j>>>0?j:P):2147483647);S=f[e>>2]|0;break}else S=s;while(0);f[e>>2]=S+1;e=(f[d>>2]|0)+(S>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(S&31));Q=w;R=N}S=~~+J(+(+Q+.5));e=f[a+68>>2]|0;f[e>>2]=S;S=~~+J(+(+R+.5));f[e+4>>2]=S;u=g;return}function yc(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,p=0,q=0,r=0,s=0,t=Ja,v=Ja,w=Ja,x=Ja,y=0,z=0,A=0,B=Ja,C=Ja,D=Ja,E=Ja,F=Ja,G=Ja,H=Ja,I=Ja,K=Ja,M=Ja,N=Ja,O=0,P=Ja,Q=Ja,R=0;g=u;u=u+48|0;h=g+40|0;i=g+36|0;j=g+24|0;k=g+12|0;l=g;m=a+48|0;o=f[c>>2]|0;c=o+1|0;do if((o|0)!=-1){p=((c>>>0)%3|0|0)==0?o+-2|0:c;if(!((o>>>0)%3|0)){q=p;r=o+2|0;break}else{q=p;r=o+-1|0;break}}else{q=-1;r=-1}while(0);o=f[(f[m>>2]|0)+28>>2]|0;m=f[o+(q<<2)>>2]|0;q=f[o+(r<<2)>>2]|0;r=f[a+52>>2]|0;o=f[r>>2]|0;c=(f[r+4>>2]|0)-o>>2;if(c>>>0<=m>>>0)Cq(r);p=o;o=f[p+(m<<2)>>2]|0;if(c>>>0<=q>>>0)Cq(r);r=f[p+(q<<2)>>2]|0;q=(o|0)<(e|0);if(!(q&(r|0)<(e|0))){do if(q)s=o;else{if((e|0)>0){s=e+-1|0;break}p=a+72|0;if((f[p>>2]|0)<=0){u=g;return}c=f[a+68>>2]|0;m=0;do{f[c+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[p>>2]|0));u=g;return}while(0);q=a+72|0;p=f[q>>2]|0;m=X(p,s)|0;if((p|0)<=0){u=g;return}p=f[a+68>>2]|0;s=0;do{f[p+(s<<2)>>2]=f[d+(s+m<<2)>>2];s=s+1|0}while((s|0)<(f[q>>2]|0));u=g;return}q=a+72|0;s=f[q>>2]|0;m=X(s,o)|0;t=$(f[d+(m<<2)>>2]|0);v=$(f[d+(m+1<<2)>>2]|0);m=X(s,r)|0;w=$(f[d+(m<<2)>>2]|0);x=$(f[d+(m+1<<2)>>2]|0);if(!(w!=t|x!=v)){m=f[a+68>>2]|0;f[m>>2]=~~w;f[m+4>>2]=~~x;u=g;return}m=a+64|0;s=f[(f[m>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;p=a+60|0;c=f[p>>2]|0;if(!(b[c+84>>0]|0))y=f[(f[c+68>>2]|0)+(s<<2)>>2]|0;else y=s;f[i>>2]=y;y=b[c+24>>0]|0;f[h>>2]=f[i>>2];gb(c,h,y,j)|0;y=f[(f[m>>2]|0)+(o<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;o=f[p>>2]|0;if(!(b[o+84>>0]|0))z=f[(f[o+68>>2]|0)+(y<<2)>>2]|0;else z=y;f[i>>2]=z;z=b[o+24>>0]|0;f[h>>2]=f[i>>2];gb(o,h,z,k)|0;z=f[(f[m>>2]|0)+(r<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;r=f[p>>2]|0;if(!(b[r+84>>0]|0))A=f[(f[r+68>>2]|0)+(z<<2)>>2]|0;else A=z;f[i>>2]=A;A=b[r+24>>0]|0;f[h>>2]=f[i>>2];gb(r,h,A,l)|0;B=$(n[l>>2]);C=$(n[k>>2]);D=$(B-C);B=$(n[l+4>>2]);E=$(n[k+4>>2]);F=$(B-E);B=$(n[l+8>>2]);G=$(n[k+8>>2]);H=$(B-G);B=$($(n[j>>2])-C);C=$($(n[j+4>>2])-E);E=$($(n[j+8>>2])-G);G=$($($($(D*D)+$(0.0))+$(F*F))+$(H*H));if(G>$(0.0)){I=$($($($($(D*B)+$(0.0))+$(F*C))+$(H*E))/G);K=$(B-$(D*I));D=$(C-$(F*I));F=$(E-$(H*I));M=I;N=$(L($($($(F*F)+$($(D*D)+$($(K*K)+$(0.0))))/G)))}else{M=$(0.0);N=$(0.0)}G=$(w-t);w=$(x-v);x=$(t+$(G*M));t=$(G*N);G=$(v+$(w*M));M=$(w*N);N=$(x-M);w=$(G+t);v=$(x+M);M=$(G-t);j=X(f[q>>2]|0,e)|0;t=$(f[d+(j<<2)>>2]|0);G=$(f[d+(j+1<<2)>>2]|0);x=$(t-N);K=$(G-w);D=$(t-v);t=$(G-M);j=$($($(x*x)+$(0.0))+$(K*K))<$($($(D*D)+$(0.0))+$(t*t));d=a+76|0;e=a+80|0;q=f[e>>2]|0;k=f[a+84>>2]|0;l=(q|0)==(k<<5|0);if(j){do if(l)if((q+1|0)<0)Cq(d);else{j=k<<6;A=q+32&-32;si(d,q>>>0<1073741823?(j>>>0<A>>>0?A:j):2147483647);O=f[e>>2]|0;break}else O=q;while(0);f[e>>2]=O+1;j=(f[d>>2]|0)+(O>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(O&31);P=N;Q=w}else{do if(l)if((q+1|0)<0)Cq(d);else{O=k<<6;j=q+32&-32;si(d,q>>>0<1073741823?(O>>>0<j>>>0?j:O):2147483647);R=f[e>>2]|0;break}else R=q;while(0);f[e>>2]=R+1;e=(f[d>>2]|0)+(R>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(R&31));P=v;Q=M}R=~~+J(+(+P+.5));e=f[a+68>>2]|0;f[e>>2]=R;R=~~+J(+(+Q+.5));f[e+4>>2]=R;u=g;return}function zc(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,o=0,p=0,q=0,r=0,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=Ja,F=Ja,G=Ja,H=0,I=0,J=0,K=0;d=b[c+11>>0]|0;e=d<<24>>24<0;g=e?f[c>>2]|0:c;i=e?f[c+4>>2]|0:d&255;if(i>>>0>3){d=g;e=i;j=i;while(1){k=X(h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24,1540483477)|0;e=(X(k>>>24^k,1540483477)|0)^(X(e,1540483477)|0);j=j+-4|0;if(j>>>0<=3)break;else d=d+4|0}d=i+-4|0;j=d&-4;l=g+(j+4)|0;m=e;o=d-j|0}else{l=g;m=i;o=i}switch(o|0){case 3:{p=h[l+2>>0]<<16^m;q=6;break}case 2:{p=m;q=6;break}case 1:{r=m;q=7;break}default:s=m}if((q|0)==6){r=h[l+1>>0]<<8^p;q=7}if((q|0)==7)s=X(h[l>>0]^r,1540483477)|0;r=X(s>>>13^s,1540483477)|0;s=r>>>15^r;r=a+4|0;l=f[r>>2]|0;p=(l|0)==0;a:do if(!p){m=l+-1|0;o=(m&l|0)==0;if(!o)if(s>>>0<l>>>0)t=s;else t=(s>>>0)%(l>>>0)|0;else t=s&m;j=f[(f[a>>2]|0)+(t<<2)>>2]|0;if((j|0)!=0?(d=f[j>>2]|0,(d|0)!=0):0){j=(i|0)==0;if(o){if(j){o=d;while(1){e=f[o+4>>2]|0;if(!((e|0)==(s|0)|(e&m|0)==(t|0))){u=t;break a}e=b[o+8+11>>0]|0;if(!((e<<24>>24<0?f[o+12>>2]|0:e&255)|0)){v=o;break}o=f[o>>2]|0;if(!o){u=t;break a}}w=v+20|0;return w|0}else x=d;b:while(1){o=f[x+4>>2]|0;if(!((o|0)==(s|0)|(o&m|0)==(t|0))){u=t;break a}o=x+8|0;e=b[o+11>>0]|0;k=e<<24>>24<0;y=e&255;do if(((k?f[x+12>>2]|0:y)|0)==(i|0)){e=f[o>>2]|0;if(k)if(!(Yk(e,g,i)|0)){v=x;q=63;break b}else break;if((e&255)<<24>>24==(b[g>>0]|0)){e=y;z=o;A=g;do{e=e+-1|0;z=z+1|0;if(!e){v=x;q=63;break b}A=A+1|0}while((b[z>>0]|0)==(b[A>>0]|0))}}while(0);x=f[x>>2]|0;if(!x){u=t;break a}}if((q|0)==63){w=v+20|0;return w|0}}if(j){m=d;while(1){o=f[m+4>>2]|0;if((o|0)!=(s|0)){if(o>>>0<l>>>0)B=o;else B=(o>>>0)%(l>>>0)|0;if((B|0)!=(t|0)){u=t;break a}}o=b[m+8+11>>0]|0;if(!((o<<24>>24<0?f[m+12>>2]|0:o&255)|0)){v=m;break}m=f[m>>2]|0;if(!m){u=t;break a}}w=v+20|0;return w|0}else C=d;c:while(1){m=f[C+4>>2]|0;if((m|0)!=(s|0)){if(m>>>0<l>>>0)D=m;else D=(m>>>0)%(l>>>0)|0;if((D|0)!=(t|0)){u=t;break a}}m=C+8|0;j=b[m+11>>0]|0;o=j<<24>>24<0;y=j&255;do if(((o?f[C+12>>2]|0:y)|0)==(i|0)){j=f[m>>2]|0;if(o)if(!(Yk(j,g,i)|0)){v=C;q=63;break c}else break;if((j&255)<<24>>24==(b[g>>0]|0)){j=y;k=m;A=g;do{j=j+-1|0;k=k+1|0;if(!j){v=C;q=63;break c}A=A+1|0}while((b[k>>0]|0)==(b[A>>0]|0))}}while(0);C=f[C>>2]|0;if(!C){u=t;break a}}if((q|0)==63){w=v+20|0;return w|0}}else u=t}else u=0;while(0);t=tn(24)|0;nj(t+8|0,c);f[t+20>>2]=0;f[t+4>>2]=s;f[t>>2]=0;c=a+12|0;E=$(((f[c>>2]|0)+1|0)>>>0);F=$(l>>>0);G=$(n[a+16>>2]);do if(p|E>$(F*G)){C=(l>>>0<3|(l+-1&l|0)!=0)&1|l<<1;g=~~$(W($(E/G)))>>>0;ci(a,C>>>0<g>>>0?g:C);C=f[r>>2]|0;g=C+-1|0;if(!(g&C)){H=C;I=g&s;break}if(s>>>0<C>>>0){H=C;I=s}else{H=C;I=(s>>>0)%(C>>>0)|0}}else{H=l;I=u}while(0);u=(f[a>>2]|0)+(I<<2)|0;I=f[u>>2]|0;if(!I){l=a+8|0;f[t>>2]=f[l>>2];f[l>>2]=t;f[u>>2]=l;l=f[t>>2]|0;if(l|0){u=f[l+4>>2]|0;l=H+-1|0;if(l&H)if(u>>>0<H>>>0)J=u;else J=(u>>>0)%(H>>>0)|0;else J=u&l;K=(f[a>>2]|0)+(J<<2)|0;q=61}}else{f[t>>2]=f[I>>2];K=I;q=61}if((q|0)==61)f[K>>2]=t;f[c>>2]=(f[c>>2]|0)+1;v=t;w=v+20|0;return w|0}function Ac(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var 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.0,w=0,x=0.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.0,M=0,N=0.0,O=0.0,P=0,Q=0.0,R=0,S=0.0,T=0.0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0.0,$=0,aa=0,ba=0,ca=0.0,da=0,ea=0.0;g=a+4|0;i=f[g>>2]|0;j=a+100|0;if(i>>>0<(f[j>>2]|0)>>>0){f[g>>2]=i+1;k=h[i>>0]|0;l=0}else{k=Ji(a)|0;l=0}a:while(1){switch(k|0){case 46:{m=8;break a;break}case 48:break;default:{n=0;o=0;p=0;q=0;r=k;s=l;t=0;u=0;v=1.0;w=0;x=0.0;break a}}i=f[g>>2]|0;if(i>>>0<(f[j>>2]|0)>>>0){f[g>>2]=i+1;k=h[i>>0]|0;l=1;continue}else{k=Ji(a)|0;l=1;continue}}if((m|0)==8){k=f[g>>2]|0;if(k>>>0<(f[j>>2]|0)>>>0){f[g>>2]=k+1;y=h[k>>0]|0}else y=Ji(a)|0;if((y|0)==48){k=0;i=0;while(1){z=f[g>>2]|0;if(z>>>0<(f[j>>2]|0)>>>0){f[g>>2]=z+1;A=h[z>>0]|0}else A=Ji(a)|0;z=go(k|0,i|0,-1,-1)|0;B=I;if((A|0)==48){k=z;i=B}else{n=0;o=0;p=z;q=B;r=A;s=1;t=1;u=0;v=1.0;w=0;x=0.0;break}}}else{n=0;o=0;p=0;q=0;r=y;s=l;t=1;u=0;v=1.0;w=0;x=0.0}}while(1){l=r+-48|0;y=(r|0)==46;if(l>>>0>=10?!(y|((r|32)+-97|0)>>>0<6):0){C=r;break}if(y)if(!t){D=o;E=n;F=o;G=n;H=s;J=1;K=u;L=v;M=w;N=x}else{C=46;break}else{y=(r|0)>57?(r|32)+-87|0:l;do if(!((n|0)<0|(n|0)==0&o>>>0<8))if((n|0)<0|(n|0)==0&o>>>0<14){O=v*.0625;P=u;Q=O;R=w;S=x+O*+(y|0);break}else{l=(u|0)!=0|(y|0)==0;P=l?u:1;Q=v;R=w;S=l?x:x+v*.5;break}else{P=u;Q=v;R=y+(w<<4)|0;S=x}while(0);y=go(o|0,n|0,1,0)|0;D=p;E=q;F=y;G=I;H=1;J=t;K=P;L=Q;M=R;N=S}y=f[g>>2]|0;if(y>>>0<(f[j>>2]|0)>>>0){f[g>>2]=y+1;n=G;o=F;p=D;q=E;r=h[y>>0]|0;s=H;t=J;u=K;v=L;w=M;x=N;continue}else{n=G;o=F;p=D;q=E;r=Ji(a)|0;s=H;t=J;u=K;v=L;w=M;x=N;continue}}do if(!s){M=f[j>>2]|0;K=(M|0)!=0;if(K)f[g>>2]=(f[g>>2]|0)+-1;if(e){if(K)f[g>>2]=(f[g>>2]|0)+-1;if(!((t|0)==0|(M|0)==0))f[g>>2]=(f[g>>2]|0)+-1}else dn(a,0);T=+(d|0)*0.0}else{M=(t|0)==0;K=M?o:p;u=M?n:q;if((n|0)<0|(n|0)==0&o>>>0<8){M=o;J=n;H=w;while(1){r=H<<4;M=go(M|0,J|0,1,0)|0;J=I;if(!((J|0)<0|(J|0)==0&M>>>0<8)){U=r;break}else H=r}}else U=w;if((C|32|0)==112){H=Ie(a,e)|0;M=I;if((H|0)==0&(M|0)==-2147483648){if(!e){dn(a,0);T=0.0;break}if(!(f[j>>2]|0)){V=0;W=0}else{f[g>>2]=(f[g>>2]|0)+-1;V=0;W=0}}else{V=H;W=M}}else if(!(f[j>>2]|0)){V=0;W=0}else{f[g>>2]=(f[g>>2]|0)+-1;V=0;W=0}M=eo(K|0,u|0,2)|0;H=go(M|0,I|0,-32,-1)|0;M=go(H|0,I|0,V|0,W|0)|0;H=I;if(!U){T=+(d|0)*0.0;break}J=0-c|0;r=((J|0)<0)<<31>>31;if((H|0)>(r|0)|(H|0)==(r|0)&M>>>0>J>>>0){J=er()|0;f[J>>2]=34;T=+(d|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}J=c+-106|0;r=((J|0)<0)<<31>>31;if((H|0)<(r|0)|(H|0)==(r|0)&M>>>0<J>>>0){J=er()|0;f[J>>2]=34;T=+(d|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((U|0)>-1){J=M;r=H;E=U;N=x;while(1){D=!(N>=.5);F=E<<1|(D^1)&1;L=N+(D?N:N+-1.0);D=go(J|0,r|0,-1,-1)|0;G=I;if((F|0)>-1){J=D;r=G;E=F;N=L}else{X=D;Y=G;Z=F;_=L;break}}}else{X=M;Y=H;Z=U;_=x}E=((b|0)<0)<<31>>31;r=io(32,0,c|0,((c|0)<0)<<31>>31|0)|0;J=go(r|0,I|0,X|0,Y|0)|0;r=I;if((E|0)>(r|0)|(E|0)==(r|0)&b>>>0>J>>>0)if((J|0)>0){$=J;m=59}else{aa=0;ba=84;m=61}else{$=b;m=59}if((m|0)==59)if(($|0)<53){aa=$;ba=84-$|0;m=61}else{ca=0.0;da=$;ea=+(d|0)}if((m|0)==61){N=+(d|0);ca=+Wq(+$j(1.0,ba),N);da=aa;ea=N}J=(Z&1|0)==0&(_!=0.0&(da|0)<32);N=ea*(J?0.0:_)+(ca+ea*+(((J&1)+Z|0)>>>0))-ca;if(!(N!=0.0)){J=er()|0;f[J>>2]=34}T=+Xq(N,X)}while(0);return +T}function Bc(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,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;g=u;u=u+16|0;h=g+4|0;i=g;if(!(Ch(a,d)|0)){j=0;u=g;return j|0}d=a+84|0;k=f[d>>2]|0;l=a+88|0;m=f[l>>2]|0;if((m|0)!=(k|0))f[l>>2]=m+(~((m+-4-k|0)>>>2)<<2);f[d>>2]=0;f[l>>2]=0;f[a+92>>2]=0;if(k|0)pr(k);k=a+72|0;l=f[k>>2]|0;d=a+76|0;if((f[d>>2]|0)!=(l|0))f[d>>2]=l;f[k>>2]=0;f[d>>2]=0;f[a+80>>2]=0;if(l|0)pr(l);l=a+64|0;d=f[l>>2]|0;if((f[d+4>>2]|0)!=(f[d>>2]|0)){k=a+12|0;m=e+84|0;n=e+68|0;o=c+96|0;p=a+24|0;q=d;d=0;do{f[i>>2]=(d>>>0)/3|0;f[h>>2]=f[i>>2];r=ak(q,h)|0;q=f[l>>2]|0;do if(!r){s=f[(f[q+12>>2]|0)+(d<<2)>>2]|0;if((s|0)==-1){t=(f[a>>2]|0)+(d>>>5<<2)|0;f[t>>2]=f[t>>2]|1<<(d&31);t=d+1|0;v=((t>>>0)%3|0|0)==0?d+-2|0:t;if((v|0)==-1)w=-1;else w=f[(f[q>>2]|0)+(v<<2)>>2]|0;v=(f[k>>2]|0)+(w>>>5<<2)|0;f[v>>2]=f[v>>2]|1<<(w&31);v=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((v|0)==-1)x=-1;else x=f[(f[q>>2]|0)+(v<<2)>>2]|0;v=(f[k>>2]|0)+(x>>>5<<2)|0;f[v>>2]=f[v>>2]|1<<(x&31);break}if(s>>>0>=d>>>0){v=d+1|0;t=((v>>>0)%3|0|0)==0?d+-2|0:v;y=s+(((s>>>0)%3|0|0)==0?2:-1)|0;z=(t|0)==-1;if(!(b[m>>0]|0)){if(z)A=-1;else A=f[(f[o>>2]|0)+(((t|0)/3|0)*12|0)+(((t|0)%3|0)<<2)>>2]|0;B=(y|0)==-1;if(B)C=-1;else C=f[(f[o>>2]|0)+(((y|0)/3|0)*12|0)+(((y|0)%3|0)<<2)>>2]|0;D=f[n>>2]|0;if((f[D+(A<<2)>>2]|0)==(f[D+(C<<2)>>2]|0)){E=t+1|0;if(z)F=-1;else F=((E>>>0)%3|0|0)==0?t+-2|0:E;do if(!B)if(!((y>>>0)%3|0)){G=y+2|0;break}else{G=y+-1|0;break}else G=-1;while(0);if((F|0)==-1)H=-1;else H=f[(f[o>>2]|0)+(((F|0)/3|0)*12|0)+(((F|0)%3|0)<<2)>>2]|0;if((G|0)==-1)I=-1;else I=f[(f[o>>2]|0)+(((G|0)/3|0)*12|0)+(((G|0)%3|0)<<2)>>2]|0;if((f[D+(H<<2)>>2]|0)==(f[D+(I<<2)>>2]|0))break}}else{if(z)J=-1;else J=f[(f[o>>2]|0)+(((t|0)/3|0)*12|0)+(((t|0)%3|0)<<2)>>2]|0;B=(y|0)==-1;if(B)K=-1;else K=f[(f[o>>2]|0)+(((y|0)/3|0)*12|0)+(((y|0)%3|0)<<2)>>2]|0;if((J|0)==(K|0)){E=t+1|0;if(z)L=-1;else L=((E>>>0)%3|0|0)==0?t+-2|0:E;do if(!B)if(!((y>>>0)%3|0)){M=y+2|0;break}else{M=y+-1|0;break}else M=-1;while(0);if((L|0)==-1)N=-1;else N=f[(f[o>>2]|0)+(((L|0)/3|0)*12|0)+(((L|0)%3|0)<<2)>>2]|0;if((M|0)==-1)O=-1;else O=f[(f[o>>2]|0)+(((M|0)/3|0)*12|0)+(((M|0)%3|0)<<2)>>2]|0;if((N|0)==(O|0))break}}b[p>>0]=0;y=f[a>>2]|0;B=y+(d>>>5<<2)|0;f[B>>2]=f[B>>2]|1<<(d&31);B=y+(s>>>5<<2)|0;f[B>>2]=f[B>>2]|1<<(s&31);B=((v>>>0)%3|0|0)==0?d+-2|0:v;if((B|0)==-1)P=-1;else P=f[(f[q>>2]|0)+(B<<2)>>2]|0;B=(f[k>>2]|0)+(P>>>5<<2)|0;f[B>>2]=f[B>>2]|1<<(P&31);B=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((B|0)==-1)Q=-1;else Q=f[(f[q>>2]|0)+(B<<2)>>2]|0;B=(f[k>>2]|0)+(Q>>>5<<2)|0;f[B>>2]=f[B>>2]|1<<(Q&31);B=s+1|0;y=((B>>>0)%3|0|0)==0?s+-2|0:B;if((y|0)==-1)R=-1;else R=f[(f[q>>2]|0)+(y<<2)>>2]|0;y=(f[k>>2]|0)+(R>>>5<<2)|0;f[y>>2]=f[y>>2]|1<<(R&31);y=(((s>>>0)%3|0|0)==0?2:-1)+s|0;if((y|0)==-1)S=-1;else S=f[(f[q>>2]|0)+(y<<2)>>2]|0;y=(f[k>>2]|0)+(S>>>5<<2)|0;f[y>>2]=f[y>>2]|1<<(S&31)}}while(0);d=d+1|0}while(d>>>0<(f[q+4>>2]|0)-(f[q>>2]|0)>>2>>>0)}if((c|0)!=0&(e|0)!=0){Mc(a,c,e);j=1;u=g;return j|0}else{id(a,0,0);j=1;u=g;return j|0}return 0}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,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;d=u;u=u+32|0;e=d+12|0;g=d+8|0;h=d+4|0;i=d;j=a+8|0;a:do if(f[j>>2]|0?(k=f[a>>2]|0,l=a+4|0,f[a>>2]=l,f[(f[l>>2]|0)+8>>2]=0,f[l>>2]=0,f[j>>2]=0,m=f[k+4>>2]|0,n=(m|0)==0?k:m,n|0):0){m=a+4|0;k=f[b>>2]|0;o=n;while(1){if((k|0)==(f[c>>2]|0))break;n=o+16|0;f[n>>2]=f[k+16>>2];if((o|0)!=(k|0)){f[h>>2]=f[k+20>>2];f[i>>2]=k+24;f[g>>2]=f[h>>2];f[e>>2]=f[i>>2];Kc(o+20|0,g,e)}p=o+8|0;q=f[p>>2]|0;do if(q){r=f[q>>2]|0;if((r|0)==(o|0)){f[q>>2]=0;s=f[q+4>>2]|0;if(!s){t=q;break}else v=s;while(1){s=f[v>>2]|0;if(s|0){v=s;continue}s=f[v+4>>2]|0;if(!s)break;else v=s}t=v;break}else{f[q+4>>2]=0;if(!r){t=q;break}else w=r;while(1){s=f[w>>2]|0;if(s|0){w=s;continue}s=f[w+4>>2]|0;if(!s)break;else w=s}t=w;break}}else t=0;while(0);q=f[l>>2]|0;do if(q){r=f[n>>2]|0;s=q;while(1){if((r|0)<(f[s+16>>2]|0)){x=f[s>>2]|0;if(!x){y=24;break}else z=x}else{A=s+4|0;x=f[A>>2]|0;if(!x){y=27;break}else z=x}s=z}if((y|0)==24){y=0;B=s;C=s;break}else if((y|0)==27){y=0;B=s;C=A;break}}else{B=l;C=l}while(0);f[o>>2]=0;f[o+4>>2]=0;f[p>>2]=B;f[C>>2]=o;q=f[f[a>>2]>>2]|0;if(!q)D=o;else{f[a>>2]=q;D=f[C>>2]|0}He(f[m>>2]|0,D);f[j>>2]=(f[j>>2]|0)+1;q=f[k+4>>2]|0;if(!q){n=k+8|0;r=f[n>>2]|0;if((f[r>>2]|0)==(k|0))E=r;else{r=n;do{n=f[r>>2]|0;r=n+8|0;x=f[r>>2]|0}while((f[x>>2]|0)!=(n|0));E=x}}else{r=q;while(1){p=f[r>>2]|0;if(!p)break;else r=p}E=r}f[b>>2]=E;if(!t)break a;else{k=E;o=t}}k=f[o+8>>2]|0;if(!k)F=o;else{m=k;while(1){k=f[m+8>>2]|0;if(!k)break;else m=k}F=m}Mj(a,F)}while(0);F=f[b>>2]|0;t=f[c>>2]|0;if((F|0)==(t|0)){u=d;return}c=a+4|0;E=a+4|0;D=F;while(1){Ig(e,a,D+16|0);F=f[c>>2]|0;do if(F){C=f[e>>2]|0;B=f[C+16>>2]|0;A=F;while(1){if((B|0)<(f[A+16>>2]|0)){z=f[A>>2]|0;if(!z){y=45;break}else G=z}else{H=A+4|0;z=f[H>>2]|0;if(!z){y=48;break}else G=z}A=G}if((y|0)==45){y=0;I=C;J=A;K=A;break}else if((y|0)==48){y=0;I=C;J=A;K=H;break}}else{I=f[e>>2]|0;J=c;K=c}while(0);f[I>>2]=0;f[I+4>>2]=0;f[I+8>>2]=J;f[K>>2]=I;F=f[f[a>>2]>>2]|0;if(!F)L=I;else{f[a>>2]=F;L=f[K>>2]|0}He(f[E>>2]|0,L);f[j>>2]=(f[j>>2]|0)+1;F=f[D+4>>2]|0;if(!F){m=D+8|0;B=f[m>>2]|0;if((f[B>>2]|0)==(D|0))M=B;else{B=m;do{m=f[B>>2]|0;B=m+8|0;r=f[B>>2]|0}while((f[r>>2]|0)!=(m|0));M=r}}else{B=F;while(1){r=f[B>>2]|0;if(!r)break;else B=r}M=B}f[b>>2]=M;if((M|0)==(t|0))break;else D=M}u=d;return}function Dc(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,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;g=u;u=u+32|0;d=g+16|0;h=g+8|0;i=g;j=f[a+28>>2]|0;k=f[a+32>>2]|0;l=e>>>0>1073741823?-1:e<<2;m=mr(l)|0;pj(m|0,0,l|0)|0;n=mr(l)|0;pj(n|0,0,l|0)|0;l=a+36|0;o=f[l>>2]|0;p=f[o+4>>2]|0;q=f[o>>2]|0;r=p-q|0;a:do if((r|0)>4){s=r>>2;t=(e|0)>0;v=a+8|0;w=h+4|0;x=i+4|0;y=d+4|0;z=m+4|0;A=h+4|0;B=i+4|0;C=d+4|0;D=j+12|0;E=e<<2;F=s+-1|0;if(p-q>>2>>>0>F>>>0){G=q;H=s;I=F}else{J=o;Cq(J)}while(1){F=f[G+(I<<2)>>2]|0;if(t)pj(m|0,0,E|0)|0;if((F|0)!=-1){s=f[D>>2]|0;K=F;L=0;while(1){M=f[s+(K<<2)>>2]|0;if((M|0)!=-1){N=f[j>>2]|0;O=f[k>>2]|0;P=f[O+(f[N+(M<<2)>>2]<<2)>>2]|0;Q=M+1|0;R=((Q>>>0)%3|0|0)==0?M+-2|0:Q;if((R|0)==-1)S=-1;else S=f[N+(R<<2)>>2]|0;R=f[O+(S<<2)>>2]|0;Q=(((M>>>0)%3|0|0)==0?2:-1)+M|0;if((Q|0)==-1)T=-1;else T=f[N+(Q<<2)>>2]|0;Q=f[O+(T<<2)>>2]|0;if((P|0)<(I|0)&(R|0)<(I|0)&(Q|0)<(I|0)){O=X(P,e)|0;P=X(R,e)|0;R=X(Q,e)|0;if(t){Q=0;do{f[n+(Q<<2)>>2]=(f[b+(Q+R<<2)>>2]|0)+(f[b+(Q+P<<2)>>2]|0)-(f[b+(Q+O<<2)>>2]|0);Q=Q+1|0}while((Q|0)!=(e|0));if(t){Q=0;do{O=m+(Q<<2)|0;f[O>>2]=(f[O>>2]|0)+(f[n+(Q<<2)>>2]|0);Q=Q+1|0}while((Q|0)!=(e|0))}}U=L+1|0}else U=L}else U=L;Q=(((K>>>0)%3|0|0)==0?2:-1)+K|0;do if((Q|0)!=-1?(O=f[s+(Q<<2)>>2]|0,(O|0)!=-1):0)if(!((O>>>0)%3|0)){V=O+2|0;break}else{V=O+-1|0;break}else V=-1;while(0);K=(V|0)==(F|0)?-1:V;if((K|0)==-1)break;else L=U}L=X(I,e)|0;if(!U){W=L;Y=30}else{if(t){K=0;do{F=m+(K<<2)|0;f[F>>2]=(f[F>>2]|0)/(U|0)|0;K=K+1|0}while((K|0)!=(e|0))}K=b+(L<<2)|0;F=c+(L<<2)|0;s=f[K+4>>2]|0;Q=f[m>>2]|0;O=f[z>>2]|0;f[h>>2]=f[K>>2];f[A>>2]=s;f[i>>2]=Q;f[B>>2]=O;Nd(d,v,h,i);f[F>>2]=f[d>>2];f[F+4>>2]=f[C>>2]}}else{W=X(I,e)|0;Y=30}if((Y|0)==30){Y=0;F=b+(W<<2)|0;O=b+((X(H+-2|0,e)|0)<<2)|0;Q=c+(W<<2)|0;s=f[F+4>>2]|0;K=f[O>>2]|0;P=f[O+4>>2]|0;f[h>>2]=f[F>>2];f[w>>2]=s;f[i>>2]=K;f[x>>2]=P;Nd(d,v,h,i);f[Q>>2]=f[d>>2];f[Q+4>>2]=f[y>>2]}if((I|0)<=1)break a;Q=f[l>>2]|0;G=f[Q>>2]|0;P=I+-1|0;if((f[Q+4>>2]|0)-G>>2>>>0<=P>>>0){J=Q;break}else{Q=I;I=P;H=Q}}Cq(J)}while(0);if((e|0)<=0){Z=a+8|0;_=b+4|0;$=f[b>>2]|0;aa=f[_>>2]|0;ba=m+4|0;ca=f[m>>2]|0;da=f[ba>>2]|0;f[h>>2]=$;ea=h+4|0;f[ea>>2]=aa;f[i>>2]=ca;fa=i+4|0;f[fa>>2]=da;Nd(d,Z,h,i);ga=f[d>>2]|0;f[c>>2]=ga;ha=d+4|0;ia=f[ha>>2]|0;ja=c+4|0;f[ja>>2]=ia;nr(n);nr(m);u=g;return 1}pj(m|0,0,e<<2|0)|0;Z=a+8|0;_=b+4|0;$=f[b>>2]|0;aa=f[_>>2]|0;ba=m+4|0;ca=f[m>>2]|0;da=f[ba>>2]|0;f[h>>2]=$;ea=h+4|0;f[ea>>2]=aa;f[i>>2]=ca;fa=i+4|0;f[fa>>2]=da;Nd(d,Z,h,i);ga=f[d>>2]|0;f[c>>2]=ga;ha=d+4|0;ia=f[ha>>2]|0;ja=c+4|0;f[ja>>2]=ia;nr(n);nr(m);u=g;return 1}function Ec(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,P=0,Q=0,R=0,S=0,T=0;g=a+8|0;Mh(g,b,d,e);d=e>>>0>1073741823?-1:e<<2;h=mr(d)|0;pj(h|0,0,d|0)|0;d=f[a+48>>2]|0;i=f[a+56>>2]|0;j=f[i>>2]|0;k=(f[i+4>>2]|0)-j|0;l=k>>2;a:do if((k|0)>4){m=f[a+52>>2]|0;n=a+16|0;o=a+32|0;p=a+12|0;q=a+28|0;r=a+20|0;s=a+24|0;t=d+12|0;u=(e|0)>0;v=j;w=l;while(1){x=w;w=w+-1|0;if(l>>>0<=w>>>0)break;y=f[v+(w<<2)>>2]|0;z=X(w,e)|0;if((y|0)!=-1?(A=f[(f[t>>2]|0)+(y<<2)>>2]|0,(A|0)!=-1):0){y=f[d>>2]|0;B=f[m>>2]|0;C=f[B+(f[y+(A<<2)>>2]<<2)>>2]|0;D=A+1|0;E=((D>>>0)%3|0|0)==0?A+-2|0:D;if((E|0)==-1)F=-1;else F=f[y+(E<<2)>>2]|0;E=f[B+(F<<2)>>2]|0;D=(((A>>>0)%3|0|0)==0?2:-1)+A|0;if((D|0)==-1)G=-1;else G=f[y+(D<<2)>>2]|0;D=f[B+(G<<2)>>2]|0;if((C|0)<(w|0)&(E|0)<(w|0)&(D|0)<(w|0)){B=X(C,e)|0;C=X(E,e)|0;E=X(D,e)|0;if(u){D=0;do{f[h+(D<<2)>>2]=(f[b+(D+E<<2)>>2]|0)+(f[b+(D+C<<2)>>2]|0)-(f[b+(D+B<<2)>>2]|0);D=D+1|0}while((D|0)!=(e|0))}D=b+(z<<2)|0;B=c+(z<<2)|0;C=f[g>>2]|0;if((C|0)>0){E=C;C=0;y=h;while(1){if((E|0)>0){A=0;do{H=f[y+(A<<2)>>2]|0;I=f[n>>2]|0;if((H|0)>(I|0)){J=f[o>>2]|0;f[J+(A<<2)>>2]=I;K=J}else{J=f[p>>2]|0;I=f[o>>2]|0;f[I+(A<<2)>>2]=(H|0)<(J|0)?J:H;K=I}A=A+1|0}while((A|0)<(f[g>>2]|0));L=K}else L=f[o>>2]|0;A=(f[D+(C<<2)>>2]|0)-(f[L+(C<<2)>>2]|0)|0;I=B+(C<<2)|0;f[I>>2]=A;if((A|0)>=(f[q>>2]|0)){if((A|0)>(f[s>>2]|0)){M=A-(f[r>>2]|0)|0;N=42}}else{M=(f[r>>2]|0)+A|0;N=42}if((N|0)==42){N=0;f[I>>2]=M}C=C+1|0;E=f[g>>2]|0;if((C|0)>=(E|0))break;else y=L}}}else N=16}else N=16;if((N|0)==16?(N=0,y=b+(z<<2)|0,E=c+(z<<2)|0,C=f[g>>2]|0,(C|0)>0):0){B=C;C=0;D=b+((X(x+-2|0,e)|0)<<2)|0;while(1){if((B|0)>0){I=0;do{A=f[D+(I<<2)>>2]|0;H=f[n>>2]|0;if((A|0)>(H|0)){J=f[o>>2]|0;f[J+(I<<2)>>2]=H;O=J}else{J=f[p>>2]|0;H=f[o>>2]|0;f[H+(I<<2)>>2]=(A|0)<(J|0)?J:A;O=H}I=I+1|0}while((I|0)<(f[g>>2]|0));P=O}else P=f[o>>2]|0;I=(f[y+(C<<2)>>2]|0)-(f[P+(C<<2)>>2]|0)|0;H=E+(C<<2)|0;f[H>>2]=I;if((I|0)>=(f[q>>2]|0)){if((I|0)>(f[s>>2]|0)){Q=I-(f[r>>2]|0)|0;N=29}}else{Q=(f[r>>2]|0)+I|0;N=29}if((N|0)==29){N=0;f[H>>2]=Q}C=C+1|0;B=f[g>>2]|0;if((C|0)>=(B|0))break;else D=P}}if((w|0)<=1)break a}Cq(i)}while(0);if((e|0)>0)pj(h|0,0,e<<2|0)|0;e=f[g>>2]|0;if((e|0)<=0){nr(h);return 1}i=a+16|0;P=a+32|0;Q=a+12|0;O=a+28|0;L=a+20|0;M=a+24|0;a=e;e=0;K=h;while(1){if((a|0)>0){G=0;do{F=f[K+(G<<2)>>2]|0;d=f[i>>2]|0;if((F|0)>(d|0)){l=f[P>>2]|0;f[l+(G<<2)>>2]=d;R=l}else{l=f[Q>>2]|0;d=f[P>>2]|0;f[d+(G<<2)>>2]=(F|0)<(l|0)?l:F;R=d}G=G+1|0}while((G|0)<(f[g>>2]|0));S=R}else S=f[P>>2]|0;G=(f[b+(e<<2)>>2]|0)-(f[S+(e<<2)>>2]|0)|0;d=c+(e<<2)|0;f[d>>2]=G;if((G|0)>=(f[O>>2]|0)){if((G|0)>(f[M>>2]|0)){T=G-(f[L>>2]|0)|0;N=56}}else{T=(f[L>>2]|0)+G|0;N=56}if((N|0)==56){N=0;f[d>>2]=T}e=e+1|0;a=f[g>>2]|0;if((e|0)>=(a|0))break;else K=S}nr(h);return 1}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,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;g=u;u=u+32|0;d=g+16|0;h=g+8|0;i=g;j=f[a+28>>2]|0;k=f[a+32>>2]|0;l=e>>>0>1073741823?-1:e<<2;m=mr(l)|0;pj(m|0,0,l|0)|0;n=mr(l)|0;pj(n|0,0,l|0)|0;l=a+36|0;o=f[l>>2]|0;p=f[o+4>>2]|0;q=f[o>>2]|0;r=p-q|0;a:do if((r|0)>4){s=r>>2;t=(e|0)>0;v=a+8|0;w=h+4|0;x=i+4|0;y=d+4|0;z=m+4|0;A=h+4|0;B=i+4|0;C=d+4|0;D=j+64|0;E=j+28|0;F=e<<2;G=s+-1|0;if(p-q>>2>>>0>G>>>0){H=q;I=s;J=G}else{K=o;Cq(K)}while(1){G=f[H+(J<<2)>>2]|0;if(t)pj(m|0,0,F|0)|0;if((G|0)!=-1){s=f[j>>2]|0;L=G;M=0;while(1){if(((f[s+(L>>>5<<2)>>2]&1<<(L&31)|0)==0?(N=f[(f[(f[D>>2]|0)+12>>2]|0)+(L<<2)>>2]|0,(N|0)!=-1):0)?(O=f[E>>2]|0,P=f[k>>2]|0,Q=f[P+(f[O+(N<<2)>>2]<<2)>>2]|0,R=N+1|0,S=f[P+(f[O+((((R>>>0)%3|0|0)==0?N+-2|0:R)<<2)>>2]<<2)>>2]|0,R=f[P+(f[O+((((N>>>0)%3|0|0)==0?2:-1)+N<<2)>>2]<<2)>>2]|0,(Q|0)<(J|0)&(S|0)<(J|0)&(R|0)<(J|0)):0){N=X(Q,e)|0;Q=X(S,e)|0;S=X(R,e)|0;if(t){R=0;do{f[n+(R<<2)>>2]=(f[b+(R+S<<2)>>2]|0)+(f[b+(R+Q<<2)>>2]|0)-(f[b+(R+N<<2)>>2]|0);R=R+1|0}while((R|0)!=(e|0));if(t){R=0;do{N=m+(R<<2)|0;f[N>>2]=(f[N>>2]|0)+(f[n+(R<<2)>>2]|0);R=R+1|0}while((R|0)!=(e|0))}}T=M+1|0}else T=M;R=(((L>>>0)%3|0|0)==0?2:-1)+L|0;do if(((R|0)!=-1?(f[s+(R>>>5<<2)>>2]&1<<(R&31)|0)==0:0)?(N=f[(f[(f[D>>2]|0)+12>>2]|0)+(R<<2)>>2]|0,(N|0)!=-1):0)if(!((N>>>0)%3|0)){U=N+2|0;break}else{U=N+-1|0;break}else U=-1;while(0);L=(U|0)==(G|0)?-1:U;if((L|0)==-1)break;else M=T}M=X(J,e)|0;if(!T){V=M;W=28}else{if(t){L=0;do{G=m+(L<<2)|0;f[G>>2]=(f[G>>2]|0)/(T|0)|0;L=L+1|0}while((L|0)!=(e|0))}L=b+(M<<2)|0;G=c+(M<<2)|0;s=f[L+4>>2]|0;R=f[m>>2]|0;N=f[z>>2]|0;f[h>>2]=f[L>>2];f[A>>2]=s;f[i>>2]=R;f[B>>2]=N;Nd(d,v,h,i);f[G>>2]=f[d>>2];f[G+4>>2]=f[C>>2]}}else{V=X(J,e)|0;W=28}if((W|0)==28){W=0;G=b+(V<<2)|0;N=b+((X(I+-2|0,e)|0)<<2)|0;R=c+(V<<2)|0;s=f[G+4>>2]|0;L=f[N>>2]|0;Q=f[N+4>>2]|0;f[h>>2]=f[G>>2];f[w>>2]=s;f[i>>2]=L;f[x>>2]=Q;Nd(d,v,h,i);f[R>>2]=f[d>>2];f[R+4>>2]=f[y>>2]}if((J|0)<=1)break a;R=f[l>>2]|0;H=f[R>>2]|0;Q=J+-1|0;if((f[R+4>>2]|0)-H>>2>>>0<=Q>>>0){K=R;break}else{R=J;J=Q;I=R}}Cq(K)}while(0);if((e|0)<=0){Y=a+8|0;Z=b+4|0;_=f[b>>2]|0;$=f[Z>>2]|0;aa=m+4|0;ba=f[m>>2]|0;ca=f[aa>>2]|0;f[h>>2]=_;da=h+4|0;f[da>>2]=$;f[i>>2]=ba;ea=i+4|0;f[ea>>2]=ca;Nd(d,Y,h,i);fa=f[d>>2]|0;f[c>>2]=fa;ga=d+4|0;ha=f[ga>>2]|0;ia=c+4|0;f[ia>>2]=ha;nr(n);nr(m);u=g;return 1}pj(m|0,0,e<<2|0)|0;Y=a+8|0;Z=b+4|0;_=f[b>>2]|0;$=f[Z>>2]|0;aa=m+4|0;ba=f[m>>2]|0;ca=f[aa>>2]|0;f[h>>2]=_;da=h+4|0;f[da>>2]=$;f[i>>2]=ba;ea=i+4|0;f[ea>>2]=ca;Nd(d,Y,h,i);fa=f[d>>2]|0;f[c>>2]=fa;ga=d+4|0;ha=f[ga>>2]|0;ia=c+4|0;f[ia>>2]=ha;nr(n);nr(m);u=g;return 1}function Gc(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,P=0,Q=0,R=0,S=0;g=a+8|0;Mh(g,b,d,e);d=e>>>0>1073741823?-1:e<<2;h=mr(d)|0;pj(h|0,0,d|0)|0;d=f[a+48>>2]|0;i=f[a+56>>2]|0;j=f[i>>2]|0;k=(f[i+4>>2]|0)-j|0;l=k>>2;a:do if((k|0)>4){m=f[a+52>>2]|0;n=a+16|0;o=a+32|0;p=a+12|0;q=a+28|0;r=a+20|0;s=a+24|0;t=d+64|0;u=d+28|0;v=(e|0)>0;w=j;x=l;while(1){y=x;x=x+-1|0;if(l>>>0<=x>>>0)break;z=f[w+(x<<2)>>2]|0;A=X(x,e)|0;if((((z|0)!=-1?(f[(f[d>>2]|0)+(z>>>5<<2)>>2]&1<<(z&31)|0)==0:0)?(B=f[(f[(f[t>>2]|0)+12>>2]|0)+(z<<2)>>2]|0,(B|0)!=-1):0)?(z=f[u>>2]|0,C=f[m>>2]|0,D=f[C+(f[z+(B<<2)>>2]<<2)>>2]|0,E=B+1|0,F=f[C+(f[z+((((E>>>0)%3|0|0)==0?B+-2|0:E)<<2)>>2]<<2)>>2]|0,E=f[C+(f[z+((((B>>>0)%3|0|0)==0?2:-1)+B<<2)>>2]<<2)>>2]|0,(D|0)<(x|0)&(F|0)<(x|0)&(E|0)<(x|0)):0){B=X(D,e)|0;D=X(F,e)|0;F=X(E,e)|0;if(v){E=0;do{f[h+(E<<2)>>2]=(f[b+(E+F<<2)>>2]|0)+(f[b+(E+D<<2)>>2]|0)-(f[b+(E+B<<2)>>2]|0);E=E+1|0}while((E|0)!=(e|0))}E=b+(A<<2)|0;B=c+(A<<2)|0;D=f[g>>2]|0;if((D|0)>0){F=D;D=0;z=h;while(1){if((F|0)>0){C=0;do{G=f[z+(C<<2)>>2]|0;H=f[n>>2]|0;if((G|0)>(H|0)){I=f[o>>2]|0;f[I+(C<<2)>>2]=H;J=I}else{I=f[p>>2]|0;H=f[o>>2]|0;f[H+(C<<2)>>2]=(G|0)<(I|0)?I:G;J=H}C=C+1|0}while((C|0)<(f[g>>2]|0));K=J}else K=f[o>>2]|0;C=(f[E+(D<<2)>>2]|0)-(f[K+(D<<2)>>2]|0)|0;H=B+(D<<2)|0;f[H>>2]=C;if((C|0)>=(f[q>>2]|0)){if((C|0)>(f[s>>2]|0)){L=C-(f[r>>2]|0)|0;M=39}}else{L=(f[r>>2]|0)+C|0;M=39}if((M|0)==39){M=0;f[H>>2]=L}D=D+1|0;F=f[g>>2]|0;if((D|0)>=(F|0))break;else z=K}}}else M=13;if((M|0)==13?(M=0,z=b+(A<<2)|0,F=c+(A<<2)|0,D=f[g>>2]|0,(D|0)>0):0){B=D;D=0;E=b+((X(y+-2|0,e)|0)<<2)|0;while(1){if((B|0)>0){H=0;do{C=f[E+(H<<2)>>2]|0;G=f[n>>2]|0;if((C|0)>(G|0)){I=f[o>>2]|0;f[I+(H<<2)>>2]=G;N=I}else{I=f[p>>2]|0;G=f[o>>2]|0;f[G+(H<<2)>>2]=(C|0)<(I|0)?I:C;N=G}H=H+1|0}while((H|0)<(f[g>>2]|0));O=N}else O=f[o>>2]|0;H=(f[z+(D<<2)>>2]|0)-(f[O+(D<<2)>>2]|0)|0;G=F+(D<<2)|0;f[G>>2]=H;if((H|0)>=(f[q>>2]|0)){if((H|0)>(f[s>>2]|0)){P=H-(f[r>>2]|0)|0;M=26}}else{P=(f[r>>2]|0)+H|0;M=26}if((M|0)==26){M=0;f[G>>2]=P}D=D+1|0;B=f[g>>2]|0;if((D|0)>=(B|0))break;else E=O}}if((x|0)<=1)break a}Cq(i)}while(0);if((e|0)>0)pj(h|0,0,e<<2|0)|0;e=f[g>>2]|0;if((e|0)<=0){nr(h);return 1}i=a+16|0;O=a+32|0;P=a+12|0;N=a+28|0;K=a+20|0;L=a+24|0;a=e;e=0;J=h;while(1){if((a|0)>0){d=0;do{l=f[J+(d<<2)>>2]|0;j=f[i>>2]|0;if((l|0)>(j|0)){k=f[O>>2]|0;f[k+(d<<2)>>2]=j;Q=k}else{k=f[P>>2]|0;j=f[O>>2]|0;f[j+(d<<2)>>2]=(l|0)<(k|0)?k:l;Q=j}d=d+1|0}while((d|0)<(f[g>>2]|0));R=Q}else R=f[O>>2]|0;d=(f[b+(e<<2)>>2]|0)-(f[R+(e<<2)>>2]|0)|0;j=c+(e<<2)|0;f[j>>2]=d;if((d|0)>=(f[N>>2]|0)){if((d|0)>(f[L>>2]|0)){S=d-(f[K>>2]|0)|0;M=53}}else{S=(f[K>>2]|0)+d|0;M=53}if((M|0)==53){M=0;f[j>>2]=S}e=e+1|0;a=f[g>>2]|0;if((e|0)>=(a|0))break;else J=R}nr(h);return 1}function Hc(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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0;h=u;u=u+48|0;i=h+28|0;j=h+24|0;k=h;l=h+12|0;m=h+40|0;if((c|0)<0){n=0;u=h;return n|0}if(!c){n=1;u=h;return n|0}o=(d|0)>1;p=o?d:1;f[k>>2]=0;d=k+4|0;f[d>>2]=0;f[k+8>>2]=0;Xj(k,c);q=k+8|0;if(o){o=0;r=0;while(1){s=1;t=f[a+(o<<2)>>2]|0;do{v=f[a+(s+o<<2)>>2]|0;t=t>>>0<v>>>0?v:t;s=s+1|0}while((s|0)!=(p|0));s=(_(t|0)|0)^31;v=t>>>0>r>>>0?t:r;w=(t|0)==0?1:s+1|0;f[i>>2]=w;s=f[d>>2]|0;if(s>>>0<(f[q>>2]|0)>>>0){f[s>>2]=w;f[d>>2]=s+4}else Ti(k,i);o=o+p|0;if((o|0)>=(c|0)){x=v;break}else r=v}}else{r=0;o=0;while(1){v=f[a+(r<<2)>>2]|0;s=(_(v|0)|0)^31;w=v>>>0>o>>>0?v:o;y=(v|0)==0?1:s+1|0;f[i>>2]=y;s=f[d>>2]|0;if(s>>>0<(f[q>>2]|0)>>>0){f[s>>2]=y;f[d>>2]=s+4}else Ti(k,i);r=r+p|0;if((r|0)>=(c|0)){x=w;break}else o=w}}f[l>>2]=0;o=l+4|0;f[o>>2]=0;f[l+8>>2]=0;r=f[k>>2]|0;q=(f[d>>2]|0)-r|0;w=q>>2;if(w){if(w>>>0>1073741823)Cq(l);s=tn(q)|0;f[o>>2]=s;f[l>>2]=s;f[l+8>>2]=s+(w<<2);w=s;if((q|0)>0){y=s+(q>>>2<<2)|0;eh(s|0,r|0,q|0)|0;f[o>>2]=y;q=y-w>>2;if((y|0)==(s|0)){z=q;A=s;B=0;C=0}else{y=0;r=0;v=0;while(1){D=go(f[s+(v<<2)>>2]|0,0,y|0,r|0)|0;E=I;v=v+1|0;if(v>>>0>=q>>>0){z=q;A=s;B=D;C=E;break}else{y=D;r=E}}}}else{F=w;G=18}}else{F=0;G=18}if((G|0)==18){z=0;A=F;B=0;C=0}F=Gg(A,z,32,i)|0;z=I;A=f[i>>2]<<3;w=eo(A|0,((A|0)<0)<<31>>31|0,1)|0;A=I;r=En(B|0,C|0,p|0,0)|0;C=go(F|0,z|0,r|0,I|0)|0;r=go(C|0,I|0,w|0,A|0)|0;A=I;w=f[l>>2]|0;if(w|0){l=f[o>>2]|0;if((l|0)!=(w|0))f[o>>2]=l+(~((l+-4-w|0)>>>2)<<2);pr(w)}w=Gg(a,c,x,i)|0;l=f[i>>2]|0;o=((x-l|0)/64|0)+l<<3;C=l<<3;z=go(C|0,((C|0)<0)<<31>>31|0,w|0,I|0)|0;w=go(z|0,I|0,o|0,((o|0)<0)<<31>>31|0)|0;o=I;z=(_((x>>>0>1?x:1)|0)|0)^30;if(e){f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;C=tn(32)|0;f[i>>2]=C;f[i+8>>2]=-2147483616;f[i+4>>2]=22;F=C;B=16355;y=F+22|0;do{b[F>>0]=b[B>>0]|0;F=F+1|0;B=B+1|0}while((F|0)<(y|0));b[C+22>>0]=0;C=(Hh(e,i)|0)==0;if((b[i+11>>0]|0)<0)pr(f[i>>2]|0);if(!C){f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;C=tn(32)|0;f[i>>2]=C;f[i+8>>2]=-2147483616;f[i+4>>2]=22;F=C;B=16355;y=F+22|0;do{b[F>>0]=b[B>>0]|0;F=F+1|0;B=B+1|0}while((F|0)<(y|0));b[C+22>>0]=0;C=Ok(e,i)|0;if((b[i+11>>0]|0)<0)pr(f[i>>2]|0);H=C}else G=32}else G=32;if((G|0)==32)H=z>>>0<18&((A|0)>(o|0)|(A|0)==(o|0)&r>>>0>=w>>>0)&1;b[m>>0]=H;w=g+16|0;r=f[w+4>>2]|0;if(!((r|0)>0|(r|0)==0&(f[w>>2]|0)>>>0>0)){f[j>>2]=f[g+4>>2];f[i>>2]=f[j>>2];Fe(g,i,m,m+1|0)|0}switch(H|0){case 0:{J=qd(a,c,p,k,g)|0;break}case 1:{J=Pc(a,c,x,l,e,g)|0;break}default:J=0}g=f[k>>2]|0;if(g|0){k=f[d>>2]|0;if((k|0)!=(g|0))f[d>>2]=k+(~((k+-4-g|0)>>>2)<<2);pr(g)}n=J;u=h;return n|0}function Ic(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,u=0,v=0;if((b|0)<0)return;c=a+12|0;d=f[c>>2]|0;e=f[a+8>>2]|0;g=e;h=d;if(d-e>>2>>>0<=b>>>0)return;e=g+(b<<2)|0;d=f[(f[e>>2]|0)+56>>2]|0;i=f[(f[g+(b<<2)>>2]|0)+60>>2]|0;g=e+4|0;if((g|0)!=(h|0)){j=g;g=e;do{k=f[j>>2]|0;f[j>>2]=0;l=f[g>>2]|0;f[g>>2]=k;if(l|0){k=l+88|0;m=f[k>>2]|0;f[k>>2]=0;if(m|0){k=f[m+8>>2]|0;if(k|0){n=m+12|0;if((f[n>>2]|0)!=(k|0))f[n>>2]=k;pr(k)}pr(m)}m=f[l+68>>2]|0;if(m|0){k=l+72|0;n=f[k>>2]|0;if((n|0)!=(m|0))f[k>>2]=n+(~((n+-4-m|0)>>>2)<<2);pr(m)}m=l+64|0;n=f[m>>2]|0;f[m>>2]=0;if(n|0){m=f[n>>2]|0;if(m|0){k=n+4|0;if((f[k>>2]|0)!=(m|0))f[k>>2]=m;pr(m)}pr(n)}pr(l)}j=j+4|0;g=g+4|0}while((j|0)!=(h|0));j=f[c>>2]|0;if((j|0)!=(g|0)){o=j;p=g;q=24}}else{o=h;p=e;q=24}if((q|0)==24){q=o;do{o=q+-4|0;f[c>>2]=o;e=f[o>>2]|0;f[o>>2]=0;if(e|0){o=e+88|0;h=f[o>>2]|0;f[o>>2]=0;if(h|0){o=f[h+8>>2]|0;if(o|0){g=h+12|0;if((f[g>>2]|0)!=(o|0))f[g>>2]=o;pr(o)}pr(h)}h=f[e+68>>2]|0;if(h|0){o=e+72|0;g=f[o>>2]|0;if((g|0)!=(h|0))f[o>>2]=g+(~((g+-4-h|0)>>>2)<<2);pr(h)}h=e+64|0;g=f[h>>2]|0;f[h>>2]=0;if(g|0){h=f[g>>2]|0;if(h|0){o=g+4|0;if((f[o>>2]|0)!=(h|0))f[o>>2]=h;pr(h)}pr(g)}pr(e)}q=f[c>>2]|0}while((q|0)!=(p|0))}p=f[a+4>>2]|0;a:do if(p|0){q=p+44|0;c=f[q>>2]|0;e=f[p+40>>2]|0;while(1){if((e|0)==(c|0))break a;r=e+4|0;if((f[(f[e>>2]|0)+40>>2]|0)==(i|0))break;else e=r}if((r|0)!=(c|0)){g=r;h=e;do{o=f[g>>2]|0;f[g>>2]=0;j=f[h>>2]|0;f[h>>2]=o;if(j|0){_i(j);pr(j)}g=g+4|0;h=h+4|0}while((g|0)!=(c|0));g=f[q>>2]|0;if((g|0)==(h|0))break;else{s=g;t=h}}else{s=c;t=e}g=s;do{j=g+-4|0;f[q>>2]=j;o=f[j>>2]|0;f[j>>2]=0;if(o|0){_i(o);pr(o)}g=f[q>>2]|0}while((g|0)!=(t|0))}while(0);b:do if((d|0)<5){t=f[a+20+(d*12|0)>>2]|0;s=a+20+(d*12|0)+4|0;r=f[s>>2]|0;i=r;c:do if((t|0)==(r|0))u=t;else{p=t;while(1){if((f[p>>2]|0)==(b|0)){u=p;break c}p=p+4|0;if((p|0)==(r|0))break b}}while(0);if((u|0)!=(r|0)){t=u+4|0;p=i-t|0;g=p>>2;if(!g)v=r;else{qm(u|0,t|0,p|0)|0;v=f[s>>2]|0}p=u+(g<<2)|0;if((v|0)!=(p|0))f[s>>2]=v+(~((v+-4-p|0)>>>2)<<2)}}while(0);v=f[a+24>>2]|0;u=f[a+20>>2]|0;d=u;if((v|0)!=(u|0)){p=v-u>>2;u=0;do{v=d+(u<<2)|0;g=f[v>>2]|0;if((g|0)>(b|0))f[v>>2]=g+-1;u=u+1|0}while(u>>>0<p>>>0)}p=f[a+36>>2]|0;u=f[a+32>>2]|0;d=u;if((p|0)!=(u|0)){g=p-u>>2;u=0;do{p=d+(u<<2)|0;v=f[p>>2]|0;if((v|0)>(b|0))f[p>>2]=v+-1;u=u+1|0}while(u>>>0<g>>>0)}g=f[a+48>>2]|0;u=f[a+44>>2]|0;d=u;if((g|0)!=(u|0)){v=g-u>>2;u=0;do{g=d+(u<<2)|0;p=f[g>>2]|0;if((p|0)>(b|0))f[g>>2]=p+-1;u=u+1|0}while(u>>>0<v>>>0)}v=f[a+60>>2]|0;u=f[a+56>>2]|0;d=u;if((v|0)!=(u|0)){p=v-u>>2;u=0;do{v=d+(u<<2)|0;g=f[v>>2]|0;if((g|0)>(b|0))f[v>>2]=g+-1;u=u+1|0}while(u>>>0<p>>>0)}p=f[a+72>>2]|0;u=f[a+68>>2]|0;a=u;if((p|0)==(u|0))return;d=p-u>>2;u=0;do{p=a+(u<<2)|0;g=f[p>>2]|0;if((g|0)>(b|0))f[p>>2]=g+-1;u=u+1|0}while(u>>>0<d>>>0);return}function Jc(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,y=0,z=0,A=0,B=0,C=0,D=0,E=0;b=u;u=u+32|0;c=b+4|0;d=b;e=a+16|0;g=f[e>>2]|0;if(g>>>0>112){f[e>>2]=g+-113;g=a+4|0;e=f[g>>2]|0;h=f[e>>2]|0;i=e+4|0;f[g>>2]=i;e=a+8|0;j=f[e>>2]|0;k=a+12|0;l=f[k>>2]|0;m=l;n=j;do if((j|0)==(l|0)){o=f[a>>2]|0;p=o;if(i>>>0>o>>>0){q=i;r=((q-p>>2)+1|0)/-2|0;s=i+(r<<2)|0;t=n-q|0;q=t>>2;if(!q)v=i;else{qm(s|0,i|0,t|0)|0;v=f[g>>2]|0}t=s+(q<<2)|0;f[e>>2]=t;f[g>>2]=v+(r<<2);w=t;break}t=m-p>>1;p=(t|0)==0?1:t;if(p>>>0>1073741823){t=ra(8)|0;jp(t,16426);f[t>>2]=7416;va(t|0,1160,122)}t=tn(p<<2)|0;r=t;q=t+(p>>>2<<2)|0;s=q;x=t+(p<<2)|0;if((i|0)==(j|0)){y=o;z=s}else{o=q;q=i;p=s;do{f[o>>2]=f[q>>2];o=p+4|0;p=o;q=q+4|0}while((q|0)!=(j|0));y=f[a>>2]|0;z=p}f[a>>2]=r;f[g>>2]=s;f[e>>2]=z;f[k>>2]=x;if(!y)w=z;else{pr(y);w=f[e>>2]|0}}else w=j;while(0);f[w>>2]=h;f[e>>2]=(f[e>>2]|0)+4;u=b;return}e=a+8|0;h=f[e>>2]|0;w=a+4|0;j=h-(f[w>>2]|0)|0;y=a+12|0;z=f[y>>2]|0;k=z-(f[a>>2]|0)|0;if(j>>>0>=k>>>0){g=k>>1;k=(g|0)==0?1:g;f[c+12>>2]=0;f[c+16>>2]=a+12;if(k>>>0>1073741823){g=ra(8)|0;jp(g,16426);f[g>>2]=7416;va(g|0,1160,122)}g=tn(k<<2)|0;f[c>>2]=g;i=g+(j>>2<<2)|0;j=c+8|0;f[j>>2]=i;m=c+4|0;f[m>>2]=i;i=c+12|0;f[i>>2]=g+(k<<2);k=tn(4068)|0;f[d>>2]=k;wg(c,d);d=f[e>>2]|0;while(1){A=f[w>>2]|0;if((d|0)==(A|0))break;k=d+-4|0;tg(c,k);d=k}k=A;A=f[a>>2]|0;f[a>>2]=f[c>>2];f[c>>2]=A;f[w>>2]=f[m>>2];f[m>>2]=k;m=f[e>>2]|0;f[e>>2]=f[j>>2];f[j>>2]=m;g=f[y>>2]|0;f[y>>2]=f[i>>2];f[i>>2]=g;g=m;if((g|0)!=(d|0))f[j>>2]=g+(~((g+-4-k|0)>>>2)<<2);if(A|0)pr(A);u=b;return}if((z|0)!=(h|0)){h=tn(4068)|0;f[c>>2]=h;wg(a,c);u=b;return}h=tn(4068)|0;f[c>>2]=h;tg(a,c);c=f[w>>2]|0;h=f[c>>2]|0;z=c+4|0;f[w>>2]=z;c=f[e>>2]|0;A=f[y>>2]|0;k=A;g=c;do if((c|0)==(A|0)){j=f[a>>2]|0;d=j;if(z>>>0>j>>>0){m=z;i=((m-d>>2)+1|0)/-2|0;v=z+(i<<2)|0;n=g-m|0;m=n>>2;if(!m)B=z;else{qm(v|0,z|0,n|0)|0;B=f[w>>2]|0}n=v+(m<<2)|0;f[e>>2]=n;f[w>>2]=B+(i<<2);C=n;break}n=k-d>>1;d=(n|0)==0?1:n;if(d>>>0>1073741823){n=ra(8)|0;jp(n,16426);f[n>>2]=7416;va(n|0,1160,122)}n=tn(d<<2)|0;i=n;m=n+(d>>>2<<2)|0;v=m;l=n+(d<<2)|0;if((z|0)==(c|0)){D=j;E=v}else{j=m;m=z;d=v;do{f[j>>2]=f[m>>2];j=d+4|0;d=j;m=m+4|0}while((m|0)!=(c|0));D=f[a>>2]|0;E=d}f[a>>2]=i;f[w>>2]=v;f[e>>2]=E;f[y>>2]=l;if(!D)C=E;else{pr(D);C=f[e>>2]|0}}else C=c;while(0);f[C>>2]=h;f[e>>2]=(f[e>>2]|0)+4;u=b;return}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=0,n=0,o=0,p=0,q=0,r=0,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;e=a+8|0;a:do if(f[e>>2]|0?(g=f[a>>2]|0,h=a+4|0,f[a>>2]=h,f[(f[h>>2]|0)+8>>2]=0,f[h>>2]=0,f[e>>2]=0,i=f[g+4>>2]|0,j=(i|0)==0?g:i,j|0):0){i=a+4|0;g=f[c>>2]|0;k=j;while(1){if((g|0)==(f[d>>2]|0))break;j=k+16|0;gm(j,g+16|0)|0;gm(k+28|0,g+28|0)|0;l=k+8|0;m=f[l>>2]|0;do if(m){n=f[m>>2]|0;if((n|0)==(k|0)){f[m>>2]=0;o=f[m+4>>2]|0;if(!o){p=m;break}else q=o;while(1){o=f[q>>2]|0;if(o|0){q=o;continue}o=f[q+4>>2]|0;if(!o)break;else q=o}p=q;break}else{f[m+4>>2]=0;if(!n){p=m;break}else r=n;while(1){o=f[r>>2]|0;if(o|0){r=o;continue}o=f[r+4>>2]|0;if(!o)break;else r=o}p=r;break}}else p=0;while(0);m=f[h>>2]|0;do if(m){n=b[j+11>>0]|0;o=n<<24>>24<0;s=o?f[k+20>>2]|0:n&255;n=o?f[j>>2]|0:j;o=m;while(1){t=o+16|0;u=b[t+11>>0]|0;v=u<<24>>24<0;w=v?f[o+20>>2]|0:u&255;u=w>>>0<s>>>0?w:s;if((u|0)!=0?(x=Yk(n,v?f[t>>2]|0:t,u)|0,(x|0)!=0):0)if((x|0)<0)y=24;else y=26;else if(s>>>0<w>>>0)y=24;else y=26;if((y|0)==24){y=0;w=f[o>>2]|0;if(!w){y=25;break}else z=w}else if((y|0)==26){y=0;A=o+4|0;w=f[A>>2]|0;if(!w){y=28;break}else z=w}o=z}if((y|0)==25){y=0;B=o;C=o;break}else if((y|0)==28){y=0;B=o;C=A;break}}else{B=h;C=h}while(0);f[k>>2]=0;f[k+4>>2]=0;f[l>>2]=B;f[C>>2]=k;m=f[f[a>>2]>>2]|0;if(!m)D=k;else{f[a>>2]=m;D=f[C>>2]|0}He(f[i>>2]|0,D);f[e>>2]=(f[e>>2]|0)+1;m=f[g+4>>2]|0;if(!m){j=g+8|0;s=f[j>>2]|0;if((f[s>>2]|0)==(g|0))E=s;else{s=j;do{j=f[s>>2]|0;s=j+8|0;n=f[s>>2]|0}while((f[n>>2]|0)!=(j|0));E=n}}else{s=m;while(1){l=f[s>>2]|0;if(!l)break;else s=l}E=s}f[c>>2]=E;if(!p)break a;else{g=E;k=p}}g=f[k+8>>2]|0;if(!g)F=k;else{i=g;while(1){g=f[i+8>>2]|0;if(!g)break;else i=g}F=i}Cj(a,F)}while(0);F=f[c>>2]|0;p=f[d>>2]|0;if((F|0)==(p|0))return;else G=F;while(1){Ue(a,G+16|0)|0;F=f[G+4>>2]|0;if(!F){d=G+8|0;E=f[d>>2]|0;if((f[E>>2]|0)==(G|0))H=E;else{E=d;do{d=f[E>>2]|0;E=d+8|0;e=f[E>>2]|0}while((f[e>>2]|0)!=(d|0));H=e}}else{E=F;while(1){i=f[E>>2]|0;if(!i)break;else E=i}H=E}f[c>>2]=H;if((H|0)==(p|0))break;else G=H}return}function Lc(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,I=0,J=0,K=0;g=u;u=u+16|0;h=g;i=c+4|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;j=tn(16)|0;f[h>>2]=j;f[h+8>>2]=-2147483632;f[h+4>>2]=15;k=j;l=14740;m=k+15|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[j+15>>0]=0;j=Ik(i,h,-1)|0;if((b[h+11>>0]|0)<0)pr(f[h>>2]|0);switch(j|0){case 0:{n=tn(56)|0;k=n;m=k+56|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(m|0));On(n);o=4196;p=n;break}case -1:{if((ki(i)|0)==10){n=tn(56)|0;k=n;m=k+56|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(m|0));On(n);o=4196;p=n}else q=6;break}default:q=6}a:do if((q|0)==6){n=d+8|0;r=d+12|0;s=f[r>>2]|0;t=f[n>>2]|0;b:do if((s-t|0)>0){v=h+8|0;w=h+4|0;x=c+20|0;y=h+11|0;z=s;A=t;B=0;c:while(1){C=f[(f[A+(B<<2)>>2]|0)+28>>2]|0;switch(C|0){case 9:{q=12;break}case 6:case 5:case 4:case 2:{D=A;E=z;break}default:{if((C|2|0)!=3)break c;if((C|0)==9)q=12;else{D=A;E=z}}}if((q|0)==12){q=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;C=tn(32)|0;f[h>>2]=C;f[v>>2]=-2147483616;f[w>>2]=17;k=C;l=14756;m=k+17|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[C+17>>0]=0;F=f[x>>2]|0;if(F){G=x;H=F;d:while(1){F=H;while(1){if((f[F+16>>2]|0)>=0)break;I=f[F+4>>2]|0;if(!I){J=G;break d}else F=I}H=f[F>>2]|0;if(!H){J=F;break}else G=F}if(((J|0)!=(x|0)?(f[J+16>>2]|0)<=0:0)?(G=J+20|0,(Hh(G,h)|0)!=0):0)K=Ik(G,h,-1)|0;else q=21}else q=21;if((q|0)==21){q=0;K=Ik(i,h,-1)|0}if((b[y>>0]|0)<0)pr(f[h>>2]|0);if((K|0)<1)break;D=f[n>>2]|0;E=f[r>>2]|0}B=B+1|0;if((B|0)>=(E-D>>2|0))break b;else{z=E;A=D}}if((j|0)!=1){A=tn(56)|0;k=A;m=k+56|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(m|0));On(A);o=4196;p=A;break a}f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;z=tn(32)|0;f[h>>2]=z;f[h+8>>2]=-2147483616;f[h+4>>2]=24;k=z;l=14774;m=k+24|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[z+24>>0]=0;f[a>>2]=-1;nj(a+4|0,h);if((b[h+11>>0]|0)<0)pr(f[h>>2]|0);u=g;return}while(0);r=tn(56)|0;k=r;m=k+56|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(m|0));On(r);o=4136;p=r}while(0);f[p>>2]=o;Hp(p,d);ud(a,p,i,e);if(!(f[a>>2]|0)){e=a+4|0;if((b[e+11>>0]|0)<0)pr(f[e>>2]|0);f[c+40>>2]=f[p+52>>2];f[c+44>>2]=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}Qa[f[(f[p>>2]|0)+4>>2]&127](p);u=g;return}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=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;e=u;u=u+16|0;g=e+8|0;h=e+4|0;i=e;j=a+64|0;k=f[j>>2]|0;if((f[k+28>>2]|0)==(f[k+24>>2]|0)){u=e;return}l=c+96|0;c=a+52|0;m=d+84|0;n=d+68|0;d=a+56|0;o=a+60|0;p=a+12|0;q=a+28|0;r=a+40|0;s=a+44|0;t=a+48|0;v=k;k=0;w=0;while(1){x=f[(f[v+24>>2]|0)+(w<<2)>>2]|0;if((x|0)==-1){y=v;z=k}else{A=k+1|0;B=f[(f[l>>2]|0)+(((x|0)/3|0)*12|0)+(((x|0)%3|0)<<2)>>2]|0;if(!(b[m>>0]|0))C=f[(f[n>>2]|0)+(B<<2)>>2]|0;else C=B;f[g>>2]=C;B=f[d>>2]|0;if(B>>>0<(f[o>>2]|0)>>>0){f[B>>2]=C;f[d>>2]=B+4}else Ti(c,g);f[g>>2]=x;f[h>>2]=0;a:do if(!(f[(f[p>>2]|0)+(w>>>5<<2)>>2]&1<<(w&31)))D=x;else{B=x+1|0;E=((B>>>0)%3|0|0)==0?x+-2|0:B;if(((E|0)!=-1?(f[(f[a>>2]|0)+(E>>>5<<2)>>2]&1<<(E&31)|0)==0:0)?(B=f[(f[(f[j>>2]|0)+12>>2]|0)+(E<<2)>>2]|0,E=B+1|0,(B|0)!=-1):0){F=((E>>>0)%3|0|0)==0?B+-2|0:E;f[h>>2]=F;if((F|0)==-1){D=x;break}else G=F;while(1){f[g>>2]=G;F=G+1|0;E=((F>>>0)%3|0|0)==0?G+-2|0:F;if((E|0)==-1)break;if(f[(f[a>>2]|0)+(E>>>5<<2)>>2]&1<<(E&31)|0)break;F=f[(f[(f[j>>2]|0)+12>>2]|0)+(E<<2)>>2]|0;E=F+1|0;if((F|0)==-1)break;B=((E>>>0)%3|0|0)==0?F+-2|0:E;f[h>>2]=B;if((B|0)==-1){D=G;break a}else G=B}f[h>>2]=-1;D=G;break}f[h>>2]=-1;D=x}while(0);f[(f[q>>2]|0)+(D<<2)>>2]=k;x=f[s>>2]|0;if((x|0)==(f[t>>2]|0))Ti(r,g);else{f[x>>2]=f[g>>2];f[s>>2]=x+4}x=f[j>>2]|0;B=f[g>>2]|0;b:do if(((B|0)!=-1?(E=(((B>>>0)%3|0|0)==0?2:-1)+B|0,(E|0)!=-1):0)?(F=f[(f[x+12>>2]|0)+(E<<2)>>2]|0,(F|0)!=-1):0){E=F+(((F>>>0)%3|0|0)==0?2:-1)|0;f[h>>2]=E;if((E|0)!=-1&(E|0)!=(B|0)){F=E;E=k;H=A;while(1){I=F+1|0;J=((I>>>0)%3|0|0)==0?F+-2|0:I;do if(f[(f[a>>2]|0)+(J>>>5<<2)>>2]&1<<(J&31)){I=H+1|0;K=f[(f[l>>2]|0)+(((F|0)/3|0)*12|0)+(((F|0)%3|0)<<2)>>2]|0;if(!(b[m>>0]|0))L=f[(f[n>>2]|0)+(K<<2)>>2]|0;else L=K;f[i>>2]=L;K=f[d>>2]|0;if(K>>>0<(f[o>>2]|0)>>>0){f[K>>2]=L;f[d>>2]=K+4}else Ti(c,i);K=f[s>>2]|0;if((K|0)==(f[t>>2]|0)){Ti(r,h);M=H;N=I;break}else{f[K>>2]=f[h>>2];f[s>>2]=K+4;M=H;N=I;break}}else{M=E;N=H}while(0);f[(f[q>>2]|0)+(f[h>>2]<<2)>>2]=M;O=f[j>>2]|0;J=f[h>>2]|0;if((J|0)==-1)break;I=(((J>>>0)%3|0|0)==0?2:-1)+J|0;if((I|0)==-1)break;J=f[(f[O+12>>2]|0)+(I<<2)>>2]|0;if((J|0)==-1)break;F=J+(((J>>>0)%3|0|0)==0?2:-1)|0;f[h>>2]=F;if(!((F|0)!=-1?(F|0)!=(f[g>>2]|0):0)){P=O;Q=N;break b}else{E=M;H=N}}f[h>>2]=-1;P=O;Q=N}else{P=x;Q=A}}else R=28;while(0);if((R|0)==28){R=0;f[h>>2]=-1;P=x;Q=A}y=P;z=Q}w=w+1|0;if(w>>>0>=(f[y+28>>2]|0)-(f[y+24>>2]|0)>>2>>>0)break;else{v=y;k=z}}u=e;return}function Nc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,D=0,E=0,F=0;switch(c|0){case 0:{e=24;g=-149;i=4;break}case 1:{e=53;g=-1074;i=4;break}case 2:{e=53;g=-1074;i=4;break}default:j=0.0}a:do if((i|0)==4){c=a+4|0;k=a+100|0;do{l=f[c>>2]|0;if(l>>>0<(f[k>>2]|0)>>>0){f[c>>2]=l+1;m=h[l>>0]|0}else m=Ji(a)|0}while((Hq(m)|0)!=0);b:do switch(m|0){case 43:case 45:{l=1-(((m|0)==45&1)<<1)|0;n=f[c>>2]|0;if(n>>>0<(f[k>>2]|0)>>>0){f[c>>2]=n+1;o=h[n>>0]|0;p=l;break b}else{o=Ji(a)|0;p=l;break b}break}default:{o=m;p=1}}while(0);l=o;n=0;while(1){if((l|32|0)!=(b[18937+n>>0]|0)){q=l;r=n;break}do if(n>>>0<7){s=f[c>>2]|0;if(s>>>0<(f[k>>2]|0)>>>0){f[c>>2]=s+1;t=h[s>>0]|0;break}else{t=Ji(a)|0;break}}else t=l;while(0);s=n+1|0;if(s>>>0<8){l=t;n=s}else{q=t;r=s;break}}c:do switch(r|0){case 8:break;case 3:{i=23;break}default:{n=(d|0)!=0;if(n&r>>>0>3)if((r|0)==8)break c;else{i=23;break c}d:do if(!r){l=q;s=0;while(1){if((l|32|0)!=(b[18946+s>>0]|0)){u=l;v=s;break d}do if(s>>>0<2){w=f[c>>2]|0;if(w>>>0<(f[k>>2]|0)>>>0){f[c>>2]=w+1;x=h[w>>0]|0;break}else{x=Ji(a)|0;break}}else x=l;while(0);w=s+1|0;if(w>>>0<3){l=x;s=w}else{u=x;v=w;break}}}else{u=q;v=r}while(0);switch(v|0){case 3:{s=f[c>>2]|0;if(s>>>0<(f[k>>2]|0)>>>0){f[c>>2]=s+1;y=h[s>>0]|0}else y=Ji(a)|0;if((y|0)==40)z=1;else{if(!(f[k>>2]|0)){j=B;break a}f[c>>2]=(f[c>>2]|0)+-1;j=B;break a}while(1){s=f[c>>2]|0;if(s>>>0<(f[k>>2]|0)>>>0){f[c>>2]=s+1;A=h[s>>0]|0}else A=Ji(a)|0;if(!((A+-48|0)>>>0<10|(A+-65|0)>>>0<26)?!((A|0)==95|(A+-97|0)>>>0<26):0)break;z=z+1|0}if((A|0)==41){j=B;break a}s=(f[k>>2]|0)==0;if(!s)f[c>>2]=(f[c>>2]|0)+-1;if(!n){l=er()|0;f[l>>2]=22;dn(a,0);j=0.0;break a}if(!z){j=B;break a}else D=z;while(1){D=D+-1|0;if(!s)f[c>>2]=(f[c>>2]|0)+-1;if(!D){j=B;break a}}break}case 0:{if((u|0)==48){s=f[c>>2]|0;if(s>>>0<(f[k>>2]|0)>>>0){f[c>>2]=s+1;E=h[s>>0]|0}else E=Ji(a)|0;if((E|32|0)==120){j=+Ac(a,e,g,p,d);break a}if(!(f[k>>2]|0))F=48;else{f[c>>2]=(f[c>>2]|0)+-1;F=48}}else F=u;j=+hb(a,F,e,g,p,d);break a;break}default:{if(f[k>>2]|0)f[c>>2]=(f[c>>2]|0)+-1;s=er()|0;f[s>>2]=22;dn(a,0);j=0.0;break a}}}}while(0);if((i|0)==23){s=(f[k>>2]|0)==0;if(!s)f[c>>2]=(f[c>>2]|0)+-1;if((d|0)!=0&r>>>0>3){n=r;do{if(!s)f[c>>2]=(f[c>>2]|0)+-1;n=n+-1|0}while(n>>>0>3)}}j=+$($(p|0)*$(C))}while(0);return +j}function Oc(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,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;b=u;u=u+16|0;c=b+4|0;d=b;e=f[a+64>>2]|0;if(!e){u=b;return}g=La[f[(f[e>>2]|0)+32>>2]&127](e)|0;if(!g){u=b;return}e=g+24|0;h=g+28|0;i=((f[h>>2]|0)-(f[e>>2]|0)>>2)-(f[g+44>>2]|0)|0;j=a+56|0;k=f[j>>2]|0;if(((f[k+12>>2]|0)-(f[k+8>>2]|0)|0)>4){f[c>>2]=0;l=c+4|0;f[l>>2]=0;f[c+8>>2]=0;m=c+8|0;n=k;k=0;while(1){if(!(f[(f[(f[n+8>>2]|0)+(k<<2)>>2]|0)+56>>2]|0))o=n;else{p=Ma[f[(f[a>>2]|0)+56>>2]&127](a,k)|0;f[d>>2]=p;q=p;do if(p|0){r=f[l>>2]|0;if((r|0)==(f[m>>2]|0)){Ti(c,d);break}else{f[r>>2]=q;f[l>>2]=(f[l>>2]|0)+4;break}}while(0);o=f[j>>2]|0}k=k+1|0;if((k|0)>=((f[o+12>>2]|0)-(f[o+8>>2]|0)>>2|0))break;else n=o}n=f[h>>2]|0;h=f[e>>2]|0;e=h;if((n|0)==(h|0)){s=f[c>>2]|0;t=i}else{k=n-h>>2;h=g+12|0;g=f[l>>2]|0;n=f[c>>2]|0;c=(g|0)==(n|0);j=n;d=g-n>>2;n=o+96|0;o=i;g=0;while(1){m=f[e+(g<<2)>>2]|0;if((m|0)==-1)v=o;else{q=f[n>>2]|0;p=f[q+(((m|0)/3|0)*12|0)+(((m|0)%3|0)<<2)>>2]|0;r=(((m>>>0)%3|0|0)==0?2:-1)+m|0;a:do if(((r|0)!=-1?(w=f[(f[h>>2]|0)+(r<<2)>>2]|0,(w|0)!=-1):0)?(x=w+(((w>>>0)%3|0|0)==0?2:-1)|0,(x|0)!=-1):0){if(c){w=x;y=p;z=0;while(1){A=y;y=f[q+(((w|0)/3|0)*12|0)+(((w|0)%3|0)<<2)>>2]|0;B=z+((y|0)!=(A|0)&1)|0;if((w|0)==(m|0)){C=B;break a}A=(((w>>>0)%3|0|0)==0?2:-1)+w|0;if((A|0)==-1){C=B;break a}D=f[(f[h>>2]|0)+(A<<2)>>2]|0;if((D|0)==-1){C=B;break a}w=D+(((D>>>0)%3|0|0)==0?2:-1)|0;if((w|0)==-1){C=B;break a}else z=B}}else{E=x;F=m;G=p;H=0}while(1){z=f[q+(((E|0)/3|0)*12|0)+(((E|0)%3|0)<<2)>>2]|0;b:do if((z|0)==(G|0)){w=0;while(1){y=f[(f[j+(w<<2)>>2]|0)+28>>2]|0;w=w+1|0;if((f[y+(E<<2)>>2]|0)!=(f[y+(F<<2)>>2]|0)){I=G;J=28;break b}if(w>>>0>=d>>>0){K=H;L=G;break}}}else{I=z;J=28}while(0);if((J|0)==28){J=0;K=H+1|0;L=I}if((E|0)==(m|0)){C=K;break a}z=(((E>>>0)%3|0|0)==0?2:-1)+E|0;if((z|0)==-1){C=K;break a}w=f[(f[h>>2]|0)+(z<<2)>>2]|0;if((w|0)==-1){C=K;break a}z=w+(((w>>>0)%3|0|0)==0?2:-1)|0;if((z|0)==-1){C=K;break}else{w=E;E=z;G=L;H=K;F=w}}}else C=0;while(0);m=f[e+(g<<2)>>2]|0;q=m+1|0;if(((m|0)!=-1?(p=((q>>>0)%3|0|0)==0?m+-2|0:q,(p|0)!=-1):0)?(q=f[(f[h>>2]|0)+(p<<2)>>2]|0,p=q+1|0,(q|0)!=-1):0)M=((((p>>>0)%3|0|0)==0?q+-2|0:p)|0)==-1;else M=1;v=C+o+(((C|0)!=0&(M^1))<<31>>31)|0}g=g+1|0;if(g>>>0>=k>>>0){s=j;t=v;break}else o=v}}if(s|0){v=f[l>>2]|0;if((v|0)!=(s|0))f[l>>2]=v+(~((v+-4-s|0)>>>2)<<2);pr(s)}N=t}else N=i;f[a+52>>2]=N;u=b;return}function Pc(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,q=0,r=0,s=0;i=u;u=u+32|0;j=i+4|0;k=i;l=i+16|0;m=(_(e|0)|0)^31;if((e|0)>0)if(m>>>0>17){n=0;u=i;return n|0}else o=m+1|0;else o=1;do if(g){m=tn(48)|0;f[j>>2]=m;f[j+8>>2]=-2147483600;f[j+4>>2]=33;e=m;p=16378;q=e+33|0;do{b[e>>0]=b[p>>0]|0;e=e+1|0;p=p+1|0}while((e|0)<(q|0));b[m+33>>0]=0;r=(Hh(g,j)|0)==0;if((b[j+11>>0]|0)<0)pr(f[j>>2]|0);if(!r){r=tn(48)|0;f[j>>2]=r;f[j+8>>2]=-2147483600;f[j+4>>2]=33;e=r;p=16378;q=e+33|0;do{b[e>>0]=b[p>>0]|0;e=e+1|0;p=p+1|0}while((e|0)<(q|0));b[r+33>>0]=0;p=Ok(g,j)|0;if((b[j+11>>0]|0)<0)pr(f[j>>2]|0);if((p|0)<4){s=o+-2|0;break}if((p|0)<6){s=o+-1|0;break}if((p|0)>9){s=o+2|0;break}else{s=o+((p|0)>7&1)|0;break}}else s=o}else s=o;while(0);o=(s|0)>1?s:1;s=(o|0)<18?o:18;b[l>>0]=s;o=h+16|0;g=f[o+4>>2]|0;if(!((g|0)>0|(g|0)==0&(f[o>>2]|0)>>>0>0)){f[k>>2]=f[h+4>>2];f[j>>2]=f[k>>2];Fe(h,j,l,l+1|0)|0}do switch(s&31){case 1:case 0:{n=pe(a,c,d,h)|0;u=i;return n|0}case 2:{n=oe(a,c,d,h)|0;u=i;return n|0}case 3:{n=ne(a,c,d,h)|0;u=i;return n|0}case 4:{n=me(a,c,d,h)|0;u=i;return n|0}case 5:{n=le(a,c,d,h)|0;u=i;return n|0}case 6:{n=ke(a,c,d,h)|0;u=i;return n|0}case 7:{n=je(a,c,d,h)|0;u=i;return n|0}case 8:{n=ie(a,c,d,h)|0;u=i;return n|0}case 9:{n=he(a,c,d,h)|0;u=i;return n|0}case 10:{n=ge(a,c,d,h)|0;u=i;return n|0}case 11:{n=fe(a,c,d,h)|0;u=i;return n|0}case 12:{n=ee(a,c,d,h)|0;u=i;return n|0}case 13:{n=de(a,c,d,h)|0;u=i;return n|0}case 14:{n=ce(a,c,d,h)|0;u=i;return n|0}case 15:{n=be(a,c,d,h)|0;u=i;return n|0}case 16:{n=ae(a,c,d,h)|0;u=i;return n|0}case 17:{n=$d(a,c,d,h)|0;u=i;return n|0}case 18:{n=_d(a,c,d,h)|0;u=i;return n|0}default:{n=0;u=i;return n|0}}while(0);return 0}function Qc(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,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0<k>>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*1048576.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==1048576){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;tb(z,A,g);a:do if((x|0)<1048576){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=1048576-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>1048576;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-1048576|0;p=x;while(1){v=1048576.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==1048576){C=q;D=1048576;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=1048576){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*9.5367431640625e-07)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function Rc(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,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0<k>>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*1048576.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==1048576){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;ub(z,A,g);a:do if((x|0)<1048576){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=1048576-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>1048576;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-1048576|0;p=x;while(1){v=1048576.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==1048576){C=q;D=1048576;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=1048576){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*9.5367431640625e-07)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function Sc(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,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0<k>>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*1048576.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==1048576){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;vb(z,A,g);a:do if((x|0)<1048576){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=1048576-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>1048576;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-1048576|0;p=x;while(1){v=1048576.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==1048576){C=q;D=1048576;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=1048576){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*9.5367431640625e-07)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function Tc(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,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0<k>>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*1048576.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==1048576){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;wb(z,A,g);a:do if((x|0)<1048576){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=1048576-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>1048576;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-1048576|0;p=x;while(1){v=1048576.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==1048576){C=q;D=1048576;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=1048576){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*9.5367431640625e-07)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function Uc(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,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0<k>>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*1048576.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==1048576){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;xb(z,A,g);a:do if((x|0)<1048576){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=1048576-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>1048576;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-1048576|0;p=x;while(1){v=1048576.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==1048576){C=q;D=1048576;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=1048576){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*9.5367431640625e-07)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function Vc(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,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0<k>>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*524288.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==524288){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;Bb(z,A,g);a:do if((x|0)<524288){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=524288-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>524288;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-524288|0;p=x;while(1){v=524288.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==524288){C=q;D=524288;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=524288){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*1.9073486328125e-06)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function Wc(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,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0<k>>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*262144.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==262144){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;yb(z,A,g);a:do if((x|0)<262144){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=262144-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>262144;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-262144|0;p=x;while(1){v=262144.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==262144){C=q;D=262144;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=262144){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*3.814697265625e-06)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function Xc(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,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0<k>>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*65536.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==65536){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;zb(z,A,g);a:do if((x|0)<65536){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=65536-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>65536;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-65536|0;p=x;while(1){v=65536.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==65536){C=q;D=65536;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=65536){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*.0000152587890625)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function Yc(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,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0<k>>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*32768.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==32768){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;Ab(z,A,g);a:do if((x|0)<32768){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=32768-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>32768;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-32768|0;p=x;while(1){v=32768.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==32768){C=q;D=32768;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=32768){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*.000030517578125)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function Zc(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,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0<k>>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*8192.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==8192){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;Cb(z,A,g);a:do if((x|0)<8192){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=8192-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>8192;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-8192|0;p=x;while(1){v=8192.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==8192){C=q;D=8192;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=8192){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*.0001220703125)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function _c(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,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0<k>>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*4096.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==4096){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;Db(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;p=x;while(1){v=4096.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==4096){C=q;D=4096;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*.000244140625)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function $c(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,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0<k>>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*4096.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==4096){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;Eb(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;p=x;while(1){v=4096.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==4096){C=q;D=4096;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*.000244140625)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function ad(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,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0<k>>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*4096.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==4096){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;Fb(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;p=x;while(1){v=4096.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==4096){C=q;D=4096;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*.000244140625)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function bd(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,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0<k>>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*4096.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==4096){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;Gb(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;p=x;while(1){v=4096.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==4096){C=q;D=4096;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*.000244140625)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function cd(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,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0<k>>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*4096.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==4096){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;Hb(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;p=x;while(1){v=4096.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==4096){C=q;D=4096;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*.000244140625)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function dd(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,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0<k>>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*4096.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==4096){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;Ib(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;p=x;while(1){v=4096.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==4096){C=q;D=4096;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*.000244140625)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function ed(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,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0<k>>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*4096.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==4096){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;Jb(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;p=x;while(1){v=4096.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==4096){C=q;D=4096;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*.000244140625)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function fd(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,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(k<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=go(n|0,o|0,i|0,j|0)|0;p=I;q=(n|0)==0&(o|0)==0?l:k;k=k+1|0;if((k|0)==(c|0)){r=p;s=m;t=q;break}else{i=m;j=p;l=q}}}else{r=0;s=0;t=0}l=t+1|0;f[a+12>>2]=l;j=a+4|0;i=f[j>>2]|0;c=f[a>>2]|0;k=i-c>>3;q=c;c=i;if(l>>>0<=k>>>0){if(l>>>0<k>>>0?(i=q+(l<<3)|0,(c|0)!=(i|0)):0)f[j>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else sh(a,l-k|0);v=+(s>>>0)+4294967296.0*+(r>>>0);r=(t|0)<0;if(!r){s=f[a>>2]|0;k=0;i=0;do{c=b+(k<<3)|0;j=f[c>>2]|0;q=f[c+4>>2]|0;c=~~((+(j>>>0)+4294967296.0*+(q>>>0))/v*4096.0+.5)>>>0;p=((j|0)!=0|(q|0)!=0)&(c|0)==0?1:c;f[s+(k<<3)>>2]=p;i=p+i|0;k=k+1|0}while((k|0)!=(l|0));if((i|0)==4096){if(r){w=0;u=e;return w|0}}else{x=i;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;i=h+4|0;f[i>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)Cq(h);else{k=l<<2;s=tn(k)|0;f[h>>2]=s;p=s+(l<<2)|0;f[h+8>>2]=p;pj(s|0,0,k|0)|0;f[i>>2]=p;z=s;A=p;break}else{z=0;A=0}while(0);if(!r){p=0;do{f[z+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=(l|0))}f[g>>2]=a;Kb(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[i>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((t|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;p=x;while(1){v=4096.0/+(p|0);s=z;k=t;c=p;while(1){q=A+(f[g+(k<<2)>>2]<<3)|0;j=f[q>>2]|0;if(j>>>0<2){y=27;break}m=j-~~+J(+(v*+(j>>>0)))|0;o=(m|0)==0?1:m;m=(o|0)<(j|0)?o:j+-1|0;o=(m|0)>(s|0)?s:m;f[q>>2]=j-o;j=c-o|0;q=s-o|0;if((j|0)==4096){C=q;D=4096;break}if((k|0)>1){s=q;k=k+-1|0;c=j}else{C=q;D=j;break}}if((y|0)==27){y=0;if((k|0)==(t|0)){B=1;break a}else{C=s;D=c}}if((C|0)>0){z=C;p=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[i>>2]|0;if((h|0)!=(D|0))f[i>>2]=h+(~((h+-4-D|0)>>>2)<<2);pr(D)}if((B|0)!=0|r){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(r)E=0.0;else{r=f[a>>2]|0;h=0;v=0.0;while(1){D=f[r+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+G*+Ug(+(D>>>0)*.000244140625)}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Ee(a,d)|0;u=e;return w|0}function gd(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,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;g=u;u=u+32|0;d=g+16|0;h=g+8|0;i=g;j=e>>>0>1073741823?-1:e<<2;k=mr(j)|0;pj(k|0,0,j|0)|0;j=f[a+28>>2]|0;l=a+36|0;m=f[l>>2]|0;n=f[m+4>>2]|0;o=f[m>>2]|0;p=n-o|0;a:do if((p|0)>4){q=p>>2;r=f[a+32>>2]|0;s=a+8|0;t=h+4|0;v=i+4|0;w=d+4|0;x=j+12|0;y=(e|0)>0;z=k+4|0;A=h+4|0;B=i+4|0;C=d+4|0;D=q+-1|0;if(n-o>>2>>>0>D>>>0){E=o;F=q;G=D}else{H=m;Cq(H)}while(1){D=f[E+(G<<2)>>2]|0;q=X(G,e)|0;if((D|0)!=-1?(I=f[(f[x>>2]|0)+(D<<2)>>2]|0,(I|0)!=-1):0){D=f[j>>2]|0;J=f[r>>2]|0;K=f[J+(f[D+(I<<2)>>2]<<2)>>2]|0;L=I+1|0;M=((L>>>0)%3|0|0)==0?I+-2|0:L;if((M|0)==-1)N=-1;else N=f[D+(M<<2)>>2]|0;M=f[J+(N<<2)>>2]|0;L=(((I>>>0)%3|0|0)==0?2:-1)+I|0;if((L|0)==-1)O=-1;else O=f[D+(L<<2)>>2]|0;L=f[J+(O<<2)>>2]|0;if((K|0)<(G|0)&(M|0)<(G|0)&(L|0)<(G|0)){J=X(K,e)|0;K=X(M,e)|0;M=X(L,e)|0;if(y){L=0;do{f[k+(L<<2)>>2]=(f[b+(L+M<<2)>>2]|0)+(f[b+(L+K<<2)>>2]|0)-(f[b+(L+J<<2)>>2]|0);L=L+1|0}while((L|0)!=(e|0))}L=b+(q<<2)|0;J=c+(q<<2)|0;K=f[L+4>>2]|0;M=f[k>>2]|0;D=f[z>>2]|0;f[h>>2]=f[L>>2];f[A>>2]=K;f[i>>2]=M;f[B>>2]=D;Nd(d,s,h,i);f[J>>2]=f[d>>2];f[J+4>>2]=f[C>>2]}else P=15}else P=15;if((P|0)==15){P=0;J=b+(q<<2)|0;D=b+((X(F+-2|0,e)|0)<<2)|0;M=c+(q<<2)|0;K=f[J+4>>2]|0;L=f[D>>2]|0;I=f[D+4>>2]|0;f[h>>2]=f[J>>2];f[t>>2]=K;f[i>>2]=L;f[v>>2]=I;Nd(d,s,h,i);f[M>>2]=f[d>>2];f[M+4>>2]=f[w>>2]}if((G|0)<=1)break a;M=f[l>>2]|0;E=f[M>>2]|0;I=G+-1|0;if((f[M+4>>2]|0)-E>>2>>>0<=I>>>0){H=M;break}else{M=G;G=I;F=M}}Cq(H)}while(0);if((e|0)<=0){Q=a+8|0;R=b+4|0;S=f[b>>2]|0;T=f[R>>2]|0;U=k+4|0;V=f[k>>2]|0;W=f[U>>2]|0;f[h>>2]=S;Y=h+4|0;f[Y>>2]=T;f[i>>2]=V;Z=i+4|0;f[Z>>2]=W;Nd(d,Q,h,i);_=f[d>>2]|0;f[c>>2]=_;$=d+4|0;aa=f[$>>2]|0;ba=c+4|0;f[ba>>2]=aa;nr(k);u=g;return 1}pj(k|0,0,e<<2|0)|0;Q=a+8|0;R=b+4|0;S=f[b>>2]|0;T=f[R>>2]|0;U=k+4|0;V=f[k>>2]|0;W=f[U>>2]|0;f[h>>2]=S;Y=h+4|0;f[Y>>2]=T;f[i>>2]=V;Z=i+4|0;f[Z>>2]=W;Nd(d,Q,h,i);_=f[d>>2]|0;f[c>>2]=_;$=d+4|0;aa=f[$>>2]|0;ba=c+4|0;f[ba>>2]=aa;nr(k);u=g;return 1}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,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;d=u;u=u+32|0;e=d;g=d+20|0;h=d+24|0;i=d+8|0;j=f[a>>2]|0;k=j+8|0;l=j;j=f[l>>2]|0;m=f[l+4>>2]|0;l=go(j|0,m|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=I;n=go((l|0)==0&(k|0)==0&1|0,0,l|0,k|0)|0;k=~~((+(j>>>0)+4294967296.0*+(m>>>0))/(+(n>>>0)+4294967296.0*+(I>>>0))*256.0+.5)>>>0;n=k>>>0<255?k:255;k=((n|0)==0&1)+n&255;b[h>>0]=k;n=a+12|0;m=a+16|0;j=((f[m>>2]|0)-(f[n>>2]|0)<<1)+64|0;f[i>>2]=0;l=i+4|0;f[l>>2]=0;f[i+8>>2]=0;if(!j)o=0;else{if((j|0)<0)Cq(i);p=tn(j)|0;f[l>>2]=p;f[i>>2]=p;f[i+8>>2]=p+j;q=p;p=j;do{b[q>>0]=0;q=(f[l>>2]|0)+1|0;f[l>>2]=q;p=p+-1|0}while((p|0)!=0);o=f[i>>2]|0}p=a+28|0;q=(f[p>>2]|0)+-1|0;a:do if((q|0)>-1){j=a+24|0;r=k;s=0;t=4096;v=q;while(1){w=256-(r&255)|0;x=(f[j>>2]&1<<v|0)!=0;y=(x?w&255:r)&255;if(t>>>0<y<<12>>>0){z=t;A=s}else{b[o+s>>0]=t;z=t>>>8;A=s+1|0}En(f[4248+(y<<3)>>2]|0,0,z|0,0)|0;B=z+(x?0:w&255)+(X((I+z|0)>>>(f[4248+(y<<3)+4>>2]|0),256-y|0)|0)|0;y=v+-1|0;if((y|0)<=-1){C=A;D=B;break a}r=b[h>>0]|0;s=A;t=B;v=y}}else{C=0;D=4096}while(0);A=f[m>>2]|0;if((A|0)==(f[n>>2]|0)){E=C;F=D}else{z=A;A=C;C=D;while(1){z=z+-4|0;D=f[z>>2]|0;q=A;k=C;v=31;while(1){t=b[h>>0]|0;s=256-(t&255)|0;r=(1<<v&D|0)!=0;j=(r?s&255:t)&255;if(k>>>0<j<<12>>>0){G=k;H=q}else{b[o+q>>0]=k;G=k>>>8;H=q+1|0}En(f[4248+(j<<3)>>2]|0,0,G|0,0)|0;k=G+(r?0:s&255)+(X((I+G|0)>>>(f[4248+(j<<3)+4>>2]|0),256-j|0)|0)|0;if((v|0)<=0)break;else{q=H;v=v+-1|0}}if((z|0)==(f[n>>2]|0)){E=H;F=k;break}else{A=H;C=k}}}C=F+-4096|0;do if(C>>>0>=64){if(C>>>0<16384){H=o+E|0;A=F+12288|0;b[H>>0]=A;J=2;K=H+1|0;L=A>>>8;M=20;break}if(C>>>0<4194304){A=o+E|0;H=F+8384512|0;b[A>>0]=H;b[A+1>>0]=H>>>8;J=3;K=A+2|0;L=H>>>16;M=20}else N=E}else{J=1;K=o+E|0;L=C;M=20}while(0);if((M|0)==20){b[K>>0]=L;N=J+E|0}E=c+16|0;J=E;L=f[J+4>>2]|0;if(!((L|0)>0|(L|0)==0&(f[J>>2]|0)>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Fe(c,e,h,h+1|0)|0}ai(N,c)|0;h=f[i>>2]|0;J=E;E=f[J+4>>2]|0;if(!((E|0)>0|(E|0)==0&(f[J>>2]|0)>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Fe(c,e,h,h+N|0)|0}N=e;f[N>>2]=0;f[N+4>>2]=0;nf(a,2,e);e=f[a+12>>2]|0;N=f[m>>2]|0;if((N|0)!=(e|0))f[m>>2]=N+(~((N+-4-e|0)>>>2)<<2);f[a+24>>2]=0;f[p>>2]=0;p=f[i>>2]|0;if(!p){u=d;return}if((f[l>>2]|0)!=(p|0))f[l>>2]=p;pr(p);u=d;return}function id(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;c=u;u=u+16|0;b=c+8|0;d=c+4|0;e=c;g=a+64|0;h=f[g>>2]|0;if((f[h+28>>2]|0)==(f[h+24>>2]|0)){u=c;return}i=a+52|0;j=a+56|0;k=a+60|0;l=a+12|0;m=a+28|0;n=a+40|0;o=a+44|0;p=a+48|0;q=h;h=0;r=0;while(1){s=f[(f[q+24>>2]|0)+(r<<2)>>2]|0;if((s|0)==-1){t=q;v=h}else{w=h+1|0;f[b>>2]=h;x=f[j>>2]|0;if((x|0)==(f[k>>2]|0))Ti(i,b);else{f[x>>2]=h;f[j>>2]=x+4}f[d>>2]=s;f[e>>2]=0;a:do if(!(f[(f[l>>2]|0)+(r>>>5<<2)>>2]&1<<(r&31)))y=s;else{x=s+1|0;z=((x>>>0)%3|0|0)==0?s+-2|0:x;if(((z|0)!=-1?(f[(f[a>>2]|0)+(z>>>5<<2)>>2]&1<<(z&31)|0)==0:0)?(x=f[(f[(f[g>>2]|0)+12>>2]|0)+(z<<2)>>2]|0,z=x+1|0,(x|0)!=-1):0){A=((z>>>0)%3|0|0)==0?x+-2|0:z;f[e>>2]=A;if((A|0)==-1){y=s;break}else B=A;while(1){f[d>>2]=B;A=B+1|0;z=((A>>>0)%3|0|0)==0?B+-2|0:A;if((z|0)==-1)break;if(f[(f[a>>2]|0)+(z>>>5<<2)>>2]&1<<(z&31)|0)break;A=f[(f[(f[g>>2]|0)+12>>2]|0)+(z<<2)>>2]|0;z=A+1|0;if((A|0)==-1)break;x=((z>>>0)%3|0|0)==0?A+-2|0:z;f[e>>2]=x;if((x|0)==-1){y=B;break a}else B=x}f[e>>2]=-1;y=B;break}f[e>>2]=-1;y=s}while(0);f[(f[m>>2]|0)+(y<<2)>>2]=f[b>>2];s=f[o>>2]|0;if((s|0)==(f[p>>2]|0))Ti(n,d);else{f[s>>2]=f[d>>2];f[o>>2]=s+4}s=f[g>>2]|0;x=f[d>>2]|0;b:do if(((x|0)!=-1?(z=(((x>>>0)%3|0|0)==0?2:-1)+x|0,(z|0)!=-1):0)?(A=f[(f[s+12>>2]|0)+(z<<2)>>2]|0,(A|0)!=-1):0){z=A+(((A>>>0)%3|0|0)==0?2:-1)|0;f[e>>2]=z;if((z|0)!=-1&(z|0)!=(x|0)){A=w;C=z;while(1){z=C+1|0;D=((z>>>0)%3|0|0)==0?C+-2|0:z;do if(f[(f[a>>2]|0)+(D>>>5<<2)>>2]&1<<(D&31)){z=A+1|0;f[b>>2]=A;E=f[j>>2]|0;if((E|0)==(f[k>>2]|0))Ti(i,b);else{f[E>>2]=A;f[j>>2]=E+4}E=f[o>>2]|0;if((E|0)==(f[p>>2]|0)){Ti(n,e);F=z;break}else{f[E>>2]=f[e>>2];f[o>>2]=E+4;F=z;break}}else F=A;while(0);f[(f[m>>2]|0)+(f[e>>2]<<2)>>2]=f[b>>2];G=f[g>>2]|0;D=f[e>>2]|0;if((D|0)==-1)break;z=(((D>>>0)%3|0|0)==0?2:-1)+D|0;if((z|0)==-1)break;D=f[(f[G+12>>2]|0)+(z<<2)>>2]|0;if((D|0)==-1)break;C=D+(((D>>>0)%3|0|0)==0?2:-1)|0;f[e>>2]=C;if(!((C|0)!=-1?(C|0)!=(f[d>>2]|0):0)){H=G;I=F;break b}else A=F}f[e>>2]=-1;H=G;I=F}else{H=s;I=w}}else J=26;while(0);if((J|0)==26){J=0;f[e>>2]=-1;H=s;I=w}t=H;v=I}r=r+1|0;if(r>>>0>=(f[t+28>>2]|0)-(f[t+24>>2]|0)>>2>>>0)break;else{q=t;h=v}}u=c;return}function jd(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;c=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;h=a+124|0;f[h>>2]=(f[h>>2]|0)+1;h=a+88|0;i=a+120|0;j=f[i>>2]|0;k=j+1|0;do if((j|0)!=-1){l=((k>>>0)%3|0|0)==0?j+-2|0:k;if(!((j>>>0)%3|0)){m=l;n=j+2|0;break}else{m=l;n=j+-1|0;break}}else{m=-1;n=-1}while(0);k=a+104|0;l=a+92|0;o=f[l>>2]|0;p=o+(m<<2)|0;q=f[k>>2]|0;r=q+(f[p>>2]<<2)|0;s=f[r>>2]|0;switch(b|0){case 1:case 0:{f[r>>2]=s+-1;r=q+(f[o+(n<<2)>>2]<<2)|0;f[r>>2]=(f[r>>2]|0)+-1;if((b|0)==1){if((n|0)!=-1?(r=f[(f[(f[h>>2]|0)+12>>2]|0)+(n<<2)>>2]|0,(r|0)!=-1):0){t=a+64|0;v=r;r=1;while(1){w=f[t>>2]|0;x=f[(f[w>>2]|0)+36>>2]|0;f[e>>2]=(v>>>0)/3|0;f[d>>2]=f[e>>2];if(Ma[x&127](w,d)|0){y=r;break}w=v+1|0;x=((w>>>0)%3|0|0)==0?v+-2|0:w;if((x|0)==-1){z=12;break}v=f[(f[(f[h>>2]|0)+12>>2]|0)+(x<<2)>>2]|0;x=r+1|0;if((v|0)==-1){y=x;break}else r=x}if((z|0)==12)y=r+1|0;A=f[k>>2]|0;B=f[l>>2]|0;C=y}else{A=q;B=o;C=1}f[A+(f[B+(f[i>>2]<<2)>>2]<<2)>>2]=C;C=a+108|0;i=f[C>>2]|0;B=i-A>>2;A=i;if((m|0)!=-1?(i=f[(f[(f[h>>2]|0)+12>>2]|0)+(m<<2)>>2]|0,(i|0)!=-1):0){m=a+64|0;y=i;i=1;while(1){r=f[m>>2]|0;v=f[(f[r>>2]|0)+36>>2]|0;f[g>>2]=(y>>>0)/3|0;f[d>>2]=f[g>>2];if(Ma[v&127](r,d)|0){D=i;break}r=y+1|0;f[(f[l>>2]|0)+((((r>>>0)%3|0|0)==0?y+-2|0:r)<<2)>>2]=B;r=(((y>>>0)%3|0|0)==0?2:-1)+y|0;if((r|0)==-1){z=20;break}y=f[(f[(f[h>>2]|0)+12>>2]|0)+(r<<2)>>2]|0;r=i+1|0;if((y|0)==-1){D=r;break}else i=r}if((z|0)==20)D=i+1|0;E=f[C>>2]|0;F=D}else{E=A;F=1}f[d>>2]=F;if(E>>>0<(f[a+112>>2]|0)>>>0){f[E>>2]=F;f[C>>2]=E+4}else Ti(k,d)}break}case 5:{k=q+(f[o+(j<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-1;k=q+(f[p>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-1;k=q+(f[o+(n<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-2;break}case 3:{k=q+(f[o+(j<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-1;k=q+(f[p>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-2;k=q+(f[o+(n<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-1;break}case 7:{k=q+(f[o+(j<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-2;k=q+(f[p>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-2;k=q+(f[o+(n<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-2;break}default:{}}k=a+116|0;n=f[k>>2]|0;if((n|0)==-1){f[k>>2]=b;u=c;return}o=f[a+128>>2]|0;if((s|0)<(o|0))G=o;else{q=f[a+132>>2]|0;G=(s|0)>(q|0)?q:s}s=G-o|0;o=f[a+136>>2]|0;a=f[3852+(n<<2)>>2]|0;f[d>>2]=a;n=o+(s*12|0)+4|0;G=f[n>>2]|0;if(G>>>0<(f[o+(s*12|0)+8>>2]|0)>>>0){f[G>>2]=a;f[n>>2]=G+4}else Ti(o+(s*12|0)|0,d);f[k>>2]=b;u=c;return}function kd(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,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0;g=u;u=u+32|0;d=g+16|0;h=g+8|0;i=g;j=e>>>0>1073741823?-1:e<<2;k=mr(j)|0;pj(k|0,0,j|0)|0;j=f[a+28>>2]|0;l=a+36|0;m=f[l>>2]|0;n=f[m+4>>2]|0;o=f[m>>2]|0;p=n-o|0;a:do if((p|0)>4){q=p>>2;r=f[a+32>>2]|0;s=a+8|0;t=h+4|0;v=i+4|0;w=d+4|0;x=j+64|0;y=j+28|0;z=(e|0)>0;A=k+4|0;B=h+4|0;C=i+4|0;D=d+4|0;E=q+-1|0;if(n-o>>2>>>0>E>>>0){F=o;G=q;H=E}else{I=m;Cq(I)}while(1){E=f[F+(H<<2)>>2]|0;q=X(H,e)|0;if((((E|0)!=-1?(f[(f[j>>2]|0)+(E>>>5<<2)>>2]&1<<(E&31)|0)==0:0)?(J=f[(f[(f[x>>2]|0)+12>>2]|0)+(E<<2)>>2]|0,(J|0)!=-1):0)?(E=f[y>>2]|0,K=f[r>>2]|0,L=f[K+(f[E+(J<<2)>>2]<<2)>>2]|0,M=J+1|0,N=f[K+(f[E+((((M>>>0)%3|0|0)==0?J+-2|0:M)<<2)>>2]<<2)>>2]|0,M=f[K+(f[E+((((J>>>0)%3|0|0)==0?2:-1)+J<<2)>>2]<<2)>>2]|0,(L|0)<(H|0)&(N|0)<(H|0)&(M|0)<(H|0)):0){J=X(L,e)|0;L=X(N,e)|0;N=X(M,e)|0;if(z){M=0;do{f[k+(M<<2)>>2]=(f[b+(M+N<<2)>>2]|0)+(f[b+(M+L<<2)>>2]|0)-(f[b+(M+J<<2)>>2]|0);M=M+1|0}while((M|0)!=(e|0))}M=b+(q<<2)|0;J=c+(q<<2)|0;L=f[M+4>>2]|0;N=f[k>>2]|0;E=f[A>>2]|0;f[h>>2]=f[M>>2];f[B>>2]=L;f[i>>2]=N;f[C>>2]=E;Nd(d,s,h,i);f[J>>2]=f[d>>2];f[J+4>>2]=f[D>>2]}else{J=b+(q<<2)|0;E=b+((X(G+-2|0,e)|0)<<2)|0;N=c+(q<<2)|0;L=f[J+4>>2]|0;M=f[E>>2]|0;K=f[E+4>>2]|0;f[h>>2]=f[J>>2];f[t>>2]=L;f[i>>2]=M;f[v>>2]=K;Nd(d,s,h,i);f[N>>2]=f[d>>2];f[N+4>>2]=f[w>>2]}if((H|0)<=1)break a;N=f[l>>2]|0;F=f[N>>2]|0;K=H+-1|0;if((f[N+4>>2]|0)-F>>2>>>0<=K>>>0){I=N;break}else{N=H;H=K;G=N}}Cq(I)}while(0);if((e|0)<=0){O=a+8|0;P=b+4|0;Q=f[b>>2]|0;R=f[P>>2]|0;S=k+4|0;T=f[k>>2]|0;U=f[S>>2]|0;f[h>>2]=Q;V=h+4|0;f[V>>2]=R;f[i>>2]=T;W=i+4|0;f[W>>2]=U;Nd(d,O,h,i);Y=f[d>>2]|0;f[c>>2]=Y;Z=d+4|0;_=f[Z>>2]|0;$=c+4|0;f[$>>2]=_;nr(k);u=g;return 1}pj(k|0,0,e<<2|0)|0;O=a+8|0;P=b+4|0;Q=f[b>>2]|0;R=f[P>>2]|0;S=k+4|0;T=f[k>>2]|0;U=f[S>>2]|0;f[h>>2]=Q;V=h+4|0;f[V>>2]=R;f[i>>2]=T;W=i+4|0;f[W>>2]=U;Nd(d,O,h,i);Y=f[d>>2]|0;f[c>>2]=Y;Z=d+4|0;_=f[Z>>2]|0;$=c+4|0;f[$>>2]=_;nr(k);u=g;return 1}function ld(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;var i=0;switch(c|0){case 1:{c=tn(60)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+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];ik(c+32|0,e+24|0);h=c+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[c>>2]=2140;i=c;f[a>>2]=i;return}case 2:{c=tn(60)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+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];ik(c+32|0,e+24|0);h=c+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[c>>2]=2196;i=c;f[a>>2]=i;return}case 4:{c=tn(168)|0;Oi(c,d,e,g);i=c;f[a>>2]=i;return}case 3:{c=tn(88)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+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];ik(c+32|0,e+24|0);h=c+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[c>>2]=2252;h=c+60|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;i=c;f[a>>2]=i;return}case 5:{c=tn(104)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+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];ik(c+32|0,e+24|0);h=c+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[c>>2]=2308;f[c+60>>2]=0;f[c+64>>2]=0;f[c+76>>2]=0;f[c+80>>2]=0;f[c+84>>2]=0;h=c+88|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];i=c;f[a>>2]=i;return}case 6:{c=tn(140)|0;f[c>>2]=1608;f[c+4>>2]=d;d=c+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];ik(c+32|0,e+24|0);e=c+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[c>>2]=2364;f[c+64>>2]=0;f[c+68>>2]=0;e=c+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[c+60>>2]=2420;f[c+88>>2]=1;g=c+92|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;Gn(c+108|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function md(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;var i=0;switch(c|0){case 1:{c=tn(60)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+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];ik(c+32|0,e+24|0);h=c+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[c>>2]=1720;i=c;f[a>>2]=i;return}case 2:{c=tn(60)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+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];ik(c+32|0,e+24|0);h=c+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[c>>2]=1776;i=c;f[a>>2]=i;return}case 4:{c=tn(168)|0;Qi(c,d,e,g);i=c;f[a>>2]=i;return}case 3:{c=tn(88)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+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];ik(c+32|0,e+24|0);h=c+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[c>>2]=1832;h=c+60|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;i=c;f[a>>2]=i;return}case 5:{c=tn(104)|0;f[c>>2]=1608;f[c+4>>2]=d;h=c+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];ik(c+32|0,e+24|0);h=c+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[c>>2]=1888;f[c+60>>2]=0;f[c+64>>2]=0;f[c+76>>2]=0;f[c+80>>2]=0;f[c+84>>2]=0;h=c+88|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];i=c;f[a>>2]=i;return}case 6:{c=tn(140)|0;f[c>>2]=1608;f[c+4>>2]=d;d=c+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];ik(c+32|0,e+24|0);e=c+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[c>>2]=1944;f[c+64>>2]=0;f[c+68>>2]=0;e=c+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[c+60>>2]=2e3;f[c+88>>2]=1;g=c+92|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;Gn(c+108|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function nd(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,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;c=a+4|0;if(!b){e=f[a>>2]|0;f[a>>2]=0;if(e|0)pr(e);f[c>>2]=0;return}if(b>>>0>1073741823){e=ra(8)|0;jp(e,16426);f[e>>2]=7416;va(e|0,1160,122)}e=tn(b<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)pr(g);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;g=f[c>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=b+-1|0;i=(h&b|0)==0;if(!i)if(e>>>0<b>>>0)j=e;else j=(e>>>0)%(b>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=c;c=f[g>>2]|0;if(!c)return;else{k=g;l=c;m=j;n=g}a:while(1){g=k;j=l;c=n;b:while(1){c:do if(i){e=j;while(1){o=f[e+4>>2]&h;if((o|0)==(m|0)){p=e;break c}q=(f[a>>2]|0)+(o<<2)|0;if(!(f[q>>2]|0)){r=e;s=q;t=o;break b}q=e+8|0;u=q+2|0;v=e+12|0;w=q+6|0;x=f[e>>2]|0;d:do if(!x)y=e;else{z=d[q>>1]|0;A=x;B=e;while(1){C=A+8|0;if(z<<16>>16!=(d[C>>1]|0)){y=B;break d}if((d[u>>1]|0)!=(d[C+2>>1]|0)){y=B;break d}if((d[v>>1]|0)!=(d[A+12>>1]|0)){y=B;break d}if((d[w>>1]|0)!=(d[C+6>>1]|0)){y=B;break d}C=f[A>>2]|0;if(!C){y=A;break}else{D=A;A=C;B=D}}}while(0);f[c>>2]=f[y>>2];f[y>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){E=43;break a}}}else{e=j;while(1){w=f[e+4>>2]|0;if(w>>>0<b>>>0)F=w;else F=(w>>>0)%(b>>>0)|0;if((F|0)==(m|0)){p=e;break c}w=(f[a>>2]|0)+(F<<2)|0;if(!(f[w>>2]|0)){r=e;s=w;t=F;break b}w=e+8|0;v=w+2|0;u=e+12|0;x=w+6|0;q=f[e>>2]|0;e:do if(!q)G=e;else{B=d[w>>1]|0;A=q;z=e;while(1){D=A+8|0;if(B<<16>>16!=(d[D>>1]|0)){G=z;break e}if((d[v>>1]|0)!=(d[D+2>>1]|0)){G=z;break e}if((d[u>>1]|0)!=(d[A+12>>1]|0)){G=z;break e}if((d[x>>1]|0)!=(d[D+6>>1]|0)){G=z;break e}D=f[A>>2]|0;if(!D){G=A;break}else{C=A;A=D;z=C}}}while(0);f[c>>2]=f[G>>2];f[G>>2]=f[f[(f[a>>2]|0)+(F<<2)>>2]>>2];f[f[(f[a>>2]|0)+(F<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){E=43;break a}}}while(0);j=f[p>>2]|0;if(!j){E=43;break a}else{g=p;c=p}}f[s>>2]=c;l=f[r>>2]|0;if(!l){E=43;break}else{k=r;m=t;n=r}}if((E|0)==43)return}function od(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,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)pr(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;jp(e,16426);f[e>>2]=7416;va(e|0,1160,122)}e=tn(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)pr(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0<c>>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{k=g;l=d;m=j;n=g}a:while(1){g=k;j=l;d=n;b:while(1){c:do if(i){e=j;while(1){o=f[e+4>>2]&h;if((o|0)==(m|0)){p=e;break c}q=(f[a>>2]|0)+(o<<2)|0;if(!(f[q>>2]|0)){r=e;s=q;t=o;break b}q=e+8|0;u=q+1|0;v=q+2|0;w=q+3|0;x=f[e>>2]|0;d:do if(!x)y=e;else{z=b[q>>0]|0;A=x;B=e;while(1){C=A+8|0;if(z<<24>>24!=(b[C>>0]|0)){y=B;break d}if((b[u>>0]|0)!=(b[C+1>>0]|0)){y=B;break d}if((b[v>>0]|0)!=(b[C+2>>0]|0)){y=B;break d}if((b[w>>0]|0)!=(b[C+3>>0]|0)){y=B;break d}C=f[A>>2]|0;if(!C){y=A;break}else{D=A;A=C;B=D}}}while(0);f[d>>2]=f[y>>2];f[y>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){E=43;break a}}}else{e=j;while(1){w=f[e+4>>2]|0;if(w>>>0<c>>>0)F=w;else F=(w>>>0)%(c>>>0)|0;if((F|0)==(m|0)){p=e;break c}w=(f[a>>2]|0)+(F<<2)|0;if(!(f[w>>2]|0)){r=e;s=w;t=F;break b}w=e+8|0;v=w+1|0;u=w+2|0;x=w+3|0;q=f[e>>2]|0;e:do if(!q)G=e;else{B=b[w>>0]|0;A=q;z=e;while(1){D=A+8|0;if(B<<24>>24!=(b[D>>0]|0)){G=z;break e}if((b[v>>0]|0)!=(b[D+1>>0]|0)){G=z;break e}if((b[u>>0]|0)!=(b[D+2>>0]|0)){G=z;break e}if((b[x>>0]|0)!=(b[D+3>>0]|0)){G=z;break e}D=f[A>>2]|0;if(!D){G=A;break}else{C=A;A=D;z=C}}}while(0);f[d>>2]=f[G>>2];f[G>>2]=f[f[(f[a>>2]|0)+(F<<2)>>2]>>2];f[f[(f[a>>2]|0)+(F<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){E=43;break a}}}while(0);j=f[p>>2]|0;if(!j){E=43;break a}else{g=p;d=p}}f[s>>2]=d;l=f[r>>2]|0;if(!l){E=43;break}else{k=r;m=t;n=r}}if((E|0)==43)return}function pd(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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;c=a+4|0;if(!b){d=f[a>>2]|0;f[a>>2]=0;if(d|0)pr(d);f[c>>2]=0;return}if(b>>>0>1073741823){d=ra(8)|0;jp(d,16426);f[d>>2]=7416;va(d|0,1160,122)}d=tn(b<<2)|0;e=f[a>>2]|0;f[a>>2]=d;if(e|0)pr(e);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;e=f[c>>2]|0;if(!e)return;d=f[e+4>>2]|0;g=b+-1|0;h=(g&b|0)==0;if(!h)if(d>>>0<b>>>0)i=d;else i=(d>>>0)%(b>>>0)|0;else i=d&g;f[(f[a>>2]|0)+(i<<2)>>2]=c;c=f[e>>2]|0;if(!c)return;else{j=e;k=c;l=i;m=e}a:while(1){e=j;i=k;c=m;b:while(1){c:do if(h){d=i;while(1){n=f[d+4>>2]&g;if((n|0)==(l|0)){o=d;break c}p=(f[a>>2]|0)+(n<<2)|0;if(!(f[p>>2]|0)){q=d;r=p;s=n;break b}p=d+12|0;t=d+16|0;u=d+20|0;v=f[d>>2]|0;d:do if(!v)w=d;else{x=f[d+8>>2]|0;y=v;z=d;while(1){if((x|0)!=(f[y+8>>2]|0)){w=z;break d}if((f[p>>2]|0)!=(f[y+12>>2]|0)){w=z;break d}if((f[t>>2]|0)!=(f[y+16>>2]|0)){w=z;break d}if((f[u>>2]|0)!=(f[y+20>>2]|0)){w=z;break d}A=f[y>>2]|0;if(!A){w=y;break}else{B=y;y=A;z=B}}}while(0);f[c>>2]=f[w>>2];f[w>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;d=f[e>>2]|0;if(!d){C=43;break a}}}else{d=i;while(1){u=f[d+4>>2]|0;if(u>>>0<b>>>0)D=u;else D=(u>>>0)%(b>>>0)|0;if((D|0)==(l|0)){o=d;break c}u=(f[a>>2]|0)+(D<<2)|0;if(!(f[u>>2]|0)){q=d;r=u;s=D;break b}u=d+12|0;t=d+16|0;p=d+20|0;v=f[d>>2]|0;e:do if(!v)E=d;else{z=f[d+8>>2]|0;y=v;x=d;while(1){if((z|0)!=(f[y+8>>2]|0)){E=x;break e}if((f[u>>2]|0)!=(f[y+12>>2]|0)){E=x;break e}if((f[t>>2]|0)!=(f[y+16>>2]|0)){E=x;break e}if((f[p>>2]|0)!=(f[y+20>>2]|0)){E=x;break e}B=f[y>>2]|0;if(!B){E=y;break}else{A=y;y=B;x=A}}}while(0);f[c>>2]=f[E>>2];f[E>>2]=f[f[(f[a>>2]|0)+(D<<2)>>2]>>2];f[f[(f[a>>2]|0)+(D<<2)>>2]>>2]=d;d=f[e>>2]|0;if(!d){C=43;break a}}}while(0);i=f[o>>2]|0;if(!i){C=43;break a}else{e=o;c=o}}f[r>>2]=c;k=f[q>>2]|0;if(!k){C=43;break}else{j=q;l=s;m=q}}if((C|0)==43)return}function qd(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,K=0,L=0,M=0,N=0;i=u;u=u+352|0;j=i+340|0;k=i+336|0;l=i+80|0;m=i+48|0;n=i;pj(l|0,0,256)|0;o=f[e+4>>2]|0;p=f[e>>2]|0;q=p;if((o|0)!=(p|0)){r=o-p>>2;p=0;do{o=l+(f[q+(p<<2)>>2]<<3)|0;s=o;t=go(f[s>>2]|0,f[s+4>>2]|0,1,0)|0;s=o;f[s>>2]=t;f[s+4>>2]=I;p=p+1|0}while(p>>>0<r>>>0)}Rn(m);r=eo(c|0,((c|0)<0)<<31>>31|0,5)|0;p=I;q=n+40|0;s=q;f[s>>2]=0;f[s+4>>2]=0;s=n;t=s+36|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(t|0));bd(n,l,32,g)|0;l=n+16|0;s=eo(f[l>>2]|0,f[l+4>>2]|0,1)|0;l=g+4|0;t=(f[l>>2]|0)-(f[g>>2]|0)|0;o=q;f[o>>2]=t;f[o+4>>2]=0;o=go(s|0,I|0,39,0)|0;s=jo(o|0,I|0,3)|0;o=go(s|0,I|0,8,0)|0;s=go(o|0,I|0,t|0,0)|0;Gl(g,s,I);s=n+24|0;f[s>>2]=(f[g>>2]|0)+(f[q>>2]|0);q=n+28|0;f[q>>2]=0;t=n+32|0;f[t>>2]=16384;wi(m,r,p,0)|0;p=c-d|0;if((p|0)>-1){c=(d|0)>0;r=m+16|0;o=m+12|0;v=p;do{w=f[e>>2]|0;x=f[w+(((v|0)/(d|0)|0)<<2)>>2]|0;y=f[n>>2]|0;z=f[y+(x<<3)>>2]|0;A=f[t>>2]|0;B=z<<10;if(A>>>0<B>>>0){C=A;D=w}else{w=A;do{A=f[s>>2]|0;E=f[q>>2]|0;f[q>>2]=E+1;b[A+E>>0]=w;w=(f[t>>2]|0)>>>8;f[t>>2]=w}while(w>>>0>=B>>>0);C=w;D=f[e>>2]|0}f[t>>2]=(((C>>>0)/(z>>>0)|0)<<12)+((C>>>0)%(z>>>0)|0)+(f[y+(x<<3)+4>>2]|0);B=p-v|0;E=f[D+(((B|0)/(d|0)|0)<<2)>>2]|0;if(c&(E|0)>0){A=0;do{F=f[a+(A+B<<2)>>2]|0;G=r;H=f[G+4>>2]|0;if((H|0)>0|(H|0)==0&(f[G>>2]|0)>>>0>0){G=f[o>>2]|0;H=G+4|0;J=f[H>>2]|0;K=0;do{L=J>>>3;M=J&7;N=(f[G>>2]|0)+L|0;b[N>>0]=(h[N>>0]|0)&(1<<M^255);N=(f[G>>2]|0)+L|0;b[N>>0]=h[N>>0]|0|(F>>>K&1)<<M;J=(f[H>>2]|0)+1|0;f[H>>2]=J;K=K+1|0}while((K|0)!=(E|0))}A=A+1|0}while((A|0)!=(d|0))}v=v-d|0}while((v|0)>-1)}Lf(n,g);eg(m);v=f[m>>2]|0;d=m+4|0;o=g+16|0;r=f[o+4>>2]|0;if(!((r|0)>0|(r|0)==0&(f[o>>2]|0)>>>0>0)){o=(f[d>>2]|0)-v|0;f[k>>2]=f[l>>2];f[j>>2]=f[k>>2];Fe(g,j,v,v+o|0)|0}o=f[n>>2]|0;if(o|0){v=n+4|0;n=f[v>>2]|0;if((n|0)!=(o|0))f[v>>2]=n+(~((n+-8-o|0)>>>3)<<3);pr(o)}o=m+12|0;n=f[o>>2]|0;f[o>>2]=0;if(n|0)pr(n);n=f[m>>2]|0;if(!n){u=i;return 1}if((f[d>>2]|0)!=(n|0))f[d>>2]=n;pr(n);u=i;return 1}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,r=0,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;c=a+4|0;if(!b){e=f[a>>2]|0;f[a>>2]=0;if(e|0)pr(e);f[c>>2]=0;return}if(b>>>0>1073741823){e=ra(8)|0;jp(e,16426);f[e>>2]=7416;va(e|0,1160,122)}e=tn(b<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)pr(g);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;g=f[c>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=b+-1|0;i=(h&b|0)==0;if(!i)if(e>>>0<b>>>0)j=e;else j=(e>>>0)%(b>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=c;c=f[g>>2]|0;if(!c)return;else{k=g;l=c;m=j;n=g}a:while(1){g=k;j=l;c=n;b:while(1){c:do if(i){e=j;while(1){o=f[e+4>>2]&h;if((o|0)==(m|0)){p=e;break c}q=(f[a>>2]|0)+(o<<2)|0;if(!(f[q>>2]|0)){r=e;s=q;t=o;break b}q=e+8|0;u=e+12|0;v=f[e>>2]|0;d:do if(!v)w=e;else{x=d[q>>1]|0;y=q+2|0;z=v;A=e;while(1){B=z+8|0;if(x<<16>>16!=(d[B>>1]|0)){w=A;break d}if((d[y>>1]|0)!=(d[B+2>>1]|0)){w=A;break d}if((d[u>>1]|0)!=(d[z+12>>1]|0)){w=A;break d}B=f[z>>2]|0;if(!B){w=z;break}else{C=z;z=B;A=C}}}while(0);f[c>>2]=f[w>>2];f[w>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){D=41;break a}}}else{e=j;while(1){u=f[e+4>>2]|0;if(u>>>0<b>>>0)E=u;else E=(u>>>0)%(b>>>0)|0;if((E|0)==(m|0)){p=e;break c}u=(f[a>>2]|0)+(E<<2)|0;if(!(f[u>>2]|0)){r=e;s=u;t=E;break b}u=e+8|0;v=e+12|0;q=f[e>>2]|0;e:do if(!q)F=e;else{A=d[u>>1]|0;z=u+2|0;y=q;x=e;while(1){C=y+8|0;if(A<<16>>16!=(d[C>>1]|0)){F=x;break e}if((d[z>>1]|0)!=(d[C+2>>1]|0)){F=x;break e}if((d[v>>1]|0)!=(d[y+12>>1]|0)){F=x;break e}C=f[y>>2]|0;if(!C){F=y;break}else{B=y;y=C;x=B}}}while(0);f[c>>2]=f[F>>2];f[F>>2]=f[f[(f[a>>2]|0)+(E<<2)>>2]>>2];f[f[(f[a>>2]|0)+(E<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){D=41;break a}}}while(0);j=f[p>>2]|0;if(!j){D=41;break a}else{g=p;c=p}}f[s>>2]=c;l=f[r>>2]|0;if(!l){D=41;break}else{k=r;m=t;n=r}}if((D|0)==41)return}function sd(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,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)pr(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;jp(e,16426);f[e>>2]=7416;va(e|0,1160,122)}e=tn(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)pr(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0<c>>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{k=g;l=d;m=j;n=g}a:while(1){g=k;j=l;d=n;b:while(1){c:do if(i){e=j;while(1){o=f[e+4>>2]&h;if((o|0)==(m|0)){p=e;break c}q=(f[a>>2]|0)+(o<<2)|0;if(!(f[q>>2]|0)){r=e;s=q;t=o;break b}q=e+8|0;u=q+1|0;v=q+2|0;w=f[e>>2]|0;d:do if(!w)x=e;else{y=b[q>>0]|0;z=w;A=e;while(1){B=z+8|0;if(y<<24>>24!=(b[B>>0]|0)){x=A;break d}if((b[u>>0]|0)!=(b[B+1>>0]|0)){x=A;break d}if((b[v>>0]|0)!=(b[B+2>>0]|0)){x=A;break d}B=f[z>>2]|0;if(!B){x=z;break}else{C=z;z=B;A=C}}}while(0);f[d>>2]=f[x>>2];f[x>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){D=41;break a}}}else{e=j;while(1){v=f[e+4>>2]|0;if(v>>>0<c>>>0)E=v;else E=(v>>>0)%(c>>>0)|0;if((E|0)==(m|0)){p=e;break c}v=(f[a>>2]|0)+(E<<2)|0;if(!(f[v>>2]|0)){r=e;s=v;t=E;break b}v=e+8|0;u=v+1|0;w=v+2|0;q=f[e>>2]|0;e:do if(!q)F=e;else{A=b[v>>0]|0;z=q;y=e;while(1){C=z+8|0;if(A<<24>>24!=(b[C>>0]|0)){F=y;break e}if((b[u>>0]|0)!=(b[C+1>>0]|0)){F=y;break e}if((b[w>>0]|0)!=(b[C+2>>0]|0)){F=y;break e}C=f[z>>2]|0;if(!C){F=z;break}else{B=z;z=C;y=B}}}while(0);f[d>>2]=f[F>>2];f[F>>2]=f[f[(f[a>>2]|0)+(E<<2)>>2]>>2];f[f[(f[a>>2]|0)+(E<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){D=41;break a}}}while(0);j=f[p>>2]|0;if(!j){D=41;break a}else{g=p;d=p}}f[s>>2]=d;l=f[r>>2]|0;if(!l){D=41;break}else{k=r;m=t;n=r}}if((D|0)==41)return}function td(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,q=0,r=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,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0.0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0.0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;p[s>>3]=b;e=f[s>>2]|0;g=f[s+4>>2]|0;h=jo(c|0,d|0,52)|0;i=h&2047;h=jo(e|0,g|0,52)|0;j=h&2047;h=d&-2147483648;k=eo(e|0,g|0,1)|0;l=I;a:do if(!((k|0)==0&(l|0)==0)?(m=Lo(b)|0,n=I&2147483647,!((i|0)==2047|(n>>>0>2146435072|(n|0)==2146435072&m>>>0>0))):0){m=eo(c|0,d|0,1)|0;n=I;if(!(n>>>0>l>>>0|(n|0)==(l|0)&m>>>0>k>>>0))return +((m|0)==(k|0)&(n|0)==(l|0)?a*0.0:a);if(!i){n=eo(c|0,d|0,12)|0;m=I;if((m|0)>-1|(m|0)==-1&n>>>0>4294967295){o=n;n=m;m=0;while(1){q=m+-1|0;o=eo(o|0,n|0,1)|0;n=I;if(!((n|0)>-1|(n|0)==-1&o>>>0>4294967295)){r=q;break}else m=q}}else r=0;m=eo(c|0,d|0,1-r|0)|0;t=m;u=I;v=r}else{t=c;u=d&1048575|1048576;v=i}if(!j){m=eo(e|0,g|0,12)|0;o=I;if((o|0)>-1|(o|0)==-1&m>>>0>4294967295){n=m;m=o;o=0;while(1){q=o+-1|0;n=eo(n|0,m|0,1)|0;m=I;if(!((m|0)>-1|(m|0)==-1&n>>>0>4294967295)){w=q;break}else o=q}}else w=0;o=eo(e|0,g|0,1-w|0)|0;x=o;y=I;z=w}else{x=e;y=g&1048575|1048576;z=j}o=io(t|0,u|0,x|0,y|0)|0;n=I;m=(n|0)>-1|(n|0)==-1&o>>>0>4294967295;b:do if((v|0)>(z|0)){q=t;A=u;B=o;C=n;D=m;E=v;while(1){if(D)if((B|0)==0&(C|0)==0)break;else{F=B;G=C}else{F=q;G=A}H=eo(F|0,G|0,1)|0;J=I;K=E+-1|0;L=io(H|0,J|0,x|0,y|0)|0;M=I;N=(M|0)>-1|(M|0)==-1&L>>>0>4294967295;if((K|0)>(z|0)){q=H;A=J;B=L;C=M;D=N;E=K}else{O=M;P=H;Q=J;R=L;S=N;T=K;break b}}U=a*0.0;break a}else{O=n;P=t;Q=u;R=o;S=m;T=v}while(0);if(S)if((R|0)==0&(O|0)==0){U=a*0.0;break}else{V=O;W=R}else{V=Q;W=P}if(V>>>0<1048576|(V|0)==1048576&W>>>0<0){m=W;o=V;n=T;while(1){E=eo(m|0,o|0,1)|0;D=I;C=n+-1|0;if(D>>>0<1048576|(D|0)==1048576&E>>>0<0){m=E;o=D;n=C}else{X=E;Y=D;Z=C;break}}}else{X=W;Y=V;Z=T}if((Z|0)>0){n=go(X|0,Y|0,0,-1048576)|0;o=I;m=eo(Z|0,0,52)|0;_=o|I;$=n|m}else{m=jo(X|0,Y|0,1-Z|0)|0;_=I;$=m}f[s>>2]=$;f[s+4>>2]=_|h;U=+p[s>>3]}else aa=3;while(0);if((aa|0)==3){ba=a*b;U=ba/ba}return +U}function ud(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;g=u;u=u+16|0;h=g;f[c+48>>2]=d;f[c+44>>2]=e;e=f[c+8>>2]|0;i=c+12|0;j=f[i>>2]|0;if((j|0)!=(e|0)){k=j;do{j=k+-4|0;f[i>>2]=j;l=f[j>>2]|0;f[j>>2]=0;if(l|0)Qa[f[(f[l>>2]|0)+4>>2]&127](l);k=f[i>>2]|0}while((k|0)!=(e|0))}e=f[c+20>>2]|0;k=c+24|0;i=f[k>>2]|0;if((i|0)!=(e|0))f[k>>2]=i+(~((i+-4-e|0)>>>2)<<2);e=f[c+32>>2]|0;i=c+36|0;k=f[i>>2]|0;if((k|0)!=(e|0))f[i>>2]=k+(~((k+-4-e|0)>>>2)<<2);if(!(f[c+4>>2]|0)){e=tn(32)|0;f[h>>2]=e;f[h+8>>2]=-2147483616;f[h+4>>2]=23;m=e;n=16066;o=m+23|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[e+23>>0]=0;f[a>>2]=-1;nj(a+4|0,h);if((b[h+11>>0]|0)<0)pr(f[h>>2]|0);u=g;return}Od(a,c);if(f[a>>2]|0){u=g;return}e=a+4|0;k=e+11|0;if((b[k>>0]|0)<0)pr(f[e>>2]|0);Si(a,c);if(f[a>>2]|0){u=g;return}if((b[k>>0]|0)<0)pr(f[e>>2]|0);if(!(La[f[(f[c>>2]|0)+16>>2]&127](c)|0)){k=tn(32)|0;f[h>>2]=k;f[h+8>>2]=-2147483616;f[h+4>>2]=29;m=k;n=16090;o=m+29|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[k+29>>0]=0;f[a>>2]=-1;nj(e,h);if((b[h+11>>0]|0)<0)pr(f[h>>2]|0);u=g;return}if(!(La[f[(f[c>>2]|0)+20>>2]&127](c)|0)){k=tn(32)|0;f[h>>2]=k;f[h+8>>2]=-2147483616;f[h+4>>2]=31;m=k;n=16120;o=m+31|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[k+31>>0]=0;f[a>>2]=-1;nj(e,h);if((b[h+11>>0]|0)<0)pr(f[h>>2]|0);u=g;return}if(!(La[f[(f[c>>2]|0)+24>>2]&127](c)|0)){k=tn(32)|0;f[h>>2]=k;f[h+8>>2]=-2147483616;f[h+4>>2]=31;m=k;n=16152;o=m+31|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[k+31>>0]=0;f[a>>2]=-1;nj(e,h);if((b[h+11>>0]|0)<0)pr(f[h>>2]|0);u=g;return}if(!(La[f[(f[c>>2]|0)+28>>2]&127](c)|0)){k=tn(48)|0;f[h>>2]=k;f[h+8>>2]=-2147483600;f[h+4>>2]=34;m=k;n=16184;o=m+34|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[k+34>>0]=0;f[a>>2]=-1;nj(e,h);if((b[h+11>>0]|0)<0)pr(f[h>>2]|0);u=g;return}e=tn(32)|0;f[h>>2]=e;f[h+8>>2]=-2147483616;f[h+4>>2]=30;m=e;n=16219;o=m+30|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[e+30>>0]=0;e=Yj(d,h,0)|0;if((b[h+11>>0]|0)<0)pr(f[h>>2]|0);if(e)Qa[f[(f[c>>2]|0)+48>>2]&127](c);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=g;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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;c=a+4|0;if(!b){d=f[a>>2]|0;f[a>>2]=0;if(d|0)pr(d);f[c>>2]=0;return}if(b>>>0>1073741823){d=ra(8)|0;jp(d,16426);f[d>>2]=7416;va(d|0,1160,122)}d=tn(b<<2)|0;e=f[a>>2]|0;f[a>>2]=d;if(e|0)pr(e);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;e=f[c>>2]|0;if(!e)return;d=f[e+4>>2]|0;g=b+-1|0;h=(g&b|0)==0;if(!h)if(d>>>0<b>>>0)i=d;else i=(d>>>0)%(b>>>0)|0;else i=d&g;f[(f[a>>2]|0)+(i<<2)>>2]=c;c=f[e>>2]|0;if(!c)return;else{j=e;k=c;l=i;m=e}a:while(1){e=j;i=k;c=m;b:while(1){c:do if(h){d=i;while(1){n=f[d+4>>2]&g;if((n|0)==(l|0)){o=d;break c}p=(f[a>>2]|0)+(n<<2)|0;if(!(f[p>>2]|0)){q=d;r=p;s=n;break b}p=d+12|0;t=d+16|0;u=f[d>>2]|0;d:do if(!u)v=d;else{w=f[d+8>>2]|0;x=u;y=d;while(1){if((w|0)!=(f[x+8>>2]|0)){v=y;break d}if((f[p>>2]|0)!=(f[x+12>>2]|0)){v=y;break d}if((f[t>>2]|0)!=(f[x+16>>2]|0)){v=y;break d}z=f[x>>2]|0;if(!z){v=x;break}else{A=x;x=z;y=A}}}while(0);f[c>>2]=f[v>>2];f[v>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;d=f[e>>2]|0;if(!d){B=41;break a}}}else{d=i;while(1){t=f[d+4>>2]|0;if(t>>>0<b>>>0)C=t;else C=(t>>>0)%(b>>>0)|0;if((C|0)==(l|0)){o=d;break c}t=(f[a>>2]|0)+(C<<2)|0;if(!(f[t>>2]|0)){q=d;r=t;s=C;break b}t=d+12|0;p=d+16|0;u=f[d>>2]|0;e:do if(!u)D=d;else{y=f[d+8>>2]|0;x=u;w=d;while(1){if((y|0)!=(f[x+8>>2]|0)){D=w;break e}if((f[t>>2]|0)!=(f[x+12>>2]|0)){D=w;break e}if((f[p>>2]|0)!=(f[x+16>>2]|0)){D=w;break e}A=f[x>>2]|0;if(!A){D=x;break}else{z=x;x=A;w=z}}}while(0);f[c>>2]=f[D>>2];f[D>>2]=f[f[(f[a>>2]|0)+(C<<2)>>2]>>2];f[f[(f[a>>2]|0)+(C<<2)>>2]>>2]=d;d=f[e>>2]|0;if(!d){B=41;break a}}}while(0);i=f[o>>2]|0;if(!i){B=41;break a}else{e=o;c=o}}f[r>>2]=c;k=f[q>>2]|0;if(!k){B=41;break}else{j=q;l=s;m=q}}if((B|0)==41)return}function wd(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;var i=0,j=0;switch(c|0){case 1:{c=tn(40)|0;f[c+4>>2]=d;h=c+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=c+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[c>>2]=3044;i=c;f[a>>2]=i;return}case 2:{c=tn(40)|0;f[c+4>>2]=d;h=c+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=c+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[c>>2]=3100;i=c;f[a>>2]=i;return}case 4:{c=tn(152)|0;f[c+4>>2]=d;h=c+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=c+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[c>>2]=3156;h=c+96|0;b=c+40|0;j=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(j|0));en(h);f[c+136>>2]=0;f[c+140>>2]=0;f[c+144>>2]=0;i=c;f[a>>2]=i;return}case 3:{c=tn(68)|0;f[c+4>>2]=d;h=c+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=c+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[c>>2]=3212;h=c+40|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;i=c;f[a>>2]=i;return}case 5:{c=tn(84)|0;f[c+4>>2]=d;h=c+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=c+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[c>>2]=3268;f[c+40>>2]=0;f[c+44>>2]=0;f[c+56>>2]=0;f[c+60>>2]=0;f[c+64>>2]=0;h=c+68|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];i=c;f[a>>2]=i;return}case 6:{c=tn(120)|0;f[c+4>>2]=d;d=c+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=c+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[c>>2]=3324;f[c+44>>2]=0;f[c+48>>2]=0;e=c+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[c+40>>2]=3380;f[c+68>>2]=1;g=c+72|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;Gn(c+88|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function xd(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,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)pr(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;jp(e,16426);f[e>>2]=7416;va(e|0,1160,122)}e=tn(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)pr(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0<c>>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{k=g;l=d;m=j;n=g}a:while(1){g=k;j=l;d=n;b:while(1){o=j;while(1){e=f[o+4>>2]|0;if(!i)if(e>>>0<c>>>0)p=e;else p=(e>>>0)%(c>>>0)|0;else p=e&h;if((p|0)==(m|0))break;q=(f[a>>2]|0)+(p<<2)|0;if(!(f[q>>2]|0))break b;e=f[o>>2]|0;c:do if(!e)r=o;else{s=o+8|0;t=b[s+11>>0]|0;u=t<<24>>24<0;v=t&255;t=u?f[o+12>>2]|0:v;w=(t|0)==0;if(u){u=e;x=o;while(1){y=u+8|0;z=b[y+11>>0]|0;A=z<<24>>24<0;if((t|0)!=((A?f[u+12>>2]|0:z&255)|0)){r=x;break c}if(!w?Yk(f[s>>2]|0,A?f[y>>2]|0:y,t)|0:0){r=x;break c}y=f[u>>2]|0;if(!y){r=u;break c}else{A=u;u=y;x=A}}}if(w){x=e;u=o;while(1){A=b[x+8+11>>0]|0;if((A<<24>>24<0?f[x+12>>2]|0:A&255)|0){r=u;break c}A=f[x>>2]|0;if(!A){r=x;break c}else{y=x;x=A;u=y}}}u=e;x=o;while(1){w=u+8|0;y=b[w+11>>0]|0;A=y<<24>>24<0;if((t|0)!=((A?f[u+12>>2]|0:y&255)|0)){r=x;break c}y=A?f[w>>2]|0:w;if((f[s>>2]&255)<<24>>24==(b[y>>0]|0)){B=v;C=s;D=y}else{r=x;break c}while(1){B=B+-1|0;C=C+1|0;if(!B)break;D=D+1|0;if((b[C>>0]|0)!=(b[D>>0]|0)){r=x;break c}}y=f[u>>2]|0;if(!y){r=u;break}else{w=u;u=y;x=w}}}while(0);f[d>>2]=f[r>>2];f[r>>2]=f[f[(f[a>>2]|0)+(p<<2)>>2]>>2];f[f[(f[a>>2]|0)+(p<<2)>>2]>>2]=o;e=f[g>>2]|0;if(!e){E=43;break a}else o=e}j=f[o>>2]|0;if(!j){E=43;break a}else{g=o;d=o}}f[q>>2]=d;l=f[o>>2]|0;if(!l){E=43;break}else{k=o;m=p;n=o}}if((E|0)==43)return}function yd(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;var i=0,j=0;switch(c|0){case 1:{c=tn(40)|0;f[c+4>>2]=d;h=c+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=c+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[c>>2]=2680;i=c;f[a>>2]=i;return}case 2:{c=tn(40)|0;f[c+4>>2]=d;h=c+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=c+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[c>>2]=2736;i=c;f[a>>2]=i;return}case 4:{c=tn(152)|0;f[c+4>>2]=d;h=c+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=c+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[c>>2]=2792;h=c+96|0;b=c+40|0;j=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(j|0));en(h);f[c+136>>2]=0;f[c+140>>2]=0;f[c+144>>2]=0;i=c;f[a>>2]=i;return}case 3:{c=tn(68)|0;f[c+4>>2]=d;h=c+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=c+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[c>>2]=2848;h=c+40|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;i=c;f[a>>2]=i;return}case 5:{c=tn(84)|0;f[c+4>>2]=d;h=c+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=c+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[c>>2]=2904;f[c+40>>2]=0;f[c+44>>2]=0;f[c+56>>2]=0;f[c+60>>2]=0;f[c+64>>2]=0;h=c+68|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];i=c;f[a>>2]=i;return}case 6:{c=tn(120)|0;f[c+4>>2]=d;d=c+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=c+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[c>>2]=2960;f[c+44>>2]=0;f[c+48>>2]=0;e=c+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[c+40>>2]=3016;f[c+68>>2]=1;g=c+72|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;Gn(c+88|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function zd(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,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;c=a+4|0;if(!b){e=f[a>>2]|0;f[a>>2]=0;if(e|0)pr(e);f[c>>2]=0;return}if(b>>>0>1073741823){e=ra(8)|0;jp(e,16426);f[e>>2]=7416;va(e|0,1160,122)}e=tn(b<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)pr(g);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;g=f[c>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=b+-1|0;i=(h&b|0)==0;if(!i)if(e>>>0<b>>>0)j=e;else j=(e>>>0)%(b>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=c;c=f[g>>2]|0;if(!c)return;else{k=g;l=c;m=j;n=g}a:while(1){g=k;j=l;c=n;b:while(1){c:do if(i){e=j;while(1){o=f[e+4>>2]&h;if((o|0)==(m|0)){p=e;break c}q=(f[a>>2]|0)+(o<<2)|0;if(!(f[q>>2]|0)){r=e;s=q;t=o;break b}q=e+8|0;u=f[e>>2]|0;d:do if(!u)v=e;else{w=d[q>>1]|0;x=q+2|0;y=u;z=e;while(1){A=y+8|0;if(w<<16>>16!=(d[A>>1]|0)){v=z;break d}if((d[x>>1]|0)!=(d[A+2>>1]|0)){v=z;break d}A=f[y>>2]|0;if(!A){v=y;break}else{B=y;y=A;z=B}}}while(0);f[c>>2]=f[v>>2];f[v>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){C=39;break a}}}else{e=j;while(1){u=f[e+4>>2]|0;if(u>>>0<b>>>0)D=u;else D=(u>>>0)%(b>>>0)|0;if((D|0)==(m|0)){p=e;break c}u=(f[a>>2]|0)+(D<<2)|0;if(!(f[u>>2]|0)){r=e;s=u;t=D;break b}u=e+8|0;q=f[e>>2]|0;e:do if(!q)E=e;else{z=d[u>>1]|0;y=u+2|0;x=q;w=e;while(1){B=x+8|0;if(z<<16>>16!=(d[B>>1]|0)){E=w;break e}if((d[y>>1]|0)!=(d[B+2>>1]|0)){E=w;break e}B=f[x>>2]|0;if(!B){E=x;break}else{A=x;x=B;w=A}}}while(0);f[c>>2]=f[E>>2];f[E>>2]=f[f[(f[a>>2]|0)+(D<<2)>>2]>>2];f[f[(f[a>>2]|0)+(D<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){C=39;break a}}}while(0);j=f[p>>2]|0;if(!j){C=39;break a}else{g=p;c=p}}f[s>>2]=c;l=f[r>>2]|0;if(!l){C=39;break}else{k=r;m=t;n=r}}if((C|0)==39)return}function Ad(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,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)pr(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;jp(e,16426);f[e>>2]=7416;va(e|0,1160,122)}e=tn(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)pr(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0<c>>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{k=g;l=d;m=j;n=g}a:while(1){g=k;j=l;d=n;b:while(1){c:do if(i){e=j;while(1){o=f[e+4>>2]&h;if((o|0)==(m|0)){p=e;break c}q=(f[a>>2]|0)+(o<<2)|0;if(!(f[q>>2]|0)){r=e;s=q;t=o;break b}q=e+8|0;u=f[e>>2]|0;d:do if(!u)v=e;else{w=b[q>>0]|0;x=q+1|0;y=u;z=e;while(1){A=y+8|0;if(w<<24>>24!=(b[A>>0]|0)){v=z;break d}if((b[x>>0]|0)!=(b[A+1>>0]|0)){v=z;break d}A=f[y>>2]|0;if(!A){v=y;break}else{B=y;y=A;z=B}}}while(0);f[d>>2]=f[v>>2];f[v>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){C=39;break a}}}else{e=j;while(1){u=f[e+4>>2]|0;if(u>>>0<c>>>0)D=u;else D=(u>>>0)%(c>>>0)|0;if((D|0)==(m|0)){p=e;break c}u=(f[a>>2]|0)+(D<<2)|0;if(!(f[u>>2]|0)){r=e;s=u;t=D;break b}u=e+8|0;q=f[e>>2]|0;e:do if(!q)E=e;else{z=b[u>>0]|0;y=u+1|0;x=q;w=e;while(1){B=x+8|0;if(z<<24>>24!=(b[B>>0]|0)){E=w;break e}if((b[y>>0]|0)!=(b[B+1>>0]|0)){E=w;break e}B=f[x>>2]|0;if(!B){E=x;break}else{A=x;x=B;w=A}}}while(0);f[d>>2]=f[E>>2];f[E>>2]=f[f[(f[a>>2]|0)+(D<<2)>>2]>>2];f[f[(f[a>>2]|0)+(D<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){C=39;break a}}}while(0);j=f[p>>2]|0;if(!j){C=39;break a}else{g=p;d=p}}f[s>>2]=d;l=f[r>>2]|0;if(!l){C=39;break}else{k=r;m=t;n=r}}if((C|0)==39)return}function Bd(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;c=u;u=u+48|0;d=c+32|0;e=c+28|0;g=c+16|0;h=c;i=a+16|0;j=f[i>>2]|0;if(j|0){k=f[b>>2]|0;l=i;m=j;a:while(1){j=m;while(1){if((f[j+16>>2]|0)>=(k|0))break;n=f[j+4>>2]|0;if(!n){o=l;break a}else j=n}m=f[j>>2]|0;if(!m){o=j;break}else l=j}if((o|0)!=(i|0)?(k|0)>=(f[o+16>>2]|0):0){p=o;q=p+20|0;u=c;return q|0}}Kp(g);f[h>>2]=f[b>>2];b=h+4|0;f[h+8>>2]=0;o=h+12|0;f[o>>2]=0;k=h+8|0;f[b>>2]=k;l=f[g>>2]|0;m=g+4|0;if((l|0)!=(m|0)){n=k;r=l;while(1){l=r+16|0;f[e>>2]=n;f[d>>2]=f[e>>2];ih(b,d,l,l)|0;l=f[r+4>>2]|0;if(!l){s=r+8|0;t=f[s>>2]|0;if((f[t>>2]|0)==(r|0))v=t;else{t=s;do{s=f[t>>2]|0;t=s+8|0;w=f[t>>2]|0}while((f[w>>2]|0)!=(s|0));v=w}}else{t=l;while(1){j=f[t>>2]|0;if(!j)break;else t=j}v=t}if((v|0)==(m|0))break;else r=v}}v=a+12|0;r=f[i>>2]|0;do if(r){d=f[h>>2]|0;e=r;n=a+16|0;while(1){l=f[e+16>>2]|0;if((d|0)<(l|0)){j=f[e>>2]|0;if(!j){x=23;break}else{y=j;z=e}}else{if((l|0)>=(d|0)){x=27;break}A=e+4|0;l=f[A>>2]|0;if(!l){x=26;break}else{y=l;z=A}}e=y;n=z}if((x|0)==23){B=e;C=e;break}else if((x|0)==26){B=e;C=A;break}else if((x|0)==27){B=e;C=n;break}}else{B=i;C=i}while(0);i=f[C>>2]|0;if(!i){x=tn(32)|0;f[x+16>>2]=f[h>>2];A=x+20|0;f[A>>2]=f[b>>2];z=x+24|0;y=f[h+8>>2]|0;f[z>>2]=y;r=f[o>>2]|0;f[x+28>>2]=r;if(!r)f[A>>2]=z;else{f[y+8>>2]=z;f[b>>2]=k;f[k>>2]=0;f[o>>2]=0}f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=B;f[C>>2]=x;B=f[f[v>>2]>>2]|0;if(!B)D=x;else{f[v>>2]=B;D=f[C>>2]|0}He(f[a+16>>2]|0,D);D=a+20|0;f[D>>2]=(f[D>>2]|0)+1;E=x}else E=i;Cj(h+4|0,f[k>>2]|0);Cj(g,f[m>>2]|0);p=E;q=p+20|0;u=c;return q|0}function Cd(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;d=b[c+11>>0]|0;e=d<<24>>24<0;g=e?f[c>>2]|0:c;i=e?f[c+4>>2]|0:d&255;if(i>>>0>3){d=g;c=i;e=i;while(1){j=X(h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24,1540483477)|0;c=(X(j>>>24^j,1540483477)|0)^(X(c,1540483477)|0);e=e+-4|0;if(e>>>0<=3)break;else d=d+4|0}d=i+-4|0;e=d&-4;k=g+(e+4)|0;l=c;m=d-e|0}else{k=g;l=i;m=i}switch(m|0){case 3:{n=h[k+2>>0]<<16^l;o=6;break}case 2:{n=l;o=6;break}case 1:{p=l;o=7;break}default:q=l}if((o|0)==6){p=h[k+1>>0]<<8^n;o=7}if((o|0)==7)q=X(h[k>>0]^p,1540483477)|0;p=X(q>>>13^q,1540483477)|0;q=p>>>15^p;p=f[a+4>>2]|0;if(!p){r=0;return r|0}k=p+-1|0;n=(k&p|0)==0;if(!n)if(q>>>0<p>>>0)s=q;else s=(q>>>0)%(p>>>0)|0;else s=q&k;l=f[(f[a>>2]|0)+(s<<2)>>2]|0;if(!l){r=0;return r|0}a=f[l>>2]|0;if(!a){r=0;return r|0}l=(i|0)==0;if(n){n=a;a:while(1){m=f[n+4>>2]|0;e=(m|0)==(q|0);if(!(e|(m&k|0)==(s|0))){r=0;o=41;break}do if(e?(m=n+8|0,d=b[m+11>>0]|0,c=d<<24>>24<0,j=d&255,((c?f[n+12>>2]|0:j)|0)==(i|0)):0){d=f[m>>2]|0;t=c?d:m;if(c){if(l){r=n;o=41;break a}if(!(Yk(t,g,i)|0)){r=n;o=41;break a}else break}if(l){r=n;o=41;break a}if((d&255)<<24>>24==(b[g>>0]|0)){d=j;j=m;m=g;do{d=d+-1|0;j=j+1|0;if(!d){r=n;o=41;break a}m=m+1|0}while((b[j>>0]|0)==(b[m>>0]|0))}}while(0);n=f[n>>2]|0;if(!n){r=0;o=41;break}}if((o|0)==41)return r|0}else u=a;b:while(1){a=f[u+4>>2]|0;n=(a|0)==(q|0);if(!n){if(a>>>0<p>>>0)v=a;else v=(a>>>0)%(p>>>0)|0;if((v|0)!=(s|0)){r=0;o=41;break}if(n)o=33}else o=33;do if((o|0)==33?(o=0,n=u+8|0,a=b[n+11>>0]|0,k=a<<24>>24<0,e=a&255,((k?f[u+12>>2]|0:e)|0)==(i|0)):0){a=f[n>>2]|0;m=k?a:n;if(k){if(l){r=u;o=41;break b}if(!(Yk(m,g,i)|0)){r=u;o=41;break b}else break}if(l){r=u;o=41;break b}if((a&255)<<24>>24==(b[g>>0]|0)){a=e;e=n;n=g;do{a=a+-1|0;e=e+1|0;if(!a){r=u;o=41;break b}n=n+1|0}while((b[e>>0]|0)==(b[n>>0]|0))}}while(0);u=f[u>>2]|0;if(!u){r=0;o=41;break}}if((o|0)==41)return r|0;return 0}function Dd(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,v=0,w=0;h=a+4|0;i=f[c>>2]|0;c=i;do if((i|0)!=(h|0)){j=i+16|0;k=b[j+11>>0]|0;l=k<<24>>24<0;m=l?f[i+20>>2]|0:k&255;k=b[g+11>>0]|0;n=k<<24>>24<0;o=n?f[g+4>>2]|0:k&255;k=m>>>0<o>>>0;p=k?m:o;if((p|0)!=0?(q=Yk(n?f[g>>2]|0:g,l?f[j>>2]|0:j,p)|0,(q|0)!=0):0){if((q|0)<0)break}else r=4;if((r|0)==4?o>>>0<m>>>0:0)break;q=o>>>0<m>>>0?o:m;if((q|0)!=0?(m=Yk(l?f[j>>2]|0:j,n?f[g>>2]|0:g,q)|0,(m|0)!=0):0){if((m|0)>=0)r=36}else r=20;if((r|0)==20?!k:0)r=36;if((r|0)==36){f[d>>2]=c;f[e>>2]=c;s=e;return s|0}k=i+4|0;m=f[k>>2]|0;if(!m){q=i+8|0;j=f[q>>2]|0;if((f[j>>2]|0)==(i|0))t=j;else{j=q;do{q=f[j>>2]|0;j=q+8|0;l=f[j>>2]|0}while((f[l>>2]|0)!=(q|0));t=l}}else{j=m;while(1){l=f[j>>2]|0;if(!l)break;else j=l}t=j}do if((t|0)!=(h|0)){m=t+16|0;l=b[m+11>>0]|0;q=l<<24>>24<0;p=q?f[t+20>>2]|0:l&255;l=p>>>0<o>>>0?p:o;if((l|0)!=0?(u=Yk(n?f[g>>2]|0:g,q?f[m>>2]|0:m,l)|0,(u|0)!=0):0){if((u|0)<0)break}else r=30;if((r|0)==30?o>>>0<p>>>0:0)break;s=xg(a,d,g)|0;return s|0}while(0);if(!(f[i+4>>2]|0)){f[d>>2]=c;s=k;return s|0}else{f[d>>2]=t;s=t;return s|0}}while(0);t=f[i>>2]|0;do if((i|0)==(f[a>>2]|0))v=c;else{if(!t){h=i;while(1){e=f[h+8>>2]|0;if((f[e>>2]|0)==(h|0))h=e;else{w=e;break}}}else{h=t;while(1){k=f[h+4>>2]|0;if(!k){w=h;break}else h=k}}h=w;k=w+16|0;e=b[g+11>>0]|0;o=e<<24>>24<0;n=o?f[g+4>>2]|0:e&255;e=b[k+11>>0]|0;j=e<<24>>24<0;p=j?f[w+20>>2]|0:e&255;e=n>>>0<p>>>0?n:p;if((e|0)!=0?(u=Yk(j?f[k>>2]|0:k,o?f[g>>2]|0:g,e)|0,(u|0)!=0):0){if((u|0)<0){v=h;break}}else r=12;if((r|0)==12?p>>>0<n>>>0:0){v=h;break}s=xg(a,d,g)|0;return s|0}while(0);if(!t){f[d>>2]=i;s=i;return s|0}else{i=v;f[d>>2]=i;s=i+4|0;return s|0}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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;c=a+4|0;if(!b){d=f[a>>2]|0;f[a>>2]=0;if(d|0)pr(d);f[c>>2]=0;return}if(b>>>0>1073741823){d=ra(8)|0;jp(d,16426);f[d>>2]=7416;va(d|0,1160,122)}d=tn(b<<2)|0;e=f[a>>2]|0;f[a>>2]=d;if(e|0)pr(e);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;e=f[c>>2]|0;if(!e)return;d=f[e+4>>2]|0;g=b+-1|0;h=(g&b|0)==0;if(!h)if(d>>>0<b>>>0)i=d;else i=(d>>>0)%(b>>>0)|0;else i=d&g;f[(f[a>>2]|0)+(i<<2)>>2]=c;c=f[e>>2]|0;if(!c)return;else{j=e;k=c;l=i;m=e}a:while(1){e=j;i=k;c=m;b:while(1){c:do if(h){d=i;while(1){n=f[d+4>>2]&g;if((n|0)==(l|0)){o=d;break c}p=(f[a>>2]|0)+(n<<2)|0;if(!(f[p>>2]|0)){q=d;r=p;s=n;break b}p=d+12|0;t=f[d>>2]|0;d:do if(!t)u=d;else{v=f[d+8>>2]|0;w=t;x=d;while(1){if((v|0)!=(f[w+8>>2]|0)){u=x;break d}if((f[p>>2]|0)!=(f[w+12>>2]|0)){u=x;break d}y=f[w>>2]|0;if(!y){u=w;break}else{z=w;w=y;x=z}}}while(0);f[c>>2]=f[u>>2];f[u>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;d=f[e>>2]|0;if(!d){A=39;break a}}}else{d=i;while(1){p=f[d+4>>2]|0;if(p>>>0<b>>>0)B=p;else B=(p>>>0)%(b>>>0)|0;if((B|0)==(l|0)){o=d;break c}p=(f[a>>2]|0)+(B<<2)|0;if(!(f[p>>2]|0)){q=d;r=p;s=B;break b}p=d+12|0;t=f[d>>2]|0;e:do if(!t)C=d;else{x=f[d+8>>2]|0;w=t;v=d;while(1){if((x|0)!=(f[w+8>>2]|0)){C=v;break e}if((f[p>>2]|0)!=(f[w+12>>2]|0)){C=v;break e}z=f[w>>2]|0;if(!z){C=w;break}else{y=w;w=z;v=y}}}while(0);f[c>>2]=f[C>>2];f[C>>2]=f[f[(f[a>>2]|0)+(B<<2)>>2]>>2];f[f[(f[a>>2]|0)+(B<<2)>>2]>>2]=d;d=f[e>>2]|0;if(!d){A=39;break a}}}while(0);i=f[o>>2]|0;if(!i){A=39;break a}else{e=o;c=o}}f[r>>2]=c;k=f[q>>2]|0;if(!k){A=39;break}else{j=q;l=s;m=q}}if((A|0)==39)return}function Fd(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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;g=a;h=b;i=h;j=c;k=d;l=k;if(!i){m=(e|0)!=0;if(!l){if(m){f[e>>2]=(g>>>0)%(j>>>0);f[e+4>>2]=0}n=0;o=(g>>>0)/(j>>>0)>>>0;return (I=n,o)|0}else{if(!m){n=0;o=0;return (I=n,o)|0}f[e>>2]=a|0;f[e+4>>2]=b&0;n=0;o=0;return (I=n,o)|0}}m=(l|0)==0;do if(j){if(!m){p=(_(l|0)|0)-(_(i|0)|0)|0;if(p>>>0<=31){q=p+1|0;r=31-p|0;s=p-31>>31;t=q;u=g>>>(q>>>0)&s|i<<r;v=i>>>(q>>>0)&s;w=0;x=g<<r;break}if(!e){n=0;o=0;return (I=n,o)|0}f[e>>2]=a|0;f[e+4>>2]=h|b&0;n=0;o=0;return (I=n,o)|0}r=j-1|0;if(r&j|0){s=(_(j|0)|0)+33-(_(i|0)|0)|0;q=64-s|0;p=32-s|0;y=p>>31;z=s-32|0;A=z>>31;t=s;u=p-1>>31&i>>>(z>>>0)|(i<<p|g>>>(s>>>0))&A;v=A&i>>>(s>>>0);w=g<<q&y;x=(i<<q|g>>>(z>>>0))&y|g<<p&s-33>>31;break}if(e|0){f[e>>2]=r&g;f[e+4>>2]=0}if((j|0)==1){n=h|b&0;o=a|0|0;return (I=n,o)|0}else{r=Dm(j|0)|0;n=i>>>(r>>>0)|0;o=i<<32-r|g>>>(r>>>0)|0;return (I=n,o)|0}}else{if(m){if(e|0){f[e>>2]=(i>>>0)%(j>>>0);f[e+4>>2]=0}n=0;o=(i>>>0)/(j>>>0)>>>0;return (I=n,o)|0}if(!g){if(e|0){f[e>>2]=0;f[e+4>>2]=(i>>>0)%(l>>>0)}n=0;o=(i>>>0)/(l>>>0)>>>0;return (I=n,o)|0}r=l-1|0;if(!(r&l)){if(e|0){f[e>>2]=a|0;f[e+4>>2]=r&i|b&0}n=0;o=i>>>((Dm(l|0)|0)>>>0);return (I=n,o)|0}r=(_(l|0)|0)-(_(i|0)|0)|0;if(r>>>0<=30){s=r+1|0;p=31-r|0;t=s;u=i<<p|g>>>(s>>>0);v=i>>>(s>>>0);w=0;x=g<<p;break}if(!e){n=0;o=0;return (I=n,o)|0}f[e>>2]=a|0;f[e+4>>2]=h|b&0;n=0;o=0;return (I=n,o)|0}while(0);if(!t){B=x;C=w;D=v;E=u;F=0;G=0}else{b=c|0|0;c=k|d&0;d=go(b|0,c|0,-1,-1)|0;k=I;h=x;x=w;w=v;v=u;u=t;t=0;do{a=h;h=x>>>31|h<<1;x=t|x<<1;g=v<<1|a>>>31|0;a=v>>>31|w<<1|0;io(d|0,k|0,g|0,a|0)|0;i=I;l=i>>31|((i|0)<0?-1:0)<<1;t=l&1;v=io(g|0,a|0,l&b|0,(((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1)&c|0)|0;w=I;u=u-1|0}while((u|0)!=0);B=h;C=x;D=w;E=v;F=0;G=t}t=C;C=0;if(e|0){f[e>>2]=E;f[e+4>>2]=D}n=(t|0)>>>31|(B|C)<<1|(C<<1|t>>>31)&0|F;o=(t<<1|0>>>31)&-2|G;return (I=n,o)|0}function Gd(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;d=u;u=u+32|0;e=d+8|0;g=d;h=c+4|0;i=f[(f[h>>2]|0)+48>>2]|0;j=c+12|0;c=f[j>>2]|0;k=tn(32)|0;f[e>>2]=k;f[e+8>>2]=-2147483616;f[e+4>>2]=17;l=k;m=14756;n=l+17|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));b[k+17>>0]=0;k=i+16|0;m=f[k>>2]|0;if(m){l=k;n=m;a:while(1){m=n;while(1){if((f[m+16>>2]|0)>=(c|0))break;o=f[m+4>>2]|0;if(!o){p=l;break a}else m=o}n=f[m>>2]|0;if(!n){p=m;break}else l=m}if(((p|0)!=(k|0)?(c|0)>=(f[p+16>>2]|0):0)?(c=p+20|0,(Hh(c,e)|0)!=0):0)q=Ik(c,e,-1)|0;else r=10}else r=10;if((r|0)==10)q=Ik(i,e,-1)|0;if((b[e+11>>0]|0)<0)pr(f[e>>2]|0);i=(1<<q)+-1|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;if(i&1|0?(q=(_(i|0)|0)^31,(q+-1|0)>>>0<=28):0){f[e>>2]=q+1;i=2<<q;f[e+4>>2]=i+-1;q=i+-2|0;f[e+8>>2]=q;f[e+12>>2]=(q|0)/2|0}switch(Ui(f[j>>2]|0,f[h>>2]|0)|0){case 6:{q=f[j>>2]|0;i=f[h>>2]|0;c=f[(f[(f[i+4>>2]|0)+8>>2]|0)+(q<<2)>>2]|0;do if((La[f[(f[i>>2]|0)+8>>2]&127](i)|0)==1){If(g,i,6,q,e,514);p=f[g>>2]|0;if(!p){f[g>>2]=0;s=g;r=22;break}else{t=p;v=g;break}}else{s=g;r=22}while(0);if((r|0)==22){r=tn(24)|0;f[r+4>>2]=c;c=r+8|0;f[c>>2]=f[e>>2];f[c+4>>2]=f[e+4>>2];f[c+8>>2]=f[e+8>>2];f[c+12>>2]=f[e+12>>2];f[r>>2]=2624;c=r;f[g>>2]=c;t=c;v=s}f[a>>2]=t;f[v>>2]=0;u=d;return}case 0:{v=f[h>>2]|0;h=f[(f[(f[v+4>>2]|0)+8>>2]|0)+(f[j>>2]<<2)>>2]|0;if((La[f[(f[v>>2]|0)+8>>2]&127](v)|0)==1)La[f[(f[v>>2]|0)+8>>2]&127](v)|0;v=tn(24)|0;f[v+4>>2]=h;h=v+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[v>>2]=2624;f[a>>2]=v;u=d;return}default:{f[a>>2]=0;u=d;return}}}function Hd(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;c=u;u=u+32|0;d=c+4|0;e=c;g=c+16|0;h=a+48|0;i=f[h>>2]|0;j=tn(32)|0;f[d>>2]=j;f[d+8>>2]=-2147483616;f[d+4>>2]=20;k=j;l=14868;m=k+20|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[j+20>>0]=0;j=Fk(i+24|0,d)|0;if((b[d+11>>0]|0)<0)pr(f[d>>2]|0);i=f[h>>2]|0;n=tn(32)|0;f[d>>2]=n;f[d+8>>2]=-2147483616;f[d+4>>2]=22;k=n;l=14889;m=k+22|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[n+22>>0]=0;n=Fk(i+24|0,d)|0;if((b[d+11>>0]|0)<0)pr(f[d>>2]|0);i=a+64|0;o=f[i>>2]|0;f[i>>2]=0;if(o|0)Qa[f[(f[o>>2]|0)+4>>2]&127](o);o=f[a+56>>2]|0;p=(((f[o+100>>2]|0)-(f[o+96>>2]|0)|0)/12|0)>>>0<1e3;o=f[h>>2]|0;q=tn(32)|0;f[d>>2]=q;f[d+8>>2]=-2147483616;f[d+4>>2]=18;k=q;l=14912;m=k+18|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[q+18>>0]=0;q=Ik(o,d,-1)|0;if((b[d+11>>0]|0)<0)pr(f[d>>2]|0);switch(q|0){case -1:{if(j?p|((ki(f[h>>2]|0)|0)>4|n^1):0)r=13;else r=17;break}case 0:{if(j)r=13;else r=21;break}case 2:{r=17;break}default:r=21}if((r|0)==13){j=f[a+44>>2]|0;b[g>>0]=0;n=j+16|0;h=f[n+4>>2]|0;if(!((h|0)>0|(h|0)==0&(f[n>>2]|0)>>>0>0)){f[e>>2]=f[j+4>>2];f[d>>2]=f[e>>2];Fe(j,d,g,g+1|0)|0}j=tn(296)|0;Xi(j);n=f[i>>2]|0;f[i>>2]=j;if(!n)s=j;else{Qa[f[(f[n>>2]|0)+4>>2]&127](n);r=21}}else if((r|0)==17){n=f[a+44>>2]|0;b[g>>0]=2;j=n+16|0;h=f[j+4>>2]|0;if(!((h|0)>0|(h|0)==0&(f[j>>2]|0)>>>0>0)){f[e>>2]=f[n+4>>2];f[d>>2]=f[e>>2];Fe(n,d,g,g+1|0)|0}g=tn(360)|0;ui(g);d=f[i>>2]|0;f[i>>2]=g;if(!d)s=g;else{Qa[f[(f[d>>2]|0)+4>>2]&127](d);r=21}}if((r|0)==21){r=f[i>>2]|0;if(!r){t=0;u=c;return t|0}else s=r}t=Ma[f[(f[s>>2]|0)+8>>2]&127](s,a)|0;u=c;return t|0}function Id(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,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;c=a+4|0;if(!b){e=f[a>>2]|0;f[a>>2]=0;if(e|0)pr(e);f[c>>2]=0;return}if(b>>>0>1073741823){e=ra(8)|0;jp(e,16426);f[e>>2]=7416;va(e|0,1160,122)}e=tn(b<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)pr(g);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;g=f[c>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=b+-1|0;i=(h&b|0)==0;if(!i)if(e>>>0<b>>>0)j=e;else j=(e>>>0)%(b>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=c;c=f[g>>2]|0;if(!c)return;else{k=g;l=c;m=j;n=g}a:while(1){b:do if(i){g=k;j=l;c=n;while(1){e=j;while(1){o=f[e+4>>2]&h;if((o|0)==(m|0))break;p=(f[a>>2]|0)+(o<<2)|0;if(!(f[p>>2]|0)){q=e;r=c;s=p;t=o;break b}p=e+8|0;u=e;while(1){v=f[u>>2]|0;if(!v)break;if((d[p>>1]|0)==(d[v+8>>1]|0))u=v;else break}f[c>>2]=v;f[u>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;p=f[g>>2]|0;if(!p){w=37;break a}else e=p}j=f[e>>2]|0;if(!j){w=37;break a}else{g=e;c=e}}}else{c=k;g=l;j=n;while(1){p=g;while(1){x=f[p+4>>2]|0;if(x>>>0<b>>>0)y=x;else y=(x>>>0)%(b>>>0)|0;if((y|0)==(m|0))break;x=(f[a>>2]|0)+(y<<2)|0;if(!(f[x>>2]|0)){q=p;r=j;s=x;t=y;break b}x=p+8|0;z=p;while(1){A=f[z>>2]|0;if(!A)break;if((d[x>>1]|0)==(d[A+8>>1]|0))z=A;else break}f[j>>2]=A;f[z>>2]=f[f[(f[a>>2]|0)+(y<<2)>>2]>>2];f[f[(f[a>>2]|0)+(y<<2)>>2]>>2]=p;x=f[c>>2]|0;if(!x){w=37;break a}else p=x}g=f[p>>2]|0;if(!g){w=37;break a}else{c=p;j=p}}}while(0);f[s>>2]=r;l=f[q>>2]|0;if(!l){w=37;break}else{k=q;m=t;n=q}}if((w|0)==37)return}function Jd(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,w=0,x=0,y=0,z=0,A=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)pr(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;jp(e,16426);f[e>>2]=7416;va(e|0,1160,122)}e=tn(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)pr(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0<c>>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{k=g;l=d;m=j;n=g}a:while(1){b:do if(i){g=k;j=l;d=n;while(1){e=j;while(1){o=f[e+4>>2]&h;if((o|0)==(m|0))break;p=(f[a>>2]|0)+(o<<2)|0;if(!(f[p>>2]|0)){q=e;r=d;s=p;t=o;break b}p=e+8|0;u=e;while(1){v=f[u>>2]|0;if(!v)break;if((b[p>>0]|0)==(b[v+8>>0]|0))u=v;else break}f[d>>2]=v;f[u>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;p=f[g>>2]|0;if(!p){w=37;break a}else e=p}j=f[e>>2]|0;if(!j){w=37;break a}else{g=e;d=e}}}else{d=k;g=l;j=n;while(1){p=g;while(1){x=f[p+4>>2]|0;if(x>>>0<c>>>0)y=x;else y=(x>>>0)%(c>>>0)|0;if((y|0)==(m|0))break;x=(f[a>>2]|0)+(y<<2)|0;if(!(f[x>>2]|0)){q=p;r=j;s=x;t=y;break b}x=p+8|0;z=p;while(1){A=f[z>>2]|0;if(!A)break;if((b[x>>0]|0)==(b[A+8>>0]|0))z=A;else break}f[j>>2]=A;f[z>>2]=f[f[(f[a>>2]|0)+(y<<2)>>2]>>2];f[f[(f[a>>2]|0)+(y<<2)>>2]>>2]=p;x=f[d>>2]|0;if(!x){w=37;break a}else p=x}g=f[p>>2]|0;if(!g){w=37;break a}else{d=p;j=p}}}while(0);f[s>>2]=r;l=f[q>>2]|0;if(!l){w=37;break}else{k=q;m=t;n=q}}if((w|0)==37)return}function Kd(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;g=f[c>>2]|0;c=f[b>>2]|0;h=g-c|0;i=a+8|0;j=f[i>>2]|0;if(h>>>0<64){if(j>>>0<=1){k=0;return k|0}l=f[e>>2]|0;m=1;n=0;while(1){o=(f[l+(n<<2)>>2]|0)>>>0>(f[l+(m<<2)>>2]|0)>>>0?m:n;m=m+1|0;if(m>>>0>=j>>>0){k=o;break}else n=o}return k|0}if(j){j=f[a+1128>>2]|0;n=f[e>>2]|0;e=f[a+1140>>2]|0;m=f[d>>2]|0;d=b+4|0;l=b+8|0;if((g|0)==(c|0)){b=0;do{o=j+(b<<2)|0;f[o>>2]=0;p=(f[a>>2]|0)-(f[n+(b<<2)>>2]|0)|0;f[e+(b<<2)>>2]=p;if(p|0){p=f[o>>2]|0;q=h-p|0;f[o>>2]=q>>>0<p>>>0?p:q}b=b+1|0;q=f[i>>2]|0}while(b>>>0<q>>>0);r=q}else{b=0;do{q=j+(b<<2)|0;f[q>>2]=0;p=(f[a>>2]|0)-(f[n+(b<<2)>>2]|0)|0;f[e+(b<<2)>>2]=p;if(p|0){o=(f[m+(b<<2)>>2]|0)+(1<<p+-1)|0;p=f[l>>2]|0;s=f[(f[d>>2]|0)+24>>2]|0;t=f[q>>2]|0;u=c;do{v=s+((X(u,p)|0)<<2)+(b<<2)|0;t=t+((f[v>>2]|0)>>>0<o>>>0&1)|0;f[q>>2]=t;u=u+1|0}while((u|0)!=(g|0));u=h-t|0;f[q>>2]=u>>>0<t>>>0?t:u}b=b+1|0;u=f[i>>2]|0}while(b>>>0<u>>>0);r=u}if(r){b=f[a+1140>>2]|0;i=a+1128|0;h=0;g=0;c=0;while(1){if(!(f[b+(g<<2)>>2]|0)){w=h;x=c}else{d=f[(f[i>>2]|0)+(g<<2)>>2]|0;l=c>>>0<d>>>0;w=l?g:h;x=l?d:c}g=g+1|0;if(g>>>0>=r>>>0){y=w;break}else{h=w;c=x}}}else y=0}else y=0;x=a+1088|0;c=a+1104|0;w=f[c>>2]|0;h=32-w|0;r=a+1100|0;g=f[r>>2]|0;if((h|0)<4){i=y&15;b=4-h|0;f[c>>2]=b;h=i>>>b|g;f[r>>2]=h;b=a+1092|0;d=f[b>>2]|0;if((d|0)==(f[a+1096>>2]|0))Ti(x,r);else{f[d>>2]=h;f[b>>2]=d+4}f[r>>2]=i<<32-(f[c>>2]|0);k=y;return k|0}i=g|y<<28>>>w;f[r>>2]=i;g=w+4|0;f[c>>2]=g;if((g|0)!=32){k=y;return k|0}g=a+1092|0;w=f[g>>2]|0;if((w|0)==(f[a+1096>>2]|0))Ti(x,r);else{f[w>>2]=i;f[g>>2]=w+4}f[r>>2]=0;f[c>>2]=0;k=y;return k|0}function Ld(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,u=0,v=0,w=0,x=0,y=0,z=0;c=a+4|0;if(!b){d=f[a>>2]|0;f[a>>2]=0;if(d|0)pr(d);f[c>>2]=0;return}if(b>>>0>1073741823){d=ra(8)|0;jp(d,16426);f[d>>2]=7416;va(d|0,1160,122)}d=tn(b<<2)|0;e=f[a>>2]|0;f[a>>2]=d;if(e|0)pr(e);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;e=f[c>>2]|0;if(!e)return;d=f[e+4>>2]|0;g=b+-1|0;h=(g&b|0)==0;if(!h)if(d>>>0<b>>>0)i=d;else i=(d>>>0)%(b>>>0)|0;else i=d&g;f[(f[a>>2]|0)+(i<<2)>>2]=c;c=f[e>>2]|0;if(!c)return;else{j=e;k=c;l=i;m=e}a:while(1){b:do if(h){e=j;i=k;c=m;while(1){d=i;while(1){n=f[d+4>>2]&g;if((n|0)==(l|0))break;o=(f[a>>2]|0)+(n<<2)|0;if(!(f[o>>2]|0)){p=d;q=c;r=o;s=n;break b}o=d+8|0;t=d;while(1){u=f[t>>2]|0;if(!u)break;if((f[o>>2]|0)==(f[u+8>>2]|0))t=u;else break}f[c>>2]=u;f[t>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;o=f[e>>2]|0;if(!o){v=37;break a}else d=o}i=f[d>>2]|0;if(!i){v=37;break a}else{e=d;c=d}}}else{c=j;e=k;i=m;while(1){o=e;while(1){w=f[o+4>>2]|0;if(w>>>0<b>>>0)x=w;else x=(w>>>0)%(b>>>0)|0;if((x|0)==(l|0))break;w=(f[a>>2]|0)+(x<<2)|0;if(!(f[w>>2]|0)){p=o;q=i;r=w;s=x;break b}w=o+8|0;y=o;while(1){z=f[y>>2]|0;if(!z)break;if((f[w>>2]|0)==(f[z+8>>2]|0))y=z;else break}f[i>>2]=z;f[y>>2]=f[f[(f[a>>2]|0)+(x<<2)>>2]>>2];f[f[(f[a>>2]|0)+(x<<2)>>2]>>2]=o;w=f[c>>2]|0;if(!w){v=37;break a}else o=w}e=f[o>>2]|0;if(!e){v=37;break a}else{c=o;i=o}}}while(0);f[r>>2]=q;k=f[p>>2]|0;if(!k){v=37;break}else{j=p;l=s;m=p}}if((v|0)==37)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,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)pr(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;jp(e,16426);f[e>>2]=7416;va(e|0,1160,122)}e=tn(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)pr(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0<c>>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;e=a+24|0;k=g;l=d;d=j;j=g;a:while(1){g=k;m=l;n=j;b:while(1){o=m;while(1){p=f[o+4>>2]|0;if(!i)if(p>>>0<c>>>0)q=p;else q=(p>>>0)%(c>>>0)|0;else q=p&h;if((q|0)==(d|0))break;r=(f[a>>2]|0)+(q<<2)|0;if(!(f[r>>2]|0))break b;p=f[o>>2]|0;c:do if(!p)s=o;else{t=f[o+8>>2]|0;u=f[e>>2]|0;v=f[u+8>>2]|0;w=(f[u+12>>2]|0)-v|0;u=v;v=w>>>2;if((w|0)>0){x=p;y=o}else{w=p;while(1){z=f[w>>2]|0;if(!z){s=w;break c}else w=z}}while(1){w=f[x+8>>2]|0;z=0;do{A=f[u+(z<<2)>>2]|0;if(!(b[A+84>>0]|0)){B=f[A+68>>2]|0;C=f[B+(w<<2)>>2]|0;D=f[B+(t<<2)>>2]|0}else{C=w;D=t}z=z+1|0;if((D|0)!=(C|0)){s=y;break c}}while((z|0)<(v|0));z=f[x>>2]|0;if(!z){s=x;break}else{w=x;x=z;y=w}}}while(0);f[n>>2]=f[s>>2];f[s>>2]=f[f[(f[a>>2]|0)+(q<<2)>>2]>>2];f[f[(f[a>>2]|0)+(q<<2)>>2]>>2]=o;p=f[g>>2]|0;if(!p){E=38;break a}else o=p}m=f[o>>2]|0;if(!m){E=38;break a}else{g=o;n=o}}f[r>>2]=n;l=f[o>>2]|0;if(!l){E=38;break}else{k=o;d=q;j=o}}if((E|0)==38)return}function Nd(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,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;e=b+12|0;g=f[e>>2]|0;h=c+4|0;i=(f[h>>2]|0)-g|0;j=c;f[j>>2]=(f[c>>2]|0)-g;f[j+4>>2]=i;i=(f[d>>2]|0)-g|0;j=d+4|0;k=(f[j>>2]|0)-g|0;g=d;f[g>>2]=i;f[g+4>>2]=k;g=f[e>>2]|0;if((((k|0)>-1?k:0-k|0)+((i|0)>-1?i:0-i|0)|0)>(g|0)){l=f[c>>2]|0;m=f[h>>2]|0;if((m|l|0)>-1){n=1;o=1}else{p=(l|0)<1&(m|0)<1;n=p?-1:(l|0)>0?1:-1;o=p?-1:(m|0)>0?1:-1}p=X(g,n)|0;q=X(g,o)|0;g=(l<<1)-p|0;f[c>>2]=g;l=(m<<1)-q|0;f[h>>2]=l;if((X(n,o)|0)>-1){o=0-l|0;f[c>>2]=o;r=0-g|0;s=o}else{f[c>>2]=l;r=g;s=l}f[c>>2]=(s+p|0)/2|0;f[h>>2]=(r+q|0)/2|0;q=f[d>>2]|0;r=f[j>>2]|0;if((r|q|0)>-1){t=1;u=1}else{p=(q|0)<1&(r|0)<1;t=p?-1:(q|0)>0?1:-1;u=p?-1:(r|0)>0?1:-1}p=f[e>>2]|0;e=X(p,t)|0;s=X(p,u)|0;p=(q<<1)-e|0;f[d>>2]=p;q=(r<<1)-s|0;f[j>>2]=q;if((X(t,u)|0)>-1){u=0-q|0;f[d>>2]=u;v=0-p|0;w=u}else{f[d>>2]=q;v=p;w=q}q=(w+e|0)/2|0;f[d>>2]=q;e=(v+s|0)/2|0;f[j>>2]=e;x=q;y=e}else{x=i;y=k}if(!x)if(!y){z=x;A=y}else B=16;else if((x|0)<0&(y|0)<1){z=x;A=y}else B=16;if((B|0)==16){if(!x)C=(y|0)==0?0:(y|0)>0?3:1;else C=(x|0)>0?(y>>31)+2|0:(y|0)<1?0:3;y=f[c>>2]|0;x=f[h>>2]|0;switch(C|0){case 1:{C=c;f[C>>2]=x;f[C+4>>2]=0-y;D=f[j>>2]|0;E=0-(f[d>>2]|0)|0;break}case 2:{C=c;f[C>>2]=0-y;f[C+4>>2]=0-x;D=0-(f[d>>2]|0)|0;E=0-(f[j>>2]|0)|0;break}case 3:{C=c;f[C>>2]=0-x;f[C+4>>2]=y;D=0-(f[j>>2]|0)|0;E=f[d>>2]|0;break}default:{C=c;f[C>>2]=y;f[C+4>>2]=x;D=f[d>>2]|0;E=f[j>>2]|0}}j=d;f[j>>2]=D;f[j+4>>2]=E;z=D;A=E}E=(f[c>>2]|0)-z|0;f[a>>2]=E;z=(f[h>>2]|0)-A|0;A=a+4|0;f[A>>2]=z;if((E|0)<0)F=(f[b+4>>2]|0)+E|0;else F=E;f[a>>2]=F;if((z|0)>=0){G=z;f[A>>2]=G;return}G=(f[b+4>>2]|0)+z|0;f[A>>2]=G;return}function Od(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,r=0,s=0,t=0,v=0;e=u;u=u+16|0;g=e+4|0;h=e;i=e+12|0;j=e+11|0;k=e+10|0;l=e+8|0;m=c+44|0;n=f[m>>2]|0;o=n+16|0;p=f[o+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[o>>2]|0)>>>0>0)){f[h>>2]=f[n+4>>2];f[g>>2]=f[h>>2];Fe(n,g,16277,16282)|0}n=La[f[(f[c>>2]|0)+8>>2]&127](c)|0;b[i>>0]=n;b[j>>0]=2;b[k>>0]=(n&255|0)==0?3:2;n=f[m>>2]|0;o=n+16|0;p=f[o+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[o>>2]|0)>>>0>0)){f[h>>2]=f[n+4>>2];f[g>>2]=f[h>>2];Fe(n,g,j,j+1|0)|0;j=f[m>>2]|0;o=j+16|0;p=f[o+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[o>>2]|0)>>>0>0)){f[h>>2]=f[j+4>>2];f[g>>2]=f[h>>2];Fe(j,g,k,k+1|0)|0;k=f[m>>2]|0;o=k+16|0;p=f[o+4>>2]|0;if((p|0)>0|(p|0)==0&(f[o>>2]|0)>>>0>0){q=k;r=h}else{f[h>>2]=f[k+4>>2];f[g>>2]=f[h>>2];Fe(k,g,i,i+1|0)|0;q=f[m>>2]|0;r=h}}else{s=h;t=j;v=6}}else{s=h;t=n;v=6}if((v|0)==6){q=t;r=h}r=La[f[(f[c>>2]|0)+12>>2]&127](c)|0;b[l>>0]=r;r=q+16|0;t=f[r+4>>2]|0;if(!((t|0)>0|(t|0)==0&(f[r>>2]|0)>>>0>0)){f[h>>2]=f[q+4>>2];f[g>>2]=f[h>>2];Fe(q,g,l,l+1|0)|0}d[l>>1]=(f[(f[c+4>>2]|0)+4>>2]|0)==0?0:-32768;c=f[m>>2]|0;m=c+16|0;q=f[m+4>>2]|0;if((q|0)>0|(q|0)==0&(f[m>>2]|0)>>>0>0){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=e;return}f[h>>2]=f[c+4>>2];f[g>>2]=f[h>>2];Fe(c,g,l,l+2|0)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=e;return}function Pd(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;e=u;u=u+176|0;g=e+136|0;h=e+104|0;i=e;j=e+72|0;k=tn(88)|0;l=f[c+8>>2]|0;f[k+4>>2]=0;f[k>>2]=3740;m=k+12|0;f[m>>2]=3764;n=k+64|0;f[n>>2]=0;f[k+68>>2]=0;f[k+72>>2]=0;o=k+16|0;p=o+44|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));f[k+76>>2]=l;f[k+80>>2]=d;q=k+84|0;f[q>>2]=0;r=k;f[h>>2]=3764;s=h+4|0;t=s+4|0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;f[t+12>>2]=0;f[t+16>>2]=0;f[t+20>>2]=0;t=f[c+12>>2]|0;v=i+4|0;f[v>>2]=3764;w=i+56|0;f[w>>2]=0;x=i+60|0;f[x>>2]=0;f[i+64>>2]=0;o=i+8|0;p=o+44|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));o=t;f[s>>2]=o;s=((f[o+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0;b[g>>0]=0;hh(h+8|0,s,g);Qa[f[(f[h>>2]|0)+8>>2]&127](h);Gf(j,h);Gf(g,j);f[i>>2]=f[g+4>>2];s=i+4|0;dg(s,g)|0;f[g>>2]=3764;o=f[g+20>>2]|0;if(o|0)pr(o);o=f[g+8>>2]|0;if(o|0)pr(o);f[i+36>>2]=t;f[i+40>>2]=d;f[i+44>>2]=l;f[i+48>>2]=k;f[j>>2]=3764;l=f[j+20>>2]|0;if(l|0)pr(l);l=f[j+8>>2]|0;if(l|0)pr(l);f[q>>2]=c+72;f[k+8>>2]=f[i>>2];dg(m,s)|0;s=k+44|0;k=i+36|0;f[s>>2]=f[k>>2];f[s+4>>2]=f[k+4>>2];f[s+8>>2]=f[k+8>>2];f[s+12>>2]=f[k+12>>2];b[s+16>>0]=b[k+16>>0]|0;mg(n,f[w>>2]|0,f[x>>2]|0);f[a>>2]=r;r=f[w>>2]|0;if(r|0){w=f[x>>2]|0;if((w|0)!=(r|0))f[x>>2]=w+(~((w+-4-r|0)>>>2)<<2);pr(r)}f[v>>2]=3764;v=f[i+24>>2]|0;if(v|0)pr(v);v=f[i+12>>2]|0;if(v|0)pr(v);f[h>>2]=3764;v=f[h+20>>2]|0;if(v|0)pr(v);v=f[h+8>>2]|0;if(!v){u=e;return}pr(v);u=e;return}function Qd(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,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=Ja,x=0,y=Ja,z=Ja,A=Ja;e=u;u=u+16|0;g=e;h=a+4|0;if((f[h>>2]|0)!=-1){i=0;u=e;return i|0}f[h>>2]=d;d=b[c+24>>0]|0;h=d<<24>>24;j=a+20|0;n[j>>2]=$(0.0);f[g>>2]=0;k=g+4|0;f[k>>2]=0;f[g+8>>2]=0;do if(d<<24>>24)if(d<<24>>24<0)Cq(g);else{l=h<<2;m=tn(l)|0;f[g>>2]=m;o=m+(h<<2)|0;f[g+8>>2]=o;pj(m|0,0,l|0)|0;l=m+(h<<2)|0;f[k>>2]=l;p=m;q=l;r=o;break}else{p=0;q=0;r=0}while(0);k=a+8|0;g=f[k>>2]|0;o=a+12|0;if(!g)s=a+16|0;else{l=f[o>>2]|0;if((l|0)!=(g|0))f[o>>2]=l+(~((l+-4-g|0)>>>2)<<2);pr(g);g=a+16|0;f[g>>2]=0;f[o>>2]=0;f[k>>2]=0;s=g}f[k>>2]=p;f[o>>2]=q;f[s>>2]=r;r=h>>>0>1073741823?-1:h<<2;s=mr(r)|0;q=mr(r)|0;r=c+48|0;o=f[r>>2]|0;p=c+40|0;g=f[p>>2]|0;a=f[c>>2]|0;eh(q|0,(f[a>>2]|0)+o|0,g|0)|0;eh(f[k>>2]|0,(f[a>>2]|0)+o|0,g|0)|0;g=r;r=f[g>>2]|0;o=f[g+4>>2]|0;g=p;p=f[g>>2]|0;a=f[g+4>>2]|0;g=f[c>>2]|0;eh(s|0,(f[g>>2]|0)+r|0,p|0)|0;l=f[c+80>>2]|0;a:do if(l>>>0>1){if(d<<24>>24<=0){c=1;while(1){m=En(p|0,a|0,c|0,0)|0;t=go(m|0,I|0,r|0,o|0)|0;eh(q|0,(f[g>>2]|0)+t|0,p|0)|0;c=c+1|0;if(c>>>0>=l>>>0)break a}}c=f[k>>2]|0;t=1;do{m=En(p|0,a|0,t|0,0)|0;v=go(m|0,I|0,r|0,o|0)|0;eh(q|0,(f[g>>2]|0)+v|0,p|0)|0;v=0;do{m=c+(v<<2)|0;w=$(n[m>>2]);x=q+(v<<2)|0;y=$(n[x>>2]);if(w>y){n[m>>2]=y;z=$(n[x>>2])}else z=y;x=s+(v<<2)|0;if($(n[x>>2])<z)n[x>>2]=z;v=v+1|0}while((v|0)!=(h|0));t=t+1|0}while(t>>>0<l>>>0)}while(0);if(d<<24>>24>0){d=f[k>>2]|0;z=$(n[j>>2]);k=0;while(1){y=$(n[s+(k<<2)>>2]);w=$(y-$(n[d+(k<<2)>>2]));if(w>z){n[j>>2]=w;A=w}else A=z;k=k+1|0;if((k|0)==(h|0))break;else z=A}}nr(q);nr(s);i=1;u=e;return i|0}function Rd(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;g=a+8|0;Mh(g,b,d,e);h=d-e|0;if((h|0)>0){d=0-e|0;i=a+16|0;j=a+32|0;k=a+12|0;l=a+28|0;m=a+20|0;n=a+24|0;o=f[g>>2]|0;p=h;while(1){h=b+(p<<2)|0;q=c+(p<<2)|0;if((o|0)>0){r=o;s=0;t=h+(d<<2)|0;while(1){if((r|0)>0){u=0;do{v=f[t+(u<<2)>>2]|0;w=f[i>>2]|0;if((v|0)>(w|0)){x=f[j>>2]|0;f[x+(u<<2)>>2]=w;y=x}else{x=f[k>>2]|0;w=f[j>>2]|0;f[w+(u<<2)>>2]=(v|0)<(x|0)?x:v;y=w}u=u+1|0}while((u|0)<(f[g>>2]|0));z=y}else z=f[j>>2]|0;u=(f[h+(s<<2)>>2]|0)-(f[z+(s<<2)>>2]|0)|0;w=q+(s<<2)|0;f[w>>2]=u;if((u|0)>=(f[l>>2]|0)){if((u|0)>(f[n>>2]|0)){A=u-(f[m>>2]|0)|0;B=31}}else{A=(f[m>>2]|0)+u|0;B=31}if((B|0)==31){B=0;f[w>>2]=A}s=s+1|0;w=f[g>>2]|0;if((s|0)>=(w|0)){C=w;break}else{r=w;t=z}}}else C=o;p=p-e|0;if((p|0)<=0){D=C;break}else o=C}}else D=f[g>>2]|0;C=e>>>0>1073741823?-1:e<<2;e=mr(C)|0;pj(e|0,0,C|0)|0;if((D|0)<=0){nr(e);return 1}C=a+16|0;o=a+32|0;p=a+12|0;z=a+28|0;A=a+20|0;m=a+24|0;a=D;D=0;n=e;while(1){if((a|0)>0){l=0;do{j=f[n+(l<<2)>>2]|0;y=f[C>>2]|0;if((j|0)>(y|0)){k=f[o>>2]|0;f[k+(l<<2)>>2]=y;E=k}else{k=f[p>>2]|0;y=f[o>>2]|0;f[y+(l<<2)>>2]=(j|0)<(k|0)?k:j;E=y}l=l+1|0}while((l|0)<(f[g>>2]|0));F=E}else F=f[o>>2]|0;l=(f[b+(D<<2)>>2]|0)-(f[F+(D<<2)>>2]|0)|0;y=c+(D<<2)|0;f[y>>2]=l;if((l|0)>=(f[z>>2]|0)){if((l|0)>(f[m>>2]|0)){G=l-(f[A>>2]|0)|0;B=16}}else{G=(f[A>>2]|0)+l|0;B=16}if((B|0)==16){B=0;f[y>>2]=G}D=D+1|0;a=f[g>>2]|0;if((D|0)>=(a|0))break;else n=F}nr(e);return 1}function Sd(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,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;e=f[a>>2]|0;g=e;h=(f[b>>2]|0)-g|0;b=e+(h>>2<<2)|0;i=f[c>>2]|0;c=f[d>>2]|0;d=c-i|0;j=d>>2;k=i;l=c;if((d|0)<=0){m=b;return m|0}d=a+8|0;n=f[d>>2]|0;o=a+4|0;p=f[o>>2]|0;q=p;if((j|0)<=(n-q>>2|0)){r=b;s=q-r|0;t=s>>2;if((j|0)>(t|0)){u=k+(t<<2)|0;t=u;if((u|0)==(l|0))v=p;else{w=l+-4-t|0;x=u;u=p;while(1){f[u>>2]=f[x>>2];x=x+4|0;if((x|0)==(l|0))break;else u=u+4|0}u=p+((w>>>2)+1<<2)|0;f[o>>2]=u;v=u}if((s|0)>0){y=v;z=t}else{m=b;return m|0}}else{y=p;z=c}c=y-(b+(j<<2))>>2;t=b+(c<<2)|0;if(t>>>0<p>>>0){v=(p+(0-c<<2)+~r|0)>>>2;r=y;s=t;while(1){f[r>>2]=f[s>>2];s=s+4|0;if(s>>>0>=p>>>0)break;else r=r+4|0}f[o>>2]=y+(v+1<<2)}if(c|0){c=t;t=y;do{c=c+-4|0;t=t+-4|0;f[t>>2]=f[c>>2]}while((c|0)!=(b|0))}c=z;if((k|0)==(c|0)){m=b;return m|0}else{A=k;B=b}while(1){f[B>>2]=f[A>>2];A=A+4|0;if((A|0)==(c|0)){m=b;break}else B=B+4|0}return m|0}B=(q-g>>2)+j|0;if(B>>>0>1073741823)Cq(a);j=n-g|0;g=j>>1;n=j>>2>>>0<536870911?(g>>>0<B>>>0?B:g):1073741823;g=b;B=h>>2;do if(n)if(n>>>0>1073741823){j=ra(8)|0;jp(j,16426);f[j>>2]=7416;va(j|0,1160,122)}else{C=tn(n<<2)|0;break}else C=0;while(0);j=C+(B<<2)|0;c=C+(n<<2)|0;if((k|0)==(l|0))D=j;else{n=((l+-4-i|0)>>>2)+1|0;i=k;k=j;while(1){f[k>>2]=f[i>>2];i=i+4|0;if((i|0)==(l|0))break;else k=k+4|0}D=j+(n<<2)|0}n=j+(0-B<<2)|0;if((h|0)>0)eh(n|0,e|0,h|0)|0;h=q-g|0;if((h|0)>0){eh(D|0,b|0,h|0)|0;E=D+(h>>>2<<2)|0}else E=D;f[a>>2]=n;f[o>>2]=E;f[d>>2]=c;if(!e){m=j;return m|0}pr(e);m=j;return m|0}function Td(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;c=u;u=u+48|0;d=c+40|0;e=c+36|0;g=c+32|0;h=c;i=a+60|0;ai(f[i>>2]|0,b)|0;Gn(h);gl(h);j=f[a+56>>2]|0;k=f[i>>2]|0;i=k>>>5;l=j+(i<<2)|0;m=k&31;k=(i|0)!=0;a:do if(i|m|0){if(!m){n=j;o=k;p=1;while(1){if(o){q=0;r=p;while(1){s=(f[n>>2]&1<<q|0)!=0;dj(h,r^s^1);if((q|0)==31){t=s;break}else{q=q+1|0;r=s}}}else{r=0;q=p;while(1){s=(f[n>>2]&1<<r|0)!=0;dj(h,q^s^1);if((r|0)==31){t=s;break}else{r=r+1|0;q=s}}}n=n+4|0;if((n|0)==(l|0))break a;else{o=1;p=t}}}if(k){p=j;o=1;while(1){n=0;q=o;while(1){r=q;q=(f[p>>2]&1<<n|0)!=0;dj(h,r^q^1);if((n|0)==31)break;else n=n+1|0}n=p+4|0;if((n|0)==(l|0)){v=n;w=q;break}else{p=n;o=q}}}else{v=j;w=1}o=0;p=w;do{n=p;p=(f[v>>2]&1<<o|0)!=0;dj(h,n^p^1);o=o+1|0}while((o|0)!=(m|0))}while(0);hd(h,b);f[g>>2]=f[a+12>>2];m=b+16|0;v=m;w=f[v>>2]|0;j=f[v+4>>2]|0;if((j|0)>0|(j|0)==0&w>>>0>0){x=j;y=w}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;w=m;x=f[w+4>>2]|0;y=f[w>>2]|0}f[g>>2]=f[a+20>>2];if((x|0)>0|(x|0)==0&y>>>0>0){Dj(h);u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;Dj(h);u=c;return 1}function Ud(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,v=0,w=0,x=0,y=0;switch(b-a>>2|0){case 2:{d=b+-4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=f[c>>2]|0;i=f[h>>2]|0;j=(f[h+4>>2]|0)-i>>3;if(j>>>0<=e>>>0)Cq(h);k=i;if(j>>>0<=g>>>0)Cq(h);if((f[k+(e<<3)>>2]|0)>>>0>=(f[k+(g<<3)>>2]|0)>>>0){l=1;return l|0}f[a>>2]=e;f[d>>2]=g;l=1;return l|0}case 3:{Sg(a,a+4|0,b+-4|0,c)|0;l=1;return l|0}case 4:{dh(a,a+4|0,a+8|0,b+-4|0,c)|0;l=1;return l|0}case 5:{hg(a,a+4|0,a+8|0,a+12|0,b+-4|0,c)|0;l=1;return l|0}case 1:case 0:{l=1;return l|0}default:{g=a+8|0;Sg(a,a+4|0,g,c)|0;d=a+12|0;a:do if((d|0)!=(b|0)){e=f[c>>2]|0;k=f[e>>2]|0;h=(f[e+4>>2]|0)-k>>3;j=k;k=0;i=d;m=g;b:while(1){n=f[i>>2]|0;o=f[m>>2]|0;if(h>>>0<=n>>>0){p=14;break}if(h>>>0<=o>>>0){p=16;break}q=j+(n<<3)|0;if((f[q>>2]|0)>>>0<(f[j+(o<<3)>>2]|0)>>>0){r=o;o=i;s=m;while(1){f[o>>2]=r;if((s|0)==(a|0)){t=a;break}u=s+-4|0;r=f[u>>2]|0;if(h>>>0<=r>>>0){p=20;break b}if((f[q>>2]|0)>>>0>=(f[j+(r<<3)>>2]|0)>>>0){t=s;break}else{v=s;s=u;o=v}}f[t>>2]=n;o=k+1|0;if((o|0)==8){w=0;x=(i+4|0)==(b|0);break a}else y=o}else y=k;o=i+4|0;if((o|0)==(b|0)){w=1;x=0;break a}else{s=i;k=y;i=o;m=s}}if((p|0)==14)Cq(e);else if((p|0)==16)Cq(e);else if((p|0)==20)Cq(e)}else{w=1;x=0}while(0);l=x|w;return l|0}}return 0}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,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;c=u;u=u+48|0;d=c+40|0;e=c+36|0;g=c+32|0;h=c;i=a+80|0;ai(f[i>>2]|0,b)|0;Gn(h);gl(h);j=f[a+76>>2]|0;k=f[i>>2]|0;i=k>>>5;l=j+(i<<2)|0;m=k&31;k=(i|0)!=0;a:do if(i|m|0){if(!m){n=j;o=k;p=1;while(1){if(o){q=0;r=p;while(1){s=(f[n>>2]&1<<q|0)!=0;dj(h,r^s^1);if((q|0)==31){t=s;break}else{q=q+1|0;r=s}}}else{r=0;q=p;while(1){s=(f[n>>2]&1<<r|0)!=0;dj(h,q^s^1);if((r|0)==31){t=s;break}else{r=r+1|0;q=s}}}n=n+4|0;if((n|0)==(l|0))break a;else{o=1;p=t}}}if(k){p=j;o=1;while(1){n=0;q=o;while(1){r=q;q=(f[p>>2]&1<<n|0)!=0;dj(h,r^q^1);if((n|0)==31)break;else n=n+1|0}n=p+4|0;if((n|0)==(l|0)){v=n;w=q;break}else{p=n;o=q}}}else{v=j;w=1}o=0;p=w;do{n=p;p=(f[v>>2]&1<<o|0)!=0;dj(h,n^p^1);o=o+1|0}while((o|0)!=(m|0))}while(0);hd(h,b);f[g>>2]=f[a+12>>2];m=b+16|0;v=m;w=f[v>>2]|0;j=f[v+4>>2]|0;if((j|0)>0|(j|0)==0&w>>>0>0){x=j;y=w}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;w=m;x=f[w+4>>2]|0;y=f[w>>2]|0}f[g>>2]=f[a+16>>2];if((x|0)>0|(x|0)==0&y>>>0>0){Dj(h);u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;Dj(h);u=c;return 1}function Wd(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;h=u;u=u+16|0;i=h+4|0;j=h;f[a+72>>2]=e;f[a+64>>2]=g;g=mr(e>>>0>1073741823?-1:e<<2)|0;k=a+68|0;l=f[k>>2]|0;f[k>>2]=g;if(l|0)nr(l);l=a+8|0;Mh(l,b,d,e);d=a+56|0;g=f[d>>2]|0;m=f[g+4>>2]|0;n=f[g>>2]|0;o=m-n|0;if((o|0)<=0){u=h;return 1}p=(o>>>2)+-1|0;o=a+16|0;q=a+32|0;r=a+12|0;s=a+28|0;t=a+20|0;v=a+24|0;if(m-n>>2>>>0>p>>>0){w=n;x=p}else{y=g;Cq(y)}while(1){f[j>>2]=f[w+(x<<2)>>2];f[i>>2]=f[j>>2];yc(a,i,b,x);g=X(x,e)|0;p=b+(g<<2)|0;n=c+(g<<2)|0;g=f[l>>2]|0;if((g|0)>0){m=g;g=0;z=f[k>>2]|0;while(1){if((m|0)>0){A=0;do{B=f[z+(A<<2)>>2]|0;C=f[o>>2]|0;if((B|0)>(C|0)){D=f[q>>2]|0;f[D+(A<<2)>>2]=C;E=D}else{D=f[r>>2]|0;C=f[q>>2]|0;f[C+(A<<2)>>2]=(B|0)<(D|0)?D:B;E=C}A=A+1|0}while((A|0)<(f[l>>2]|0));F=E}else F=f[q>>2]|0;A=(f[p+(g<<2)>>2]|0)-(f[F+(g<<2)>>2]|0)|0;C=n+(g<<2)|0;f[C>>2]=A;if((A|0)>=(f[s>>2]|0)){if((A|0)>(f[v>>2]|0)){G=A-(f[t>>2]|0)|0;H=21}}else{G=(f[t>>2]|0)+A|0;H=21}if((H|0)==21){H=0;f[C>>2]=G}g=g+1|0;m=f[l>>2]|0;if((g|0)>=(m|0))break;else z=F}}x=x+-1|0;if((x|0)<=-1){H=5;break}z=f[d>>2]|0;w=f[z>>2]|0;if((f[z+4>>2]|0)-w>>2>>>0<=x>>>0){y=z;H=6;break}}if((H|0)==5){u=h;return 1}else if((H|0)==6)Cq(y);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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;h=u;u=u+16|0;i=h+4|0;j=h;f[a+72>>2]=e;f[a+64>>2]=g;g=mr(e>>>0>1073741823?-1:e<<2)|0;k=a+68|0;l=f[k>>2]|0;f[k>>2]=g;if(l|0)nr(l);l=a+8|0;Mh(l,b,d,e);d=a+56|0;g=f[d>>2]|0;m=f[g+4>>2]|0;n=f[g>>2]|0;o=m-n|0;if((o|0)<=0){u=h;return 1}p=(o>>>2)+-1|0;o=a+16|0;q=a+32|0;r=a+12|0;s=a+28|0;t=a+20|0;v=a+24|0;if(m-n>>2>>>0>p>>>0){w=n;x=p}else{y=g;Cq(y)}while(1){f[j>>2]=f[w+(x<<2)>>2];f[i>>2]=f[j>>2];xc(a,i,b,x);g=X(x,e)|0;p=b+(g<<2)|0;n=c+(g<<2)|0;g=f[l>>2]|0;if((g|0)>0){m=g;g=0;z=f[k>>2]|0;while(1){if((m|0)>0){A=0;do{B=f[z+(A<<2)>>2]|0;C=f[o>>2]|0;if((B|0)>(C|0)){D=f[q>>2]|0;f[D+(A<<2)>>2]=C;E=D}else{D=f[r>>2]|0;C=f[q>>2]|0;f[C+(A<<2)>>2]=(B|0)<(D|0)?D:B;E=C}A=A+1|0}while((A|0)<(f[l>>2]|0));F=E}else F=f[q>>2]|0;A=(f[p+(g<<2)>>2]|0)-(f[F+(g<<2)>>2]|0)|0;C=n+(g<<2)|0;f[C>>2]=A;if((A|0)>=(f[s>>2]|0)){if((A|0)>(f[v>>2]|0)){G=A-(f[t>>2]|0)|0;H=21}}else{G=(f[t>>2]|0)+A|0;H=21}if((H|0)==21){H=0;f[C>>2]=G}g=g+1|0;m=f[l>>2]|0;if((g|0)>=(m|0))break;else z=F}}x=x+-1|0;if((x|0)<=-1){H=5;break}z=f[d>>2]|0;w=f[z>>2]|0;if((f[z+4>>2]|0)-w>>2>>>0<=x>>>0){y=z;H=6;break}}if((H|0)==5){u=h;return 1}else if((H|0)==6)Cq(y);return 0}function Yd(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,o=0,p=0,q=0,r=0,s=Ja,t=Ja,u=Ja,v=0,w=0,x=0,y=0,z=0;c=f[b>>2]|0;b=a+4|0;d=f[b>>2]|0;e=(d|0)==0;a:do if(!e){g=d+-1|0;h=(g&d|0)==0;if(!h)if(c>>>0<d>>>0)i=c;else i=(c>>>0)%(d>>>0)|0;else i=g&c;j=f[(f[a>>2]|0)+(i<<2)>>2]|0;if(!j)k=i;else{if(h){h=j;while(1){l=f[h>>2]|0;if(!l){k=i;break a}m=f[l+4>>2]|0;if(!((m|0)==(c|0)|(m&g|0)==(i|0))){k=i;break a}if((f[l+8>>2]|0)==(c|0)){o=l;break}else h=l}p=o+12|0;return p|0}else q=j;while(1){h=f[q>>2]|0;if(!h){k=i;break a}g=f[h+4>>2]|0;if((g|0)!=(c|0)){if(g>>>0<d>>>0)r=g;else r=(g>>>0)%(d>>>0)|0;if((r|0)!=(i|0)){k=i;break a}}if((f[h+8>>2]|0)==(c|0)){o=h;break}else q=h}p=o+12|0;return p|0}}else k=0;while(0);q=tn(16)|0;f[q+8>>2]=c;f[q+12>>2]=0;f[q+4>>2]=c;f[q>>2]=0;i=a+12|0;s=$(((f[i>>2]|0)+1|0)>>>0);t=$(d>>>0);u=$(n[a+16>>2]);do if(e|s>$(t*u)){r=(d>>>0<3|(d+-1&d|0)!=0)&1|d<<1;j=~~$(W($(s/u)))>>>0;Di(a,r>>>0<j>>>0?j:r);r=f[b>>2]|0;j=r+-1|0;if(!(j&r)){v=r;w=j&c;break}if(c>>>0<r>>>0){v=r;w=c}else{v=r;w=(c>>>0)%(r>>>0)|0}}else{v=d;w=k}while(0);k=(f[a>>2]|0)+(w<<2)|0;w=f[k>>2]|0;if(!w){d=a+8|0;f[q>>2]=f[d>>2];f[d>>2]=q;f[k>>2]=d;d=f[q>>2]|0;if(d|0){k=f[d+4>>2]|0;d=v+-1|0;if(d&v)if(k>>>0<v>>>0)x=k;else x=(k>>>0)%(v>>>0)|0;else x=k&d;y=(f[a>>2]|0)+(x<<2)|0;z=30}}else{f[q>>2]=f[w>>2];y=w;z=30}if((z|0)==30)f[y>>2]=q;f[i>>2]=(f[i>>2]|0)+1;o=q;p=o+12|0;return p|0}function Zd(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;c=u;u=u+16|0;d=c+4|0;e=c;f[a+64>>2]=b;g=a+128|0;f[g>>2]=2;h=a+132|0;f[h>>2]=7;i=La[f[(f[b>>2]|0)+32>>2]&127](b)|0;b=a+88|0;f[b>>2]=i;j=a+104|0;k=(f[i+28>>2]|0)-(f[i+24>>2]|0)>>2;i=a+108|0;l=f[i>>2]|0;m=f[j>>2]|0;n=l-m>>2;o=m;p=l;if(k>>>0<=n>>>0)if(k>>>0<n>>>0?(q=o+(k<<2)|0,(p|0)!=(q|0)):0){o=p+(~((p+-4-q|0)>>>2)<<2)|0;f[i>>2]=o;r=o;s=m}else{r=l;s=m}else{zi(j,k-n|0);r=f[i>>2]|0;s=f[j>>2]|0}if((r|0)!=(s|0)){s=0;do{r=f[b>>2]|0;f[e>>2]=s;f[d>>2]=f[e>>2];n=ah(r,d)|0;r=f[j>>2]|0;f[r+(s<<2)>>2]=n;s=s+1|0}while(s>>>0<(f[i>>2]|0)-r>>2>>>0)}i=a+92|0;s=f[b>>2]|0;j=f[s>>2]|0;d=(f[s+4>>2]|0)-j>>2;e=a+96|0;r=f[e>>2]|0;n=f[i>>2]|0;k=r-n>>2;m=n;n=r;if(d>>>0<=k>>>0)if(d>>>0<k>>>0?(r=m+(d<<2)|0,(n|0)!=(r|0)):0){f[e>>2]=n+(~((n+-4-r|0)>>>2)<<2);t=s;v=j}else{t=s;v=j}else{zi(i,d-k|0);k=f[b>>2]|0;t=k;v=f[k>>2]|0}k=f[t+4>>2]|0;if((k|0)!=(v|0)){v=f[i>>2]|0;i=f[t>>2]|0;t=k-i>>2;k=0;do{f[v+(k<<2)>>2]=f[i+(k<<2)>>2];k=k+1|0}while(k>>>0<t>>>0)}t=(f[h>>2]|0)-(f[g>>2]|0)+1|0;g=a+136|0;h=a+140|0;a=f[h>>2]|0;k=f[g>>2]|0;i=(a-k|0)/12|0;v=a;if(t>>>0>i>>>0){Nf(g,t-i|0);u=c;return 1}if(t>>>0>=i>>>0){u=c;return 1}i=k+(t*12|0)|0;if((v|0)==(i|0)){u=c;return 1}else w=v;while(1){v=w+-12|0;f[h>>2]=v;t=f[v>>2]|0;if(!t)x=v;else{v=w+-8|0;k=f[v>>2]|0;if((k|0)!=(t|0))f[v>>2]=k+(~((k+-4-t|0)>>>2)<<2);pr(t);x=f[h>>2]|0}if((x|0)==(i|0))break;else w=x}u=c;return 1}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,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));Qc(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=4194304;if(d){d=4194304;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0<r>>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0<r>>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<20)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Af(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1}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,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));Rc(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=4194304;if(d){d=4194304;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0<r>>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0<r>>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<20)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Af(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;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,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));Sc(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=4194304;if(d){d=4194304;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0<r>>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0<r>>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<20)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Af(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;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,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));Tc(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=4194304;if(d){d=4194304;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0<r>>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0<r>>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<20)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Af(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;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,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));Uc(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=4194304;if(d){d=4194304;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0<r>>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0<r>>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<20)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Af(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;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,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));Vc(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=2097152;if(d){d=2097152;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0<r>>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0<r>>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<19)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Bf(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;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,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));Wc(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=1048576;if(d){d=1048576;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0<r>>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0<r>>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<18)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Cf(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;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,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));Xc(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=262144;if(d){d=262144;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0<r>>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0<r>>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<16)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Df(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;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,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));Yc(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=131072;if(d){d=131072;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0<r>>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0<r>>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<15)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Ef(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;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,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));Zc(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=32768;if(d){d=32768;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0<r>>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0<r>>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<13)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Hf(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;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,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));_c(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=16384;if(d){d=16384;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0<r>>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0<r>>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Lf(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;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,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));$c(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=16384;if(d){d=16384;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0<r>>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0<r>>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Lf(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;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,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));ad(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=16384;if(d){d=16384;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0<r>>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0<r>>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Lf(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;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,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));bd(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=16384;if(d){d=16384;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0<r>>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0<r>>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Lf(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;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,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));cd(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=16384;if(d){d=16384;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0<r>>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0<r>>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Lf(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;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,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));dd(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=16384;if(d){d=16384;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0<r>>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0<r>>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Lf(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;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,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));ed(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=16384;if(d){d=16384;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0<r>>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0<r>>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Lf(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;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,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)Cq(h);else{l=tn(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;pj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{l=o+(f[a+(j<<2)>>2]<<3)|0;m=l;p=go(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;m=l;f[m>>2]=p;f[m+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;m=j;f[m>>2]=0;f[m+4>>2]=0;m=i;p=m+36|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(p|0));fd(i,o,n-o>>3,e)|0;o=i+16|0;n=eo(f[o>>2]|0,f[o+4>>2]|0,1)|0;o=(f[e+4>>2]|0)-(f[e>>2]|0)|0;m=j;f[m>>2]=o;f[m+4>>2]=0;m=go(n|0,I|0,39,0)|0;n=jo(m|0,I|0,3)|0;m=go(n|0,I|0,8,0)|0;n=go(m|0,I|0,o|0,0)|0;Gl(e,n,I);n=i+24|0;f[n>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;o=i+32|0;f[o>>2]=16384;if(d){d=16384;m=c;do{c=m;m=m+-1|0;p=f[a+(m<<2)>>2]|0;l=f[i>>2]|0;q=f[l+(p<<3)>>2]|0;r=q<<10;if(d>>>0<r>>>0)s=d;else{t=d;while(1){v=f[n>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[o>>2]|0)>>>8;f[o>>2]=w;if(w>>>0<r>>>0){s=w;break}else t=w}}d=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[l+(p<<3)+4>>2]|0)|0;f[o>>2]=d}while((c|0)>1)}Lf(i,e);e=f[i>>2]|0;if(e|0){d=i+4|0;i=f[d>>2]|0;if((i|0)!=(e|0))f[d>>2]=i+(~((i+-8-e|0)>>>3)<<3);pr(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);pr(e);u=g;return 1}function qe(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,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;e=f[b>>2]|0;g=f[b+4>>2]|0;h=((f[c>>2]|0)-e<<3)+(f[c+4>>2]|0)-g|0;c=e;if((h|0)<=0){i=d+4|0;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}if(!g){e=d+4|0;m=f[e>>2]|0;n=c;o=e;p=h}else{e=32-g|0;q=(h|0)<(e|0)?h:e;r=-1>>>(e-q|0)&-1<<g&f[c>>2];e=d+4|0;s=f[e>>2]|0;t=32-s|0;u=t>>>0<q>>>0?t:q;v=f[d>>2]|0;w=f[v>>2]&~(-1>>>(t-u|0)&-1<<s);f[v>>2]=w;s=f[e>>2]|0;f[v>>2]=(s>>>0>g>>>0?r<<s-g:r>>>(g-s|0))|w;w=(f[e>>2]|0)+u|0;s=v+(w>>>5<<2)|0;f[d>>2]=s;v=w&31;f[e>>2]=v;w=q-u|0;if((w|0)>0){f[s>>2]=r>>>(g+u|0)|f[s>>2]&~(-1>>>(32-w|0));f[e>>2]=w;x=w}else x=v;v=c+4|0;f[b>>2]=v;m=x;n=v;o=e;p=h-q|0}q=32-m|0;h=-1<<m;if((p|0)>31){m=~h;e=f[d>>2]|0;v=p+-32|0;x=v>>>5;c=x+1|0;w=v-(x<<5)|0;x=f[e>>2]|0;v=e;s=p;u=n;while(1){g=f[u>>2]|0;r=x&m;f[v>>2]=r;f[v>>2]=g<<f[o>>2]|r;v=v+4|0;x=f[v>>2]&h|g>>>q;f[v>>2]=x;s=s+-32|0;if((s|0)<=31)break;else u=u+4|0}u=n+(c<<2)|0;f[b>>2]=u;f[d>>2]=e+(c<<2);y=u;z=w}else{y=n;z=p}if((z|0)<=0){i=o;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}p=f[y>>2]&-1>>>(32-z|0);y=(q|0)<(z|0)?q:z;n=f[d>>2]|0;w=f[n>>2]&~(-1<<f[o>>2]&-1>>>(q-y|0));f[n>>2]=w;f[n>>2]=w|p<<f[o>>2];w=(f[o>>2]|0)+y|0;q=n+(w>>>5<<2)|0;f[d>>2]=q;f[o>>2]=w&31;w=z-y|0;if((w|0)<=0){i=o;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}f[q>>2]=f[q>>2]&~(-1>>>(32-w|0))|p>>>y;f[o>>2]=w;i=o;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}function re(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;d=u;u=u+16|0;e=d+4|0;g=d;h=d+9|0;i=d+8|0;j=f[(f[a+184>>2]|0)+(c<<2)>>2]&255;b[h>>0]=j;c=a+4|0;k=f[(f[c>>2]|0)+44>>2]|0;l=k+16|0;m=f[l+4>>2]|0;if((m|0)>0|(m|0)==0&(f[l>>2]|0)>>>0>0)n=j;else{f[g>>2]=f[k+4>>2];f[e>>2]=f[g>>2];Fe(k,e,h,h+1|0)|0;n=b[h>>0]|0}a:do if(n<<24>>24>-1){k=a+172|0;j=f[(f[k>>2]|0)+((n<<24>>24)*136|0)>>2]|0;l=(La[f[(f[a>>2]|0)+40>>2]&127](a)|0)+56|0;m=b[h>>0]|0;o=f[k>>2]|0;k=f[o+(m*136|0)+132>>2]|0;switch(f[(f[(f[l>>2]|0)+84>>2]|0)+(j<<2)>>2]|0){case 0:{p=k;q=7;break a;break}case 1:{if(b[o+(m*136|0)+28>>0]|0){p=k;q=7;break a}break}default:{}}m=f[(f[c>>2]|0)+44>>2]|0;b[i>>0]=1;o=m+16|0;j=f[o+4>>2]|0;if(!((j|0)>0|(j|0)==0&(f[o>>2]|0)>>>0>0)){f[g>>2]=f[m+4>>2];f[e>>2]=f[g>>2];Fe(m,e,i,i+1|0)|0}r=k}else{p=f[a+68>>2]|0;q=7}while(0);if((q|0)==7){q=f[(f[c>>2]|0)+44>>2]|0;b[i>>0]=0;a=q+16|0;h=f[a+4>>2]|0;if(!((h|0)>0|(h|0)==0&(f[a>>2]|0)>>>0>0)){f[g>>2]=f[q+4>>2];f[e>>2]=f[g>>2];Fe(q,e,i,i+1|0)|0}r=p}p=f[(f[c>>2]|0)+44>>2]|0;b[i>>0]=r;r=p+16|0;c=f[r+4>>2]|0;if((c|0)>0|(c|0)==0&(f[r>>2]|0)>>>0>0){u=d;return 1}f[g>>2]=f[p+4>>2];f[e>>2]=f[g>>2];Fe(p,e,i,i+1|0)|0;u=d;return 1}function se(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;h=u;u=u+16|0;i=h+4|0;j=h;k=a+60|0;f[a+64>>2]=g;g=a+8|0;Mh(g,b,d,e);d=a+56|0;l=f[d>>2]|0;m=f[l+4>>2]|0;n=f[l>>2]|0;o=m-n|0;if((o|0)<=0){u=h;return 1}p=(o>>>2)+-1|0;o=a+68|0;q=a+16|0;r=a+32|0;s=a+12|0;t=a+28|0;v=a+20|0;w=a+24|0;if(m-n>>2>>>0>p>>>0){x=n;y=p}else{z=l;Cq(z)}while(1){f[j>>2]=f[x+(y<<2)>>2];f[i>>2]=f[j>>2];ob(k,i,b,y)|0;l=X(y,e)|0;p=b+(l<<2)|0;n=c+(l<<2)|0;l=f[g>>2]|0;if((l|0)>0){m=l;l=0;a=o;while(1){if((m|0)>0){A=0;do{B=f[a+(A<<2)>>2]|0;C=f[q>>2]|0;if((B|0)>(C|0)){D=f[r>>2]|0;f[D+(A<<2)>>2]=C;E=D}else{D=f[s>>2]|0;C=f[r>>2]|0;f[C+(A<<2)>>2]=(B|0)<(D|0)?D:B;E=C}A=A+1|0}while((A|0)<(f[g>>2]|0));F=E}else F=f[r>>2]|0;A=(f[p+(l<<2)>>2]|0)-(f[F+(l<<2)>>2]|0)|0;C=n+(l<<2)|0;f[C>>2]=A;if((A|0)>=(f[t>>2]|0)){if((A|0)>(f[w>>2]|0)){G=A-(f[v>>2]|0)|0;H=18}}else{G=(f[v>>2]|0)+A|0;H=18}if((H|0)==18){H=0;f[C>>2]=G}l=l+1|0;m=f[g>>2]|0;if((l|0)>=(m|0))break;else a=F}}y=y+-1|0;if((y|0)<=-1){H=3;break}a=f[d>>2]|0;x=f[a>>2]|0;if((f[a+4>>2]|0)-x>>2>>>0<=y>>>0){z=a;H=4;break}}if((H|0)==3){u=h;return 1}else if((H|0)==4)Cq(z);return 0}function te(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;h=u;u=u+16|0;i=h+4|0;j=h;k=a+60|0;f[a+64>>2]=g;g=a+8|0;Mh(g,b,d,e);d=a+56|0;l=f[d>>2]|0;m=f[l+4>>2]|0;n=f[l>>2]|0;o=m-n|0;if((o|0)<=0){u=h;return 1}p=(o>>>2)+-1|0;o=a+68|0;q=a+16|0;r=a+32|0;s=a+12|0;t=a+28|0;v=a+20|0;w=a+24|0;if(m-n>>2>>>0>p>>>0){x=n;y=p}else{z=l;Cq(z)}while(1){f[j>>2]=f[x+(y<<2)>>2];f[i>>2]=f[j>>2];nb(k,i,b,y)|0;l=X(y,e)|0;p=b+(l<<2)|0;n=c+(l<<2)|0;l=f[g>>2]|0;if((l|0)>0){m=l;l=0;a=o;while(1){if((m|0)>0){A=0;do{B=f[a+(A<<2)>>2]|0;C=f[q>>2]|0;if((B|0)>(C|0)){D=f[r>>2]|0;f[D+(A<<2)>>2]=C;E=D}else{D=f[s>>2]|0;C=f[r>>2]|0;f[C+(A<<2)>>2]=(B|0)<(D|0)?D:B;E=C}A=A+1|0}while((A|0)<(f[g>>2]|0));F=E}else F=f[r>>2]|0;A=(f[p+(l<<2)>>2]|0)-(f[F+(l<<2)>>2]|0)|0;C=n+(l<<2)|0;f[C>>2]=A;if((A|0)>=(f[t>>2]|0)){if((A|0)>(f[w>>2]|0)){G=A-(f[v>>2]|0)|0;H=18}}else{G=(f[v>>2]|0)+A|0;H=18}if((H|0)==18){H=0;f[C>>2]=G}l=l+1|0;m=f[g>>2]|0;if((l|0)>=(m|0))break;else a=F}}y=y+-1|0;if((y|0)<=-1){H=3;break}a=f[d>>2]|0;x=f[a>>2]|0;if((f[a+4>>2]|0)-x>>2>>>0<=y>>>0){z=a;H=4;break}}if((H|0)==3){u=h;return 1}else if((H|0)==4)Cq(z);return 0}function ue(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;d=u;u=u+32|0;e=d+8|0;g=d;h=a+4|0;i=f[h>>2]|0;if(i>>>0>=b>>>0){f[h>>2]=b;u=d;return}j=a+8|0;k=f[j>>2]|0;l=k<<5;m=b-i|0;if(l>>>0<m>>>0|i>>>0>(l-m|0)>>>0){f[e>>2]=0;n=e+4|0;f[n>>2]=0;o=e+8|0;f[o>>2]=0;if((b|0)<0)Cq(a);p=k<<6;k=b+31&-32;si(e,l>>>0<1073741823?(p>>>0<k>>>0?k:p):2147483647);p=f[h>>2]|0;f[n>>2]=p+m;k=f[a>>2]|0;l=k;q=f[e>>2]|0;r=(l+(p>>>5<<2)-k<<3)+(p&31)|0;if((r|0)>0){p=r>>>5;qm(q|0,k|0,p<<2|0)|0;k=r-(p<<5)|0;r=q+(p<<2)|0;s=r;if((k|0)>0){t=-1>>>(32-k|0);f[r>>2]=f[r>>2]&~t|f[l+(p<<2)>>2]&t;v=s;w=k}else{v=s;w=0}}else{v=q;w=0}f[g>>2]=v;f[g+4>>2]=w;w=g;g=f[w>>2]|0;v=f[w+4>>2]|0;w=f[a>>2]|0;f[a>>2]=f[e>>2];f[e>>2]=w;e=f[h>>2]|0;f[h>>2]=f[n>>2];f[n>>2]=e;e=f[j>>2]|0;f[j>>2]=f[o>>2];f[o>>2]=e;if(w|0)pr(w);x=g;y=v}else{v=(f[a>>2]|0)+(i>>>5<<2)|0;f[h>>2]=b;x=v;y=i&31}if(!m){u=d;return}i=(y|0)==0;v=x;if(c){if(i){z=x;A=v;B=m}else{c=32-y|0;b=c>>>0>m>>>0?m:c;f[v>>2]=f[v>>2]|-1>>>(c-b|0)&-1<<y;c=v+4|0;z=c;A=c;B=m-b|0}b=B>>>5;pj(z|0,-1,b<<2|0)|0;z=B-(b<<5)|0;B=A+(b<<2)|0;if(!z){u=d;return}f[B>>2]=f[B>>2]|-1>>>(32-z|0);u=d;return}else{if(i){C=x;D=v;E=m}else{x=32-y|0;i=x>>>0>m>>>0?m:x;f[v>>2]=f[v>>2]&~(-1>>>(x-i|0)&-1<<y);y=v+4|0;C=y;D=y;E=m-i|0}i=E>>>5;pj(C|0,0,i<<2|0)|0;C=E-(i<<5)|0;E=D+(i<<2)|0;if(!C){u=d;return}f[E>>2]=f[E>>2]&~(-1>>>(32-C|0));u=d;return}}function ve(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,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=f[b>>2]|0;g=b+4|0;h=f[g>>2]|0;i=((f[c>>2]|0)-e<<3)+(f[c+4>>2]|0)-h|0;c=e;if((i|0)<=0){j=d+4|0;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}if(!h){e=d+4|0;n=f[e>>2]|0;o=c;p=e;q=i}else{e=32-h|0;r=(i|0)<(e|0)?i:e;s=-1>>>(e-r|0)&-1<<h&f[c>>2];c=d+4|0;h=f[c>>2]|0;e=32-h|0;t=e>>>0<r>>>0?e:r;u=f[d>>2]|0;v=f[u>>2]&~(-1>>>(e-t|0)&-1<<h);f[u>>2]=v;h=f[c>>2]|0;e=f[g>>2]|0;f[u>>2]=(h>>>0>e>>>0?s<<h-e:s>>>(e-h|0))|v;v=(f[c>>2]|0)+t|0;h=u+(v>>>5<<2)|0;f[d>>2]=h;u=v&31;f[c>>2]=u;v=r-t|0;if((v|0)>0){e=f[h>>2]&~(-1>>>(32-v|0));f[h>>2]=e;f[h>>2]=s>>>((f[g>>2]|0)+t|0)|e;f[c>>2]=v;w=v}else w=u;u=(f[b>>2]|0)+4|0;f[b>>2]=u;n=w;o=u;p=c;q=i-r|0}r=32-n|0;i=-1<<n;if((q|0)>31){n=~i;c=o;u=q;do{w=f[c>>2]|0;v=f[d>>2]|0;e=f[v>>2]&n;f[v>>2]=e;f[v>>2]=w<<f[p>>2]|e;e=v+4|0;f[d>>2]=e;f[e>>2]=f[e>>2]&i|w>>>r;u=u+-32|0;c=(f[b>>2]|0)+4|0;f[b>>2]=c}while((u|0)>31);x=c;y=q&31}else{x=o;y=q}if((y|0)<=0){j=p;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}q=f[x>>2]&-1>>>(32-y|0);x=(r|0)<(y|0)?r:y;o=f[d>>2]|0;c=f[o>>2]&~(-1<<f[p>>2]&-1>>>(r-x|0));f[o>>2]=c;f[o>>2]=c|q<<f[p>>2];c=(f[p>>2]|0)+x|0;r=o+(c>>>5<<2)|0;f[d>>2]=r;f[p>>2]=c&31;c=y-x|0;if((c|0)<=0){j=p;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}f[r>>2]=f[r>>2]&~(-1>>>(32-c|0))|q>>>x;f[p>>2]=c;j=p;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}function we(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,y=0,z=0,A=0,B=0,C=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+12|0;g=f[e>>2]|0;h=(f[g+4>>2]|0)-(f[g>>2]|0)>>2;if(!h){u=b;return 1}i=a+152|0;j=a+140|0;k=a+144|0;l=a+148|0;a=g;g=0;while(1){f[d>>2]=(g>>>0)/3|0;f[c>>2]=f[d>>2];if(!(ak(a,c)|0)?(m=f[e>>2]|0,(f[(f[m+12>>2]|0)+(g<<2)>>2]|0)==-1):0){n=g+1|0;o=((n>>>0)%3|0|0)==0?g+-2|0:n;if((o|0)==-1)p=-1;else p=f[(f[m>>2]|0)+(o<<2)>>2]|0;o=f[i>>2]|0;if((f[o+(p<<2)>>2]|0)==-1){m=f[k>>2]|0;n=f[l>>2]|0;if((m|0)==(n<<5|0)){if((m+1|0)<0){q=11;break}r=n<<6;n=m+32&-32;si(j,m>>>0<1073741823?(r>>>0<n>>>0?n:r):2147483647);s=f[k>>2]|0;t=f[i>>2]|0}else{s=m;t=o}f[k>>2]=s+1;o=(f[j>>2]|0)+(s>>>5<<2)|0;f[o>>2]=f[o>>2]&~(1<<(s&31));o=t+(p<<2)|0;if((f[o>>2]|0)==-1){r=o;o=g;while(1){f[r>>2]=m;n=o+1|0;a:do if((o|0)!=-1?(v=((n>>>0)%3|0|0)==0?o+-2|0:n,(v|0)!=-1):0){w=f[e>>2]|0;x=f[w+12>>2]|0;y=v;while(1){v=f[x+(y<<2)>>2]|0;if((v|0)==-1)break;z=v+1|0;A=((z>>>0)%3|0|0)==0?v+-2|0:z;if((A|0)==-1){B=-1;C=-1;break a}else y=A}x=y+1|0;A=((x>>>0)%3|0|0)==0?y+-2|0:x;if((A|0)==-1){B=-1;C=y}else{B=f[(f[w>>2]|0)+(A<<2)>>2]|0;C=y}}else{B=-1;C=-1}while(0);r=t+(B<<2)|0;if((f[r>>2]|0)!=-1)break;else o=C}}}}o=g+1|0;if(o>>>0>=h>>>0){q=3;break}a=f[e>>2]|0;g=o}if((q|0)==3){u=b;return 1}else if((q|0)==11)Cq(j);return 0}function xe(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;a=u;u=u+48|0;g=a+36|0;h=a+24|0;i=a+12|0;j=a;if(!c){k=0;u=a;return k|0}f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;l=Ej(d)|0;if(l>>>0>4294967279)Cq(g);if(l>>>0<11){b[g+11>>0]=l;if(!l)m=g;else{n=g;o=7}}else{p=l+16&-16;q=tn(p)|0;f[g>>2]=q;f[g+8>>2]=p|-2147483648;f[g+4>>2]=l;n=q;o=7}if((o|0)==7){eh(n|0,d|0,l|0)|0;m=n}b[m+l>>0]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;l=Ej(e)|0;if(l>>>0>4294967279)Cq(h);if(l>>>0<11){b[h+11>>0]=l;if(!l)r=h;else{s=h;o=13}}else{m=l+16&-16;n=tn(m)|0;f[h>>2]=n;f[h+8>>2]=m|-2147483648;f[h+4>>2]=l;s=n;o=13}if((o|0)==13){eh(s|0,e|0,l|0)|0;r=s}b[r+l>>0]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;l=Ej(d)|0;if(l>>>0>4294967279)Cq(i);if(l>>>0<11){b[i+11>>0]=l;if(!l)t=i;else{v=i;o=19}}else{r=l+16&-16;s=tn(r)|0;f[i>>2]=s;f[i+8>>2]=r|-2147483648;f[i+4>>2]=l;v=s;o=19}if((o|0)==19){eh(v|0,d|0,l|0)|0;t=v}b[t+l>>0]=0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;l=Ej(e)|0;if(l>>>0>4294967279)Cq(j);if(l>>>0<11){b[j+11>>0]=l;if(!l)w=j;else{x=j;o=25}}else{t=l+16&-16;v=tn(t)|0;f[j>>2]=v;f[j+8>>2]=t|-2147483648;f[j+4>>2]=l;x=v;o=25}if((o|0)==25){eh(x|0,e|0,l|0)|0;w=x}b[w+l>>0]=0;un(c,i,j);if((b[j+11>>0]|0)<0)pr(f[j>>2]|0);if((b[i+11>>0]|0)<0)pr(f[i>>2]|0);if((b[h+11>>0]|0)<0)pr(f[h>>2]|0);if((b[g+11>>0]|0)<0)pr(f[g>>2]|0);k=1;u=a;return k|0}function ye(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;f[a>>2]=f[c>>2];d=c+4|0;f[a+4>>2]=f[d>>2];e=c+8|0;f[a+8>>2]=f[e>>2];g=c+12|0;f[a+12>>2]=f[g>>2];f[d>>2]=0;f[e>>2]=0;f[g>>2]=0;g=c+16|0;f[a+16>>2]=f[g>>2];e=c+20|0;f[a+20>>2]=f[e>>2];d=c+24|0;f[a+24>>2]=f[d>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;b[a+28>>0]=b[c+28>>0]|0;d=a+32|0;e=c+32|0;f[d>>2]=0;g=a+36|0;f[g>>2]=0;f[a+40>>2]=0;f[d>>2]=f[e>>2];d=c+36|0;f[g>>2]=f[d>>2];g=c+40|0;f[a+40>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;e=a+44|0;d=c+44|0;f[e>>2]=0;g=a+48|0;f[g>>2]=0;f[a+52>>2]=0;f[e>>2]=f[d>>2];e=c+48|0;f[g>>2]=f[e>>2];g=c+52|0;f[a+52>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+56|0;e=c+56|0;f[d>>2]=0;g=a+60|0;f[g>>2]=0;f[a+64>>2]=0;f[d>>2]=f[e>>2];d=c+60|0;f[g>>2]=f[d>>2];g=c+64|0;f[a+64>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;f[a+68>>2]=f[c+68>>2];f[a+72>>2]=f[c+72>>2];e=a+76|0;d=c+76|0;f[e>>2]=0;g=a+80|0;f[g>>2]=0;f[a+84>>2]=0;f[e>>2]=f[d>>2];e=c+80|0;f[g>>2]=f[e>>2];g=c+84|0;f[a+84>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+88|0;e=c+88|0;f[d>>2]=0;g=a+92|0;f[g>>2]=0;f[a+96>>2]=0;f[d>>2]=f[e>>2];d=c+92|0;f[g>>2]=f[d>>2];g=c+96|0;f[a+96>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;b[a+100>>0]=b[c+100>>0]|0;e=a+104|0;d=c+104|0;f[e>>2]=0;g=a+108|0;f[g>>2]=0;f[a+112>>2]=0;f[e>>2]=f[d>>2];e=c+108|0;f[g>>2]=f[e>>2];g=c+112|0;f[a+112>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+116|0;e=c+116|0;f[d>>2]=0;g=a+120|0;f[g>>2]=0;f[a+124>>2]=0;f[d>>2]=f[e>>2];d=c+120|0;f[g>>2]=f[d>>2];g=c+124|0;f[a+124>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;f[a+128>>2]=f[c+128>>2];f[a+132>>2]=f[c+132>>2];return}function ze(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,A=0,B=0,C=0,D=0;h=u;u=u+48|0;i=h+36|0;j=h+24|0;k=h+8|0;l=h+4|0;m=h;n=e+4|0;Qh(i,c,(f[n>>2]|0)-(f[e>>2]|0)>>2,2,g,d,1);g=f[i>>2]|0;o=(f[f[g>>2]>>2]|0)+(f[g+48>>2]|0)|0;f[k>>2]=-1;f[k+4>>2]=-1;f[k+8>>2]=-1;f[k+12>>2]=-1;p=f[c+4>>2]|0;if((p+-2|0)>>>0>28){q=0;r=g}else{f[k>>2]=p;c=1<<p;f[k+4>>2]=c+-1;p=c+-2|0;f[k+8>>2]=p;f[k+12>>2]=(p|0)/2|0;p=f[e>>2]|0;if((f[n>>2]|0)==(p|0))s=g;else{g=d+84|0;c=d+68|0;t=d+48|0;v=d+40|0;w=p;p=0;x=0;while(1){y=f[w+(x<<2)>>2]|0;if(!(b[g>>0]|0))z=f[(f[c>>2]|0)+(y<<2)>>2]|0;else z=y;y=t;A=f[y>>2]|0;B=f[y+4>>2]|0;y=v;C=f[y>>2]|0;D=En(C|0,f[y+4>>2]|0,z|0,0)|0;y=go(D|0,I|0,A|0,B|0)|0;eh(j|0,(f[f[d>>2]>>2]|0)+y|0,C|0)|0;Jf(k,j,l,m);f[o+(p<<2)>>2]=f[l>>2];f[o+((p|1)<<2)>>2]=f[m>>2];x=x+1|0;w=f[e>>2]|0;if(x>>>0>=(f[n>>2]|0)-w>>2>>>0)break;else p=p+2|0}s=f[i>>2]|0}f[i>>2]=0;q=s;r=0}f[a>>2]=q;f[i>>2]=0;if(!r){u=h;return}i=r+88|0;q=f[i>>2]|0;f[i>>2]=0;if(q|0){i=f[q+8>>2]|0;if(i|0){a=q+12|0;if((f[a>>2]|0)!=(i|0))f[a>>2]=i;pr(i)}pr(q)}q=f[r+68>>2]|0;if(q|0){i=r+72|0;a=f[i>>2]|0;if((a|0)!=(q|0))f[i>>2]=a+(~((a+-4-q|0)>>>2)<<2);pr(q)}q=r+64|0;a=f[q>>2]|0;f[q>>2]=0;if(a|0){q=f[a>>2]|0;if(q|0){i=a+4|0;if((f[i>>2]|0)!=(q|0))f[i>>2]=q;pr(q)}pr(a)}pr(r);u=h;return}function Ae(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;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if(((e-h|0)/136|0)>>>0>=c>>>0){i=h;j=c;do{f[i>>2]=-1;Qk(i+4|0);b[i+100>>0]=1;k=i+104|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;f[k+24>>2]=0;i=(f[g>>2]|0)+136|0;f[g>>2]=i;j=j+-1|0}while((j|0)!=0);return}j=f[a>>2]|0;i=(h-j|0)/136|0;h=i+c|0;if(h>>>0>31580641)Cq(a);k=(e-j|0)/136|0;j=k<<1;e=k>>>0<15790320?(j>>>0<h>>>0?h:j):31580641;do if(e)if(e>>>0>31580641){j=ra(8)|0;jp(j,16426);f[j>>2]=7416;va(j|0,1160,122)}else{l=tn(e*136|0)|0;break}else l=0;while(0);j=l+(i*136|0)|0;i=j;h=l+(e*136|0)|0;e=j;l=c;c=i;do{f[e>>2]=-1;Qk(e+4|0);b[e+100>>0]=1;k=e+104|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;f[k+24>>2]=0;e=c+136|0;c=e;l=l+-1|0}while((l|0)!=0);l=f[a>>2]|0;e=f[g>>2]|0;if((e|0)==(l|0)){m=i;n=l;o=l}else{k=j;j=e;e=i;do{j=j+-136|0;ye(k+-136|0,j);k=e+-136|0;e=k}while((j|0)!=(l|0));m=e;n=f[a>>2]|0;o=f[g>>2]|0}f[a>>2]=m;f[g>>2]=c;f[d>>2]=h;h=n;if((o|0)!=(h|0)){d=o;do{o=f[d+-20>>2]|0;if(o|0){c=d+-16|0;g=f[c>>2]|0;if((g|0)!=(o|0))f[c>>2]=g+(~((g+-4-o|0)>>>2)<<2);pr(o)}o=f[d+-32>>2]|0;if(o|0){g=d+-28|0;c=f[g>>2]|0;if((c|0)!=(o|0))f[g>>2]=c+(~((c+-4-o|0)>>>2)<<2);pr(o)}Ki(d+-132|0);d=d+-136|0}while((d|0)!=(h|0))}if(!n)return;pr(n);return}function Be(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;d=u;u=u+16|0;e=d+4|0;g=d;h=d+8|0;i=a+4|0;j=a+8|0;ai((f[j>>2]|0)-(f[i>>2]|0)>>2,c)|0;k=f[i>>2]|0;if((f[j>>2]|0)==(k|0)){u=d;return 1}l=a+32|0;a=c+16|0;m=c+4|0;n=h+1|0;o=h+1|0;p=h+1|0;q=h+1|0;r=k;k=0;do{s=f[(f[(f[l>>2]|0)+8>>2]|0)+(f[r+(k<<2)>>2]<<2)>>2]|0;b[h>>0]=f[s+56>>2];t=a;v=f[t>>2]|0;w=f[t+4>>2]|0;if((w|0)>0|(w|0)==0&v>>>0>0){x=w;y=v}else{f[g>>2]=f[m>>2];f[e>>2]=f[g>>2];Fe(c,e,h,q)|0;v=a;x=f[v+4>>2]|0;y=f[v>>2]|0}b[h>>0]=f[s+28>>2];if((x|0)>0|(x|0)==0&y>>>0>0){z=x;A=y}else{f[g>>2]=f[m>>2];f[e>>2]=f[g>>2];Fe(c,e,h,p)|0;v=a;z=f[v+4>>2]|0;A=f[v>>2]|0}b[h>>0]=b[s+24>>0]|0;if((z|0)>0|(z|0)==0&A>>>0>0){B=z;C=A}else{f[g>>2]=f[m>>2];f[e>>2]=f[g>>2];Fe(c,e,h,o)|0;v=a;B=f[v+4>>2]|0;C=f[v>>2]|0}b[h>>0]=b[s+32>>0]|0;if(!((B|0)>0|(B|0)==0&C>>>0>0)){f[g>>2]=f[m>>2];f[e>>2]=f[g>>2];Fe(c,e,h,n)|0}ai(f[s+60>>2]|0,c)|0;k=k+1|0;r=f[i>>2]|0}while(k>>>0<(f[j>>2]|0)-r>>2>>>0);u=d;return 1}function Ce(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,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=Ja,D=Ja,E=Ja,F=Ja;h=u;u=u+16|0;i=h;j=e+4|0;k=b[d+24>>0]|0;l=k<<24>>24;Qh(a,c,(f[j>>2]|0)-(f[e>>2]|0)>>2,l,g,d,1);g=f[a>>2]|0;a=(f[f[g>>2]>>2]|0)+(f[g+48>>2]|0)|0;g=f[c+4>>2]|0;bq(i);fp(i,$(n[c+20>>2]),(1<<g)+-1|0);g=mr(l>>>0>1073741823?-1:l<<2)|0;m=f[j>>2]|0;j=f[e>>2]|0;e=j;if((m|0)==(j|0)){nr(g);u=h;return}o=d+68|0;p=d+48|0;q=d+40|0;r=c+8|0;c=i+4|0;s=(b[d+84>>0]|0)==0;t=m-j>>2;if(k<<24>>24>0){v=0;w=0}else{k=0;do{j=f[e+(k<<2)>>2]|0;if(s)x=f[(f[o>>2]|0)+(j<<2)>>2]|0;else x=j;j=p;m=f[j>>2]|0;y=f[j+4>>2]|0;j=q;z=f[j>>2]|0;A=En(z|0,f[j+4>>2]|0,x|0,0)|0;j=go(A|0,I|0,m|0,y|0)|0;eh(g|0,(f[f[d>>2]>>2]|0)+j|0,z|0)|0;k=k+1|0}while(k>>>0<t>>>0);nr(g);u=h;return}while(1){k=f[e+(w<<2)>>2]|0;if(s)B=f[(f[o>>2]|0)+(k<<2)>>2]|0;else B=k;k=p;x=f[k>>2]|0;z=f[k+4>>2]|0;k=q;j=f[k>>2]|0;y=En(j|0,f[k+4>>2]|0,B|0,0)|0;k=go(y|0,I|0,x|0,z|0)|0;eh(g|0,(f[f[d>>2]>>2]|0)+k|0,j|0)|0;j=f[r>>2]|0;C=$(n[i>>2]);k=0;z=v;while(1){D=$(n[g+(k<<2)>>2]);E=$(D-$(n[j+(k<<2)>>2]));x=E<$(0.0);D=$(-E);F=$((x?D:E)/C);y=~~$(J($($($(f[c>>2]|0)*F)+$(.5))));f[a+(z<<2)>>2]=x?0-y|0:y;k=k+1|0;if((k|0)==(l|0))break;else z=z+1|0}w=w+1|0;if(w>>>0>=t>>>0)break;else v=l+v|0}nr(g);u=h;return}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,s=0,t=0,v=0,w=0,x=0;d=u;u=u+32|0;e=d+16|0;g=d+12|0;h=d+8|0;i=d+4|0;j=d;Kp(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;k=a+24|0;Kp(k);l=b+4|0;if((a|0)!=(l|0)){f[h>>2]=f[l>>2];f[i>>2]=b+8;f[g>>2]=f[h>>2];f[e>>2]=f[i>>2];Kc(a,g,e)}l=b+28|0;if((k|0)!=(l|0)){f[h>>2]=f[l>>2];f[i>>2]=b+32;f[g>>2]=f[h>>2];f[e>>2]=f[i>>2];Kc(k,g,e)}f[j>>2]=0;k=c+8|0;l=c+12|0;c=f[l>>2]|0;m=f[k>>2]|0;if((c-m|0)<=0){u=d;return}n=b+20|0;b=c;c=m;m=0;while(1){o=f[(f[c+(m<<2)>>2]|0)+56>>2]|0;p=f[n>>2]|0;if(p){q=n;r=p;a:while(1){p=r;while(1){if((f[p+16>>2]|0)>=(o|0))break;s=f[p+4>>2]|0;if(!s){t=q;break a}else p=s}r=f[p>>2]|0;if(!r){t=p;break}else q=p}if((t|0)!=(n|0)?(o|0)>=(f[t+16>>2]|0):0){q=t+20|0;r=Bd(a,j)|0;if((r|0)!=(q|0)){f[h>>2]=f[q>>2];f[i>>2]=t+24;f[g>>2]=f[h>>2];f[e>>2]=f[i>>2];Kc(r,g,e)}v=f[j>>2]|0;w=f[k>>2]|0;x=f[l>>2]|0}else{v=m;w=c;x=b}}else{v=m;w=c;x=b}m=v+1|0;f[j>>2]=m;if((m|0)>=(x-w>>2|0))break;else{b=x;c=w}}u=d;return}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,w=0,x=0,y=0,z=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+8|0;i=a+12|0;ai(f[i>>2]|0,c)|0;if(!(f[i>>2]|0)){j=1;u=d;return j|0}k=c+16|0;l=c+4|0;m=h+1|0;n=h+1|0;o=h+1|0;p=0;while(1){q=f[a>>2]|0;r=f[q+(p<<3)>>2]|0;if(r>>>0>63)if(r>>>0>16383)if(r>>>0>4194303){j=0;s=20;break}else{t=2;s=13}else{t=1;s=13}else if(!r){v=p+1|0;w=0;while(1){if(f[q+(v+w<<3)>>2]|0){x=w;break}y=w+1|0;if(y>>>0<63)w=y;else{x=y;break}}b[h>>0]=x<<2|3;w=k;v=f[w+4>>2]|0;if(!((v|0)>0|(v|0)==0&(f[w>>2]|0)>>>0>0)){f[g>>2]=f[l>>2];f[e>>2]=f[g>>2];Fe(c,e,h,o)|0}z=x+p|0}else{t=0;s=13}if((s|0)==13){s=0;b[h>>0]=t|r<<2;w=k;v=f[w+4>>2]|0;if(!((v|0)>0|(v|0)==0&(f[w>>2]|0)>>>0>0)){f[g>>2]=f[l>>2];f[e>>2]=f[g>>2];Fe(c,e,h,n)|0}if(!t)z=p;else{w=0;do{w=w+1|0;b[h>>0]=r>>>((w<<3)+-2|0);v=k;q=f[v+4>>2]|0;if(!((q|0)>0|(q|0)==0&(f[v>>2]|0)>>>0>0)){f[g>>2]=f[l>>2];f[e>>2]=f[g>>2];Fe(c,e,h,m)|0}}while((w|0)<(t|0));z=p}}p=z+1|0;if(p>>>0>=(f[i>>2]|0)>>>0){j=1;s=20;break}}if((s|0)==20){u=d;return j|0}return 0}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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;g=f[a>>2]|0;h=g;i=(f[c>>2]|0)-h|0;c=g+i|0;j=e-d|0;if((j|0)<=0){k=c;return k|0}l=a+8|0;m=f[l>>2]|0;n=a+4|0;o=f[n>>2]|0;p=o;if((j|0)<=(m-p|0)){q=p-c|0;if((j|0)>(q|0)){r=d+q|0;if((r|0)==(e|0))s=o;else{t=o;u=r;while(1){b[t>>0]=b[u>>0]|0;u=u+1|0;v=(f[n>>2]|0)+1|0;f[n>>2]=v;if((u|0)==(e|0)){s=v;break}else t=v}}if((q|0)>0){w=s;x=r}else{k=c;return k|0}}else{w=o;x=e}r=w-(c+j)|0;s=c+r|0;if(s>>>0<o>>>0){q=w;t=s;do{b[q>>0]=b[t>>0]|0;t=t+1|0;q=(f[n>>2]|0)+1|0;f[n>>2]=q}while((t|0)!=(o|0))}if(r|0)qm(w+(0-r)|0,c|0,r|0)|0;if((x|0)==(d|0)){k=c;return k|0}else{y=d;z=c}while(1){b[z>>0]=b[y>>0]|0;y=y+1|0;if((y|0)==(x|0)){k=c;break}else z=z+1|0}return k|0}z=p-h+j|0;if((z|0)<0)Cq(a);j=m-h|0;h=j<<1;m=j>>>0<1073741823?(h>>>0<z>>>0?z:h):2147483647;h=c;if(!m)A=0;else A=tn(m)|0;z=A+i|0;i=z;j=A+m|0;if((d|0)==(e|0)){B=g;C=i}else{g=z;m=d;d=i;do{b[g>>0]=b[m>>0]|0;g=d+1|0;d=g;m=m+1|0}while((m|0)!=(e|0));B=f[a>>2]|0;C=d}d=h-B|0;e=z+(0-d)|0;if((d|0)>0)eh(e|0,B|0,d|0)|0;d=(f[n>>2]|0)-h|0;if((d|0)>0){h=C;eh(h|0,c|0,d|0)|0;D=f[a>>2]|0;E=h+d|0}else{D=B;E=C}f[a>>2]=e;f[n>>2]=E;f[l>>2]=j;if(!D){k=z;return k|0}pr(D);k=z;return k|0}function Ge(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;e=u;u=u+16|0;g=e;h=f[(f[c+4>>2]|0)+(d<<2)>>2]|0;d=f[c+28>>2]|0;c=f[(f[(f[d+4>>2]|0)+8>>2]|0)+(h<<2)>>2]|0;switch(f[c+28>>2]|0){case 5:case 6:case 3:case 4:case 1:case 2:{i=tn(40)|0;No(i);j=i;k=j;f[a>>2]=k;u=e;return}case 9:{l=3;break}default:{}}if((l|0)==3){i=f[d+48>>2]|0;d=tn(32)|0;f[g>>2]=d;f[g+8>>2]=-2147483616;f[g+4>>2]=17;m=d;n=14756;o=m+17|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[d+17>>0]=0;d=i+16|0;n=f[d>>2]|0;if(n){p=d;q=n;a:while(1){n=q;while(1){if((f[n+16>>2]|0)>=(h|0))break;r=f[n+4>>2]|0;if(!r){s=p;break a}else n=r}q=f[n>>2]|0;if(!q){s=n;break}else p=n}if(((s|0)!=(d|0)?(h|0)>=(f[s+16>>2]|0):0)?(h=s+20|0,(Hh(h,g)|0)!=0):0)t=Ik(h,g,-1)|0;else l=12}else l=12;if((l|0)==12)t=Ik(i,g,-1)|0;if((b[g+11>>0]|0)<0)pr(f[g>>2]|0);if((t|0)>0)if((f[c+56>>2]|0)==1){c=tn(48)|0;m=c;o=m+48|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(o|0));No(c);f[c>>2]=2560;f[c+40>>2]=1232;f[c+44>>2]=-1;j=c;k=j;f[a>>2]=k;u=e;return}else{c=tn(64)|0;Gm(c);j=c;k=j;f[a>>2]=k;u=e;return}}c=tn(36)|0;Om(c);j=c;k=j;f[a>>2]=k;u=e;return}function He(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;d=(c|0)==(a|0);b[c+12>>0]=d&1;if(d)return;else e=c;while(1){g=f[e+8>>2]|0;c=g+12|0;if(b[c>>0]|0){h=23;break}i=g+8|0;j=f[i>>2]|0;d=f[j>>2]|0;if((d|0)==(g|0)){k=f[j+4>>2]|0;if(!k){h=7;break}l=k+12|0;if(!(b[l>>0]|0))m=l;else{h=7;break}}else{if(!d){h=16;break}l=d+12|0;if(!(b[l>>0]|0))m=l;else{h=16;break}}b[c>>0]=1;c=(j|0)==(a|0);b[j+12>>0]=c&1;b[m>>0]=1;if(c){h=23;break}else e=j}if((h|0)==7){if((f[g>>2]|0)==(e|0)){n=g;o=j}else{m=g+4|0;a=f[m>>2]|0;c=f[a>>2]|0;f[m>>2]=c;if(!c)p=j;else{f[c+8>>2]=g;p=f[i>>2]|0}f[a+8>>2]=p;p=f[i>>2]|0;f[((f[p>>2]|0)==(g|0)?p:p+4|0)>>2]=a;f[a>>2]=g;f[i>>2]=a;n=a;o=f[a+8>>2]|0}b[n+12>>0]=1;b[o+12>>0]=0;n=f[o>>2]|0;a=n+4|0;p=f[a>>2]|0;f[o>>2]=p;if(p|0)f[p+8>>2]=o;p=o+8|0;f[n+8>>2]=f[p>>2];c=f[p>>2]|0;f[((f[c>>2]|0)==(o|0)?c:c+4|0)>>2]=n;f[a>>2]=o;f[p>>2]=n;return}else if((h|0)==16){if((f[g>>2]|0)==(e|0)){e=f[g>>2]|0;n=e+4|0;p=f[n>>2]|0;f[g>>2]=p;if(!p)q=j;else{f[p+8>>2]=g;q=f[i>>2]|0}f[e+8>>2]=q;q=f[i>>2]|0;f[((f[q>>2]|0)==(g|0)?q:q+4|0)>>2]=e;f[n>>2]=g;f[i>>2]=e;r=e;s=f[e+8>>2]|0}else{r=g;s=j}b[r+12>>0]=1;b[s+12>>0]=0;r=s+4|0;j=f[r>>2]|0;g=f[j>>2]|0;f[r>>2]=g;if(g|0)f[g+8>>2]=s;g=s+8|0;f[j+8>>2]=f[g>>2];r=f[g>>2]|0;f[((f[r>>2]|0)==(s|0)?r:r+4|0)>>2]=j;f[j>>2]=s;f[g>>2]=j;return}else if((h|0)==23)return}function Ie(a,b){a=a|0;b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;c=a+4|0;d=f[c>>2]|0;e=a+100|0;if(d>>>0<(f[e>>2]|0)>>>0){f[c>>2]=d+1;g=h[d>>0]|0}else g=Ji(a)|0;switch(g|0){case 43:case 45:{d=(g|0)==45&1;i=f[c>>2]|0;if(i>>>0<(f[e>>2]|0)>>>0){f[c>>2]=i+1;j=h[i>>0]|0}else j=Ji(a)|0;if((b|0)!=0&(j+-48|0)>>>0>9?(f[e>>2]|0)!=0:0){f[c>>2]=(f[c>>2]|0)+-1;k=j;l=d}else{k=j;l=d}break}default:{k=g;l=0}}if((k+-48|0)>>>0>9)if(!(f[e>>2]|0)){m=-2147483648;n=0}else{f[c>>2]=(f[c>>2]|0)+-1;m=-2147483648;n=0}else{g=k;k=0;while(1){k=g+-48+(k*10|0)|0;d=f[c>>2]|0;if(d>>>0<(f[e>>2]|0)>>>0){f[c>>2]=d+1;o=h[d>>0]|0}else o=Ji(a)|0;if(!((o+-48|0)>>>0<10&(k|0)<214748364))break;else g=o}g=((k|0)<0)<<31>>31;if((o+-48|0)>>>0<10){d=k;j=g;b=o;while(1){i=En(d|0,j|0,10,0)|0;p=I;q=go(b|0,((b|0)<0)<<31>>31|0,-48,-1)|0;r=go(q|0,I|0,i|0,p|0)|0;p=I;i=f[c>>2]|0;if(i>>>0<(f[e>>2]|0)>>>0){f[c>>2]=i+1;s=h[i>>0]|0}else s=Ji(a)|0;if((s+-48|0)>>>0<10&((p|0)<21474836|(p|0)==21474836&r>>>0<2061584302)){d=r;j=p;b=s}else{t=r;u=p;v=s;break}}}else{t=k;u=g;v=o}o=f[e>>2]|0;if((v+-48|0)>>>0<10){v=o;while(1){g=f[c>>2]|0;if(g>>>0<v>>>0){f[c>>2]=g+1;w=v;x=h[g>>0]|0}else{g=Ji(a)|0;w=f[e>>2]|0;x=g}if((x+-48|0)>>>0<10)v=w;else{y=w;break}}}else y=o;if(y|0)f[c>>2]=(f[c>>2]|0)+-1;c=(l|0)!=0;l=io(0,0,t|0,u|0)|0;m=c?I:u;n=c?l:t}I=m;return n|0}function Je(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,v=0,w=0;d=f[b>>2]|0;b=a+12|0;e=(d|0)==-1;do if(e){g=1;h=-1;i=-1}else{j=d+(((d>>>0)%3|0|0)==0?2:-1)|0;if((j|0)!=-1){k=f[(f[b>>2]|0)+12>>2]|0;l=j;while(1){j=f[k+(l<<2)>>2]|0;if((j|0)==-1){m=0;n=l;break}o=j+1|0;l=((o>>>0)%3|0|0)==0?j+-2|0:o;if((l|0)==-1){m=1;n=-1;break}}if(e){g=m;h=n;i=-1;break}else{p=m;q=n}}else{p=1;q=-1}g=p;h=q;i=f[(f[f[b>>2]>>2]|0)+(d<<2)>>2]|0}while(0);if(c){c=(f[a+84>>2]|0)+(i>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(i&31);r=1}else r=0;c=f[(f[a+152>>2]|0)+(i<<2)>>2]|0;d=(f[a+140>>2]|0)+(c>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(c&31);if(!g){g=(((h>>>0)%3|0|0)==0?2:-1)+h|0;if((g|0)==-1){s=-1;t=h}else{s=f[(f[f[b>>2]>>2]|0)+(g<<2)>>2]|0;t=h}}else{s=-1;t=-1}if((s|0)==(i|0)){u=r;return u|0}h=f[a+84>>2]|0;a=s;s=t;t=r;while(1){r=h+(a>>>5<<2)|0;f[r>>2]=f[r>>2]|1<<(a&31);r=t+1|0;g=s+1|0;a:do if((s|0)!=-1?(c=((g>>>0)%3|0|0)==0?s+-2|0:g,(c|0)!=-1):0){d=f[b>>2]|0;q=f[d+12>>2]|0;p=c;while(1){c=f[q+(p<<2)>>2]|0;if((c|0)==-1)break;n=c+1|0;m=((n>>>0)%3|0|0)==0?c+-2|0:n;if((m|0)==-1){v=-1;w=-1;break a}else p=m}q=(((p>>>0)%3|0|0)==0?2:-1)+p|0;if((q|0)==-1){v=-1;w=p}else{v=f[(f[d>>2]|0)+(q<<2)>>2]|0;w=p}}else{v=-1;w=-1}while(0);if((v|0)==(i|0)){u=r;break}else{a=v;s=w;t=r}}return u|0}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,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=Ja,C=Ja,D=Ja,E=Ja;g=u;u=u+16|0;h=g;i=b[d+24>>0]|0;j=i<<24>>24;Qh(a,c,e,j,0,d,1);k=f[a>>2]|0;a=(f[f[k>>2]>>2]|0)+(f[k+48>>2]|0)|0;k=f[c+4>>2]|0;bq(h);fp(h,$(n[c+20>>2]),(1<<k)+-1|0);k=mr(j>>>0>1073741823?-1:j<<2)|0;if(!e){nr(k);u=g;return}l=d+68|0;m=d+48|0;o=d+40|0;p=c+8|0;c=h+4|0;q=(b[d+84>>0]|0)==0;if(i<<24>>24>0){r=0;s=0}else{i=0;do{if(q)t=f[(f[l>>2]|0)+(i<<2)>>2]|0;else t=i;v=m;w=f[v>>2]|0;x=f[v+4>>2]|0;v=o;y=f[v>>2]|0;z=En(y|0,f[v+4>>2]|0,t|0,0)|0;v=go(z|0,I|0,w|0,x|0)|0;eh(k|0,(f[f[d>>2]>>2]|0)+v|0,y|0)|0;i=i+1|0}while((i|0)!=(e|0));nr(k);u=g;return}while(1){if(q)A=f[(f[l>>2]|0)+(s<<2)>>2]|0;else A=s;i=m;t=f[i>>2]|0;y=f[i+4>>2]|0;i=o;v=f[i>>2]|0;x=En(v|0,f[i+4>>2]|0,A|0,0)|0;i=go(x|0,I|0,t|0,y|0)|0;eh(k|0,(f[f[d>>2]>>2]|0)+i|0,v|0)|0;v=f[p>>2]|0;B=$(n[h>>2]);i=0;y=r;while(1){C=$(n[k+(i<<2)>>2]);D=$(C-$(n[v+(i<<2)>>2]));t=D<$(0.0);C=$(-D);E=$((t?C:D)/B);x=~~$(J($($($(f[c>>2]|0)*E)+$(.5))));f[a+(y<<2)>>2]=t?0-x|0:x;i=i+1|0;if((i|0)==(j|0))break;else y=y+1|0}s=s+1|0;if((s|0)==(e|0))break;else r=j+r|0}nr(k);u=g;return}function Le(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;b=a+1176|0;c=f[b>>2]|0;if(c|0){d=a+1180|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);pr(i);j=f[d>>2]|0}if((j|0)==(c|0))break;else h=j}g=f[b>>2]|0}pr(g)}g=a+1164|0;b=f[g>>2]|0;if(b|0){j=a+1168|0;h=f[j>>2]|0;if((h|0)==(b|0))l=b;else{c=h;while(1){h=c+-12|0;f[j>>2]=h;d=f[h>>2]|0;if(!d)m=h;else{h=c+-8|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);pr(d);m=f[j>>2]|0}if((m|0)==(b|0))break;else c=m}l=f[g>>2]|0}pr(l)}l=f[a+1152>>2]|0;if(l|0){g=a+1156|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);pr(l)}l=f[a+1140>>2]|0;if(l|0){m=a+1144|0;g=f[m>>2]|0;if((g|0)!=(l|0))f[m>>2]=g+(~((g+-4-l|0)>>>2)<<2);pr(l)}l=f[a+1128>>2]|0;if(!l){n=a+1108|0;nl(n);o=a+1088|0;nl(o);p=a+1068|0;nl(p);q=a+1036|0;Dj(q);r=a+12|0;Nh(r);return}g=a+1132|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);pr(l);n=a+1108|0;nl(n);o=a+1088|0;nl(o);p=a+1068|0;nl(p);q=a+1036|0;Dj(q);r=a+12|0;Nh(r);return}function Me(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;d=u;u=u+16|0;e=d;g=a+4|0;h=f[g>>2]|0;i=f[(f[a>>2]|0)+52>>2]|0;if(!h){if(!(Na[i&31](a,c,0)|0)){j=0;u=d;return j|0}}else if(!(Na[i&31](a,c,f[(f[h+4>>2]|0)+80>>2]|0)|0)){j=0;u=d;return j|0}if(!(b[a+28>>0]|0)){j=1;u=d;return j|0}h=f[a+8>>2]|0;i=f[a+32>>2]|0;a=f[h+80>>2]|0;f[e>>2]=0;k=e+4|0;f[k>>2]=0;f[e+8>>2]=0;do if(a)if(a>>>0>1073741823)Cq(e);else{l=a<<2;m=tn(l)|0;f[e>>2]=m;n=m+(a<<2)|0;f[e+8>>2]=n;pj(m|0,0,l|0)|0;f[k>>2]=n;o=m;p=n;q=m;break}else{o=0;p=0;q=0}while(0);e=f[c+4>>2]|0;a=f[c>>2]|0;c=a;a:do if((e|0)!=(a|0)){m=e-a>>2;if(b[h+84>>0]|0){n=0;while(1){f[o+(f[c+(n<<2)>>2]<<2)>>2]=n;n=n+1|0;if(n>>>0>=m>>>0)break a}}n=f[h+68>>2]|0;l=0;do{f[o+(f[n+(f[c+(l<<2)>>2]<<2)>>2]<<2)>>2]=l;l=l+1|0}while(l>>>0<m>>>0)}while(0);c=f[(f[(f[g>>2]|0)+4>>2]|0)+80>>2]|0;b:do if(c|0){g=f[i+68>>2]|0;if(b[h+84>>0]|0){a=0;while(1){f[g+(a<<2)>>2]=f[o+(a<<2)>>2];a=a+1|0;if(a>>>0>=c>>>0)break b}}a=f[h+68>>2]|0;e=0;do{f[g+(e<<2)>>2]=f[o+(f[a+(e<<2)>>2]<<2)>>2];e=e+1|0}while(e>>>0<c>>>0)}while(0);if(o|0){if((p|0)!=(o|0))f[k>>2]=p+(~((p+-4-o|0)>>>2)<<2);pr(q)}j=1;u=d;return j|0}function Ne(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;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+8>>2]=b;Oh(a+12|0);Gn(a+1036|0);Ho(a+1068|0);Ho(a+1088|0);Ho(a+1108|0);e=a+1128|0;f[e>>2]=0;g=a+1132|0;f[g>>2]=0;f[a+1136>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)Cq(e);else{i=b<<2;j=tn(i)|0;f[e>>2]=j;k=j+(b<<2)|0;f[a+1136>>2]=k;pj(j|0,0,i|0)|0;f[g>>2]=k;break}while(0);g=a+1140|0;f[g>>2]=0;e=a+1144|0;f[e>>2]=0;f[a+1148>>2]=0;if(!h){k=b<<2;i=tn(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+1148>>2]=g;pj(i|0,0,k|0)|0;f[e>>2]=g}g=a+1152|0;f[g>>2]=0;e=a+1156|0;f[e>>2]=0;f[a+1160>>2]=0;if(!h){k=b<<2;i=tn(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+1160>>2]=g;pj(i|0,0,k|0)|0;f[e>>2]=g}g=b<<5|1;f[d>>2]=0;e=d+4|0;f[e>>2]=0;f[d+8>>2]=0;if(!h){k=b<<2;i=tn(k)|0;f[d>>2]=i;j=i+(b<<2)|0;f[d+8>>2]=j;pj(i|0,0,k|0)|0;f[e>>2]=j}ok(a+1164|0,g,d);j=f[d>>2]|0;if(j|0){k=f[e>>2]|0;if((k|0)!=(j|0))f[e>>2]=k+(~((k+-4-j|0)>>>2)<<2);pr(j)}f[d>>2]=0;j=d+4|0;f[j>>2]=0;f[d+8>>2]=0;if(!h){h=b<<2;k=tn(h)|0;f[d>>2]=k;e=k+(b<<2)|0;f[d+8>>2]=e;pj(k|0,0,h|0)|0;f[j>>2]=e}ok(a+1176|0,g,d);g=f[d>>2]|0;if(!g){u=c;return}d=f[j>>2]|0;if((d|0)!=(g|0))f[j>>2]=d+(~((d+-4-g|0)>>>2)<<2);pr(g);u=c;return}function Oe(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,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0.0;g=u;u=u+16|0;h=g;i=b+16|0;f[a>>2]=f[i>>2];f[a+4>>2]=f[i+4>>2];f[a+8>>2]=f[i+8>>2];f[a+12>>2]=f[i+12>>2];f[a+16>>2]=f[i+16>>2];f[a+20>>2]=f[i+20>>2];j=a+8|0;f[j>>2]=(f[j>>2]|0)+d;j=(d|0)>0;if(j){k=b+4|0;l=a+16|0;m=a+12|0;n=f[b>>2]|0;o=n;q=o;r=o;o=n;n=0;while(1){s=f[c+(n<<2)>>2]|0;t=f[k>>2]|0;if(t-o>>2>>>0>s>>>0){v=q;w=r}else{x=s+1|0;f[h>>2]=0;y=t-o>>2;z=o;A=t;if(x>>>0<=y>>>0)if(x>>>0<y>>>0?(t=z+(x<<2)|0,(A|0)!=(t|0)):0){f[k>>2]=A+(~((A+-4-t|0)>>>2)<<2);B=q}else B=q;else{zh(b,x-y|0,h);B=f[b>>2]|0}v=B;w=B}y=w+(s<<2)|0;x=f[y>>2]|0;o=w;if((x|0)<=1)if((x|0)==0?(f[l>>2]=(f[l>>2]|0)+1,s>>>0>(f[m>>2]|0)>>>0):0){f[m>>2]=s;C=0.0}else C=0.0;else{D=+(x|0);C=D*+Ug(D)}x=(f[y>>2]|0)+1|0;f[y>>2]=x;D=+(x|0);E=D*+Ug(D)-C;p[a>>3]=+p[a>>3]+E;n=n+1|0;if((n|0)==(d|0))break;else{q=v;r=w}}}if(e){f[i>>2]=f[a>>2];f[i+4>>2]=f[a+4>>2];f[i+8>>2]=f[a+8>>2];f[i+12>>2]=f[a+12>>2];f[i+16>>2]=f[a+16>>2];u=g;return}if(!j){u=g;return}j=f[b>>2]|0;b=0;do{a=j+(f[c+(b<<2)>>2]<<2)|0;f[a>>2]=(f[a>>2]|0)+-1;b=b+1|0}while((b|0)!=(d|0));u=g;return}function Pe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{d=(f[c>>2]|0)+(4-1)&~(4-1);e=f[d>>2]|0;f[c>>2]=d+4;f[a>>2]=e;break a;break}case 10:{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;f[e+4>>2]=((d|0)<0)<<31>>31;break a;break}case 11:{d=(f[c>>2]|0)+(4-1)&~(4-1);e=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=e;f[d+4>>2]=0;break a;break}case 12:{d=(f[c>>2]|0)+(8-1)&~(8-1);e=d;g=f[e>>2]|0;h=f[e+4>>2]|0;f[c>>2]=d+8;d=a;f[d>>2]=g;f[d+4>>2]=h;break a;break}case 13:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=(d&65535)<<16>>16;d=a;f[d>>2]=h;f[d+4>>2]=((h|0)<0)<<31>>31;break a;break}case 14:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=a;f[h>>2]=d&65535;f[h+4>>2]=0;break a;break}case 15:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=(d&255)<<24>>24;d=a;f[d>>2]=h;f[d+4>>2]=((h|0)<0)<<31>>31;break a;break}case 16:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=a;f[h>>2]=d&255;f[h+4>>2]=0;break a;break}case 17:{h=(f[c>>2]|0)+(8-1)&~(8-1);i=+p[h>>3];f[c>>2]=h+8;p[a>>3]=i;break a;break}case 18:{h=(f[c>>2]|0)+(8-1)&~(8-1);i=+p[h>>3];f[c>>2]=h+8;p[a>>3]=i;break a;break}default:break a}while(0);while(0);return}function Qe(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;c=u;u=u+16|0;d=c+4|0;e=c;g=c+8|0;if(!(La[f[(f[a>>2]|0)+32>>2]&127](a)|0)){h=0;u=c;return h|0}i=a+44|0;j=f[i>>2]|0;k=a+8|0;l=a+12|0;m=f[l>>2]|0;n=f[k>>2]|0;b[g>>0]=(m-n|0)>>>2;o=j+16|0;p=f[o+4>>2]|0;if((p|0)>0|(p|0)==0&(f[o>>2]|0)>>>0>0){q=n;r=m;s=k}else{f[e>>2]=f[j+4>>2];f[d>>2]=f[e>>2];Fe(j,d,g,g+1|0)|0;q=f[k>>2]|0;r=f[l>>2]|0;s=k}a:do if((q|0)!=(r|0)){k=a+4|0;l=q;while(1){g=f[l>>2]|0;l=l+4|0;if(!(Na[f[(f[g>>2]|0)+8>>2]&31](g,a,f[k>>2]|0)|0)){h=0;break}if((l|0)==(r|0))break a}u=c;return h|0}while(0);if(!(sc(a)|0)){h=0;u=c;return h|0}r=a+32|0;q=f[r>>2]|0;l=a+36|0;k=f[l>>2]|0;b:do if((q|0)!=(k|0)){g=q;do{if(!(Ma[f[(f[a>>2]|0)+40>>2]&127](a,f[g>>2]|0)|0)){h=0;t=18;break}g=g+4|0}while((g|0)!=(k|0));if((t|0)==18){u=c;return h|0}g=f[r>>2]|0;d=f[l>>2]|0;if((g|0)!=(d|0)){j=g;while(1){g=f[(f[s>>2]|0)+(f[j>>2]<<2)>>2]|0;j=j+4|0;if(!(Ma[f[(f[g>>2]|0)+12>>2]&127](g,f[i>>2]|0)|0)){h=0;break}if((j|0)==(d|0))break b}u=c;return h|0}}while(0);h=La[f[(f[a>>2]|0)+44>>2]&127](a)|0;u=c;return h|0}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,o=0,p=0,q=0,r=0,s=0,t=0,v=0;c=u;u=u+32|0;d=c;e=a+4|0;g=f[a>>2]|0;h=(f[e>>2]|0)-g>>2;i=h+1|0;if(i>>>0>1073741823)Cq(a);j=a+8|0;k=(f[j>>2]|0)-g|0;g=k>>1;l=k>>2>>>0<536870911?(g>>>0<i>>>0?i:g):1073741823;f[d+12>>2]=0;f[d+16>>2]=a+8;do if(l)if(l>>>0>1073741823){g=ra(8)|0;jp(g,16426);f[g>>2]=7416;va(g|0,1160,122)}else{m=tn(l<<2)|0;break}else m=0;while(0);f[d>>2]=m;g=m+(h<<2)|0;h=d+8|0;i=d+4|0;f[i>>2]=g;k=d+12|0;f[k>>2]=m+(l<<2);l=f[b>>2]|0;f[b>>2]=0;f[g>>2]=l;f[h>>2]=g+4;g=f[a>>2]|0;l=f[e>>2]|0;if((l|0)==(g|0)){n=i;o=f[i>>2]|0;p=g;q=l;f[a>>2]=o;f[n>>2]=p;r=f[h>>2]|0;f[e>>2]=r;f[h>>2]=q;s=f[j>>2]|0;t=f[k>>2]|0;f[j>>2]=t;f[k>>2]=s;v=f[n>>2]|0;f[d>>2]=v;ii(d);u=c;return}b=f[i>>2]|0;m=l;do{m=m+-4|0;l=f[m>>2]|0;f[m>>2]=0;f[b+-4>>2]=l;b=(f[i>>2]|0)+-4|0;f[i>>2]=b}while((m|0)!=(g|0));n=i;o=b;p=f[a>>2]|0;q=f[e>>2]|0;f[a>>2]=o;f[n>>2]=p;r=f[h>>2]|0;f[e>>2]=r;f[h>>2]=q;s=f[j>>2]|0;t=f[k>>2]|0;f[j>>2]=t;f[k>>2]=s;v=f[n>>2]|0;f[d>>2]=v;ii(d);u=c;return}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;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+8>>2]=b;Gn(a+12|0);Ho(a+44|0);Ho(a+64|0);Ho(a+84|0);e=a+104|0;f[e>>2]=0;g=a+108|0;f[g>>2]=0;f[a+112>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)Cq(e);else{i=b<<2;j=tn(i)|0;f[e>>2]=j;k=j+(b<<2)|0;f[a+112>>2]=k;pj(j|0,0,i|0)|0;f[g>>2]=k;break}while(0);g=a+116|0;f[g>>2]=0;e=a+120|0;f[e>>2]=0;f[a+124>>2]=0;if(!h){k=b<<2;i=tn(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+124>>2]=g;pj(i|0,0,k|0)|0;f[e>>2]=g}g=a+128|0;f[g>>2]=0;e=a+132|0;f[e>>2]=0;f[a+136>>2]=0;if(!h){k=b<<2;i=tn(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+136>>2]=g;pj(i|0,0,k|0)|0;f[e>>2]=g}g=b<<5|1;f[d>>2]=0;e=d+4|0;f[e>>2]=0;f[d+8>>2]=0;if(!h){k=b<<2;i=tn(k)|0;f[d>>2]=i;j=i+(b<<2)|0;f[d+8>>2]=j;pj(i|0,0,k|0)|0;f[e>>2]=j}ok(a+140|0,g,d);j=f[d>>2]|0;if(j|0){k=f[e>>2]|0;if((k|0)!=(j|0))f[e>>2]=k+(~((k+-4-j|0)>>>2)<<2);pr(j)}f[d>>2]=0;j=d+4|0;f[j>>2]=0;f[d+8>>2]=0;if(!h){h=b<<2;k=tn(h)|0;f[d>>2]=k;e=k+(b<<2)|0;f[d+8>>2]=e;pj(k|0,0,h|0)|0;f[j>>2]=e}ok(a+152|0,g,d);g=f[d>>2]|0;if(!g){u=c;return}d=f[j>>2]|0;if((d|0)!=(g|0))f[j>>2]=d+(~((d+-4-g|0)>>>2)<<2);pr(g);u=c;return}function Te(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;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+8>>2]=b;Ho(a+12|0);Ho(a+32|0);Ho(a+52|0);Ho(a+72|0);e=a+92|0;f[e>>2]=0;g=a+96|0;f[g>>2]=0;f[a+100>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)Cq(e);else{i=b<<2;j=tn(i)|0;f[e>>2]=j;k=j+(b<<2)|0;f[a+100>>2]=k;pj(j|0,0,i|0)|0;f[g>>2]=k;break}while(0);g=a+104|0;f[g>>2]=0;e=a+108|0;f[e>>2]=0;f[a+112>>2]=0;if(!h){k=b<<2;i=tn(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+112>>2]=g;pj(i|0,0,k|0)|0;f[e>>2]=g}g=a+116|0;f[g>>2]=0;e=a+120|0;f[e>>2]=0;f[a+124>>2]=0;if(!h){k=b<<2;i=tn(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+124>>2]=g;pj(i|0,0,k|0)|0;f[e>>2]=g}g=b<<5|1;f[d>>2]=0;e=d+4|0;f[e>>2]=0;f[d+8>>2]=0;if(!h){k=b<<2;i=tn(k)|0;f[d>>2]=i;j=i+(b<<2)|0;f[d+8>>2]=j;pj(i|0,0,k|0)|0;f[e>>2]=j}ok(a+128|0,g,d);j=f[d>>2]|0;if(j|0){k=f[e>>2]|0;if((k|0)!=(j|0))f[e>>2]=k+(~((k+-4-j|0)>>>2)<<2);pr(j)}f[d>>2]=0;j=d+4|0;f[j>>2]=0;f[d+8>>2]=0;if(!h){h=b<<2;k=tn(h)|0;f[d>>2]=k;e=k+(b<<2)|0;f[d+8>>2]=e;pj(k|0,0,h|0)|0;f[j>>2]=e}ok(a+140|0,g,d);g=f[d>>2]|0;if(!g){u=c;return}d=f[j>>2]|0;if((d|0)!=(g|0))f[j>>2]=d+(~((d+-4-g|0)>>>2)<<2);pr(g);u=c;return}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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;d=tn(40)|0;e=d+16|0;nj(e,c);nj(d+28|0,c+12|0);c=a+4|0;g=f[c>>2]|0;do if(g){h=b[d+27>>0]|0;i=h<<24>>24<0;j=i?f[d+20>>2]|0:h&255;h=i?f[e>>2]|0:e;i=g;while(1){k=i+16|0;l=b[k+11>>0]|0;m=l<<24>>24<0;n=m?f[i+20>>2]|0:l&255;l=n>>>0<j>>>0?n:j;if((l|0)!=0?(o=Yk(h,m?f[k>>2]|0:k,l)|0,(o|0)!=0):0)if((o|0)<0)p=7;else p=9;else if(j>>>0<n>>>0)p=7;else p=9;if((p|0)==7){p=0;n=f[i>>2]|0;if(!n){p=8;break}else q=n}else if((p|0)==9){p=0;r=i+4|0;n=f[r>>2]|0;if(!n){p=11;break}else q=n}i=q}if((p|0)==8){s=i;t=i;break}else if((p|0)==11){s=i;t=r;break}}else{s=c;t=c}while(0);f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=s;f[t>>2]=d;s=f[f[a>>2]>>2]|0;if(!s){u=d;v=a+4|0;w=f[v>>2]|0;He(w,u);x=a+8|0;y=f[x>>2]|0;z=y+1|0;f[x>>2]=z;return d|0}f[a>>2]=s;u=f[t>>2]|0;v=a+4|0;w=f[v>>2]|0;He(w,u);x=a+8|0;y=f[x>>2]|0;z=y+1|0;f[x>>2]=z;return d|0}function Ve(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;d=u;u=u+32|0;e=d+12|0;g=d;h=rl(c,0)|0;if(!h){f[a>>2]=0;u=d;return}i=f[c+100>>2]|0;j=f[c+96>>2]|0;c=i-j|0;k=(c|0)/12|0;f[e>>2]=0;l=e+4|0;f[l>>2]=0;f[e+8>>2]=0;m=j;do if(c)if(k>>>0>357913941)Cq(e);else{n=tn(c)|0;f[e>>2]=n;f[e+8>>2]=n+(k*12|0);pj(n|0,0,c|0)|0;f[l>>2]=n+c;o=n;break}else o=0;while(0);f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;a:do if((i|0)!=(j|0)){c=g+4|0;n=g+8|0;if(b[h+84>>0]|0){p=0;while(1){q=m+(p*12|0)|0;f[g>>2]=f[q>>2];f[g+4>>2]=f[q+4>>2];f[g+8>>2]=f[q+8>>2];f[o+(p*12|0)>>2]=f[g>>2];f[o+(p*12|0)+4>>2]=f[c>>2];f[o+(p*12|0)+8>>2]=f[n>>2];p=p+1|0;if(p>>>0>=k>>>0)break a}}p=f[h+68>>2]|0;q=0;do{r=f[p+(f[m+(q*12|0)>>2]<<2)>>2]|0;f[g>>2]=r;f[c>>2]=f[p+(f[m+(q*12|0)+4>>2]<<2)>>2];s=f[p+(f[m+(q*12|0)+8>>2]<<2)>>2]|0;f[n>>2]=s;f[o+(q*12|0)>>2]=r;f[o+(q*12|0)+4>>2]=f[c>>2];f[o+(q*12|0)+8>>2]=s;q=q+1|0}while(q>>>0<k>>>0)}while(0);Ij(a,e);a=f[e>>2]|0;if(a|0){e=f[l>>2]|0;if((e|0)!=(a|0))f[l>>2]=e+(~(((e+-12-a|0)>>>0)/12|0)*12|0);pr(a)}u=d;return}function We(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3808;ti(a+200|0);b=f[a+184>>2]|0;if(b|0){c=a+188|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}hj(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);pr(b)}b=f[a+140>>2]|0;if(b|0)pr(b);b=f[a+128>>2]|0;if(b|0){c=b;do{b=c;c=f[c>>2]|0;pr(b)}while((c|0)!=0)}c=a+120|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)pr(b);b=f[a+108>>2]|0;if(b|0){c=a+112|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);pr(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);pr(b)}b=f[a+84>>2]|0;if(b|0)pr(b);b=f[a+72>>2]|0;if(b|0){c=a+76|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(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);pr(b)}b=f[a+40>>2]|0;if(b|0){c=a+44|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+28>>2]|0;if(b|0)pr(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);pr(b)}b=a+12|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;Ei(a);pr(a);return}function Xe(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;b=a+140|0;c=f[b>>2]|0;if(c|0){d=a+144|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);pr(i);j=f[d>>2]|0}if((j|0)==(c|0))break;else h=j}g=f[b>>2]|0}pr(g)}g=a+128|0;b=f[g>>2]|0;if(b|0){j=a+132|0;h=f[j>>2]|0;if((h|0)==(b|0))l=b;else{c=h;while(1){h=c+-12|0;f[j>>2]=h;d=f[h>>2]|0;if(!d)m=h;else{h=c+-8|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);pr(d);m=f[j>>2]|0}if((m|0)==(b|0))break;else c=m}l=f[g>>2]|0}pr(l)}l=f[a+116>>2]|0;if(l|0){g=a+120|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);pr(l)}l=f[a+104>>2]|0;if(l|0){m=a+108|0;g=f[m>>2]|0;if((g|0)!=(l|0))f[m>>2]=g+(~((g+-4-l|0)>>>2)<<2);pr(l)}l=f[a+92>>2]|0;if(!l){n=a+72|0;nl(n);o=a+52|0;nl(o);p=a+32|0;nl(p);q=a+12|0;nl(q);return}g=a+96|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);pr(l);n=a+72|0;nl(n);o=a+52|0;nl(o);p=a+32|0;nl(p);q=a+12|0;nl(q);return}function Ye(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;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;Xj(f[a+4>>2]|0,(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2);g=a+100|0;h=f[e>>2]|0;i=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;f[c>>2]=0;h=a+104|0;j=f[h>>2]|0;k=f[g>>2]|0;l=j-k>>2;m=k;k=j;if(i>>>0<=l>>>0){if(i>>>0<l>>>0?(j=m+(i<<2)|0,(k|0)!=(j|0)):0)f[h>>2]=k+(~((k+-4-j|0)>>>2)<<2)}else zh(g,i-l|0,c);l=a+120|0;a=f[l>>2]|0;if(!a){i=f[e>>2]|0;g=(f[i+4>>2]|0)-(f[i>>2]|0)>>2;i=(g>>>0)/3|0;if(g>>>0<=2){n=1;u=b;return n|0}g=0;while(1){f[d>>2]=g*3;f[c>>2]=f[d>>2];g=g+1|0;if(!(rb(e,c)|0)){n=0;o=15;break}if((g|0)>=(i|0)){n=1;o=15;break}}if((o|0)==15){u=b;return n|0}}else{i=f[a>>2]|0;if((f[a+4>>2]|0)==(i|0)){n=1;u=b;return n|0}a=i;i=0;while(1){f[d>>2]=f[a+(i<<2)>>2];f[c>>2]=f[d>>2];i=i+1|0;if(!(rb(e,c)|0)){n=0;o=15;break}g=f[l>>2]|0;a=f[g>>2]|0;if(i>>>0>=(f[g+4>>2]|0)-a>>2>>>0){n=1;o=15;break}}if((o|0)==15){u=b;return n|0}}return 0}function Ze(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;b=a+152|0;c=f[b>>2]|0;if(c|0){d=a+156|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);pr(i);j=f[d>>2]|0}if((j|0)==(c|0))break;else h=j}g=f[b>>2]|0}pr(g)}g=a+140|0;b=f[g>>2]|0;if(b|0){j=a+144|0;h=f[j>>2]|0;if((h|0)==(b|0))l=b;else{c=h;while(1){h=c+-12|0;f[j>>2]=h;d=f[h>>2]|0;if(!d)m=h;else{h=c+-8|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);pr(d);m=f[j>>2]|0}if((m|0)==(b|0))break;else c=m}l=f[g>>2]|0}pr(l)}l=f[a+128>>2]|0;if(l|0){g=a+132|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);pr(l)}l=f[a+116>>2]|0;if(l|0){m=a+120|0;g=f[m>>2]|0;if((g|0)!=(l|0))f[m>>2]=g+(~((g+-4-l|0)>>>2)<<2);pr(l)}l=f[a+104>>2]|0;if(!l){n=a+84|0;nl(n);o=a+64|0;nl(o);p=a+44|0;nl(p);q=a+12|0;Dj(q);return}g=a+108|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);pr(l);n=a+84|0;nl(n);o=a+64|0;nl(o);p=a+44|0;nl(p);q=a+12|0;Dj(q);return}function _e(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;d=f[a+8>>2]|0;e=a+76|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0)if(h>>>0<m>>>0?(k=n+(h<<2)|0,(l|0)!=(k|0)):0){f[j>>2]=l+(~((l+-4-k|0)>>>2)<<2);o=g;p=h}else{o=g;p=h}else{zh(i,h-m|0,3728);m=f[e>>2]|0;o=m;p=f[m+80>>2]|0}m=(f[o+100>>2]|0)-(f[o+96>>2]|0)|0;e=(m|0)/12|0;if(!m){q=1;return q|0}m=a+80|0;a=c+68|0;c=f[o+96>>2]|0;o=0;while(1){h=o*3|0;if((h|0)==-1){q=0;r=12;break}i=f[d>>2]|0;g=f[i+(h<<2)>>2]|0;if((g|0)==-1){q=0;r=12;break}k=f[(f[m>>2]|0)+12>>2]|0;l=f[k+(g<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=12;break}g=f[a>>2]|0;f[g+(f[c+(o*12|0)>>2]<<2)>>2]=l;l=h+1|0;if((l|0)==-1){q=0;r=12;break}j=f[i+(l<<2)>>2]|0;if((j|0)==-1){q=0;r=12;break}l=f[k+(j<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=12;break}f[g+(f[c+(o*12|0)+4>>2]<<2)>>2]=l;l=h+2|0;if((l|0)==-1){q=0;r=12;break}h=f[i+(l<<2)>>2]|0;if((h|0)==-1){q=0;r=12;break}l=f[k+(h<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=12;break}f[g+(f[c+(o*12|0)+8>>2]<<2)>>2]=l;o=o+1|0;if(o>>>0>=e>>>0){q=1;r=12;break}}if((r|0)==12)return q|0;return 0}function $e(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3608;sj(a+200|0);b=f[a+184>>2]|0;if(b|0){c=a+188|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}hj(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);pr(b)}b=f[a+140>>2]|0;if(b|0)pr(b);b=f[a+128>>2]|0;if(b|0){c=b;do{b=c;c=f[c>>2]|0;pr(b)}while((c|0)!=0)}c=a+120|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)pr(b);b=f[a+108>>2]|0;if(b|0){c=a+112|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);pr(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);pr(b)}b=f[a+84>>2]|0;if(b|0)pr(b);b=f[a+72>>2]|0;if(b|0){c=a+76|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(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);pr(b)}b=f[a+40>>2]|0;if(b|0){c=a+44|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+28>>2]|0;if(b|0)pr(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);pr(b)}b=a+12|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;Ei(a);pr(a);return}function af(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=u;u=u+144|0;g=e+136|0;h=e+104|0;i=e;j=tn(124)|0;k=f[c+8>>2]|0;f[j+4>>2]=0;f[j>>2]=3784;f[j+12>>2]=3764;f[j+100>>2]=0;f[j+104>>2]=0;f[j+108>>2]=0;l=j+16|0;m=l+80|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));f[j+112>>2]=k;f[j+116>>2]=d;n=j+120|0;f[n>>2]=0;o=j;f[h>>2]=3764;p=h+4|0;q=p+4|0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;f[q+16>>2]=0;f[q+20>>2]=0;q=f[c+12>>2]|0;f[i+4>>2]=3764;f[i+92>>2]=0;f[i+96>>2]=0;f[i+100>>2]=0;l=i+8|0;m=l+80|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));l=q;f[p>>2]=l;m=((f[l+4>>2]|0)-(f[q>>2]|0)>>2>>>0)/3|0;b[g>>0]=0;hh(h+8|0,m,g);Qa[f[(f[h>>2]|0)+8>>2]&127](h);f[i>>2]=f[p>>2];dg(i+4|0,h)|0;f[i+36>>2]=q;f[i+40>>2]=d;f[i+44>>2]=k;f[i+48>>2]=j;f[n>>2]=c+72;Qg(j,i);f[a>>2]=o;Mi(i);f[h>>2]=3764;i=f[h+20>>2]|0;if(i|0)pr(i);i=f[h+8>>2]|0;if(!i){u=e;return}pr(i);u=e;return}function bf(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;d=f[a+8>>2]|0;e=a+112|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0)if(h>>>0<m>>>0?(k=n+(h<<2)|0,(l|0)!=(k|0)):0){f[j>>2]=l+(~((l+-4-k|0)>>>2)<<2);o=g;p=h}else{o=g;p=h}else{zh(i,h-m|0,3728);m=f[e>>2]|0;o=m;p=f[m+80>>2]|0}m=(f[o+100>>2]|0)-(f[o+96>>2]|0)|0;e=(m|0)/12|0;if(!m){q=1;return q|0}m=a+116|0;a=c+68|0;c=f[o+96>>2]|0;o=0;while(1){h=o*3|0;if((h|0)==-1){q=0;r=12;break}i=f[d>>2]|0;g=f[i+(h<<2)>>2]|0;if((g|0)==-1){q=0;r=12;break}k=f[(f[m>>2]|0)+12>>2]|0;l=f[k+(g<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=12;break}g=f[a>>2]|0;f[g+(f[c+(o*12|0)>>2]<<2)>>2]=l;l=h+1|0;if((l|0)==-1){q=0;r=12;break}j=f[i+(l<<2)>>2]|0;if((j|0)==-1){q=0;r=12;break}l=f[k+(j<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=12;break}f[g+(f[c+(o*12|0)+4>>2]<<2)>>2]=l;l=h+2|0;if((l|0)==-1){q=0;r=12;break}h=f[i+(l<<2)>>2]|0;if((h|0)==-1){q=0;r=12;break}l=f[k+(h<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=12;break}f[g+(f[c+(o*12|0)+8>>2]<<2)>>2]=l;o=o+1|0;if(o>>>0>=e>>>0){q=1;r=12;break}}if((r|0)==12)return q|0;return 0}function cf(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;g=u;u=u+32|0;h=g+12|0;i=g;f[a>>2]=f[d>>2];d=a+4|0;f[d>>2]=(f[c>>2]|0)-(f[b>>2]|0);j=e+16|0;k=j;l=f[k+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0)?(f[i>>2]=f[e+4>>2],f[h>>2]=f[i>>2],Fe(e,h,a,a+4|0)|0,k=j,j=f[k+4>>2]|0,!((j|0)>0|(j|0)==0&(f[k>>2]|0)>>>0>0)):0){f[i>>2]=f[e+4>>2];f[h>>2]=f[i>>2];Fe(e,h,d,d+4|0)|0;m=i}else m=i;if(!(f[d>>2]|0)){u=g;return 1}Dg(a+12|0);d=a+1068|0;Rm(d);m=a+1088|0;Rm(m);k=a+1108|0;Rm(k);f[i>>2]=f[b>>2];f[i+4>>2]=f[b+4>>2];f[i+8>>2]=f[b+8>>2];f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];f[h+8>>2]=f[c+8>>2];cb(a,i,h);h=0;do{hd(a+12+(h<<5)|0,e);h=h+1|0}while((h|0)!=32);hd(a+1036|0,e);Ag(d,e);Ag(m,e);Ag(k,e);u=g;return 1}function df(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;g=u;u=u+32|0;h=g+12|0;i=g;f[a>>2]=f[d>>2];d=a+4|0;f[d>>2]=(f[c>>2]|0)-(f[b>>2]|0);j=e+16|0;k=j;l=f[k+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0)?(f[i>>2]=f[e+4>>2],f[h>>2]=f[i>>2],Fe(e,h,a,a+4|0)|0,k=j,j=f[k+4>>2]|0,!((j|0)>0|(j|0)==0&(f[k>>2]|0)>>>0>0)):0){f[i>>2]=f[e+4>>2];f[h>>2]=f[i>>2];Fe(e,h,d,d+4|0)|0;m=i}else m=i;if(!(f[d>>2]|0)){u=g;return 1}Dg(a+12|0);d=a+1068|0;Rm(d);m=a+1088|0;Rm(m);k=a+1108|0;Rm(k);f[i>>2]=f[b>>2];f[i+4>>2]=f[b+4>>2];f[i+8>>2]=f[b+8>>2];f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];f[h+8>>2]=f[c+8>>2];eb(a,i,h);h=0;do{hd(a+12+(h<<5)|0,e);h=h+1|0}while((h|0)!=32);hd(a+1036|0,e);Ag(d,e);Ag(m,e);Ag(k,e);u=g;return 1}function ef(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;c=u;u=u+48|0;d=c+44|0;e=c+40|0;g=c+36|0;h=c+32|0;i=c;f[h>>2]=f[a+60>>2];j=b+16|0;k=j;l=f[k+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0)){f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,h,h+4|0)|0}Gn(i);gl(i);if((f[h>>2]|0)>0){k=a+56|0;l=0;m=1;do{n=m;m=(f[(f[k>>2]|0)+(l>>>5<<2)>>2]&1<<(l&31)|0)!=0;dj(i,n^m^1);l=l+1|0}while((l|0)<(f[h>>2]|0))}hd(i,b);f[g>>2]=f[a+12>>2];h=j;l=f[h>>2]|0;m=f[h+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){o=m;p=l}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;l=j;o=f[l+4>>2]|0;p=f[l>>2]|0}f[g>>2]=f[a+20>>2];if((o|0)>0|(o|0)==0&p>>>0>0){Dj(i);u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;Dj(i);u=c;return 1}function ff(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;g=u;u=u+16|0;h=g;if((f[c+56>>2]|0)==-1){i=-1;u=g;return i|0}j=tn(96)|0;xl(j,c);f[h>>2]=j;j=qh(a,h)|0;c=f[h>>2]|0;f[h>>2]=0;if(c|0){h=c+88|0;k=f[h>>2]|0;f[h>>2]=0;if(k|0){h=f[k+8>>2]|0;if(h|0){l=k+12|0;if((f[l>>2]|0)!=(h|0))f[l>>2]=h;pr(h)}pr(k)}k=f[c+68>>2]|0;if(k|0){h=c+72|0;l=f[h>>2]|0;if((l|0)!=(k|0))f[h>>2]=l+(~((l+-4-k|0)>>>2)<<2);pr(k)}k=c+64|0;l=f[k>>2]|0;f[k>>2]=0;if(l|0){k=f[l>>2]|0;if(k|0){h=l+4|0;if((f[h>>2]|0)!=(k|0))f[h>>2]=k;pr(k)}pr(l)}pr(c)}c=a+8|0;l=(f[c>>2]|0)+(j<<2)|0;k=f[l>>2]|0;do if(!d){h=f[a+80>>2]|0;b[k+84>>0]=0;m=k+68|0;n=k+72|0;o=f[n>>2]|0;p=f[m>>2]|0;q=o-p>>2;r=o;if(h>>>0>q>>>0){zh(m,h-q|0,6376);break}if(h>>>0<q>>>0?(q=p+(h<<2)|0,(r|0)!=(q|0)):0)f[n>>2]=r+(~((r+-4-q|0)>>>2)<<2)}else{b[k+84>>0]=1;q=f[k+68>>2]|0;r=k+72|0;n=f[r>>2]|0;if((n|0)==(q|0))s=k;else{f[r>>2]=n+(~((n+-4-q|0)>>>2)<<2);s=f[l>>2]|0}f[s+80>>2]=f[a+80>>2]}while(0);if(!e){i=j;u=g;return i|0}zj(f[(f[c>>2]|0)+(j<<2)>>2]|0,e)|0;i=j;u=g;return i|0}function gf(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;d=u;u=u+32|0;h=d+24|0;i=d+16|0;j=d;k=d+8|0;f[a+52>>2]=e;f[a+44>>2]=g;g=mr(e>>>0>1073741823?-1:e<<2)|0;l=a+48|0;m=f[l>>2]|0;f[l>>2]=g;if(m|0)nr(m);m=a+36|0;g=f[m>>2]|0;n=f[g+4>>2]|0;o=f[g>>2]|0;p=n-o|0;if((p|0)<=0){u=d;return 1}q=(p>>>2)+-1|0;p=a+8|0;r=i+4|0;s=j+4|0;t=h+4|0;if(n-o>>2>>>0>q>>>0){v=o;w=q}else{x=g;Cq(x)}while(1){f[k>>2]=f[v+(w<<2)>>2];f[h>>2]=f[k>>2];wc(a,h,b,w);g=X(w,e)|0;q=b+(g<<2)|0;o=f[l>>2]|0;n=c+(g<<2)|0;g=f[q+4>>2]|0;y=f[o>>2]|0;z=f[o+4>>2]|0;f[i>>2]=f[q>>2];f[r>>2]=g;f[j>>2]=y;f[s>>2]=z;Nd(h,p,i,j);f[n>>2]=f[h>>2];f[n+4>>2]=f[t>>2];w=w+-1|0;if((w|0)<=-1){A=5;break}n=f[m>>2]|0;v=f[n>>2]|0;if((f[n+4>>2]|0)-v>>2>>>0<=w>>>0){x=n;A=6;break}}if((A|0)==5){u=d;return 1}else if((A|0)==6)Cq(x);return 0}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,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=f[c>>2]|0;c=f[d>>2]|0;e=f[a+4>>2]|0;g=f[d+4>>2]|0;h=e+-1|0;i=(h&e|0)==0;if(!i)if(g>>>0<e>>>0)j=g;else j=(g>>>0)%(e>>>0)|0;else j=h&g;g=(f[a>>2]|0)+(j<<2)|0;k=f[g>>2]|0;while(1){l=f[k>>2]|0;if((l|0)==(d|0))break;else k=l}if((k|0)!=(a+8|0)){l=f[k+4>>2]|0;if(!i)if(l>>>0<e>>>0)m=l;else m=(l>>>0)%(e>>>0)|0;else m=l&h;if((m|0)==(j|0)){n=c;o=21}else o=13}else o=13;do if((o|0)==13){if(c|0){m=f[c+4>>2]|0;if(!i)if(m>>>0<e>>>0)p=m;else p=(m>>>0)%(e>>>0)|0;else p=m&h;if((p|0)==(j|0)){q=c;r=c;o=22;break}}f[g>>2]=0;n=f[d>>2]|0;o=21}while(0);if((o|0)==21){g=n;if(!n)s=g;else{q=n;r=g;o=22}}if((o|0)==22){o=f[q+4>>2]|0;if(!i)if(o>>>0<e>>>0)t=o;else t=(o>>>0)%(e>>>0)|0;else t=o&h;if((t|0)==(j|0))s=r;else{f[(f[a>>2]|0)+(t<<2)>>2]=k;s=f[d>>2]|0}}f[k>>2]=s;f[d>>2]=0;s=a+12|0;f[s>>2]=(f[s>>2]|0)+-1;if(!d)return c|0;s=d+8|0;a=f[d+20>>2]|0;if(a|0){k=d+24|0;if((f[k>>2]|0)!=(a|0))f[k>>2]=a;pr(a)}if((b[s+11>>0]|0)<0)pr(f[s>>2]|0);pr(d);return c|0}function jf(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,y=0;b=u;u=u+16|0;c=b+4|0;d=b;f[c>>2]=0;e=c+4|0;f[e>>2]=0;f[c+8>>2]=0;g=a+56|0;h=f[g>>2]|0;i=(f[h+100>>2]|0)-(f[h+96>>2]|0)|0;j=(i|0)/12|0;if(!i){k=0;l=0}else{i=c+8|0;m=0;n=0;o=h;h=0;p=0;while(1){q=f[o+96>>2]|0;r=f[q+(h*12|0)>>2]|0;s=r-p|0;t=((s|0)>-1?s:0-s|0)<<1|s>>>31;f[d>>2]=t;if((m|0)==(n|0)){Ti(c,d);v=f[e>>2]|0;w=f[i>>2]|0}else{f[m>>2]=t;t=m+4|0;f[e>>2]=t;v=t;w=n}t=f[q+(h*12|0)+4>>2]|0;s=t-r|0;r=((s|0)>-1?s:0-s|0)<<1|s>>>31;f[d>>2]=r;if((v|0)==(w|0)){Ti(c,d);x=f[e>>2]|0;y=f[i>>2]|0}else{f[v>>2]=r;r=v+4|0;f[e>>2]=r;x=r;y=w}r=f[q+(h*12|0)+8>>2]|0;q=r-t|0;t=((q|0)>-1?q:0-q|0)<<1|q>>>31;f[d>>2]=t;if((x|0)==(y|0))Ti(c,d);else{f[x>>2]=t;f[e>>2]=x+4}t=h+1|0;if(t>>>0>=j>>>0)break;m=f[e>>2]|0;n=f[i>>2]|0;o=f[g>>2]|0;h=t;p=r}k=f[c>>2]|0;l=f[e>>2]|0}Hc(k,l-k>>2,1,0,f[a+44>>2]|0)|0;a=f[c>>2]|0;if(!a){u=b;return 1}c=f[e>>2]|0;if((c|0)!=(a|0))f[e>>2]=c+(~((c+-4-a|0)>>>2)<<2);pr(a);u=b;return 1}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,o=0,p=0;c=u;u=u+48|0;d=c+44|0;e=c+40|0;g=c+36|0;h=c+32|0;i=c;f[h>>2]=f[a+80>>2];j=b+16|0;k=j;l=f[k+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0)){f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,h,h+4|0)|0}Gn(i);gl(i);if((f[h>>2]|0)>0){k=a+76|0;l=0;m=1;do{n=m;m=(f[(f[k>>2]|0)+(l>>>5<<2)>>2]&1<<(l&31)|0)!=0;dj(i,n^m^1);l=l+1|0}while((l|0)<(f[h>>2]|0))}hd(i,b);f[g>>2]=f[a+12>>2];h=j;l=f[h>>2]|0;m=f[h+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){o=m;p=l}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;l=j;o=f[l+4>>2]|0;p=f[l>>2]|0}f[g>>2]=f[a+16>>2];if((o|0)>0|(o|0)==0&p>>>0>0){Dj(i);u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;Dj(i);u=c;return 1}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,n=0,o=0,p=0,q=0,r=0;c=u;u=u+16|0;d=c+12|0;e=c+8|0;g=c+4|0;h=c;if(!b){i=tn(76)|0;j=tn(12)|0;k=f[(f[a+4>>2]|0)+80>>2]|0;f[j+4>>2]=0;f[j>>2]=4052;f[j+8>>2]=k;f[h>>2]=j;vl(i,h,0);j=i;f[g>>2]=j;i=a+12|0;k=f[i>>2]|0;if(k>>>0<(f[a+16>>2]|0)>>>0){f[g>>2]=0;f[k>>2]=j;f[i>>2]=k+4;l=g}else{Ng(a+8|0,g);l=g}g=f[l>>2]|0;f[l>>2]=0;if(g|0)Qa[f[(f[g>>2]|0)+4>>2]&127](g);g=f[h>>2]|0;f[h>>2]=0;if(!g){u=c;return 1}Qa[f[(f[g>>2]|0)+4>>2]&127](g);u=c;return 1}g=f[f[a+8>>2]>>2]|0;f[d>>2]=b;a=g+4|0;h=g+8|0;l=f[h>>2]|0;if((l|0)==(f[g+12>>2]|0))Ti(a,d);else{f[l>>2]=b;f[h>>2]=l+4}l=f[d>>2]|0;b=g+16|0;k=g+20|0;g=f[k>>2]|0;i=f[b>>2]|0;j=g-i>>2;m=i;if((l|0)<(j|0)){n=m;o=l}else{i=l+1|0;f[e>>2]=-1;p=g;if(i>>>0<=j>>>0)if(i>>>0<j>>>0?(g=m+(i<<2)|0,(p|0)!=(g|0)):0){f[k>>2]=p+(~((p+-4-g|0)>>>2)<<2);q=l;r=m}else{q=l;r=m}else{zh(b,i-j|0,e);q=f[d>>2]|0;r=f[b>>2]|0}n=r;o=q}f[n+(o<<2)>>2]=((f[h>>2]|0)-(f[a>>2]|0)>>2)+-1;u=c;return 1}function mf(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;d=u;u=u+32|0;h=d+24|0;i=d+16|0;j=d;k=d+8|0;f[a+52>>2]=e;f[a+44>>2]=g;g=mr(e>>>0>1073741823?-1:e<<2)|0;l=a+48|0;m=f[l>>2]|0;f[l>>2]=g;if(m|0)nr(m);m=a+36|0;g=f[m>>2]|0;n=f[g+4>>2]|0;o=f[g>>2]|0;p=n-o|0;if((p|0)<=0){u=d;return 1}q=(p>>>2)+-1|0;p=a+8|0;r=i+4|0;s=j+4|0;t=h+4|0;if(n-o>>2>>>0>q>>>0){v=o;w=q}else{x=g;Cq(x)}while(1){f[k>>2]=f[v+(w<<2)>>2];f[h>>2]=f[k>>2];vc(a,h,b,w);g=X(w,e)|0;q=b+(g<<2)|0;o=f[l>>2]|0;n=c+(g<<2)|0;g=f[q+4>>2]|0;y=f[o>>2]|0;z=f[o+4>>2]|0;f[i>>2]=f[q>>2];f[r>>2]=g;f[j>>2]=y;f[s>>2]=z;Nd(h,p,i,j);f[n>>2]=f[h>>2];f[n+4>>2]=f[t>>2];w=w+-1|0;if((w|0)<=-1){A=5;break}n=f[m>>2]|0;v=f[n>>2]|0;if((f[n+4>>2]|0)-v>>2>>>0<=w>>>0){x=n;A=6;break}}if((A|0)==5){u=d;return 1}else if((A|0)==6)Cq(x);return 0}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,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=a+8|0;e=f[d>>2]|0;g=f[a>>2]|0;h=g;do if(e-g>>3>>>0>=b>>>0){i=a+4|0;j=f[i>>2]|0;k=j-g>>3;l=k>>>0<b>>>0;m=l?k:b;n=j;if(m|0){j=h;o=m;while(1){m=c;p=f[m+4>>2]|0;q=j;f[q>>2]=f[m>>2];f[q+4>>2]=p;o=o+-1|0;if(!o)break;else j=j+8|0}}if(!l){j=h+(b<<3)|0;if((n|0)==(j|0))return;else{r=i;s=n+(~((n+-8-j|0)>>>3)<<3)|0;break}}else{j=b-k|0;o=n;p=j;while(1){q=c;m=f[q+4>>2]|0;t=o;f[t>>2]=f[q>>2];f[t+4>>2]=m;p=p+-1|0;if(!p)break;else o=o+8|0}r=i;s=n+(j<<3)|0;break}}else{o=g;if(!g)u=e;else{p=a+4|0;k=f[p>>2]|0;if((k|0)!=(h|0))f[p>>2]=k+(~((k+-8-g|0)>>>3)<<3);pr(o);f[d>>2]=0;f[p>>2]=0;f[a>>2]=0;u=0}if(b>>>0>536870911)Cq(a);p=u>>2;o=u>>3>>>0<268435455?(p>>>0<b>>>0?b:p):536870911;if(o>>>0>536870911)Cq(a);p=tn(o<<3)|0;k=a+4|0;f[k>>2]=p;f[a>>2]=p;f[d>>2]=p+(o<<3);o=p;l=b;while(1){m=c;t=f[m+4>>2]|0;q=o;f[q>>2]=f[m>>2];f[q+4>>2]=t;l=l+-1|0;if(!l)break;else o=o+8|0}r=k;s=p+(b<<3)|0}while(0);f[r>>2]=s;return}function of(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;c=d[b>>1]|0;e=d[b+2>>1]|0;g=d[b+4>>1]|0;h=d[b+6>>1]|0;b=((((c^318)&65535)+239^e&65535)+239^g&65535)+239^h&65535;i=f[a+4>>2]|0;if(!i){j=0;return j|0}k=i+-1|0;l=(k&i|0)==0;if(!l)if(b>>>0<i>>>0)m=b;else m=(b>>>0)%(i>>>0)|0;else m=b&k;n=f[(f[a>>2]|0)+(m<<2)>>2]|0;if(!n){j=0;return j|0}a=f[n>>2]|0;if(!a){j=0;return j|0}if(l){l=a;while(1){n=f[l+4>>2]|0;o=(n|0)==(b|0);if(!(o|(n&k|0)==(m|0))){j=0;p=26;break}if((((o?(o=l+8|0,(d[o>>1]|0)==c<<16>>16):0)?(d[o+2>>1]|0)==e<<16>>16:0)?(d[l+12>>1]|0)==g<<16>>16:0)?(d[o+6>>1]|0)==h<<16>>16:0){j=l;p=26;break}l=f[l>>2]|0;if(!l){j=0;p=26;break}}if((p|0)==26)return j|0}else q=a;while(1){a=f[q+4>>2]|0;l=(a|0)==(b|0);if(!l){if(a>>>0<i>>>0)r=a;else r=(a>>>0)%(i>>>0)|0;if((r|0)!=(m|0)){j=0;p=26;break}if(l)p=22}else p=22;if(((((p|0)==22?(p=0,l=q+8|0,(d[l>>1]|0)==c<<16>>16):0)?(d[l+2>>1]|0)==e<<16>>16:0)?(d[q+12>>1]|0)==g<<16>>16:0)?(d[l+6>>1]|0)==h<<16>>16:0){j=q;p=26;break}q=f[q>>2]|0;if(!q){j=0;p=26;break}}if((p|0)==26)return j|0;return 0}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,n=0,o=0,p=0,q=0,r=0;d=b[c>>0]|0;e=b[c+1>>0]|0;g=b[c+2>>0]|0;h=b[c+3>>0]|0;c=(((d&255^318)+239^e&255)+239^g&255)+239^h&255;i=f[a+4>>2]|0;if(!i){j=0;return j|0}k=i+-1|0;l=(k&i|0)==0;if(!l)if(c>>>0<i>>>0)m=c;else m=(c>>>0)%(i>>>0)|0;else m=c&k;n=f[(f[a>>2]|0)+(m<<2)>>2]|0;if(!n){j=0;return j|0}a=f[n>>2]|0;if(!a){j=0;return j|0}if(l){l=a;while(1){n=f[l+4>>2]|0;o=(n|0)==(c|0);if(!(o|(n&k|0)==(m|0))){j=0;p=26;break}if((((o?(o=l+8|0,(b[o>>0]|0)==d<<24>>24):0)?(b[o+1>>0]|0)==e<<24>>24:0)?(b[o+2>>0]|0)==g<<24>>24:0)?(b[o+3>>0]|0)==h<<24>>24:0){j=l;p=26;break}l=f[l>>2]|0;if(!l){j=0;p=26;break}}if((p|0)==26)return j|0}else q=a;while(1){a=f[q+4>>2]|0;l=(a|0)==(c|0);if(!l){if(a>>>0<i>>>0)r=a;else r=(a>>>0)%(i>>>0)|0;if((r|0)!=(m|0)){j=0;p=26;break}if(l)p=22}else p=22;if(((((p|0)==22?(p=0,l=q+8|0,(b[l>>0]|0)==d<<24>>24):0)?(b[l+1>>0]|0)==e<<24>>24:0)?(b[l+2>>0]|0)==g<<24>>24:0)?(b[l+3>>0]|0)==h<<24>>24:0){j=q;p=26;break}q=f[q>>2]|0;if(!q){j=0;p=26;break}}if((p|0)==26)return j|0;return 0}function qf(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;c=u;u=u+48|0;d=c+8|0;e=c+4|0;g=c;h=0;do{i=h;h=h+1|0;j=a+40+(i*12|0)+4|0;ai(f[j>>2]|0,b)|0;if(f[j>>2]|0){Gn(d);gl(d);k=(f[j>>2]|0)-h|0;if((k|0)>-1){j=a+40+(i*12|0)|0;l=k;do{k=0;while(1){m=k+l|0;dj(d,(f[(f[j>>2]|0)+(m>>>5<<2)>>2]&1<<(m&31)|0)!=0);if((k|0)<(i|0))k=k+1|0;else break}l=l-h|0}while((l|0)>-1)}hd(d,b);Dj(d)}}while((h|0)<4);f[g>>2]=f[a+12>>2];h=b+16|0;l=h;i=f[l>>2]|0;j=f[l+4>>2]|0;if((j|0)>0|(j|0)==0&i>>>0>0){n=j;o=i}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;i=h;n=f[i+4>>2]|0;o=f[i>>2]|0}f[g>>2]=f[a+20>>2];if((n|0)>0|(n|0)==0&o>>>0>0){u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;u=c;return 1}function rf(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;c=u;u=u+48|0;d=c+8|0;e=c+4|0;g=c;h=0;do{i=h;h=h+1|0;j=a+60+(i*12|0)+4|0;ai(f[j>>2]|0,b)|0;if(f[j>>2]|0){Gn(d);gl(d);k=(f[j>>2]|0)-h|0;if((k|0)>-1){j=a+60+(i*12|0)|0;l=k;do{k=0;while(1){m=k+l|0;dj(d,(f[(f[j>>2]|0)+(m>>>5<<2)>>2]&1<<(m&31)|0)!=0);if((k|0)<(i|0))k=k+1|0;else break}l=l-h|0}while((l|0)>-1)}hd(d,b);Dj(d)}}while((h|0)<4);f[g>>2]=f[a+12>>2];h=b+16|0;l=h;i=f[l>>2]|0;j=f[l+4>>2]|0;if((j|0)>0|(j|0)==0&i>>>0>0){n=j;o=i}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;i=h;n=f[i+4>>2]|0;o=f[i>>2]|0}f[g>>2]=f[a+16>>2];if((n|0)>0|(n|0)==0&o>>>0>0){u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;u=c;return 1}function sf(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;d=u;u=u+16|0;h=d;i=f[a+124>>2]|0;if(!i){u=d;return}j=i+-1|0;k=(j&i|0)==0;if(!k)if(i>>>0>g>>>0)l=g;else l=(g>>>0)%(i>>>0)|0;else l=j&g;m=f[(f[a+120>>2]|0)+(l<<2)>>2]|0;if(!m){u=d;return}n=f[m>>2]|0;if(!n){u=d;return}a:do if(k){m=n;while(1){o=f[m+4>>2]|0;p=(o|0)==(g|0);if(!(p|(o&j|0)==(l|0))){q=24;break}if(p?(f[m+8>>2]|0)==(g|0):0){r=m;break a}m=f[m>>2]|0;if(!m){q=24;break}}if((q|0)==24){u=d;return}}else{m=n;while(1){p=f[m+4>>2]|0;if((p|0)==(g|0)){if((f[m+8>>2]|0)==(g|0)){r=m;break a}}else{if(p>>>0<i>>>0)s=p;else s=(p>>>0)%(i>>>0)|0;if((s|0)!=(l|0)){q=24;break}}m=f[m>>2]|0;if(!m){q=24;break}}if((q|0)==24){u=d;return}}while(0);q=f[r+12>>2]|0;if((q|0)==-1){u=d;return}f[h>>2]=q;f[h+4>>2]=c;b[h+8>>0]=e&1;e=a+112|0;c=f[e>>2]|0;if((c|0)==(f[a+116>>2]|0))vi(a+108|0,h);else{f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];f[e>>2]=(f[e>>2]|0)+12}u=d;return}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,r=0;d=f[a+8>>2]|0;e=a+76|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0)if(h>>>0<m>>>0?(k=n+(h<<2)|0,(l|0)!=(k|0)):0){f[j>>2]=l+(~((l+-4-k|0)>>>2)<<2);o=g;p=h}else{o=g;p=h}else{zh(i,h-m|0,3728);m=f[e>>2]|0;o=m;p=f[m+80>>2]|0}m=(f[o+100>>2]|0)-(f[o+96>>2]|0)|0;e=(m|0)/12|0;if(!m){q=1;return q|0}m=a+80|0;a=c+68|0;c=f[o+96>>2]|0;o=f[d+28>>2]|0;d=0;while(1){h=d*3|0;i=f[o+(h<<2)>>2]|0;if((i|0)==-1){q=0;r=11;break}g=f[(f[m>>2]|0)+12>>2]|0;k=f[g+(i<<2)>>2]|0;if(k>>>0>=p>>>0){q=0;r=11;break}i=f[a>>2]|0;f[i+(f[c+(d*12|0)>>2]<<2)>>2]=k;k=f[o+(h+1<<2)>>2]|0;if((k|0)==-1){q=0;r=11;break}l=f[g+(k<<2)>>2]|0;if(l>>>0>=p>>>0){q=0;r=11;break}f[i+(f[c+(d*12|0)+4>>2]<<2)>>2]=l;l=f[o+(h+2<<2)>>2]|0;if((l|0)==-1){q=0;r=11;break}h=f[g+(l<<2)>>2]|0;if(h>>>0>=p>>>0){q=0;r=11;break}f[i+(f[c+(d*12|0)+8>>2]<<2)>>2]=h;d=d+1|0;if(d>>>0>=e>>>0){q=1;r=11;break}}if((r|0)==11)return q|0;return 0}function uf(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;a=u;u=u+16|0;e=a+4|0;g=a;h=a+8|0;i=d+11|0;j=b[i>>0]|0;k=j<<24>>24<0;if(k){l=f[d+4>>2]|0;if(l>>>0>255){m=0;u=a;return m|0}else n=l}else n=j&255;if(!n){b[h>>0]=0;n=c+16|0;l=f[n+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[n>>2]|0)>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Fe(c,e,h,h+1|0)|0}m=1;u=a;return m|0}n=d+4|0;l=f[n>>2]|0;b[h>>0]=k?l:j&255;k=c+16|0;o=k;p=f[o>>2]|0;q=f[o+4>>2]|0;if((q|0)>0|(q|0)==0&p>>>0>0){r=j;s=q;t=p;v=l}else{f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Fe(c,e,h,h+1|0)|0;h=k;r=b[i>>0]|0;s=f[h+4>>2]|0;t=f[h>>2]|0;v=f[n>>2]|0}n=r<<24>>24<0;h=n?f[d>>2]|0:d;if(!((s|0)>0|(s|0)==0&t>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Fe(c,e,h,h+(n?v:r&255)|0)|0}m=1;u=a;return m|0}function vf(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;c=a+4|0;d=f[a>>2]|0;e=((f[c>>2]|0)-d|0)/24|0;g=e+1|0;if(g>>>0>178956970)Cq(a);h=a+8|0;i=((f[h>>2]|0)-d|0)/24|0;d=i<<1;j=i>>>0<89478485?(d>>>0<g>>>0?g:d):178956970;do if(j)if(j>>>0>178956970){d=ra(8)|0;jp(d,16426);f[d>>2]=7416;va(d|0,1160,122)}else{k=tn(j*24|0)|0;break}else k=0;while(0);d=k+(e*24|0)|0;g=d;i=k+(j*24|0)|0;f[d>>2]=1260;f[k+(e*24|0)+4>>2]=f[b+4>>2];ik(k+(e*24|0)+8|0,b+8|0);f[k+(e*24|0)+20>>2]=f[b+20>>2];b=d+24|0;e=f[a>>2]|0;k=f[c>>2]|0;if((k|0)==(e|0)){l=g;m=e;n=e}else{j=d;d=k;k=g;do{f[j+-24>>2]=1260;f[j+-20>>2]=f[d+-20>>2];g=j+-16|0;o=d+-16|0;f[g>>2]=0;p=j+-12|0;f[p>>2]=0;f[j+-8>>2]=0;f[g>>2]=f[o>>2];g=d+-12|0;f[p>>2]=f[g>>2];p=d+-8|0;f[j+-8>>2]=f[p>>2];f[p>>2]=0;f[g>>2]=0;f[o>>2]=0;f[j+-4>>2]=f[d+-4>>2];d=d+-24|0;j=k+-24|0;k=j}while((d|0)!=(e|0));l=k;m=f[a>>2]|0;n=f[c>>2]|0}f[a>>2]=l;f[c>>2]=b;f[h>>2]=i;i=m;if((n|0)!=(i|0)){h=n;do{h=h+-24|0;Qa[f[f[h>>2]>>2]&127](h)}while((h|0)!=(i|0))}if(!m)return;pr(m);return}function wf(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;g=u;u=u+32|0;h=g+12|0;i=g;f[a>>2]=f[d>>2];d=a+4|0;f[d>>2]=(f[c>>2]|0)-(f[b>>2]|0);j=e+16|0;k=j;l=f[k+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0)?(f[i>>2]=f[e+4>>2],f[h>>2]=f[i>>2],Fe(e,h,a,a+4|0)|0,k=j,j=f[k+4>>2]|0,!((j|0)>0|(j|0)==0&(f[k>>2]|0)>>>0>0)):0){f[i>>2]=f[e+4>>2];f[h>>2]=f[i>>2];Fe(e,h,d,d+4|0)|0;m=i}else m=i;if(!(f[d>>2]|0)){u=g;return 1}d=a+12|0;Rm(d);m=a+32|0;Rm(m);k=a+52|0;Rm(k);j=a+72|0;Rm(j);f[i>>2]=f[b>>2];f[i+4>>2]=f[b+4>>2];f[i+8>>2]=f[b+8>>2];f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];f[h+8>>2]=f[c+8>>2];bb(a,i,h);Ag(d,e);Ag(m,e);Ag(k,e);Ag(j,e);u=g;return 1}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,n=0,o=0,p=0;c=u;u=u+32|0;d=c+24|0;e=c+16|0;g=c+8|0;h=c;f[a>>2]=3716;f[a+4>>2]=f[b+4>>2];i=a+8|0;j=b+8|0;f[i>>2]=0;k=a+12|0;f[k>>2]=0;l=a+16|0;f[l>>2]=0;m=b+12|0;n=f[m>>2]|0;do if(n|0)if((n|0)<0)Cq(i);else{o=((n+-1|0)>>>5)+1|0;p=tn(o<<2)|0;f[i>>2]=p;f[k>>2]=0;f[l>>2]=o;o=f[j>>2]|0;f[g>>2]=o;f[g+4>>2]=0;p=f[m>>2]|0;f[h>>2]=o+(p>>>5<<2);f[h+4>>2]=p&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];Pf(i,e,d);break}while(0);i=a+20|0;f[i>>2]=0;m=a+24|0;f[m>>2]=0;j=a+28|0;f[j>>2]=0;a=b+24|0;l=f[a>>2]|0;if(!l){u=c;return}if((l|0)<0)Cq(i);k=((l+-1|0)>>>5)+1|0;l=tn(k<<2)|0;f[i>>2]=l;f[m>>2]=0;f[j>>2]=k;k=f[b+20>>2]|0;f[g>>2]=k;f[g+4>>2]=0;b=f[a>>2]|0;f[h>>2]=k+(b>>>5<<2);f[h+4>>2]=b&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];Pf(i,e,d);u=c;return}function yf(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;c=f[b>>2]|0;d=f[b+4>>2]|0;e=f[b+8>>2]|0;g=f[b+12>>2]|0;b=(((c^318)+239^d)+239^e)+239^g;h=f[a+4>>2]|0;if(!h){i=0;return i|0}j=h+-1|0;k=(j&h|0)==0;if(!k)if(b>>>0<h>>>0)l=b;else l=(b>>>0)%(h>>>0)|0;else l=b&j;m=f[(f[a>>2]|0)+(l<<2)>>2]|0;if(!m){i=0;return i|0}a=f[m>>2]|0;if(!a){i=0;return i|0}if(k){k=a;while(1){m=f[k+4>>2]|0;n=(m|0)==(b|0);if(!(n|(m&j|0)==(l|0))){i=0;o=26;break}if((((n?(f[k+8>>2]|0)==(c|0):0)?(f[k+12>>2]|0)==(d|0):0)?(f[k+16>>2]|0)==(e|0):0)?(f[k+20>>2]|0)==(g|0):0){i=k;o=26;break}k=f[k>>2]|0;if(!k){i=0;o=26;break}}if((o|0)==26)return i|0}else p=a;while(1){a=f[p+4>>2]|0;k=(a|0)==(b|0);if(!k){if(a>>>0<h>>>0)q=a;else q=(a>>>0)%(h>>>0)|0;if((q|0)!=(l|0)){i=0;o=26;break}if(k)o=22}else o=22;if(((((o|0)==22?(o=0,(f[p+8>>2]|0)==(c|0)):0)?(f[p+12>>2]|0)==(d|0):0)?(f[p+16>>2]|0)==(e|0):0)?(f[p+20>>2]|0)==(g|0):0){i=p;o=26;break}p=f[p>>2]|0;if(!p){i=0;o=26;break}}if((o|0)==26)return i|0;return 0}function zf(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;g=u;u=u+32|0;h=g+12|0;i=g;f[a>>2]=f[d>>2];d=a+4|0;f[d>>2]=(f[c>>2]|0)-(f[b>>2]|0);j=e+16|0;k=j;l=f[k+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0)?(f[i>>2]=f[e+4>>2],f[h>>2]=f[i>>2],Fe(e,h,a,a+4|0)|0,k=j,j=f[k+4>>2]|0,!((j|0)>0|(j|0)==0&(f[k>>2]|0)>>>0>0)):0){f[i>>2]=f[e+4>>2];f[h>>2]=f[i>>2];Fe(e,h,d,d+4|0)|0;m=i}else m=i;if(!(f[d>>2]|0)){u=g;return 1}d=a+12|0;gl(d);m=a+44|0;Rm(m);k=a+64|0;Rm(k);j=a+84|0;Rm(j);f[i>>2]=f[b>>2];f[i+4>>2]=f[b+4>>2];f[i+8>>2]=f[b+8>>2];f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];f[h+8>>2]=f[c+8>>2];fb(a,i,h);hd(d,e);Ag(m,e);Ag(k,e);Ag(j,e);u=g;return 1}function Af(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;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-4194304|0;do if(k>>>0>=64){l=a+28|0;m=f[l>>2]|0;if(k>>>0<16384){n=(f[i>>2]|0)+m|0;o=j+-4177920|0;b[n>>0]=o;p=2;q=n+1|0;r=l;s=o>>>8;t=9;break}if(k>>>0<4194304){o=(f[i>>2]|0)+m|0;n=j+4194304|0;b[o>>0]=n;b[o+1>>0]=n>>>8;p=3;q=o+2|0;r=l;s=n>>>16;t=9;break}if(k>>>0<1073741824){n=(f[i>>2]|0)+m|0;o=j+-1077936128|0;b[n>>0]=o;b[n+1>>0]=o>>>8;b[n+2>>0]=o>>>16;p=4;q=n+3|0;r=l;s=o>>>24;t=9}else v=m}else{m=a+28|0;p=1;q=(f[i>>2]|0)+(f[m>>2]|0)|0;r=m;s=k;t=9}while(0);if((t|0)==9){b[q>>0]=s;v=(f[r>>2]|0)+p|0}p=((v|0)<0)<<31>>31;Rn(e);uh(v,p,e)|0;r=e+4|0;s=(f[r>>2]|0)-(f[e>>2]|0)|0;qm(h+s|0,h|0,v|0)|0;eh(h|0,f[e>>2]|0,s|0)|0;h=g;g=f[h>>2]|0;q=f[h+4>>2]|0;h=go(s|0,0,v|0,p|0)|0;p=go(h|0,I|0,g|0,q|0)|0;Gl(c,p,I);p=e+12|0;c=f[p>>2]|0;f[p>>2]=0;if(c|0)pr(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[r>>2]|0)!=(c|0))f[r>>2]=c;pr(c);u=d;return}function Bf(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;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-2097152|0;do if(k>>>0>=64){l=a+28|0;m=f[l>>2]|0;if(k>>>0<16384){n=(f[i>>2]|0)+m|0;o=j+-2080768|0;b[n>>0]=o;p=2;q=n+1|0;r=l;s=o>>>8;t=9;break}if(k>>>0<4194304){o=(f[i>>2]|0)+m|0;n=j+6291456|0;b[o>>0]=n;b[o+1>>0]=n>>>8;p=3;q=o+2|0;r=l;s=n>>>16;t=9;break}if(k>>>0<1073741824){n=(f[i>>2]|0)+m|0;o=j+-1075838976|0;b[n>>0]=o;b[n+1>>0]=o>>>8;b[n+2>>0]=o>>>16;p=4;q=n+3|0;r=l;s=o>>>24;t=9}else v=m}else{m=a+28|0;p=1;q=(f[i>>2]|0)+(f[m>>2]|0)|0;r=m;s=k;t=9}while(0);if((t|0)==9){b[q>>0]=s;v=(f[r>>2]|0)+p|0}p=((v|0)<0)<<31>>31;Rn(e);uh(v,p,e)|0;r=e+4|0;s=(f[r>>2]|0)-(f[e>>2]|0)|0;qm(h+s|0,h|0,v|0)|0;eh(h|0,f[e>>2]|0,s|0)|0;h=g;g=f[h>>2]|0;q=f[h+4>>2]|0;h=go(s|0,0,v|0,p|0)|0;p=go(h|0,I|0,g|0,q|0)|0;Gl(c,p,I);p=e+12|0;c=f[p>>2]|0;f[p>>2]=0;if(c|0)pr(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[r>>2]|0)!=(c|0))f[r>>2]=c;pr(c);u=d;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,q=0,r=0,s=0,t=0,v=0;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-1048576|0;do if(k>>>0>=64){l=a+28|0;m=f[l>>2]|0;if(k>>>0<16384){n=(f[i>>2]|0)+m|0;o=j+-1032192|0;b[n>>0]=o;p=2;q=n+1|0;r=l;s=o>>>8;t=9;break}if(k>>>0<4194304){o=(f[i>>2]|0)+m|0;n=j+7340032|0;b[o>>0]=n;b[o+1>>0]=n>>>8;p=3;q=o+2|0;r=l;s=n>>>16;t=9;break}if(k>>>0<1073741824){n=(f[i>>2]|0)+m|0;o=j+-1074790400|0;b[n>>0]=o;b[n+1>>0]=o>>>8;b[n+2>>0]=o>>>16;p=4;q=n+3|0;r=l;s=o>>>24;t=9}else v=m}else{m=a+28|0;p=1;q=(f[i>>2]|0)+(f[m>>2]|0)|0;r=m;s=k;t=9}while(0);if((t|0)==9){b[q>>0]=s;v=(f[r>>2]|0)+p|0}p=((v|0)<0)<<31>>31;Rn(e);uh(v,p,e)|0;r=e+4|0;s=(f[r>>2]|0)-(f[e>>2]|0)|0;qm(h+s|0,h|0,v|0)|0;eh(h|0,f[e>>2]|0,s|0)|0;h=g;g=f[h>>2]|0;q=f[h+4>>2]|0;h=go(s|0,0,v|0,p|0)|0;p=go(h|0,I|0,g|0,q|0)|0;Gl(c,p,I);p=e+12|0;c=f[p>>2]|0;f[p>>2]=0;if(c|0)pr(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[r>>2]|0)!=(c|0))f[r>>2]=c;pr(c);u=d;return}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,s=0,t=0,v=0;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-262144|0;do if(k>>>0>=64){l=a+28|0;m=f[l>>2]|0;if(k>>>0<16384){n=(f[i>>2]|0)+m|0;o=j+-245760|0;b[n>>0]=o;p=2;q=n+1|0;r=l;s=o>>>8;t=9;break}if(k>>>0<4194304){o=(f[i>>2]|0)+m|0;n=j+8126464|0;b[o>>0]=n;b[o+1>>0]=n>>>8;p=3;q=o+2|0;r=l;s=n>>>16;t=9;break}if(k>>>0<1073741824){n=(f[i>>2]|0)+m|0;o=j+-1074003968|0;b[n>>0]=o;b[n+1>>0]=o>>>8;b[n+2>>0]=o>>>16;p=4;q=n+3|0;r=l;s=o>>>24;t=9}else v=m}else{m=a+28|0;p=1;q=(f[i>>2]|0)+(f[m>>2]|0)|0;r=m;s=k;t=9}while(0);if((t|0)==9){b[q>>0]=s;v=(f[r>>2]|0)+p|0}p=((v|0)<0)<<31>>31;Rn(e);uh(v,p,e)|0;r=e+4|0;s=(f[r>>2]|0)-(f[e>>2]|0)|0;qm(h+s|0,h|0,v|0)|0;eh(h|0,f[e>>2]|0,s|0)|0;h=g;g=f[h>>2]|0;q=f[h+4>>2]|0;h=go(s|0,0,v|0,p|0)|0;p=go(h|0,I|0,g|0,q|0)|0;Gl(c,p,I);p=e+12|0;c=f[p>>2]|0;f[p>>2]=0;if(c|0)pr(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[r>>2]|0)!=(c|0))f[r>>2]=c;pr(c);u=d;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,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-131072|0;do if(k>>>0>=64){l=a+28|0;m=f[l>>2]|0;if(k>>>0<16384){n=(f[i>>2]|0)+m|0;o=j+-114688|0;b[n>>0]=o;p=2;q=n+1|0;r=l;s=o>>>8;t=9;break}if(k>>>0<4194304){o=(f[i>>2]|0)+m|0;n=j+8257536|0;b[o>>0]=n;b[o+1>>0]=n>>>8;p=3;q=o+2|0;r=l;s=n>>>16;t=9;break}if(k>>>0<1073741824){n=(f[i>>2]|0)+m|0;o=j+-1073872896|0;b[n>>0]=o;b[n+1>>0]=o>>>8;b[n+2>>0]=o>>>16;p=4;q=n+3|0;r=l;s=o>>>24;t=9}else v=m}else{m=a+28|0;p=1;q=(f[i>>2]|0)+(f[m>>2]|0)|0;r=m;s=k;t=9}while(0);if((t|0)==9){b[q>>0]=s;v=(f[r>>2]|0)+p|0}p=((v|0)<0)<<31>>31;Rn(e);uh(v,p,e)|0;r=e+4|0;s=(f[r>>2]|0)-(f[e>>2]|0)|0;qm(h+s|0,h|0,v|0)|0;eh(h|0,f[e>>2]|0,s|0)|0;h=g;g=f[h>>2]|0;q=f[h+4>>2]|0;h=go(s|0,0,v|0,p|0)|0;p=go(h|0,I|0,g|0,q|0)|0;Gl(c,p,I);p=e+12|0;c=f[p>>2]|0;f[p>>2]=0;if(c|0)pr(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[r>>2]|0)!=(c|0))f[r>>2]=c;pr(c);u=d;return}function Ff(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;d=u;u=u+32|0;h=d+24|0;i=d+16|0;j=d;k=d+8|0;l=a+40|0;f[a+44>>2]=g;g=a+36|0;m=f[g>>2]|0;n=f[m+4>>2]|0;o=f[m>>2]|0;p=n-o|0;if((p|0)<=0){u=d;return 1}q=(p>>>2)+-1|0;p=a+8|0;r=a+48|0;s=a+52|0;a=i+4|0;t=j+4|0;v=h+4|0;if(n-o>>2>>>0>q>>>0){w=o;x=q}else{y=m;Cq(y)}while(1){f[k>>2]=f[w+(x<<2)>>2];f[h>>2]=f[k>>2];ob(l,h,b,x)|0;m=X(x,e)|0;q=b+(m<<2)|0;o=c+(m<<2)|0;m=f[q+4>>2]|0;n=f[r>>2]|0;z=f[s>>2]|0;f[i>>2]=f[q>>2];f[a>>2]=m;f[j>>2]=n;f[t>>2]=z;Nd(h,p,i,j);f[o>>2]=f[h>>2];f[o+4>>2]=f[v>>2];x=x+-1|0;if((x|0)<=-1){A=3;break}o=f[g>>2]|0;w=f[o>>2]|0;if((f[o+4>>2]|0)-w>>2>>>0<=x>>>0){y=o;A=4;break}}if((A|0)==3){u=d;return 1}else if((A|0)==4)Cq(y);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,p=0;c=u;u=u+32|0;d=c+24|0;e=c+16|0;g=c+8|0;h=c;f[a>>2]=3764;f[a+4>>2]=f[b+4>>2];i=a+8|0;j=b+8|0;f[i>>2]=0;k=a+12|0;f[k>>2]=0;l=a+16|0;f[l>>2]=0;m=b+12|0;n=f[m>>2]|0;do if(n|0)if((n|0)<0)Cq(i);else{o=((n+-1|0)>>>5)+1|0;p=tn(o<<2)|0;f[i>>2]=p;f[k>>2]=0;f[l>>2]=o;o=f[j>>2]|0;f[g>>2]=o;f[g+4>>2]=0;p=f[m>>2]|0;f[h>>2]=o+(p>>>5<<2);f[h+4>>2]=p&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];Pf(i,e,d);break}while(0);i=a+20|0;f[i>>2]=0;m=a+24|0;f[m>>2]=0;j=a+28|0;f[j>>2]=0;a=b+24|0;l=f[a>>2]|0;if(!l){u=c;return}if((l|0)<0)Cq(i);k=((l+-1|0)>>>5)+1|0;l=tn(k<<2)|0;f[i>>2]=l;f[m>>2]=0;f[j>>2]=k;k=f[b+20>>2]|0;f[g>>2]=k;f[g+4>>2]=0;b=f[a>>2]|0;f[h>>2]=k+(b>>>5<<2);f[h+4>>2]=b&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];Pf(i,e,d);u=c;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,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-32768|0;do if(k>>>0>=64){l=a+28|0;m=f[l>>2]|0;if(k>>>0<16384){n=(f[i>>2]|0)+m|0;o=j+-16384|0;b[n>>0]=o;p=2;q=n+1|0;r=l;s=o>>>8;t=9;break}if(k>>>0<4194304){o=(f[i>>2]|0)+m|0;n=j+8355840|0;b[o>>0]=n;b[o+1>>0]=n>>>8;p=3;q=o+2|0;r=l;s=n>>>16;t=9;break}if(k>>>0<1073741824){n=(f[i>>2]|0)+m|0;o=j+-1073774592|0;b[n>>0]=o;b[n+1>>0]=o>>>8;b[n+2>>0]=o>>>16;p=4;q=n+3|0;r=l;s=o>>>24;t=9}else v=m}else{m=a+28|0;p=1;q=(f[i>>2]|0)+(f[m>>2]|0)|0;r=m;s=k;t=9}while(0);if((t|0)==9){b[q>>0]=s;v=(f[r>>2]|0)+p|0}p=((v|0)<0)<<31>>31;Rn(e);uh(v,p,e)|0;r=e+4|0;s=(f[r>>2]|0)-(f[e>>2]|0)|0;qm(h+s|0,h|0,v|0)|0;eh(h|0,f[e>>2]|0,s|0)|0;h=g;g=f[h>>2]|0;q=f[h+4>>2]|0;h=go(s|0,0,v|0,p|0)|0;p=go(h|0,I|0,g|0,q|0)|0;Gl(c,p,I);p=e+12|0;c=f[p>>2]|0;f[p>>2]=0;if(c|0)pr(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[r>>2]|0)!=(c|0))f[r>>2]=c;pr(c);u=d;return}function If(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;h=u;u=u+32|0;i=h;j=h+16|0;k=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(La[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1){l=La[f[(f[b>>2]|0)+52>>2]&127](b)|0;m=Ma[f[(f[b>>2]|0)+60>>2]&127](b,d)|0;if((l|0)==0|(m|0)==0){f[a>>2]=0;u=h;return}n=Ma[f[(f[b>>2]|0)+56>>2]&127](b,d)|0;if(!n){f[i>>2]=f[b+56>>2];f[i+4>>2]=l;f[i+12>>2]=m;f[i+8>>2]=m+12;yd(a,j,c,k,e,i,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}else{f[i>>2]=f[b+56>>2];f[i+4>>2]=n;f[i+12>>2]=m;f[i+8>>2]=m+12;wd(a,j,c,k,e,i,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}}while(0);f[a>>2]=0;u=h;return}function Jf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Ja,g=0.0,h=Ja,i=0.0,j=Ja,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=$(n[b>>2]);g=+$(K($(e)));h=$(n[b+4>>2]);i=g+ +$(K($(h)));j=$(n[b+8>>2]);g=i+ +$(K($(j)));b=g>1.0e-06;i=1.0/g;k=f[a+12>>2]|0;g=+(k|0);l=~~+J(+(g*(b?+e*i:1.0)+.5));m=~~+J(+(g*(b?+h*i:0.0)+.5));o=(l|0)>-1;p=k-(o?l:0-l|0)-((m|0)>-1?m:0-m|0)|0;l=(p|0)<0;q=(l?((m|0)>0?p:0-p|0):0)+m|0;m=l?0:p;p=(b?+j*i:0.0)<0.0?0-m|0:m;if(!o){o=(p|0)>-1?p:0-p|0;if((q|0)<0)r=o;else r=(f[a+8>>2]|0)-o|0;o=(q|0)>-1?q:0-q|0;if((p|0)<0){s=r;t=o}else{s=r;t=(f[a+8>>2]|0)-o|0}}else{s=k+q|0;t=k+p|0}p=(s|0)==0;q=(t|0)==0;o=f[a+8>>2]|0;if(!(t|s)){u=o;v=o;f[c>>2]=u;f[d>>2]=v;return}a=(o|0)==(t|0);r=(o|0)==(s|0);if(p&a|q&r){u=o;v=o;f[c>>2]=u;f[d>>2]=v;return}if(p&(k|0)<(t|0)){u=0;v=(k<<1)-t|0;f[c>>2]=u;f[d>>2]=v;return}if(r&(k|0)>(t|0)){u=s;v=(k<<1)-t|0;f[c>>2]=u;f[d>>2]=v;return}if(a&(k|0)>(s|0)){u=(k<<1)-s|0;v=t;f[c>>2]=u;f[d>>2]=v;return}if(!q){u=s;v=t;f[c>>2]=u;f[d>>2]=v;return}u=(k|0)<(s|0)?(k<<1)-s|0:s;v=0;f[c>>2]=u;f[d>>2]=v;return}function Kf(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;d=u;u=u+32|0;h=d+24|0;i=d+16|0;j=d;k=d+8|0;l=a+40|0;f[a+44>>2]=g;g=a+36|0;m=f[g>>2]|0;n=f[m+4>>2]|0;o=f[m>>2]|0;p=n-o|0;if((p|0)<=0){u=d;return 1}q=(p>>>2)+-1|0;p=a+8|0;r=a+48|0;s=a+52|0;a=i+4|0;t=j+4|0;v=h+4|0;if(n-o>>2>>>0>q>>>0){w=o;x=q}else{y=m;Cq(y)}while(1){f[k>>2]=f[w+(x<<2)>>2];f[h>>2]=f[k>>2];nb(l,h,b,x)|0;m=X(x,e)|0;q=b+(m<<2)|0;o=c+(m<<2)|0;m=f[q+4>>2]|0;n=f[r>>2]|0;z=f[s>>2]|0;f[i>>2]=f[q>>2];f[a>>2]=m;f[j>>2]=n;f[t>>2]=z;Nd(h,p,i,j);f[o>>2]=f[h>>2];f[o+4>>2]=f[v>>2];x=x+-1|0;if((x|0)<=-1){A=3;break}o=f[g>>2]|0;w=f[o>>2]|0;if((f[o+4>>2]|0)-w>>2>>>0<=x>>>0){y=o;A=4;break}}if((A|0)==3){u=d;return 1}else if((A|0)==4)Cq(y);return 0}function Lf(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;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-16384|0;do if(k>>>0>=64){l=a+28|0;m=f[l>>2]|0;if(k>>>0<16384){n=(f[i>>2]|0)+m|0;b[n>>0]=j;o=2;p=n+1|0;q=l;r=j>>>8;s=9;break}if(k>>>0<4194304){n=(f[i>>2]|0)+m|0;t=j+8372224|0;b[n>>0]=t;b[n+1>>0]=t>>>8;o=3;p=n+2|0;q=l;r=t>>>16;s=9;break}if(k>>>0<1073741824){t=(f[i>>2]|0)+m|0;n=j+-1073758208|0;b[t>>0]=n;b[t+1>>0]=n>>>8;b[t+2>>0]=n>>>16;o=4;p=t+3|0;q=l;r=n>>>24;s=9}else v=m}else{m=a+28|0;o=1;p=(f[i>>2]|0)+(f[m>>2]|0)|0;q=m;r=k;s=9}while(0);if((s|0)==9){b[p>>0]=r;v=(f[q>>2]|0)+o|0}o=((v|0)<0)<<31>>31;Rn(e);uh(v,o,e)|0;q=e+4|0;r=(f[q>>2]|0)-(f[e>>2]|0)|0;qm(h+r|0,h|0,v|0)|0;eh(h|0,f[e>>2]|0,r|0)|0;h=g;g=f[h>>2]|0;p=f[h+4>>2]|0;h=go(r|0,0,v|0,o|0)|0;o=go(h|0,I|0,g|0,p|0)|0;Gl(c,o,I);o=e+12|0;c=f[o>>2]|0;f[o>>2]=0;if(c|0)pr(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[q>>2]|0)!=(c|0))f[q>>2]=c;pr(c);u=d;return}function Mf(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;d=f[b>>2]|0;b=f[c>>2]|0;e=b-d>>2;g=a+8|0;h=f[g>>2]|0;i=f[a>>2]|0;j=i;k=b;if(e>>>0<=h-i>>2>>>0){l=a+4|0;m=(f[l>>2]|0)-i>>2;n=e>>>0>m>>>0;o=n?d+(m<<2)|0:b;b=o-d|0;m=b>>2;if(m|0)qm(i|0,d|0,b|0)|0;b=j+(m<<2)|0;if(!n){n=f[l>>2]|0;if((n|0)==(b|0))return;f[l>>2]=n+(~((n+-4-b|0)>>>2)<<2);return}b=f[c>>2]|0;c=o;if((c|0)==(b|0))return;n=f[l>>2]|0;m=b+-4-o|0;o=c;c=n;while(1){f[c>>2]=f[o>>2];o=o+4|0;if((o|0)==(b|0))break;else c=c+4|0}f[l>>2]=n+((m>>>2)+1<<2);return}m=i;if(!i)p=h;else{h=a+4|0;n=f[h>>2]|0;if((n|0)!=(j|0))f[h>>2]=n+(~((n+-4-i|0)>>>2)<<2);pr(m);f[g>>2]=0;f[h>>2]=0;f[a>>2]=0;p=0}if(e>>>0>1073741823)Cq(a);h=p>>1;m=p>>2>>>0<536870911?(h>>>0<e>>>0?e:h):1073741823;if(m>>>0>1073741823)Cq(a);h=tn(m<<2)|0;e=a+4|0;f[e>>2]=h;f[a>>2]=h;f[g>>2]=h+(m<<2);m=d;if((m|0)==(k|0))return;g=k+-4-d|0;d=m;m=h;while(1){f[m>>2]=f[d>>2];d=d+4|0;if((d|0)==(k|0))break;else m=m+4|0}f[e>>2]=h+((g>>>2)+1<<2);return}function Nf(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;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(((d-g|0)/12|0)>>>0>=b>>>0){pj(g|0,0,b*12|0)|0;f[e>>2]=h+(b*12|0);return}i=f[a>>2]|0;j=(g-i|0)/12|0;g=j+b|0;k=i;if(g>>>0>357913941)Cq(a);l=(d-i|0)/12|0;d=l<<1;m=l>>>0<178956970?(d>>>0<g>>>0?g:d):357913941;do if(m)if(m>>>0>357913941){d=ra(8)|0;jp(d,16426);f[d>>2]=7416;va(d|0,1160,122)}else{n=tn(m*12|0)|0;break}else n=0;while(0);d=n+(j*12|0)|0;j=d;g=n+(m*12|0)|0;pj(d|0,0,b*12|0)|0;m=d+(b*12|0)|0;if((h|0)==(k|0)){o=j;p=i;q=h}else{i=d;d=h;h=j;do{j=i+-12|0;b=d;d=d+-12|0;f[j>>2]=0;n=i+-8|0;f[n>>2]=0;f[i+-4>>2]=0;f[j>>2]=f[d>>2];j=b+-8|0;f[n>>2]=f[j>>2];n=b+-4|0;f[i+-4>>2]=f[n>>2];f[n>>2]=0;f[j>>2]=0;f[d>>2]=0;i=h+-12|0;h=i}while((d|0)!=(k|0));o=h;p=f[a>>2]|0;q=f[e>>2]|0}f[a>>2]=o;f[e>>2]=m;f[c>>2]=g;g=p;if((q|0)!=(g|0)){c=q;do{q=c;c=c+-12|0;m=f[c>>2]|0;if(m|0){e=q+-8|0;q=f[e>>2]|0;if((q|0)!=(m|0))f[e>>2]=q+(~((q+-4-m|0)>>>2)<<2);pr(m)}}while((c|0)!=(g|0))}if(!p)return;pr(p);return}function Of(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;c=d[b>>1]|0;e=d[b+2>>1]|0;g=d[b+4>>1]|0;b=(((c^318)&65535)+239^e&65535)+239^g&65535;h=f[a+4>>2]|0;if(!h){i=0;return i|0}j=h+-1|0;k=(j&h|0)==0;if(!k)if(b>>>0<h>>>0)l=b;else l=(b>>>0)%(h>>>0)|0;else l=b&j;m=f[(f[a>>2]|0)+(l<<2)>>2]|0;if(!m){i=0;return i|0}a=f[m>>2]|0;if(!a){i=0;return i|0}if(k){k=a;while(1){m=f[k+4>>2]|0;n=(m|0)==(b|0);if(!(n|(m&j|0)==(l|0))){i=0;o=24;break}if(((n?(n=k+8|0,(d[n>>1]|0)==c<<16>>16):0)?(d[n+2>>1]|0)==e<<16>>16:0)?(d[k+12>>1]|0)==g<<16>>16:0){i=k;o=24;break}k=f[k>>2]|0;if(!k){i=0;o=24;break}}if((o|0)==24)return i|0}else p=a;while(1){a=f[p+4>>2]|0;k=(a|0)==(b|0);if(!k){if(a>>>0<h>>>0)q=a;else q=(a>>>0)%(h>>>0)|0;if((q|0)!=(l|0)){i=0;o=24;break}if(k)o=21}else o=21;if((((o|0)==21?(o=0,k=p+8|0,(d[k>>1]|0)==c<<16>>16):0)?(d[k+2>>1]|0)==e<<16>>16:0)?(d[p+12>>1]|0)==g<<16>>16:0){i=p;o=24;break}p=f[p>>2]|0;if(!p){i=0;o=24;break}}if((o|0)==24)return i|0;return 0}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,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;d=u;u=u+48|0;e=d+40|0;g=d+32|0;h=d+8|0;i=d;j=d+24|0;k=d+16|0;l=a+4|0;m=f[l>>2]|0;n=b;b=f[n>>2]|0;o=f[n+4>>2]|0;n=c;c=f[n>>2]|0;p=f[n+4>>2]|0;n=c-b<<3;f[l>>2]=m-o+p+n;l=(f[a>>2]|0)+(m>>>5<<2)|0;a=m&31;m=l;if((o|0)!=(a|0)){q=h;f[q>>2]=b;f[q+4>>2]=o;q=i;f[q>>2]=c;f[q+4>>2]=p;f[j>>2]=m;f[j+4>>2]=a;f[g>>2]=f[h>>2];f[g+4>>2]=f[h+4>>2];f[e>>2]=f[i>>2];f[e+4>>2]=f[i+4>>2];qe(k,g,e,j);u=d;return}j=p-o+n|0;n=b;if((j|0)>0){if(!o){r=l;s=b;t=n;v=j;w=0}else{b=32-o|0;p=(j|0)<(b|0)?j:b;e=-1>>>(b-p|0)&-1<<o;f[l>>2]=f[l>>2]&~e|f[n>>2]&e;e=p+o|0;b=n+4|0;r=l+(e>>>5<<2)|0;s=b;t=b;v=j-p|0;w=e&31}e=(v|0)/32|0;qm(r|0,s|0,e<<2|0)|0;s=v-(e<<5)|0;v=r+(e<<2)|0;r=v;if((s|0)>0){p=-1>>>(32-s|0);f[v>>2]=f[v>>2]&~p|f[t+(e<<2)>>2]&p;x=r;y=s}else{x=r;y=w}}else{x=m;y=o}f[k>>2]=x;f[k+4>>2]=y;u=d;return}function Qf(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,t=0,v=0,w=0;a=u;u=u+96|0;j=a;if(!c){k=-1;u=a;return k|0}Zm(j);Hj(j,d,0,g&255,i,0,g<<1,0,0,0);i=ff(c,j,1,e)|0;d=f[(f[c+8>>2]|0)+(i<<2)>>2]|0;if(e|0){l=d+84|0;m=d+68|0;n=d+40|0;o=d+64|0;d=0;do{if(!(b[l>>0]|0))p=f[(f[m>>2]|0)+(d<<2)>>2]|0;else p=d;q=h+((X(d,g)|0)<<1)|0;r=n;s=f[r>>2]|0;t=En(p|0,0,s|0,f[r+4>>2]|0)|0;eh((f[f[o>>2]>>2]|0)+t|0,q|0,s|0)|0;d=d+1|0}while((d|0)!=(e|0))}d=c+80|0;c=f[d>>2]|0;if(c)if((c|0)==(e|0))v=10;else w=-1;else{f[d>>2]=e;v=10}if((v|0)==10)w=i;i=j+88|0;v=f[i>>2]|0;f[i>>2]=0;if(v|0){i=f[v+8>>2]|0;if(i|0){e=v+12|0;if((f[e>>2]|0)!=(i|0))f[e>>2]=i;pr(i)}pr(v)}v=f[j+68>>2]|0;if(v|0){i=j+72|0;e=f[i>>2]|0;if((e|0)!=(v|0))f[i>>2]=e+(~((e+-4-v|0)>>>2)<<2);pr(v)}v=j+64|0;j=f[v>>2]|0;f[v>>2]=0;if(j|0){v=f[j>>2]|0;if(v|0){e=j+4|0;if((f[e>>2]|0)!=(v|0))f[e>>2]=v;pr(v)}pr(j)}k=w;u=a;return k|0}function Rf(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,t=0,v=0,w=0;a=u;u=u+96|0;j=a;if(!c){k=-1;u=a;return k|0}Zm(j);Hj(j,d,0,g&255,i,0,g<<2,0,0,0);i=ff(c,j,1,e)|0;d=f[(f[c+8>>2]|0)+(i<<2)>>2]|0;if(e|0){l=d+84|0;m=d+68|0;n=d+40|0;o=d+64|0;d=0;do{if(!(b[l>>0]|0))p=f[(f[m>>2]|0)+(d<<2)>>2]|0;else p=d;q=h+((X(d,g)|0)<<2)|0;r=n;s=f[r>>2]|0;t=En(p|0,0,s|0,f[r+4>>2]|0)|0;eh((f[f[o>>2]>>2]|0)+t|0,q|0,s|0)|0;d=d+1|0}while((d|0)!=(e|0))}d=c+80|0;c=f[d>>2]|0;if(c)if((c|0)==(e|0))v=10;else w=-1;else{f[d>>2]=e;v=10}if((v|0)==10)w=i;i=j+88|0;v=f[i>>2]|0;f[i>>2]=0;if(v|0){i=f[v+8>>2]|0;if(i|0){e=v+12|0;if((f[e>>2]|0)!=(i|0))f[e>>2]=i;pr(i)}pr(v)}v=f[j+68>>2]|0;if(v|0){i=j+72|0;e=f[i>>2]|0;if((e|0)!=(v|0))f[i>>2]=e+(~((e+-4-v|0)>>>2)<<2);pr(v)}v=j+64|0;j=f[v>>2]|0;f[v>>2]=0;if(j|0){v=f[j>>2]|0;if(v|0){e=j+4|0;if((f[e>>2]|0)!=(v|0))f[e>>2]=v;pr(v)}pr(j)}k=w;u=a;return k|0}function Sf(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,t=0,v=0,w=0;a=u;u=u+96|0;j=a;if(!c){k=-1;u=a;return k|0}Zm(j);Hj(j,d,0,g&255,i,0,g,0,0,0);i=ff(c,j,1,e)|0;d=f[(f[c+8>>2]|0)+(i<<2)>>2]|0;if(e|0){l=d+84|0;m=d+68|0;n=d+40|0;o=d+64|0;d=0;do{if(!(b[l>>0]|0))p=f[(f[m>>2]|0)+(d<<2)>>2]|0;else p=d;q=h+(X(d,g)|0)|0;r=n;s=f[r>>2]|0;t=En(p|0,0,s|0,f[r+4>>2]|0)|0;eh((f[f[o>>2]>>2]|0)+t|0,q|0,s|0)|0;d=d+1|0}while((d|0)!=(e|0))}d=c+80|0;c=f[d>>2]|0;if(c)if((c|0)==(e|0))v=10;else w=-1;else{f[d>>2]=e;v=10}if((v|0)==10)w=i;i=j+88|0;v=f[i>>2]|0;f[i>>2]=0;if(v|0){i=f[v+8>>2]|0;if(i|0){e=v+12|0;if((f[e>>2]|0)!=(i|0))f[e>>2]=i;pr(i)}pr(v)}v=f[j+68>>2]|0;if(v|0){i=j+72|0;e=f[i>>2]|0;if((e|0)!=(v|0))f[i>>2]=e+(~((e+-4-v|0)>>>2)<<2);pr(v)}v=j+64|0;j=f[v>>2]|0;f[v>>2]=0;if(j|0){v=f[j>>2]|0;if(v|0){e=j+4|0;if((f[e>>2]|0)!=(v|0))f[e>>2]=v;pr(v)}pr(j)}k=w;u=a;return k|0}function Tf(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;h=u;u=u+32|0;i=h;j=h+16|0;k=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(La[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1){l=La[f[(f[b>>2]|0)+52>>2]&127](b)|0;m=Ma[f[(f[b>>2]|0)+60>>2]&127](b,d)|0;if((l|0)==0|(m|0)==0){f[a>>2]=0;u=h;return}n=Ma[f[(f[b>>2]|0)+56>>2]&127](b,d)|0;if(!n){f[i>>2]=f[b+56>>2];f[i+4>>2]=l;f[i+12>>2]=m;f[i+8>>2]=m+12;md(a,j,c,k,e,i,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}else{f[i>>2]=f[b+56>>2];f[i+4>>2]=n;f[i+12>>2]=m;f[i+8>>2]=m+12;ld(a,j,c,k,e,i,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}}while(0);f[a>>2]=0;u=h;return}function Uf(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;d=b[c>>0]|0;e=b[c+1>>0]|0;g=b[c+2>>0]|0;c=((d&255^318)+239^e&255)+239^g&255;h=f[a+4>>2]|0;if(!h){i=0;return i|0}j=h+-1|0;k=(j&h|0)==0;if(!k)if(c>>>0<h>>>0)l=c;else l=(c>>>0)%(h>>>0)|0;else l=c&j;m=f[(f[a>>2]|0)+(l<<2)>>2]|0;if(!m){i=0;return i|0}a=f[m>>2]|0;if(!a){i=0;return i|0}if(k){k=a;while(1){m=f[k+4>>2]|0;n=(m|0)==(c|0);if(!(n|(m&j|0)==(l|0))){i=0;o=24;break}if(((n?(n=k+8|0,(b[n>>0]|0)==d<<24>>24):0)?(b[n+1>>0]|0)==e<<24>>24:0)?(b[n+2>>0]|0)==g<<24>>24:0){i=k;o=24;break}k=f[k>>2]|0;if(!k){i=0;o=24;break}}if((o|0)==24)return i|0}else p=a;while(1){a=f[p+4>>2]|0;k=(a|0)==(c|0);if(!k){if(a>>>0<h>>>0)q=a;else q=(a>>>0)%(h>>>0)|0;if((q|0)!=(l|0)){i=0;o=24;break}if(k)o=21}else o=21;if((((o|0)==21?(o=0,k=p+8|0,(b[k>>0]|0)==d<<24>>24):0)?(b[k+1>>0]|0)==e<<24>>24:0)?(b[k+2>>0]|0)==g<<24>>24:0){i=p;o=24;break}p=f[p>>2]|0;if(!p){i=0;o=24;break}}if((o|0)==24)return i|0;return 0}function Vf(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;d=(f[b>>2]|0)*3|0;if((d|0)==-1){e=0;g=-1;f[c>>2]=g;return e|0}b=f[a+12>>2]|0;h=f[b+12>>2]|0;if((f[h+(d<<2)>>2]|0)==-1){e=0;g=d;f[c>>2]=g;return e|0}i=f[b>>2]|0;b=f[a+152>>2]|0;if((f[b+(f[i+(d<<2)>>2]<<2)>>2]|0)==-1){a=d+1|0;j=((a>>>0)%3|0|0)==0?d+-2|0:a;if((j|0)==-1){e=0;g=-1;f[c>>2]=g;return e|0}if((f[h+(j<<2)>>2]|0)==-1){e=0;g=j;f[c>>2]=g;return e|0}if((f[b+(f[i+(j<<2)>>2]<<2)>>2]|0)==-1){a=j+1|0;k=((a>>>0)%3|0|0)==0?j+-2|0:a;if((k|0)==-1){e=0;g=-1;f[c>>2]=g;return e|0}if((f[h+(k<<2)>>2]|0)==-1){e=0;g=k;f[c>>2]=g;return e|0}if((f[b+(f[i+(k<<2)>>2]<<2)>>2]|0)==-1){i=k+1|0;e=1;g=((i>>>0)%3|0|0)==0?k+-2|0:i;f[c>>2]=g;return e|0}else l=k}else l=j}else l=d;while(1){d=(((l>>>0)%3|0|0)==0?2:-1)+l|0;if((d|0)==-1)break;j=f[h+(d<<2)>>2]|0;if((j|0)==-1){m=7;break}d=j+(((j>>>0)%3|0|0)==0?2:-1)|0;if((d|0)==-1){m=7;break}else l=d}if((m|0)==7?(l|0)==-1:0){e=0;g=-1;f[c>>2]=g;return e|0}if(!((l>>>0)%3|0)){e=0;g=l+2|0;f[c>>2]=g;return e|0}else{e=0;g=l+-1|0;f[c>>2]=g;return e|0}return 0}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,o=0,p=0,q=0;c=u;u=u+32|0;d=c;e=a+8|0;g=f[e>>2]|0;h=a+4|0;i=f[h>>2]|0;if(g-i>>2>>>0>=b>>>0){pj(i|0,0,b<<2|0)|0;f[h>>2]=i+(b<<2);u=c;return}j=f[a>>2]|0;k=i-j>>2;i=k+b|0;if(i>>>0>1073741823)Cq(a);l=g-j|0;j=l>>1;g=l>>2>>>0<536870911?(j>>>0<i>>>0?i:j):1073741823;f[d+12>>2]=0;f[d+16>>2]=a+8;do if(g)if(g>>>0>1073741823){j=ra(8)|0;jp(j,16426);f[j>>2]=7416;va(j|0,1160,122)}else{m=tn(g<<2)|0;break}else m=0;while(0);f[d>>2]=m;j=m+(k<<2)|0;k=d+8|0;i=d+4|0;f[i>>2]=j;l=d+12|0;f[l>>2]=m+(g<<2);pj(j|0,0,b<<2|0)|0;f[k>>2]=j+(b<<2);b=f[a>>2]|0;j=f[h>>2]|0;if((j|0)==(b|0)){n=i;o=f[i>>2]|0;p=b;q=j}else{g=f[i>>2]|0;m=j;do{m=m+-4|0;j=f[m>>2]|0;f[m>>2]=0;f[g+-4>>2]=j;g=(f[i>>2]|0)+-4|0;f[i>>2]=g}while((m|0)!=(b|0));n=i;o=g;p=f[a>>2]|0;q=f[h>>2]|0}f[a>>2]=o;f[n>>2]=p;f[h>>2]=f[k>>2];f[k>>2]=q;q=f[e>>2]|0;f[e>>2]=f[l>>2];f[l>>2]=q;f[d>>2]=f[n>>2];ii(d);u=c;return}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,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=f[d>>2]|0;g=f[d+4>>2]|0;if((e|0)==(g|0)){h=a+8|0;i=a+12|0;j=0}else{d=f[c>>2]|0;c=a+8|0;k=a+12|0;a=e;e=0;while(1){l=f[a>>2]|0;m=f[d+(l<<2)>>2]|0;if(m>>>0<e>>>0)n=e;else{o=f[c>>2]|0;p=(f[k>>2]|0)-o|0;q=o;if((p|0)>0){o=p>>>2;p=0;do{r=f[q+(p<<2)>>2]|0;s=f[r+68>>2]|0;if(!(b[r+84>>0]|0))t=f[s+(l<<2)>>2]|0;else t=l;f[s+(m<<2)>>2]=t;p=p+1|0}while((p|0)<(o|0))}n=m+1|0}a=a+4|0;if((a|0)==(g|0)){h=c;i=k;j=n;break}else e=n}}n=f[i>>2]|0;e=f[h>>2]|0;if((n-e|0)>0){u=e;v=n;w=0}else return;while(1){n=f[u+(w<<2)>>2]|0;b[n+84>>0]=0;e=n+68|0;k=n+72|0;n=f[k>>2]|0;c=f[e>>2]|0;g=n-c>>2;a=c;c=n;if(j>>>0<=g>>>0)if(j>>>0<g>>>0?(n=a+(j<<2)|0,(c|0)!=(n|0)):0){f[k>>2]=c+(~((c+-4-n|0)>>>2)<<2);x=u;y=v}else{x=u;y=v}else{zh(e,j-g|0,6376);x=f[h>>2]|0;y=f[i>>2]|0}w=w+1|0;if((w|0)>=(y-x>>2|0))break;else{u=x;v=y}}return}function Yf(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;d=b;e=c-d>>2;g=a+8|0;h=f[g>>2]|0;i=f[a>>2]|0;j=i;if(e>>>0<=h-i>>2>>>0){k=a+4|0;l=(f[k>>2]|0)-i>>2;m=e>>>0>l>>>0;n=b+(l<<2)|0;l=m?n:c;o=l;p=o-d|0;q=p>>2;if(q|0)qm(i|0,b|0,p|0)|0;p=j+(q<<2)|0;if(!m){m=f[k>>2]|0;if((m|0)==(p|0))return;f[k>>2]=m+(~((m+-4-p|0)>>>2)<<2);return}if((l|0)==(c|0))return;l=f[k>>2]|0;p=((c+-4-o|0)>>>2)+1|0;o=l;m=n;while(1){f[o>>2]=f[m>>2];m=m+4|0;if((m|0)==(c|0))break;else o=o+4|0}f[k>>2]=l+(p<<2);return}p=i;if(!i)r=h;else{h=a+4|0;l=f[h>>2]|0;if((l|0)!=(j|0))f[h>>2]=l+(~((l+-4-i|0)>>>2)<<2);pr(p);f[g>>2]=0;f[h>>2]=0;f[a>>2]=0;r=0}if(e>>>0>1073741823)Cq(a);h=r>>1;p=r>>2>>>0<536870911?(h>>>0<e>>>0?e:h):1073741823;if(p>>>0>1073741823)Cq(a);h=tn(p<<2)|0;e=a+4|0;f[e>>2]=h;f[a>>2]=h;f[g>>2]=h+(p<<2);if((b|0)==(c|0))return;p=((c+-4-d|0)>>>2)+1|0;d=h;g=b;while(1){f[d>>2]=f[g>>2];g=g+4|0;if((g|0)==(c|0))break;else d=d+4|0}f[e>>2]=h+(p<<2);return}function Zf(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;d=b;e=c-d>>2;g=a+8|0;h=f[g>>2]|0;i=f[a>>2]|0;j=i;if(e>>>0<=h-i>>2>>>0){k=a+4|0;l=(f[k>>2]|0)-i>>2;m=e>>>0>l>>>0;n=b+(l<<2)|0;l=m?n:c;o=l;p=o-d|0;q=p>>2;if(q|0)qm(i|0,b|0,p|0)|0;p=j+(q<<2)|0;if(!m){m=f[k>>2]|0;if((m|0)==(p|0))return;f[k>>2]=m+(~((m+-4-p|0)>>>2)<<2);return}if((l|0)==(c|0))return;l=f[k>>2]|0;p=c+-4-o|0;o=l;m=n;while(1){f[o>>2]=f[m>>2];m=m+4|0;if((m|0)==(c|0))break;else o=o+4|0}f[k>>2]=l+((p>>>2)+1<<2);return}p=i;if(!i)r=h;else{h=a+4|0;l=f[h>>2]|0;if((l|0)!=(j|0))f[h>>2]=l+(~((l+-4-i|0)>>>2)<<2);pr(p);f[g>>2]=0;f[h>>2]=0;f[a>>2]=0;r=0}if(e>>>0>1073741823)Cq(a);h=r>>1;p=r>>2>>>0<536870911?(h>>>0<e>>>0?e:h):1073741823;if(p>>>0>1073741823)Cq(a);h=tn(p<<2)|0;e=a+4|0;f[e>>2]=h;f[a>>2]=h;f[g>>2]=h+(p<<2);if((b|0)==(c|0))return;p=c+-4-d|0;d=h;g=b;while(1){f[d>>2]=f[g>>2];g=g+4|0;if((g|0)==(c|0))break;else d=d+4|0}f[e>>2]=h+((p>>>2)+1<<2);return}function _f(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=u;u=u+80|0;h=g;i=g+64|0;Ol(h);j=f[(f[a+8>>2]|0)+56>>2]|0;k=X($l(5)|0,d)|0;Hj(h,j,0,d&255,5,0,k,((k|0)<0)<<31>>31,0,0);k=tn(96)|0;xl(k,h);zj(k,c)|0;f[i>>2]=k;ej(a,i);k=f[i>>2]|0;f[i>>2]=0;if(k|0){i=k+88|0;c=f[i>>2]|0;f[i>>2]=0;if(c|0){i=f[c+8>>2]|0;if(i|0){h=c+12|0;if((f[h>>2]|0)!=(i|0))f[h>>2]=i;pr(i)}pr(c)}c=f[k+68>>2]|0;if(c|0){i=k+72|0;h=f[i>>2]|0;if((h|0)!=(c|0))f[i>>2]=h+(~((h+-4-c|0)>>>2)<<2);pr(c)}c=k+64|0;h=f[c>>2]|0;f[c>>2]=0;if(h|0){c=f[h>>2]|0;if(c|0){i=h+4|0;if((f[i>>2]|0)!=(c|0))f[i>>2]=c;pr(c)}pr(h)}pr(k)}if(!e){u=g;return}k=f[a+32>>2]|0;b[k+84>>0]=0;a=k+68|0;h=k+72|0;k=f[h>>2]|0;c=f[a>>2]|0;i=k-c>>2;d=k;if(i>>>0<e>>>0){zh(a,e-i|0,1596);u=g;return}if(i>>>0<=e>>>0){u=g;return}i=c+(e<<2)|0;if((d|0)==(i|0)){u=g;return}f[h>>2]=d+(~((d+-4-i|0)>>>2)<<2);u=g;return}function $f(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;c=u;u=u+16|0;d=c+4|0;e=c;g=a+4|0;h=f[g>>2]|0;i=a+8|0;j=f[i>>2]|0;if((j|0)==(h|0))k=h;else{l=j+(~((j+-4-h|0)>>>2)<<2)|0;f[i>>2]=l;k=l}l=a+16|0;h=f[l>>2]|0;j=a+20|0;m=f[j>>2]|0;n=h;if((m|0)!=(h|0))f[j>>2]=m+(~((m+-4-n|0)>>>2)<<2);m=f[b>>2]|0;h=f[b+4>>2]|0;if((m|0)==(h|0)){u=c;return}b=a+12|0;a=k;k=n;n=m;while(1){m=f[n>>2]|0;f[d>>2]=m;if((a|0)==(f[b>>2]|0)){Ti(g,d);o=f[l>>2]|0}else{f[a>>2]=m;f[i>>2]=a+4;o=k}m=f[d>>2]|0;p=f[j>>2]|0;q=p-o>>2;r=o;if((m|0)<(q|0)){s=r;t=m;v=o}else{w=m+1|0;f[e>>2]=-1;x=p;if(w>>>0<=q>>>0)if(w>>>0<q>>>0?(p=r+(w<<2)|0,(x|0)!=(p|0)):0){f[j>>2]=x+(~((x+-4-p|0)>>>2)<<2);y=m;z=r;A=o}else{y=m;z=r;A=o}else{zh(l,w-q|0,e);q=f[l>>2]|0;y=f[d>>2]|0;z=q;A=q}s=z;t=y;v=A}a=f[i>>2]|0;f[s+(t<<2)>>2]=(a-(f[g>>2]|0)>>2)+-1;n=n+4|0;if((n|0)==(h|0))break;else k=v}u=c;return}function ag(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,s=0,t=0,v=0,w=0;a=u;u=u+16|0;e=a;if(!b){g=0;u=a;return g|0}h=b+96|0;i=b+100|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;b=f[i>>2]|0;j=f[h>>2]|0;k=(b-j|0)/12|0;l=j;j=b;if(k>>>0>=c>>>0){if(k>>>0>c>>>0?(b=l+(c*12|0)|0,(j|0)!=(b|0)):0)f[i>>2]=j+(~(((j+-12-b|0)>>>0)/12|0)*12|0);if(!c){g=1;u=a;return g|0}}else Pg(h,c-k|0,e);k=f[h>>2]|0;b=0;while(1){j=b*3|0;l=f[d+(j<<2)>>2]|0;m=f[d+(j+1<<2)>>2]|0;n=f[d+(j+2<<2)>>2]|0;j=f[i>>2]|0;o=(j-k|0)/12|0;p=k;q=b;b=b+1|0;if(q>>>0<o>>>0){r=p;s=k}else{t=j;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;if(b>>>0<=o>>>0)if(b>>>0<o>>>0?(j=p+(b*12|0)|0,(t|0)!=(j|0)):0){f[i>>2]=t+(~(((t+-12-j|0)>>>0)/12|0)*12|0);v=p;w=k}else{v=p;w=k}else{Pg(h,b-o|0,e);o=f[h>>2]|0;v=o;w=o}r=v;s=w}f[r+(q*12|0)>>2]=l;f[r+(q*12|0)+4>>2]=m;f[r+(q*12|0)+8>>2]=n;if((b|0)==(c|0)){g=1;break}else k=s}u=a;return g|0}function bg(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;c=u;u=u+16|0;d=c;e=a+76|0;g=f[e>>2]|0;h=a+80|0;i=f[h>>2]|0;if((i|0)!=(g|0))f[h>>2]=i+(~((i+-4-g|0)>>>2)<<2);f[e>>2]=0;f[h>>2]=0;f[a+84>>2]=0;if(g|0)pr(g);g=a+64|0;h=f[g>>2]|0;e=a+68|0;if((f[e>>2]|0)!=(h|0))f[e>>2]=h;f[g>>2]=0;f[e>>2]=0;f[a+72>>2]=0;if(h|0)pr(h);h=b+4|0;e=f[h>>2]|0;g=f[b>>2]|0;i=((e-g|0)/12|0)*3|0;j=a+4|0;k=f[j>>2]|0;l=f[a>>2]|0;m=k-l>>2;n=l;l=k;k=g;if(i>>>0<=m>>>0)if(i>>>0<m>>>0?(o=n+(i<<2)|0,(l|0)!=(o|0)):0){f[j>>2]=l+(~((l+-4-o|0)>>>2)<<2);p=e;q=g;r=k}else{p=e;q=g;r=k}else{zi(a,i-m|0);m=f[b>>2]|0;p=f[h>>2]|0;q=m;r=m}if((p|0)!=(q|0)){q=f[a>>2]|0;m=(p-r|0)/12|0;p=0;do{h=p*3|0;f[q+(h<<2)>>2]=f[r+(p*12|0)>>2];f[q+(h+1<<2)>>2]=f[r+(p*12|0)+4>>2];f[q+(h+2<<2)>>2]=f[r+(p*12|0)+8>>2];p=p+1|0}while(p>>>0<m>>>0)}f[d>>2]=-1;if(!(mc(a,d)|0)){s=0;u=c;return s|0}pb(a,f[d>>2]|0)|0;s=1;u=c;return s|0}function cg(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;c=f[b>>2]|0;d=f[b+4>>2]|0;e=f[b+8>>2]|0;b=((c^318)+239^d)+239^e;g=f[a+4>>2]|0;if(!g){h=0;return h|0}i=g+-1|0;j=(i&g|0)==0;if(!j)if(b>>>0<g>>>0)k=b;else k=(b>>>0)%(g>>>0)|0;else k=b&i;l=f[(f[a>>2]|0)+(k<<2)>>2]|0;if(!l){h=0;return h|0}a=f[l>>2]|0;if(!a){h=0;return h|0}if(j){j=a;while(1){l=f[j+4>>2]|0;m=(l|0)==(b|0);if(!(m|(l&i|0)==(k|0))){h=0;n=24;break}if(((m?(f[j+8>>2]|0)==(c|0):0)?(f[j+12>>2]|0)==(d|0):0)?(f[j+16>>2]|0)==(e|0):0){h=j;n=24;break}j=f[j>>2]|0;if(!j){h=0;n=24;break}}if((n|0)==24)return h|0}else o=a;while(1){a=f[o+4>>2]|0;j=(a|0)==(b|0);if(!j){if(a>>>0<g>>>0)p=a;else p=(a>>>0)%(g>>>0)|0;if((p|0)!=(k|0)){h=0;n=24;break}if(j)n=21}else n=21;if((((n|0)==21?(n=0,(f[o+8>>2]|0)==(c|0)):0)?(f[o+12>>2]|0)==(d|0):0)?(f[o+16>>2]|0)==(e|0):0){h=o;n=24;break}o=f[o>>2]|0;if(!o){h=0;n=24;break}}if((n|0)==24)return h|0;return 0}function dg(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;f[a+4>>2]=f[b+4>>2];c=a+8|0;d=b+8|0;if((a|0)==(b|0))return a|0;e=b+12|0;g=f[e>>2]|0;if(!g)h=0;else{i=a+16|0;do if(g>>>0>f[i>>2]<<5>>>0){j=f[c>>2]|0;if(!j)k=g;else{pr(j);f[c>>2]=0;f[i>>2]=0;f[a+12>>2]=0;k=f[e>>2]|0}if((k|0)<0)Cq(c);else{j=((k+-1|0)>>>5)+1|0;l=tn(j<<2)|0;f[c>>2]=l;f[a+12>>2]=0;f[i>>2]=j;m=f[e>>2]|0;n=l;break}}else{m=g;n=f[c>>2]|0}while(0);qm(n|0,f[d>>2]|0,((m+-1|0)>>>5<<2)+4|0)|0;h=f[e>>2]|0}f[a+12>>2]=h;h=a+20|0;e=b+20|0;m=b+24|0;b=f[m>>2]|0;if(!b)o=0;else{d=a+28|0;do if(b>>>0>f[d>>2]<<5>>>0){n=f[h>>2]|0;if(!n)p=b;else{pr(n);f[h>>2]=0;f[d>>2]=0;f[a+24>>2]=0;p=f[m>>2]|0}if((p|0)<0)Cq(h);else{n=((p+-1|0)>>>5)+1|0;c=tn(n<<2)|0;f[h>>2]=c;f[a+24>>2]=0;f[d>>2]=n;q=f[m>>2]|0;r=c;break}}else{q=b;r=f[h>>2]|0}while(0);qm(r|0,f[e>>2]|0,((q+-1|0)>>>5<<2)+4|0)|0;o=f[m>>2]|0}f[a+24>>2]=o;return a|0}function eg(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;c=u;u=u+32|0;d=c;e=a+16|0;g=e;h=f[g>>2]|0;i=f[g+4>>2]|0;if(!((i|0)>0|(i|0)==0&h>>>0>0)){u=c;return}g=go(f[(f[a+12>>2]|0)+4>>2]|0,0,7,0)|0;j=jo(g|0,I|0,3)|0;g=I;if(!(b[a+24>>0]|0)){k=a+4|0;l=k;m=h;n=i;o=k}else{k=f[a>>2]|0;p=a+4|0;q=k+((f[p>>2]|0)-k)|0;k=go(h|0,i|0,8,0)|0;i=q+(0-k)|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;b[d+24>>0]=0;uh(j,g,d)|0;k=d+4|0;q=(f[k>>2]|0)-(f[d>>2]|0)|0;qm(i+q|0,i+8|0,j|0)|0;eh(i|0,f[d>>2]|0,q|0)|0;i=e;h=go(f[i>>2]|0,f[i+4>>2]|0,8-q|0,0)|0;q=e;f[q>>2]=h;f[q+4>>2]=I;q=d+12|0;h=f[q>>2]|0;f[q>>2]=0;if(h|0)pr(h);h=f[d>>2]|0;if(h|0){if((f[k>>2]|0)!=(h|0))f[k>>2]=h;pr(h)}h=e;l=p;m=f[h>>2]|0;n=f[h+4>>2]|0;o=p}p=f[l>>2]|0;l=f[a>>2]|0;h=p-l|0;k=io(j|0,g|0,m|0,n|0)|0;n=go(k|0,I|0,h|0,0)|0;k=l;l=p;if(n>>>0<=h>>>0){if(n>>>0<h>>>0?(p=k+n|0,(l|0)!=(p|0)):0)f[o>>2]=p}else Bi(a,n-h|0);h=e;f[h>>2]=0;f[h+4>>2]=0;u=c;return}function fg(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;d=a+8|0;e=f[d>>2]|0;g=f[a>>2]|0;h=g;do if(e-g>>2>>>0>=b>>>0){i=a+4|0;j=f[i>>2]|0;k=j-g>>2;l=k>>>0<b>>>0;m=l?k:b;n=j;if(m|0){j=h;o=m;while(1){f[j>>2]=f[c>>2];o=o+-1|0;if(!o)break;else j=j+4|0}}if(!l){j=h+(b<<2)|0;if((n|0)==(j|0))return;else{p=i;q=n+(~((n+-4-j|0)>>>2)<<2)|0;break}}else{j=b-k|0;o=n;m=j;while(1){f[o>>2]=f[c>>2];m=m+-1|0;if(!m)break;else o=o+4|0}p=i;q=n+(j<<2)|0;break}}else{o=g;if(!g)r=e;else{m=a+4|0;k=f[m>>2]|0;if((k|0)!=(h|0))f[m>>2]=k+(~((k+-4-g|0)>>>2)<<2);pr(o);f[d>>2]=0;f[m>>2]=0;f[a>>2]=0;r=0}if(b>>>0>1073741823)Cq(a);m=r>>1;o=r>>2>>>0<536870911?(m>>>0<b>>>0?b:m):1073741823;if(o>>>0>1073741823)Cq(a);m=tn(o<<2)|0;k=a+4|0;f[k>>2]=m;f[a>>2]=m;f[d>>2]=m+(o<<2);o=m;l=b;while(1){f[o>>2]=f[c>>2];l=l+-1|0;if(!l)break;else o=o+4|0}p=k;q=m+(b<<2)|0}while(0);f[p>>2]=q;return}function gg(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;f[c>>2]=1;d=a+4|0;e=c+8|0;g=c+12|0;c=f[e>>2]|0;i=(f[g>>2]|0)-c|0;if(i>>>0<4294967292){Nk(e,i+4|0,0);j=f[e>>2]|0}else j=c;c=j+i|0;i=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[c>>0]=i;b[c+1>>0]=i>>8;b[c+2>>0]=i>>16;b[c+3>>0]=i>>24;i=a+8|0;c=a+12|0;d=f[i>>2]|0;if((f[c>>2]|0)!=(d|0)){j=d;d=0;do{k=j+(d<<2)|0;l=f[e>>2]|0;m=(f[g>>2]|0)-l|0;if(m>>>0<4294967292){Nk(e,m+4|0,0);n=f[e>>2]|0}else n=l;l=n+m|0;m=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;b[l>>0]=m;b[l+1>>0]=m>>8;b[l+2>>0]=m>>16;b[l+3>>0]=m>>24;d=d+1|0;j=f[i>>2]|0}while(d>>>0<(f[c>>2]|0)-j>>2>>>0)}j=a+20|0;a=f[e>>2]|0;c=(f[g>>2]|0)-a|0;if(c>>>0<4294967292){Nk(e,c+4|0,0);o=f[e>>2]|0;p=o+c|0;q=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;b[p>>0]=q;b[p+1>>0]=q>>8;b[p+2>>0]=q>>16;b[p+3>>0]=q>>24;return}else{o=a;p=o+c|0;q=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;b[p>>0]=q;b[p+1>>0]=q>>8;b[p+2>>0]=q>>16;b[p+3>>0]=q>>24;return}}function hg(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;h=dh(a,b,c,d,g)|0;i=f[e>>2]|0;j=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<=i>>>0)Cq(k);m=g;if(l>>>0<=j>>>0)Cq(k);if((f[m+(i<<3)>>2]|0)>>>0>=(f[m+(j<<3)>>2]|0)>>>0){n=h;return n|0}f[d>>2]=i;f[e>>2]=j;j=f[d>>2]|0;e=f[c>>2]|0;if(l>>>0<=j>>>0)Cq(k);if(l>>>0<=e>>>0)Cq(k);if((f[m+(j<<3)>>2]|0)>>>0>=(f[m+(e<<3)>>2]|0)>>>0){n=h+1|0;return n|0}f[c>>2]=j;f[d>>2]=e;e=f[c>>2]|0;d=f[b>>2]|0;if(l>>>0<=e>>>0)Cq(k);if(l>>>0<=d>>>0)Cq(k);if((f[m+(e<<3)>>2]|0)>>>0>=(f[m+(d<<3)>>2]|0)>>>0){n=h+2|0;return n|0}f[b>>2]=e;f[c>>2]=d;d=f[b>>2]|0;c=f[a>>2]|0;if(l>>>0<=d>>>0)Cq(k);if(l>>>0<=c>>>0)Cq(k);if((f[m+(d<<3)>>2]|0)>>>0>=(f[m+(c<<3)>>2]|0)>>>0){n=h+3|0;return n|0}f[a>>2]=d;f[b>>2]=c;n=h+4|0;return n|0}function ig(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;b=u;u=u+16|0;c=b;d=a+36|0;e=a+4|0;g=a+8|0;h=(f[g>>2]|0)-(f[e>>2]|0)>>2;i=a+40|0;j=f[i>>2]|0;k=f[d>>2]|0;l=j-k>>2;m=k;k=j;if(h>>>0<=l>>>0){if(h>>>0<l>>>0?(j=m+(h<<2)|0,(k|0)!=(j|0)):0){m=k;do{k=m+-4|0;f[i>>2]=k;n=f[k>>2]|0;f[k>>2]=0;if(n|0)Qa[f[(f[n>>2]|0)+4>>2]&127](n);m=f[i>>2]|0}while((m|0)!=(j|0))}}else Cg(d,h-l|0);if((f[g>>2]|0)==(f[e>>2]|0)){o=1;u=b;return o|0}l=a+52|0;h=a+48|0;j=0;while(1){Sa[f[(f[a>>2]|0)+56>>2]&15](c,a,j);m=(f[d>>2]|0)+(j<<2)|0;i=f[c>>2]|0;f[c>>2]=0;n=f[m>>2]|0;f[m>>2]=i;if(n|0)Qa[f[(f[n>>2]|0)+4>>2]&127](n);n=f[c>>2]|0;f[c>>2]=0;if(n|0)Qa[f[(f[n>>2]|0)+4>>2]&127](n);n=f[(f[d>>2]|0)+(j<<2)>>2]|0;if(!n){o=0;p=19;break}if(j>>>0<(f[l>>2]|0)>>>0?f[(f[h>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)|0:0)cq(n);j=j+1|0;if(j>>>0>=(f[g>>2]|0)-(f[e>>2]|0)>>2>>>0){o=1;p=19;break}}if((p|0)==19){u=b;return o|0}return 0}function jg(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;d=u;u=u+16|0;e=d+4|0;g=d;ai(f[c+12>>2]|0,b)|0;h=f[c+8>>2]|0;a:do if(h|0){i=b+16|0;j=b+4|0;k=h;while(1){l=k;if(!(uf(0,b,l+8|0)|0)){m=0;break}n=l+20|0;o=(f[l+24>>2]|0)-(f[n>>2]|0)|0;ai(o,b)|0;l=f[n>>2]|0;n=i;p=f[n+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[n>>2]|0)>>>0>0)){f[g>>2]=f[j>>2];f[e>>2]=f[g>>2];Fe(b,e,l,l+o|0)|0}k=f[k>>2]|0;if(!k)break a}u=d;return m|0}while(0);ai(f[c+32>>2]|0,b)|0;e=f[c+28>>2]|0;if(!e){m=1;u=d;return m|0}else q=e;while(1){e=q;if(!(uf(0,b,e+8|0)|0)){m=0;r=10;break}jg(a,b,f[e+20>>2]|0)|0;q=f[q>>2]|0;if(!q){m=1;r=10;break}}if((r|0)==10){u=d;return m|0}return 0}function kg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;Xj(f[a+4>>2]|0,(f[g+56>>2]|0)-(f[g+52>>2]|0)>>2);g=a+84|0;a=f[g>>2]|0;if(!a){h=f[(f[e>>2]|0)+64>>2]|0;i=(f[h+4>>2]|0)-(f[h>>2]|0)>>2;h=(i>>>0)/3|0;if(i>>>0<=2){j=1;u=b;return j|0}i=0;while(1){f[d>>2]=i*3;f[c>>2]=f[d>>2];i=i+1|0;if(!(Nb(e,c)|0)){j=0;k=10;break}if((i|0)>=(h|0)){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}else{h=f[a>>2]|0;if((f[a+4>>2]|0)==(h|0)){j=1;u=b;return j|0}a=h;h=0;while(1){f[d>>2]=f[a+(h<<2)>>2];f[c>>2]=f[d>>2];h=h+1|0;if(!(Nb(e,c)|0)){j=0;k=10;break}i=f[g>>2]|0;a=f[i>>2]|0;if(h>>>0>=(f[i+4>>2]|0)-a>>2>>>0){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}return 0}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,q=0,r=0;c=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;h=a+8|0;i=a+12|0;j=f[h>>2]|0;if((f[i>>2]|0)==(j|0)){k=tn(76)|0;Fn(k,b);l=k;f[g>>2]=l;k=f[i>>2]|0;if(k>>>0<(f[a+16>>2]|0)>>>0){f[g>>2]=0;f[k>>2]=l;f[i>>2]=k+4;m=g}else{Ng(h,g);m=g}g=f[m>>2]|0;f[m>>2]=0;if(!g){u=c;return 1}Qa[f[(f[g>>2]|0)+4>>2]&127](g);u=c;return 1}g=f[j>>2]|0;f[d>>2]=b;j=g+4|0;m=g+8|0;h=f[m>>2]|0;if((h|0)==(f[g+12>>2]|0))Ti(j,d);else{f[h>>2]=b;f[m>>2]=h+4}h=f[d>>2]|0;b=g+16|0;k=g+20|0;g=f[k>>2]|0;i=f[b>>2]|0;l=g-i>>2;a=i;if((h|0)<(l|0)){n=a;o=h}else{i=h+1|0;f[e>>2]=-1;p=g;if(i>>>0<=l>>>0)if(i>>>0<l>>>0?(g=a+(i<<2)|0,(p|0)!=(g|0)):0){f[k>>2]=p+(~((p+-4-g|0)>>>2)<<2);q=h;r=a}else{q=h;r=a}else{zh(b,i-l|0,e);q=f[d>>2]|0;r=f[b>>2]|0}n=r;o=q}f[n+(o<<2)>>2]=((f[m>>2]|0)-(f[j>>2]|0)>>2)+-1;u=c;return 1}function mg(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;d=c;e=b;g=d-e|0;h=g>>2;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0>j-k>>2>>>0){m=k;if(!k)n=j;else{j=a+4|0;o=f[j>>2]|0;if((o|0)!=(l|0))f[j>>2]=o+(~((o+-4-k|0)>>>2)<<2);pr(m);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;n=0}if(h>>>0>1073741823)Cq(a);j=n>>1;m=n>>2>>>0<536870911?(j>>>0<h>>>0?h:j):1073741823;if(m>>>0>1073741823)Cq(a);j=tn(m<<2)|0;n=a+4|0;f[n>>2]=j;f[a>>2]=j;f[i>>2]=j+(m<<2);if((g|0)<=0)return;eh(j|0,b|0,g|0)|0;f[n>>2]=j+(g>>>2<<2);return}g=a+4|0;a=f[g>>2]|0;j=a-k>>2;k=h>>>0>j>>>0;h=k?b+(j<<2)|0:c;c=a;j=a;if((h|0)==(b|0))p=l;else{a=h+-4-e|0;e=b;b=l;while(1){f[b>>2]=f[e>>2];e=e+4|0;if((e|0)==(h|0))break;else b=b+4|0}p=l+((a>>>2)+1<<2)|0}if(k){k=d-h|0;if((k|0)<=0)return;eh(j|0,h|0,k|0)|0;f[g>>2]=(f[g>>2]|0)+(k>>>2<<2);return}else{if((c|0)==(p|0))return;f[g>>2]=c+(~((c+-4-p|0)>>>2)<<2);return}}function ng(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=u;u=u+96|0;h=g+40|0;i=g;Um(h,d);De(i,c,d);Ih(h,i);Cj(i+24|0,f[i+28>>2]|0);Mj(i+12|0,f[i+16>>2]|0);Cj(i,f[i+4>>2]|0);$i(a,h,e);if(!(f[a>>2]|0)){e=a+4|0;if((b[e+11>>0]|0)<0)pr(f[e>>2]|0);f[c+40>>2]=f[h+40>>2];f[c+44>>2]=f[h+44>>2];f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}f[h>>2]=3496;Cj(h+28|0,f[h+32>>2]|0);Mj(h+16|0,f[h+20>>2]|0);Cj(h+4|0,f[h+8>>2]|0);u=g;return}function og(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;e=u;u=u+16|0;g=e;if(!(yh(a,c,d)|0)){h=0;u=e;return h|0}if((b[(f[a+8>>2]|0)+24>>0]|0)!=3){h=0;u=e;return h|0}i=f[c+48>>2]|0;c=tn(32)|0;f[g>>2]=c;f[g+8>>2]=-2147483616;f[g+4>>2]=17;j=c;k=14756;l=j+17|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));b[c+17>>0]=0;c=i+16|0;k=f[c>>2]|0;if(k){j=c;l=k;a:while(1){k=l;while(1){if((f[k+16>>2]|0)>=(d|0))break;m=f[k+4>>2]|0;if(!m){n=j;break a}else k=m}l=f[k>>2]|0;if(!l){n=k;break}else j=k}if(((n|0)!=(c|0)?(f[n+16>>2]|0)<=(d|0):0)?(d=n+20|0,(Hh(d,g)|0)!=0):0)o=Ik(d,g,-1)|0;else p=12}else p=12;if((p|0)==12)o=Ik(i,g,-1)|0;if((b[g+11>>0]|0)<0)pr(f[g>>2]|0);if((o|0)<1){h=0;u=e;return h|0}Hp(a+40|0,o);h=1;u=e;return h|0}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;e=c;g=d-e|0;h=a+8|0;i=f[h>>2]|0;j=f[a>>2]|0;k=j;if(g>>>0>(i-j|0)>>>0){if(!j)l=i;else{i=a+4|0;if((f[i>>2]|0)!=(k|0))f[i>>2]=k;pr(k);f[h>>2]=0;f[i>>2]=0;f[a>>2]=0;l=0}if((g|0)<0)Cq(a);i=l<<1;m=l>>>0<1073741823?(i>>>0<g>>>0?g:i):2147483647;if((m|0)<0)Cq(a);i=tn(m)|0;l=a+4|0;f[l>>2]=i;f[a>>2]=i;f[h>>2]=i+m;if((c|0)==(d|0))return;else{n=i;o=c}do{b[n>>0]=b[o>>0]|0;o=o+1|0;n=(f[l>>2]|0)+1|0;f[l>>2]=n}while((o|0)!=(d|0));return}o=a+4|0;a=(f[o>>2]|0)-j|0;j=g>>>0>a>>>0;g=c+a|0;a=j?g:d;if((a|0)==(c|0))p=k;else{n=c;c=k;while(1){b[c>>0]=b[n>>0]|0;n=n+1|0;if((n|0)==(a|0))break;else c=c+1|0}p=k+(a-e)|0}if(!j){if((f[o>>2]|0)==(p|0))return;f[o>>2]=p;return}if((a|0)==(d|0))return;a=f[o>>2]|0;p=g;do{b[a>>0]=b[p>>0]|0;p=p+1|0;a=(f[o>>2]|0)+1|0;f[o>>2]=a}while((p|0)!=(d|0));return}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,n=0;d=c>>>1&1431655765|c<<1&-1431655766;c=d>>>2&858993459|d<<2&-858993460;d=c>>>4&252645135|c<<4&-252645136;c=d>>>8&16711935|d<<8&-16711936;d=32-b|0;e=(c>>>16|c<<16)>>>d;c=e-(e>>>1&1431655765)|0;g=(c>>>2&858993459)+(c&858993459)|0;c=(X((g>>>4)+g&252645135,16843009)|0)>>>24;g=b-c|0;h=f[a>>2]|0;i=h;j=go(f[i>>2]|0,f[i+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;g=h;f[g>>2]=j;f[g+4>>2]=I;g=h+8|0;h=g;j=go(f[h>>2]|0,f[h+4>>2]|0,c|0,0)|0;c=g;f[c>>2]=j;f[c+4>>2]=I;c=a+28|0;j=f[c>>2]|0;g=32-j|0;h=a+24|0;do if((g|0)>=(b|0)){i=-1>>>d<<j;k=f[h>>2]&~i|i&e<<j;f[h>>2]=k;i=j+b|0;f[c>>2]=i;if((i|0)!=32)return;i=a+16|0;l=f[i>>2]|0;if((l|0)==(f[a+20>>2]|0)){Ti(a+12|0,h);m=0;n=0;break}else{f[l>>2]=k;f[i>>2]=l+4;m=0;n=0;break}}else{l=-1>>>j<<j;i=f[h>>2]&~l|l&e<<j;f[h>>2]=i;l=a+16|0;k=f[l>>2]|0;if((k|0)==(f[a+20>>2]|0))Ti(a+12|0,h);else{f[k>>2]=i;f[l>>2]=k+4}k=b-g|0;m=k;n=-1>>>(32-k|0)&e>>>g}while(0);f[h>>2]=n;f[c>>2]=m;return}function rg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;Xj(f[a+4>>2]|0,(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2);g=a+84|0;a=f[g>>2]|0;if(!a){h=f[e>>2]|0;i=(f[h+4>>2]|0)-(f[h>>2]|0)>>2;h=(i>>>0)/3|0;if(i>>>0<=2){j=1;u=b;return j|0}i=0;while(1){f[d>>2]=i*3;f[c>>2]=f[d>>2];i=i+1|0;if(!(Pb(e,c)|0)){j=0;k=10;break}if((i|0)>=(h|0)){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}else{h=f[a>>2]|0;if((f[a+4>>2]|0)==(h|0)){j=1;u=b;return j|0}a=h;h=0;while(1){f[d>>2]=f[a+(h<<2)>>2];f[c>>2]=f[d>>2];h=h+1|0;if(!(Pb(e,c)|0)){j=0;k=10;break}i=f[g>>2]|0;a=f[i>>2]|0;if(h>>>0>=(f[i+4>>2]|0)-a>>2>>>0){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}return 0}function sg(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,u=0,v=0,w=0,x=0,y=0;e=c&255;g=(d|0)!=0;a:do if(g&(a&3|0)!=0){h=c&255;i=d;j=a;while(1){if((b[j>>0]|0)==h<<24>>24){k=i;l=j;m=6;break a}n=j+1|0;o=i+-1|0;p=(o|0)!=0;if(p&(n&3|0)!=0){i=o;j=n}else{q=o;r=n;s=p;m=5;break}}}else{q=d;r=a;s=g;m=5}while(0);if((m|0)==5)if(s){k=q;l=r;m=6}else{t=0;u=r}b:do if((m|0)==6){r=c&255;if((b[l>>0]|0)==r<<24>>24){t=k;u=l}else{q=X(e,16843009)|0;c:do if(k>>>0>3){s=k;g=l;while(1){a=f[g>>2]^q;if((a&-2139062144^-2139062144)&a+-16843009|0)break;a=g+4|0;d=s+-4|0;if(d>>>0>3){s=d;g=a}else{v=d;w=a;m=11;break c}}x=s;y=g}else{v=k;w=l;m=11}while(0);if((m|0)==11)if(!v){t=0;u=w;break}else{x=v;y=w}while(1){if((b[y>>0]|0)==r<<24>>24){t=x;u=y;break b}q=y+1|0;x=x+-1|0;if(!x){t=0;u=q;break}else y=q}}}while(0);return (t|0?u:0)|0}function tg(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,u=0,v=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=e;do if((d|0)==(e|0)){h=a+8|0;i=f[h>>2]|0;j=a+12|0;k=f[j>>2]|0;l=k;if(i>>>0<k>>>0){k=i;m=((l-k>>2)+1|0)/2|0;n=i+(m<<2)|0;o=k-d|0;k=o>>2;p=n+(0-k<<2)|0;if(!k){q=i;r=n}else{qm(p|0,d|0,o|0)|0;q=f[h>>2]|0;r=p}f[c>>2]=r;f[h>>2]=q+(m<<2);s=r;break}m=l-g>>1;l=(m|0)==0?1:m;if(l>>>0>1073741823){m=ra(8)|0;jp(m,16426);f[m>>2]=7416;va(m|0,1160,122)}m=tn(l<<2)|0;p=m;o=m+((l+3|0)>>>2<<2)|0;n=o;k=m+(l<<2)|0;if((d|0)==(i|0)){t=d;u=n}else{l=o;m=d;v=n;do{f[l>>2]=f[m>>2];l=v+4|0;v=l;m=m+4|0}while((m|0)!=(i|0));t=f[a>>2]|0;u=v}f[a>>2]=p;f[c>>2]=n;f[h>>2]=u;f[j>>2]=k;if(!t)s=o;else{pr(t);s=f[c>>2]|0}}else s=d;while(0);f[s+-4>>2]=f[b>>2];f[c>>2]=(f[c>>2]|0)+-4;return}function ug(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;e=u;u=u+16|0;g=e+4|0;h=e;i=a+8|0;a=f[i>>2]|0;j=f[a+40>>2]|0;k=mr((j|0)>-1?j:-1)|0;l=c+4|0;m=f[l>>2]|0;n=f[c>>2]|0;if((m|0)==(n|0)){nr(k);u=e;return 1}o=d+16|0;p=d+4|0;q=k+j|0;j=n;n=a;r=a;a=m;m=0;while(1){s=f[j+(m<<2)>>2]|0;if(!(b[n+84>>0]|0))t=f[(f[n+68>>2]|0)+(s<<2)>>2]|0;else t=s;s=r+48|0;v=f[s>>2]|0;w=f[s+4>>2]|0;s=r+40|0;x=f[s>>2]|0;y=En(x|0,f[s+4>>2]|0,t|0,0)|0;s=go(y|0,I|0,v|0,w|0)|0;eh(k|0,(f[f[r>>2]>>2]|0)+s|0,x|0)|0;x=o;s=f[x+4>>2]|0;if((s|0)>0|(s|0)==0&(f[x>>2]|0)>>>0>0){z=j;A=a}else{f[h>>2]=f[p>>2];f[g>>2]=f[h>>2];Fe(d,g,k,q)|0;z=f[c>>2]|0;A=f[l>>2]|0}x=m+1|0;if(x>>>0>=A-z>>2>>>0)break;s=f[i>>2]|0;j=z;n=s;r=s;a=A;m=x}nr(k);u=e;return 1}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,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+8|0;i=a+4|0;if((f[i>>2]|0)==-1){j=0;u=d;return j|0}k=f[a+8>>2]|0;l=c+16|0;m=l;n=f[m>>2]|0;o=f[m+4>>2]|0;if(!((o|0)>0|(o|0)==0&n>>>0>0)){m=(f[a+12>>2]|0)-k|0;f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Fe(c,e,k,k+m|0)|0;m=l;k=f[m>>2]|0;p=f[m+4>>2]|0;m=a+20|0;if((p|0)>0|(p|0)==0&k>>>0>0){q=p;r=k;s=g}else{f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Fe(c,e,m,m+4|0)|0;m=l;q=f[m+4>>2]|0;r=f[m>>2]|0;s=g}}else{q=o;r=n;s=g}b[h>>0]=f[i>>2];if(!((q|0)>0|(q|0)==0&r>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Fe(c,e,h,h+1|0)|0}j=1;u=d;return j|0}function wg(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,u=0,v=0;c=a+8|0;d=f[c>>2]|0;e=a+12|0;g=f[e>>2]|0;h=g;i=d;do if((d|0)==(g|0)){j=a+4|0;k=f[j>>2]|0;l=f[a>>2]|0;m=l;if(k>>>0>l>>>0){n=k;o=((n-m>>2)+1|0)/-2|0;p=k+(o<<2)|0;q=i-n|0;n=q>>2;if(!n)r=k;else{qm(p|0,k|0,q|0)|0;r=f[j>>2]|0}q=p+(n<<2)|0;f[c>>2]=q;f[j>>2]=r+(o<<2);s=q;break}q=h-m>>1;m=(q|0)==0?1:q;if(m>>>0>1073741823){q=ra(8)|0;jp(q,16426);f[q>>2]=7416;va(q|0,1160,122)}q=tn(m<<2)|0;o=q;n=q+(m>>>2<<2)|0;p=n;t=q+(m<<2)|0;if((k|0)==(d|0)){u=l;v=p}else{l=n;n=k;k=p;do{f[l>>2]=f[n>>2];l=k+4|0;k=l;n=n+4|0}while((n|0)!=(d|0));u=f[a>>2]|0;v=k}f[a>>2]=o;f[j>>2]=p;f[c>>2]=v;f[e>>2]=t;if(!u)s=v;else{pr(u);s=f[c>>2]|0}}else s=d;while(0);f[s>>2]=f[b>>2];f[c>>2]=(f[c>>2]|0)+4;return}function xg(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;e=a+4|0;g=f[e>>2]|0;if(!g){f[c>>2]=e;h=e;return h|0}e=b[d+11>>0]|0;i=e<<24>>24<0;j=i?f[d+4>>2]|0:e&255;e=i?f[d>>2]|0:d;d=g;g=a+4|0;while(1){a=d+16|0;i=b[a+11>>0]|0;k=i<<24>>24<0;l=k?f[d+20>>2]|0:i&255;i=l>>>0<j>>>0;m=i?l:j;if((m|0)!=0?(n=Yk(e,k?f[a>>2]|0:a,m)|0,(n|0)!=0):0)if((n|0)<0)o=8;else o=10;else if(j>>>0<l>>>0)o=8;else o=10;if((o|0)==8){o=0;n=f[d>>2]|0;if(!n){o=9;break}else{p=n;q=d}}else if((o|0)==10){o=0;n=j>>>0<l>>>0?j:l;if((n|0)!=0?(l=Yk(k?f[a>>2]|0:a,e,n)|0,(l|0)!=0):0){if((l|0)>=0){o=16;break}}else o=12;if((o|0)==12?(o=0,!i):0){o=16;break}r=d+4|0;i=f[r>>2]|0;if(!i){o=15;break}else{p=i;q=r}}d=p;g=q}if((o|0)==9){f[c>>2]=d;h=d;return h|0}else if((o|0)==15){f[c>>2]=d;h=r;return h|0}else if((o|0)==16){f[c>>2]=d;h=g;return h|0}return 0}function yg(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;g=u;u=u+16|0;h=g;i=c+4|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;j=tn(16)|0;f[h>>2]=j;f[h+8>>2]=-2147483632;f[h+4>>2]=15;k=j;l=14740;m=k+15|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[j+15>>0]=0;j=Ik(i,h,-1)|0;if((b[h+11>>0]|0)<0)pr(f[h>>2]|0);switch(j|0){case -1:{if((ki(i)|0)==10)n=6;else n=5;break}case 1:{n=5;break}default:n=6}if((n|0)==5){j=tn(68)|0;gp(j);o=j}else if((n|0)==6){n=tn(64)|0;Up(n);o=n}Jo(o,d);ud(a,o,i,e);if(f[a>>2]|0){p=f[o>>2]|0;q=p+4|0;r=f[q>>2]|0;Qa[r&127](o);u=g;return}e=a+4|0;if((b[e+11>>0]|0)<0)pr(f[e>>2]|0);f[c+40>>2]=f[o+52>>2];f[c+44>>2]=f[o+60>>2];f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;p=f[o>>2]|0;q=p+4|0;r=f[q>>2]|0;Qa[r&127](o);u=g;return}function zg(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;d=u;u=u+32|0;e=d+24|0;g=d+16|0;h=d+8|0;i=d;j=a+4|0;k=f[j>>2]|0;l=f[b>>2]|0;m=f[b+4>>2]|0;b=f[c>>2]|0;n=f[c+4>>2]|0;c=b-l<<3;f[j>>2]=k-m+n+c;j=(f[a>>2]|0)+(k>>>5<<2)|0;a=k&31;k=j;if((m|0)!=(a|0)){f[e>>2]=l;f[e+4>>2]=m;f[g>>2]=b;f[g+4>>2]=n;f[h>>2]=k;f[h+4>>2]=a;ve(i,e,g,h);u=d;return}h=n-m+c|0;c=l;if((h|0)>0){if(!m){o=l;p=c;q=h;r=j;s=0}else{l=32-m|0;n=(h|0)<(l|0)?h:l;g=-1>>>(l-n|0)&-1<<m;f[j>>2]=f[j>>2]&~g|f[c>>2]&g;g=n+m|0;l=c+4|0;o=l;p=l;q=h-n|0;r=j+(g>>>5<<2)|0;s=g&31}g=(q|0)/32|0;qm(r|0,o|0,g<<2|0)|0;o=q-(g<<5)|0;q=r+(g<<2)|0;r=q;if((o|0)>0){j=-1>>>(32-o|0);f[q>>2]=f[q>>2]&~j|f[p+(g<<2)>>2]&j;t=r;v=o}else{t=r;v=s}}else{t=k;v=m}f[i>>2]=t;f[i+4>>2]=v;u=d;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,p=0;c=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;h=a+12|0;i=a+4|0;j=f[i>>2]|0;if((j|0)==(f[a+8>>2]|0)){Ti(a,h);k=f[i>>2]|0}else{f[j>>2]=f[h>>2];l=j+4|0;f[i>>2]=l;k=l}l=f[a>>2]|0;f[g>>2]=k-l;k=b+16|0;j=k;m=f[j+4>>2]|0;if(!((m|0)>0|(m|0)==0&(f[j>>2]|0)>>>0>0)){f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;j=f[a>>2]|0;m=f[g>>2]|0;g=k;k=f[g+4>>2]|0;if((k|0)>0|(k|0)==0&(f[g>>2]|0)>>>0>0){n=j;o=e}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,j,j+m|0)|0;n=f[a>>2]|0;o=e}}else{n=l;o=e}e=f[i>>2]|0;if((e|0)==(n|0)){f[h>>2]=0;p=a+16|0;f[p>>2]=0;u=c;return}f[i>>2]=e+(~((e+-4-n|0)>>>2)<<2);f[h>>2]=0;p=a+16|0;f[p>>2]=0;u=c;return}function Bg(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=c;g=d-e|0;h=a+8|0;i=f[h>>2]|0;j=f[a>>2]|0;k=j;if(g>>>0>(i-j|0)>>>0){if(!j)l=i;else{i=a+4|0;if((f[i>>2]|0)!=(k|0))f[i>>2]=k;pr(k);f[h>>2]=0;f[i>>2]=0;f[a>>2]=0;l=0}if((g|0)<0)Cq(a);i=l<<1;m=l>>>0<1073741823?(i>>>0<g>>>0?g:i):2147483647;if((m|0)<0)Cq(a);i=tn(m)|0;l=a+4|0;f[l>>2]=i;f[a>>2]=i;f[h>>2]=i+m;if((c|0)==(d|0))return;else{n=i;o=c}do{b[n>>0]=b[o>>0]|0;o=o+1|0;n=(f[l>>2]|0)+1|0;f[l>>2]=n}while((o|0)!=(d|0));return}else{o=a+4|0;a=(f[o>>2]|0)-j|0;j=g>>>0>a>>>0;g=c+a|0;a=j?g:d;n=a-e|0;if(n|0)qm(k|0,c|0,n|0)|0;c=k+n|0;if(!j){if((f[o>>2]|0)==(c|0))return;f[o>>2]=c;return}if((a|0)==(d|0))return;a=f[o>>2]|0;c=g;do{b[a>>0]=b[c>>0]|0;c=c+1|0;a=(f[o>>2]|0)+1|0;f[o>>2]=a}while((c|0)!=(d|0));return}}function Cg(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;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(d-g>>2>>>0>=b>>>0){pj(g|0,0,b<<2|0)|0;f[e>>2]=g+(b<<2);return}i=f[a>>2]|0;j=g-i>>2;g=j+b|0;k=i;if(g>>>0>1073741823)Cq(a);l=d-i|0;d=l>>1;m=l>>2>>>0<536870911?(d>>>0<g>>>0?g:d):1073741823;do if(m)if(m>>>0>1073741823){d=ra(8)|0;jp(d,16426);f[d>>2]=7416;va(d|0,1160,122)}else{n=tn(m<<2)|0;break}else n=0;while(0);d=n+(j<<2)|0;pj(d|0,0,b<<2|0)|0;b=d;j=n+(m<<2)|0;m=n+(g<<2)|0;if((h|0)==(k|0)){o=b;p=i;q=h}else{i=d;d=h;h=b;do{d=d+-4|0;b=f[d>>2]|0;f[d>>2]=0;f[i+-4>>2]=b;i=h+-4|0;h=i}while((d|0)!=(k|0));o=h;p=f[a>>2]|0;q=f[e>>2]|0}f[a>>2]=o;f[e>>2]=m;f[c>>2]=j;j=p;if((q|0)!=(j|0)){c=q;do{c=c+-4|0;q=f[c>>2]|0;f[c>>2]=0;if(q|0)Qa[f[(f[q>>2]|0)+4>>2]&127](q)}while((c|0)!=(j|0))}if(!p)return;pr(p);return}function Dg(a){a=a|0;gl(a);gl(a+32|0);gl(a+64|0);gl(a+96|0);gl(a+128|0);gl(a+160|0);gl(a+192|0);gl(a+224|0);gl(a+256|0);gl(a+288|0);gl(a+320|0);gl(a+352|0);gl(a+384|0);gl(a+416|0);gl(a+448|0);gl(a+480|0);gl(a+512|0);gl(a+544|0);gl(a+576|0);gl(a+608|0);gl(a+640|0);gl(a+672|0);gl(a+704|0);gl(a+736|0);gl(a+768|0);gl(a+800|0);gl(a+832|0);gl(a+864|0);gl(a+896|0);gl(a+928|0);gl(a+960|0);gl(a+992|0);gl(a+1024|0);return}function Eg(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;i=u;u=u+16|0;j=i;k=i+4|0;f[j>>2]=c;c=a+4|0;a=tn(32)|0;f[k>>2]=a;f[k+8>>2]=-2147483616;f[k+4>>2]=17;l=a;m=14756;n=l+17|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));b[a+17>>0]=0;Wj(Bd(c,j)|0,k,d);if((b[k+11>>0]|0)<0)pr(f[k>>2]|0);d=tn(32)|0;f[k>>2]=d;f[k+8>>2]=-2147483616;f[k+4>>2]=19;l=d;m=14829;n=l+19|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));b[d+19>>0]=0;pi(Bd(c,j)|0,k,g,e);if((b[k+11>>0]|0)<0)pr(f[k>>2]|0);e=tn(32)|0;f[k>>2]=e;f[k+8>>2]=-2147483616;f[k+4>>2]=18;l=e;m=14849;n=l+18|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));b[e+18>>0]=0;Tj(Bd(c,j)|0,k,h);if((b[k+11>>0]|0)>=0){u=i;return}pr(f[k>>2]|0);u=i;return}function Fg(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;d=c;e=b;g=d-e|0;h=g>>2;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0<=j-k>>2>>>0){m=a+4|0;n=(f[m>>2]|0)-k>>2;o=h>>>0>n>>>0;p=o?b+(n<<2)|0:c;c=p;n=c-e|0;e=n>>2;if(e|0)qm(k|0,b|0,n|0)|0;n=l+(e<<2)|0;if(o){o=d-c|0;if((o|0)<=0)return;eh(f[m>>2]|0,p|0,o|0)|0;f[m>>2]=(f[m>>2]|0)+(o>>>2<<2);return}else{o=f[m>>2]|0;if((o|0)==(n|0))return;f[m>>2]=o+(~((o+-4-n|0)>>>2)<<2);return}}n=k;if(!k)q=j;else{j=a+4|0;o=f[j>>2]|0;if((o|0)!=(l|0))f[j>>2]=o+(~((o+-4-k|0)>>>2)<<2);pr(n);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;q=0}if(h>>>0>1073741823)Cq(a);j=q>>1;n=q>>2>>>0<536870911?(j>>>0<h>>>0?h:j):1073741823;if(n>>>0>1073741823)Cq(a);j=tn(n<<2)|0;h=a+4|0;f[h>>2]=j;f[a>>2]=j;f[i>>2]=j+(n<<2);if((g|0)<=0)return;eh(j|0,b|0,g|0)|0;f[h>>2]=j+(g>>>2<<2);return}function Gg(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.0,p=0,q=0.0,r=0.0,s=0.0,t=0,v=0.0;e=u;u=u+16|0;g=e;h=c+1|0;f[g>>2]=0;i=g+4|0;f[i>>2]=0;f[g+8>>2]=0;do if(h)if(h>>>0>1073741823)Cq(g);else{j=tn(h<<2)|0;f[g>>2]=j;k=j+(h<<2)|0;f[g+8>>2]=k;pj(j|0,0,(c<<2)+4|0)|0;f[i>>2]=k;l=j;m=j;n=k;break}else{l=0;m=0;n=0}while(0);if((b|0)>0){g=0;do{k=m+(f[a+(g<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+1;g=g+1|0}while((g|0)!=(b|0))}o=+(b|0);if((c|0)<0){p=0;q=0.0}else{c=0;b=0;r=0.0;while(1){g=f[m+(c<<2)>>2]|0;s=+(g|0);if((g|0)>0){t=b+1|0;v=r+s*+Ug(s/o)}else{t=b;v=r}c=c+1|0;if((c|0)==(h|0)){p=t;q=v;break}else{b=t;r=v}}}if(d|0)f[d>>2]=p;v=-q;p=~~v>>>0;d=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;if(!m){I=d;u=e;return p|0}if((n|0)!=(m|0))f[i>>2]=n+(~((n+-4-m|0)>>>2)<<2);pr(l);I=d;u=e;return p|0}function Hg(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;c=u;u=u+16|0;d=c;e=f[b>>2]|0;f[d>>2]=e;b=a+12|0;g=(e|0)==-1;h=e+1|0;do if(!g){f[d+4>>2]=((h>>>0)%3|0|0)==0?e+-2|0:h;if(!((e>>>0)%3|0)){i=e+2|0;break}else{i=e+-1|0;break}}else{f[d+4>>2]=-1;i=-1}while(0);f[d+8>>2]=i;i=g?-1:(e>>>0)/3|0;g=a+28|0;h=(f[g>>2]|0)+(i>>>5<<2)|0;f[h>>2]=1<<(i&31)|f[h>>2];h=a+172|0;i=a+176|0;j=a+280|0;a=e;e=0;while(1){if((((a|0)!=-1?(k=f[(f[(f[b>>2]|0)+12>>2]|0)+(a<<2)>>2]|0,(k|0)!=-1):0)?(l=(k>>>0)/3|0,(f[(f[g>>2]|0)+(l>>>5<<2)>>2]&1<<(l&31)|0)==0):0)?(l=f[h>>2]|0,(f[i>>2]|0)!=(l|0)):0){k=a>>>5;m=1<<(a&31);n=l;l=0;do{o=(f[j>>2]|0)+(l<<5)|0;if(!(m&f[(f[n+(l*136|0)+4>>2]|0)+(k<<2)>>2]))dj(o,0);else dj(o,1);l=l+1|0;n=f[h>>2]|0}while(l>>>0<(((f[i>>2]|0)-n|0)/136|0)>>>0)}n=e+1|0;if((n|0)==3)break;a=f[d+(n<<2)>>2]|0;e=n}u=c;return 1}function Ig(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=u;u=u+16|0;g=e+4|0;h=e;i=tn(32)|0;f[a>>2]=i;f[a+4>>2]=c+4;c=a+8|0;b[c>>0]=0;f[i+16>>2]=f[d>>2];a=i+20|0;f[i+24>>2]=0;f[i+28>>2]=0;j=i+24|0;f[a>>2]=j;i=f[d+4>>2]|0;k=d+8|0;if((i|0)==(k|0)){b[c>>0]=1;u=e;return}d=j;j=i;while(1){i=j+16|0;f[h>>2]=d;f[g>>2]=f[h>>2];ih(a,g,i,i)|0;i=f[j+4>>2]|0;if(!i){l=j+8|0;m=f[l>>2]|0;if((f[m>>2]|0)==(j|0))n=m;else{m=l;do{l=f[m>>2]|0;m=l+8|0;o=f[m>>2]|0}while((f[o>>2]|0)!=(l|0));n=o}}else{m=i;while(1){o=f[m>>2]|0;if(!o)break;else m=o}n=m}if((n|0)==(k|0))break;else j=n}b[c>>0]=1;u=e;return}function Jg(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;d=u;u=u+16|0;e=d;f[e>>2]=b;g=a+8|0;if(((f[a+12>>2]|0)-(f[g>>2]|0)>>2|0)<=(b|0))xh(g,b+1|0);h=f[(f[c>>2]|0)+56>>2]|0;do if((h|0)<5){i=a+20+(h*12|0)+4|0;j=f[i>>2]|0;if((j|0)==(f[a+20+(h*12|0)+8>>2]|0)){Ti(a+20+(h*12|0)|0,e);break}else{f[j>>2]=b;f[i>>2]=j+4;break}}while(0);b=f[c>>2]|0;h=f[e>>2]|0;f[b+60>>2]=h;e=(f[g>>2]|0)+(h<<2)|0;f[c>>2]=0;c=f[e>>2]|0;f[e>>2]=b;if(!c){u=d;return}b=c+88|0;e=f[b>>2]|0;f[b>>2]=0;if(e|0){b=f[e+8>>2]|0;if(b|0){h=e+12|0;if((f[h>>2]|0)!=(b|0))f[h>>2]=b;pr(b)}pr(e)}e=f[c+68>>2]|0;if(e|0){b=c+72|0;h=f[b>>2]|0;if((h|0)!=(e|0))f[b>>2]=h+(~((h+-4-e|0)>>>2)<<2);pr(e)}e=c+64|0;h=f[e>>2]|0;f[e>>2]=0;if(h|0){e=f[h>>2]|0;if(e|0){b=h+4|0;if((f[b>>2]|0)!=(e|0))f[b>>2]=e;pr(e)}pr(h)}pr(c);u=d;return}function Kg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=6348;b=f[a+68>>2]|0;if(b|0){c=a+72|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+56>>2]|0;if(b|0){d=a+60|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=f[a+44>>2]|0;if(b|0){c=a+48|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(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);pr(b)}b=f[a+20>>2]|0;if(b|0){c=a+24|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}fi(a+8|0);b=a+4|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;b=a+40|0;d=f[b>>2]|0;if(d|0){c=a+44|0;e=f[c>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[c>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0){_i(i);pr(i)}h=f[c>>2]|0}while((h|0)!=(d|0));g=f[b>>2]|0}pr(g)}_i(a);pr(a);return}function Lg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a+12|0;d=f[a>>2]|0;e=a+8|0;g=f[e>>2]|0;h=(g|0)==-1;if(!(b[c>>0]|0)){do if(((!h?(i=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(i|0)!=-1):0)?(f[(f[d>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)==0:0)?(j=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(i<<2)>>2]|0,(j|0)!=-1):0)if(!((j>>>0)%3|0)){k=j+2|0;break}else{k=j+-1|0;break}else k=-1;while(0);f[e>>2]=k;return}k=g+1|0;if(((!h?(h=((k>>>0)%3|0|0)==0?g+-2|0:k,(h|0)!=-1):0)?(f[(f[d>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)|0)==0:0)?(k=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(h<<2)>>2]|0,h=k+1|0,(k|0)!=-1):0){g=((h>>>0)%3|0|0)==0?k+-2|0:h;f[e>>2]=g;if((g|0)!=-1){if((g|0)!=(f[a+4>>2]|0))return;f[e>>2]=-1;return}}else f[e>>2]=-1;g=f[a+4>>2]|0;do if((((g|0)!=-1?(a=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(a|0)!=-1):0)?(f[(f[d>>2]|0)+(a>>>5<<2)>>2]&1<<(a&31)|0)==0:0)?(h=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(a<<2)>>2]|0,(h|0)!=-1):0)if(!((h>>>0)%3|0)){l=h+2|0;break}else{l=h+-1|0;break}else l=-1;while(0);f[e>>2]=l;b[c>>0]=0;return}function Mg(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;d=u;u=u+48|0;e=d+16|0;g=d;h=d+32|0;i=a+28|0;j=f[i>>2]|0;f[h>>2]=j;k=a+20|0;l=(f[k>>2]|0)-j|0;f[h+4>>2]=l;f[h+8>>2]=b;f[h+12>>2]=c;b=l+c|0;l=a+60|0;f[g>>2]=f[l>>2];f[g+4>>2]=h;f[g+8>>2]=2;j=Fo(Aa(146,g|0)|0)|0;a:do if((b|0)!=(j|0)){g=j;m=h;n=2;o=b;while(1){if((g|0)<0)break;o=o-g|0;p=f[m+4>>2]|0;q=g>>>0>p>>>0;r=q?m+8|0:m;s=(q<<31>>31)+n|0;t=g-(q?p:0)|0;f[r>>2]=(f[r>>2]|0)+t;p=r+4|0;f[p>>2]=(f[p>>2]|0)-t;f[e>>2]=f[l>>2];f[e+4>>2]=r;f[e+8>>2]=s;g=Fo(Aa(146,e|0)|0)|0;if((o|0)==(g|0)){v=3;break a}else{m=r;n=s}}f[a+16>>2]=0;f[i>>2]=0;f[k>>2]=0;f[a>>2]=f[a>>2]|32;if((n|0)==2)w=0;else w=c-(f[m+4>>2]|0)|0}else v=3;while(0);if((v|0)==3){v=f[a+44>>2]|0;f[a+16>>2]=v+(f[a+48>>2]|0);f[i>>2]=v;f[k>>2]=v;w=c}u=d;return w|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;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d>>2;g=e+1|0;if(g>>>0>1073741823)Cq(a);h=a+8|0;i=(f[h>>2]|0)-d|0;d=i>>1;j=i>>2>>>0<536870911?(d>>>0<g>>>0?g:d):1073741823;do if(j)if(j>>>0>1073741823){d=ra(8)|0;jp(d,16426);f[d>>2]=7416;va(d|0,1160,122)}else{k=tn(j<<2)|0;break}else k=0;while(0);d=k+(e<<2)|0;e=d;g=k+(j<<2)|0;j=f[b>>2]|0;f[b>>2]=0;f[d>>2]=j;j=d+4|0;b=f[a>>2]|0;k=f[c>>2]|0;if((k|0)==(b|0)){l=e;m=b;n=b}else{i=d;d=k;k=e;do{d=d+-4|0;e=f[d>>2]|0;f[d>>2]=0;f[i+-4>>2]=e;i=k+-4|0;k=i}while((d|0)!=(b|0));l=k;m=f[a>>2]|0;n=f[c>>2]|0}f[a>>2]=l;f[c>>2]=j;f[h>>2]=g;g=m;if((n|0)!=(g|0)){h=n;do{h=h+-4|0;n=f[h>>2]|0;f[h>>2]=0;if(n|0)Qa[f[(f[n>>2]|0)+4>>2]&127](n)}while((h|0)!=(g|0))}if(!m)return;pr(m);return}function Og(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;d=a+4|0;a=f[d>>2]|0;do if(a|0){e=b[c+11>>0]|0;g=e<<24>>24<0;h=g?f[c+4>>2]|0:e&255;e=g?f[c>>2]|0:c;g=d;i=a;a:while(1){j=i;while(1){k=j+16|0;l=b[k+11>>0]|0;m=l<<24>>24<0;n=m?f[j+20>>2]|0:l&255;l=h>>>0<n>>>0?h:n;if((l|0)!=0?(o=Yk(m?f[k>>2]|0:k,e,l)|0,(o|0)!=0):0){if((o|0)>=0)break}else p=6;if((p|0)==6?(p=0,n>>>0>=h>>>0):0)break;n=f[j+4>>2]|0;if(!n){q=g;break a}else j=n}i=f[j>>2]|0;if(!i){q=j;break}else g=j}if((q|0)!=(d|0)){g=q+16|0;i=b[g+11>>0]|0;n=i<<24>>24<0;o=n?f[q+20>>2]|0:i&255;i=o>>>0<h>>>0?o:h;if(i|0?(l=Yk(e,n?f[g>>2]|0:g,i)|0,l|0):0){if((l|0)<0)break;else r=q;return r|0}if(h>>>0>=o>>>0){r=q;return r|0}}}while(0);r=d;return r|0}function Pg(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;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if(((e-h|0)/12|0)>>>0>=b>>>0){i=h;j=b;do{f[i>>2]=f[c>>2];f[i+4>>2]=f[c+4>>2];f[i+8>>2]=f[c+8>>2];i=(f[g>>2]|0)+12|0;f[g>>2]=i;j=j+-1|0}while((j|0)!=0);return}j=f[a>>2]|0;i=(h-j|0)/12|0;h=i+b|0;if(h>>>0>357913941)Cq(a);k=(e-j|0)/12|0;j=k<<1;e=k>>>0<178956970?(j>>>0<h>>>0?h:j):357913941;do if(e)if(e>>>0>357913941){j=ra(8)|0;jp(j,16426);f[j>>2]=7416;va(j|0,1160,122)}else{l=tn(e*12|0)|0;break}else l=0;while(0);j=l+(i*12|0)|0;i=l+(e*12|0)|0;e=j;l=b;b=j;do{f[e>>2]=f[c>>2];f[e+4>>2]=f[c+4>>2];f[e+8>>2]=f[c+8>>2];e=b+12|0;b=e;l=l+-1|0}while((l|0)!=0);l=f[a>>2]|0;e=(f[g>>2]|0)-l|0;c=j+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)eh(c|0,l|0,e|0)|0;f[a>>2]=c;f[g>>2]=b;f[d>>2]=i;if(!l)return;pr(l);return}function Qg(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];dg(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{mg(a+60|0,f[b+52>>2]|0,f[b+56>>2]|0);mg(a+72|0,f[b+64>>2]|0,f[b+68>>2]|0);mg(a+84|0,f[b+76>>2]|0,f[b+80>>2]|0);f[a+96>>2]=f[b+88>>2];Fg(a+100|0,f[b+92>>2]|0,f[b+96>>2]|0);return}}function Rg(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;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d>>2;g=e+1|0;if(g>>>0>1073741823)Cq(a);h=a+8|0;i=(f[h>>2]|0)-d|0;d=i>>1;j=i>>2>>>0<536870911?(d>>>0<g>>>0?g:d):1073741823;do if(j)if(j>>>0>1073741823){d=ra(8)|0;jp(d,16426);f[d>>2]=7416;va(d|0,1160,122)}else{k=tn(j<<2)|0;break}else k=0;while(0);d=k+(e<<2)|0;e=d;g=k+(j<<2)|0;j=f[b>>2]|0;f[b>>2]=0;f[d>>2]=j;j=d+4|0;b=f[a>>2]|0;k=f[c>>2]|0;if((k|0)==(b|0)){l=e;m=b;n=b}else{i=d;d=k;k=e;do{d=d+-4|0;e=f[d>>2]|0;f[d>>2]=0;f[i+-4>>2]=e;i=k+-4|0;k=i}while((d|0)!=(b|0));l=k;m=f[a>>2]|0;n=f[c>>2]|0}f[a>>2]=l;f[c>>2]=j;f[h>>2]=g;g=m;if((n|0)!=(g|0)){h=n;do{h=h+-4|0;n=f[h>>2]|0;f[h>>2]=0;if(n|0){_i(n);pr(n)}}while((h|0)!=(g|0))}if(!m)return;pr(m);return}function Sg(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;e=f[b>>2]|0;g=f[a>>2]|0;h=f[d>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0)Cq(h);j=d;if(i>>>0<=g>>>0)Cq(h);d=f[j+(e<<3)>>2]|0;k=f[c>>2]|0;if(i>>>0<=k>>>0)Cq(h);l=j+(g<<3)|0;m=(f[j+(k<<3)>>2]|0)>>>0<d>>>0;if(d>>>0<(f[l>>2]|0)>>>0){if(m){f[a>>2]=k;f[c>>2]=g;n=1;return n|0}f[a>>2]=e;f[b>>2]=g;d=f[c>>2]|0;if(i>>>0<=d>>>0)Cq(h);if((f[j+(d<<3)>>2]|0)>>>0>=(f[l>>2]|0)>>>0){n=1;return n|0}f[b>>2]=d;f[c>>2]=g;n=2;return n|0}if(!m){n=0;return n|0}f[b>>2]=k;f[c>>2]=e;e=f[b>>2]|0;c=f[a>>2]|0;if(i>>>0<=e>>>0)Cq(h);if(i>>>0<=c>>>0)Cq(h);if((f[j+(e<<3)>>2]|0)>>>0>=(f[j+(c<<3)>>2]|0)>>>0){n=1;return n|0}f[a>>2]=e;f[b>>2]=c;n=2;return n|0}function Tg(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+96|0;g=e+40|0;h=e;Qm(g,c);De(h,b,c);Ih(g,h);Cj(h+24|0,f[h+28>>2]|0);Mj(h+12|0,f[h+16>>2]|0);Cj(h,f[h+4>>2]|0);$i(a,g,d);f[g>>2]=3496;Cj(g+28|0,f[g+32>>2]|0);Mj(g+16|0,f[g+20>>2]|0);Cj(g+4|0,f[g+8>>2]|0);u=e;return}function Ug(a){a=+a;var b=0,c=0,d=0,e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,q=0.0,r=0.0,t=0.0;p[s>>3]=a;b=f[s>>2]|0;c=f[s+4>>2]|0;d=(c|0)<0;do if(d|c>>>0<1048576){if((b|0)==0&(c&2147483647|0)==0){e=-1.0/(a*a);break}if(d){e=(a-a)/0.0;break}else{p[s>>3]=a*18014398509481984.0;g=f[s+4>>2]|0;h=f[s>>2]|0;i=g;j=g;k=-1077;l=9;break}}else if(c>>>0<=2146435071)if((b|0)==0&0==0&(c|0)==1072693248)e=0.0;else{h=b;i=c;j=c;k=-1023;l=9}else e=a;while(0);if((l|0)==9){l=j+614242|0;f[s>>2]=h;f[s+4>>2]=(l&1048575)+1072079006;a=+p[s>>3]+-1.0;m=a*a*.5;n=a/(a+2.0);o=n*n;q=o*o;p[s>>3]=a-m;h=f[s+4>>2]|0;f[s>>2]=0;f[s+4>>2]=h;r=+p[s>>3];t=a-r-m+n*(m+(q*(q*(q*.15313837699209373+.22222198432149784)+.3999999999940942)+o*(q*(q*(q*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));q=r*1.4426950407214463;o=+(k+(l>>>20)|0);m=o+q;e=m+(q+(o-m)+(t*1.4426950407214463+(r+t)*1.6751713164886512e-10))}return +e}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,m=0,n=0,o=0,p=0,q=0,r=0;d=u;u=u+16|0;e=d;g=tn(32)|0;f[e>>2]=g;f[e+8>>2]=-2147483616;f[e+4>>2]=17;h=g;i=14628;j=h+17|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[g+17>>0]=0;g=c+16|0;i=f[g>>2]|0;if(i){h=g;j=i;a:while(1){i=j;while(1){if((f[i+16>>2]|0)>=(a|0))break;k=f[i+4>>2]|0;if(!k){l=h;break a}else i=k}j=f[i>>2]|0;if(!j){l=i;break}else h=i}if(((l|0)!=(g|0)?(f[l+16>>2]|0)<=(a|0):0)?(a=l+20|0,(Hh(a,e)|0)!=0):0)m=a;else n=10}else n=10;if((n|0)==10)m=c;c=Ik(m,e,-1)|0;if((b[e+11>>0]|0)>=0){o=(c|0)==-1;p=c>>>0>6;q=p?-2:c;r=o?-1:q;u=d;return r|0}pr(f[e>>2]|0);o=(c|0)==-1;p=c>>>0>6;q=p?-2:c;r=o?-1:q;u=d;return r|0}function Wg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=u;u=u+16|0;e=d;g=f[c>>2]|0;f[c>>2]=0;f[e>>2]=g;Jg(a,b,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){e=f[c+8>>2]|0;if(e|0){h=c+12|0;if((f[h>>2]|0)!=(e|0))f[h>>2]=e;pr(e)}pr(c)}c=f[g+68>>2]|0;if(c|0){e=g+72|0;h=f[e>>2]|0;if((h|0)!=(c|0))f[e>>2]=h+(~((h+-4-c|0)>>>2)<<2);pr(c)}c=g+64|0;h=f[c>>2]|0;f[c>>2]=0;if(h|0){c=f[h>>2]|0;if(c|0){e=h+4|0;if((f[e>>2]|0)!=(c|0))f[e>>2]=c;pr(c)}pr(h)}pr(g)}g=a+84|0;h=a+88|0;a=f[h>>2]|0;c=f[g>>2]|0;e=a-c>>2;if((e|0)>(b|0)){u=d;return}i=b+1|0;b=a;if(i>>>0>e>>>0){Fh(g,i-e|0);u=d;return}if(i>>>0>=e>>>0){u=d;return}e=c+(i<<2)|0;if((b|0)==(e|0)){u=d;return}f[h>>2]=b+(~((b+-4-e|0)>>>2)<<2);u=d;return}function Xg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;g=a+4|0;f[g>>2]=c;f[a+8>>2]=f[c+56>>2];h=f[a+184>>2]|0;i=a+188|0;j=f[i>>2]|0;if((j|0)!=(h|0))f[i>>2]=j+(~((j+-4-h|0)>>>2)<<2);h=f[c+48>>2]|0;c=tn(32)|0;f[e>>2]=c;f[e+8>>2]=-2147483616;f[e+4>>2]=19;j=c;i=15681;k=j+19|0;do{b[j>>0]=b[i>>0]|0;j=j+1|0;i=i+1|0}while((j|0)<(k|0));b[c+19>>0]=0;c=(Hh(h,e)|0)==0;if((b[e+11>>0]|0)<0)pr(f[e>>2]|0);h=f[(f[g>>2]|0)+48>>2]|0;if(c){c=(ki(h)|0)>5&1;b[a+352>>0]=c;u=d;return 1}c=tn(32)|0;f[e>>2]=c;f[e+8>>2]=-2147483616;f[e+4>>2]=19;j=c;i=15681;k=j+19|0;do{b[j>>0]=b[i>>0]|0;j=j+1|0;i=i+1|0}while((j|0)<(k|0));b[c+19>>0]=0;c=(Yj(h,e,0)|0)&1;b[a+352>>0]=c;if((b[e+11>>0]|0)<0)pr(f[e>>2]|0);u=d;return 1}function Yg(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;c=a+108|0;d=(f[a+112>>2]|0)-(f[c>>2]|0)|0;e=(d|0)/12|0;g=a+4|0;ai(e,f[(f[g>>2]|0)+44>>2]|0)|0;if(!d)return 1;d=0;a=0;while(1){i=f[c>>2]|0;j=i+(d*12|0)+4|0;ai((f[j>>2]|0)-a|0,f[(f[g>>2]|0)+44>>2]|0)|0;ai((f[j>>2]|0)-(f[i+(d*12|0)>>2]|0)|0,f[(f[g>>2]|0)+44>>2]|0)|0;d=d+1|0;if(d>>>0>=e>>>0)break;else a=f[j>>2]|0}wi(f[(f[g>>2]|0)+44>>2]|0,e,0,0)|0;a=0;do{d=f[(f[g>>2]|0)+44>>2]|0;j=d+16|0;i=f[j+4>>2]|0;if((i|0)>0|(i|0)==0&(f[j>>2]|0)>>>0>0){j=f[d+12>>2]|0;d=j+4|0;i=f[d>>2]|0;k=b[(f[c>>2]|0)+(a*12|0)+8>>0]&1;l=i>>>3;m=i&7;i=(f[j>>2]|0)+l|0;b[i>>0]=(h[i>>0]|0)&(1<<m^255);i=(f[j>>2]|0)+l|0;b[i>>0]=h[i>>0]|0|k<<m;f[d>>2]=(f[d>>2]|0)+1}a=a+1|0}while(a>>>0<e>>>0);eg(f[(f[g>>2]|0)+44>>2]|0);return 1}function Zg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;g=a+4|0;f[g>>2]=c;f[a+8>>2]=f[c+56>>2];h=f[a+184>>2]|0;i=a+188|0;j=f[i>>2]|0;if((j|0)!=(h|0))f[i>>2]=j+(~((j+-4-h|0)>>>2)<<2);h=f[c+48>>2]|0;c=tn(32)|0;f[e>>2]=c;f[e+8>>2]=-2147483616;f[e+4>>2]=19;j=c;i=15681;k=j+19|0;do{b[j>>0]=b[i>>0]|0;j=j+1|0;i=i+1|0}while((j|0)<(k|0));b[c+19>>0]=0;c=(Hh(h,e)|0)==0;if((b[e+11>>0]|0)<0)pr(f[e>>2]|0);h=f[(f[g>>2]|0)+48>>2]|0;if(c){c=(ki(h)|0)>5&1;b[a+288>>0]=c;u=d;return 1}c=tn(32)|0;f[e>>2]=c;f[e+8>>2]=-2147483616;f[e+4>>2]=19;j=c;i=15681;k=j+19|0;do{b[j>>0]=b[i>>0]|0;j=j+1|0;i=i+1|0}while((j|0)<(k|0));b[c+19>>0]=0;c=(Yj(h,e,0)|0)&1;b[a+288>>0]=c;if((b[e+11>>0]|0)<0)pr(f[e>>2]|0);u=d;return 1}function _g(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;g=u;u=u+32|0;h=g+16|0;i=g+8|0;j=g;k=d-e|0;d=a+8|0;if((k|0)>0){a=0-e|0;l=i+4|0;m=j+4|0;n=h+4|0;o=k;do{k=b+(o<<2)|0;p=k+(a<<2)|0;q=c+(o<<2)|0;r=f[k+4>>2]|0;s=f[p>>2]|0;t=f[p+4>>2]|0;f[i>>2]=f[k>>2];f[l>>2]=r;f[j>>2]=s;f[m>>2]=t;Nd(h,d,i,j);f[q>>2]=f[h>>2];f[q+4>>2]=f[n>>2];o=o-e|0}while((o|0)>0)}o=e>>>0>1073741823?-1:e<<2;e=mr(o)|0;pj(e|0,0,o|0)|0;o=f[b+4>>2]|0;n=f[e>>2]|0;m=f[e+4>>2]|0;f[i>>2]=f[b>>2];f[i+4>>2]=o;f[j>>2]=n;f[j+4>>2]=m;Nd(h,d,i,j);f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];nr(e);u=g;return 1}function $g(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;c=u;u=u+32|0;d=c+12|0;e=c;g=f[b+100>>2]|0;h=f[b+96>>2]|0;b=g-h|0;i=(b|0)/12|0;f[d>>2]=0;j=d+4|0;f[j>>2]=0;f[d+8>>2]=0;k=h;do if(b)if(i>>>0>357913941)Cq(d);else{l=tn(b)|0;f[d>>2]=l;f[d+8>>2]=l+(i*12|0);pj(l|0,0,b|0)|0;f[j>>2]=l+b;m=l;break}else m=0;while(0);f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;if((g|0)!=(h|0)){h=e+4|0;g=e+8|0;b=0;do{l=k+(b*12|0)|0;f[e>>2]=f[l>>2];f[e+4>>2]=f[l+4>>2];f[e+8>>2]=f[l+8>>2];f[m+(b*12|0)>>2]=f[e>>2];f[m+(b*12|0)+4>>2]=f[h>>2];f[m+(b*12|0)+8>>2]=f[g>>2];b=b+1|0}while(b>>>0<i>>>0)}Ij(a,d);a=f[d>>2]|0;if(!a){u=c;return}d=f[j>>2]|0;if((d|0)!=(a|0))f[j>>2]=d+(~(((d+-12-a|0)>>>0)/12|0)*12|0);pr(a);u=c;return}function ah(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;c=f[b>>2]|0;if((c|0)==-1){d=-1;return d|0}b=f[(f[a+24>>2]|0)+(c<<2)>>2]|0;if((b|0)==-1){d=0;return d|0}c=a+12|0;a=0;e=0;g=b;a:while(1){b:do if(e){h=a+1|0;i=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((i|0)==-1){d=h;j=15;break a}k=f[(f[c>>2]|0)+(i<<2)>>2]|0;if((k|0)==-1){d=h;j=15;break a}if(!((k>>>0)%3|0)){l=h;m=k+2|0;break}else{l=h;m=k+-1|0;break}}else{k=a;h=g;while(1){i=k+1|0;n=h+1|0;o=((n>>>0)%3|0|0)==0?h+-2|0:n;if((o|0)==-1){l=i;m=b;break b}n=f[(f[c>>2]|0)+(o<<2)>>2]|0;o=n+1|0;if((n|0)==-1){l=i;m=b;break b}h=((o>>>0)%3|0|0)==0?n+-2|0:o;if((h|0)==-1){l=i;m=b;break b}if((h|0)==(b|0)){d=i;j=15;break a}else k=i}}while(0);if((m|0)==-1){d=l;j=15;break}else{a=l;e=1;g=m}}if((j|0)==15)return d|0;return 0}function bh(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;d=a+8|0;Sg(a,a+4|0,d,c)|0;e=a+12|0;if((e|0)==(b|0))return;g=f[c>>2]|0;c=f[g>>2]|0;h=(f[g+4>>2]|0)-c>>3;i=c;c=e;e=d;a:while(1){d=f[c>>2]|0;j=f[e>>2]|0;if(h>>>0<=d>>>0){k=5;break}if(h>>>0<=j>>>0){k=7;break}l=i+(d<<3)|0;if((f[l>>2]|0)>>>0<(f[i+(j<<3)>>2]|0)>>>0){m=j;j=c;n=e;while(1){f[j>>2]=m;if((n|0)==(a|0)){o=a;break}p=n+-4|0;m=f[p>>2]|0;if(h>>>0<=m>>>0){k=11;break a}if((f[l>>2]|0)>>>0>=(f[i+(m<<3)>>2]|0)>>>0){o=n;break}else{q=n;n=p;j=q}}f[o>>2]=d}j=c+4|0;if((j|0)==(b|0)){k=3;break}else{n=c;c=j;e=n}}if((k|0)==3)return;else if((k|0)==5)Cq(g);else if((k|0)==7)Cq(g);else if((k|0)==11)Cq(g)}function ch(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;do if(!(Ep(a,f[c+8>>2]|0,g)|0)){h=a+8|0;if(!(Ep(a,f[c>>2]|0,g)|0)){i=f[h>>2]|0;Ua[f[(f[i>>2]|0)+24>>2]&3](i,c,d,e,g);break}i=c+32|0;if((f[c+16>>2]|0)!=(d|0)?(j=c+20|0,(f[j>>2]|0)!=(d|0)):0){f[i>>2]=e;k=c+44|0;if((f[k>>2]|0)==4)break;l=c+52|0;b[l>>0]=0;m=c+53|0;b[m>>0]=0;n=f[h>>2]|0;Va[f[(f[n>>2]|0)+20>>2]&3](n,c,d,d,1,g);if(b[m>>0]|0)if(!(b[l>>0]|0)){o=3;p=11}else q=3;else{o=4;p=11}if((p|0)==11){f[j>>2]=d;j=c+40|0;f[j>>2]=(f[j>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0){b[c+54>>0]=1;q=o}else q=o}f[k>>2]=q;break}if((e|0)==1)f[i>>2]=1}else $m(0,c,d,e);while(0);return}function dh(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;g=Sg(a,b,c,e)|0;h=f[d>>2]|0;i=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<=h>>>0)Cq(j);l=e;if(k>>>0<=i>>>0)Cq(j);if((f[l+(h<<3)>>2]|0)>>>0>=(f[l+(i<<3)>>2]|0)>>>0){m=g;return m|0}f[c>>2]=h;f[d>>2]=i;i=f[c>>2]|0;d=f[b>>2]|0;if(k>>>0<=i>>>0)Cq(j);if(k>>>0<=d>>>0)Cq(j);if((f[l+(i<<3)>>2]|0)>>>0>=(f[l+(d<<3)>>2]|0)>>>0){m=g+1|0;return m|0}f[b>>2]=i;f[c>>2]=d;d=f[b>>2]|0;c=f[a>>2]|0;if(k>>>0<=d>>>0)Cq(j);if(k>>>0<=c>>>0)Cq(j);if((f[l+(d<<3)>>2]|0)>>>0>=(f[l+(c<<3)>>2]|0)>>>0){m=g+2|0;return m|0}f[a>>2]=d;f[b>>2]=c;m=g+3|0;return m|0}function eh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)>=8192)return Da(a|0,c|0,d|0)|0;e=a|0;g=a+d|0;if((a&3)==(c&3)){while(a&3){if(!d)return e|0;b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0;d=d-1|0}h=g&-4|0;d=h-64|0;while((a|0)<=(d|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)<(h|0)){f[a>>2]=f[c>>2];a=a+4|0;c=c+4|0}}else{h=g-4|0;while((a|0)<(h|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 e|0}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,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;c=u;u=u+16|0;d=c+4|0;e=c;f[a>>2]=1296;g=a+4|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;f[g+28>>2]=0;f[d>>2]=b;b=a+4|0;g=a+8|0;Ti(b,d);h=f[d>>2]|0;i=a+20|0;j=f[i>>2]|0;k=a+16|0;a=f[k>>2]|0;l=j-a>>2;m=a;if((h|0)<(l|0)){n=m;o=h;p=f[g>>2]|0;q=f[b>>2]|0;r=p-q|0;s=r>>2;t=s+-1|0;v=n+(o<<2)|0;f[v>>2]=t;u=c;return}a=h+1|0;f[e>>2]=-1;w=j;if(a>>>0<=l>>>0)if(a>>>0<l>>>0?(j=m+(a<<2)|0,(w|0)!=(j|0)):0){f[i>>2]=w+(~((w+-4-j|0)>>>2)<<2);x=h;y=m}else{x=h;y=m}else{zh(k,a-l|0,e);x=f[d>>2]|0;y=f[k>>2]|0}n=y;o=x;p=f[g>>2]|0;q=f[b>>2]|0;r=p-q|0;s=r>>2;t=s+-1|0;v=n+(o<<2)|0;f[v>>2]=t;u=c;return}function gh(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;d=f[c+88>>2]|0;if(!d){e=0;return e|0}if((f[d>>2]|0)!=1){e=0;return e|0}g=d+8|0;d=f[g>>2]|0;f[a+4>>2]=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;i=a+8|0;j=c+24|0;c=b[j>>0]|0;k=c<<24>>24;l=a+12|0;m=f[l>>2]|0;n=f[i>>2]|0;o=m-n>>2;p=n;n=m;if(k>>>0<=o>>>0)if(k>>>0<o>>>0?(m=p+(k<<2)|0,(n|0)!=(m|0)):0){f[l>>2]=n+(~((n+-4-m|0)>>>2)<<2);q=c;r=d}else{q=c;r=d}else{zi(i,k-o|0);q=b[j>>0]|0;r=f[g>>2]|0}g=r+4|0;j=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;if(q<<24>>24>0){g=f[i>>2]|0;i=q<<24>>24;q=4;o=0;k=j;while(1){f[g+(o<<2)>>2]=k;q=q+4|0;o=o+1|0;d=r+q|0;c=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;if((o|0)>=(i|0)){s=c;break}else k=c}}else s=j;f[a+20>>2]=s;e=1;return e|0}function hh(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=u;u=u+16|0;g=e;h=a+4|0;f[h>>2]=0;if(!c){u=e;return}i=a+8|0;j=f[i>>2]|0;k=j<<5;if(k>>>0<c>>>0){f[g>>2]=0;l=g+4|0;f[l>>2]=0;m=g+8|0;f[m>>2]=0;if((c|0)<0)Cq(a);n=j<<6;j=c+31&-32;si(g,k>>>0<1073741823?(n>>>0<j>>>0?j:n):2147483647);n=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=n;g=f[h>>2]|0;f[h>>2]=c;f[l>>2]=g;g=f[i>>2]|0;f[i>>2]=f[m>>2];f[m>>2]=g;if(n|0)pr(n);o=a}else{f[h>>2]=c;o=a}a=f[o>>2]|0;o=a;h=a;a=c>>>5;n=a<<2;if(!(b[d>>0]|0)){pj(h|0,0,n|0)|0;d=c-(a<<5)|0;g=o+(a<<2)|0;if(!d){u=e;return}f[g>>2]=f[g>>2]&~(-1>>>(32-d|0));u=e;return}else{pj(h|0,-1,n|0)|0;n=c-(a<<5)|0;c=o+(a<<2)|0;if(!n){u=e;return}f[c>>2]=f[c>>2]|-1>>>(32-n|0);u=e;return}}function ih(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;e=u;u=u+16|0;g=e+12|0;h=e+8|0;i=e;f[i>>2]=f[b>>2];f[g>>2]=f[i>>2];i=Dd(a,g,h,e+4|0,c)|0;c=f[i>>2]|0;if(c|0){j=c;u=e;return j|0}c=tn(40)|0;nj(c+16|0,d);nj(c+28|0,d+12|0);d=f[h>>2]|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=d;f[i>>2]=c;d=f[f[a>>2]>>2]|0;if(!d)k=c;else{f[a>>2]=d;k=f[i>>2]|0}He(f[a+4>>2]|0,k);k=a+8|0;f[k>>2]=(f[k>>2]|0)+1;j=c;u=e;return j|0}function jh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=a+4|0;c=f[b>>2]|0;d=(f[c+12>>2]|0)-(f[c+8>>2]|0)|0;c=d>>2;a:do if((d|0)>0){e=0;while(1){if(!(Ma[f[(f[a>>2]|0)+36>>2]&127](a,e)|0)){g=0;break}e=e+1|0;h=f[b>>2]|0;i=(f[h+12>>2]|0)-(f[h+8>>2]|0)>>2;if((e|0)>=(i|0)){j=i;break a}}return g|0}else j=c;while(0);c=a+20|0;b=a+24|0;d=f[b>>2]|0;e=f[c>>2]|0;i=d-e>>2;h=e;e=d;if(j>>>0<=i>>>0){if(j>>>0<i>>>0?(d=h+(j<<2)|0,(e|0)!=(d|0)):0)f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2)}else zi(c,j-i|0);i=f[a+12>>2]|0;j=f[a+8>>2]|0;a=j;if((i|0)==(j|0)){g=1;return g|0}d=i-j>>2;j=0;do{i=f[a+(j<<2)>>2]|0;e=f[i+8>>2]|0;b=f[i+4>>2]|0;i=b;if((e|0)!=(b|0)){h=f[c>>2]|0;k=e-b>>2;b=0;do{f[h+(f[i+(b<<2)>>2]<<2)>>2]=j;b=b+1|0}while(b>>>0<k>>>0)}j=j+1|0}while(j>>>0<d>>>0);g=1;return g|0}function kh(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;c=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;f[g>>2]=f[a+12>>2];h=b+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if((k|0)>0|(k|0)==0&j>>>0>0){l=k;m=j}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;j=h;l=f[j+4>>2]|0;m=f[j>>2]|0}f[g>>2]=f[a+20>>2];if((l|0)>0|(l|0)==0&m>>>0>0){n=a+88|0;hd(n,b);u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;n=a+88|0;hd(n,b);u=c;return 1}function lh(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;g=tn(32)|0;f[a>>2]=g;f[a+4>>2]=c+8;c=a+8|0;b[c>>0]=0;h=g+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[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;h=g+20|0;i=e+12|0;f[h>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;g=e+16|0;e=f[g>>2]|0;j=f[i>>2]|0;k=e-j|0;if(!k){l=j;m=e;n=0;o=l;p=m-o|0;eh(n|0,l|0,p|0)|0;b[c>>0]=1;q=f[a>>2]|0;r=q+4|0;f[r>>2]=d;f[q>>2]=0;return}Bi(h,k);l=f[i>>2]|0;m=f[g>>2]|0;n=f[h>>2]|0;o=l;p=m-o|0;eh(n|0,l|0,p|0)|0;b[c>>0]=1;q=f[a>>2]|0;r=q+4|0;f[r>>2]=d;f[q>>2]=0;return}function mh(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;if(c>>>0>4294967279)Cq(a);d=a+11|0;e=b[d>>0]|0;g=e<<24>>24<0;if(g){h=f[a+4>>2]|0;i=(f[a+8>>2]&2147483647)+-1|0}else{h=e&255;i=10}j=h>>>0>c>>>0?h:c;c=j>>>0<11;k=c?10:(j+16&-16)+-1|0;do if((k|0)!=(i|0)){do if(c){j=f[a>>2]|0;if(g){l=a;m=0;n=j;o=13}else{Yo(a,j,(e&255)+1|0)|0;pr(j);o=15}}else{j=tn(k+1|0)|0;if(g){l=j;m=1;n=f[a>>2]|0;o=13;break}else{Yo(j,a,(e&255)+1|0)|0;p=j;o=14;break}}while(0);if((o|0)==13){Yo(l,n,(f[a+4>>2]|0)+1|0)|0;pr(n);if(m){p=l;o=14}else o=15}if((o|0)==14){f[a+8>>2]=k+1|-2147483648;f[a+4>>2]=h;f[a>>2]=p;break}else if((o|0)==15){b[d>>0]=h;break}}while(0);return}function nh(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;c=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;f[g>>2]=f[a+12>>2];h=b+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if((k|0)>0|(k|0)==0&j>>>0>0){l=k;m=j}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;j=h;l=f[j+4>>2]|0;m=f[j>>2]|0}f[g>>2]=f[a+16>>2];if((l|0)>0|(l|0)==0&m>>>0>0){n=a+108|0;hd(n,b);u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;n=a+108|0;hd(n,b);u=c;return 1}function oh(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,r=0;c=a+32|0;d=f[a+64>>2]|0;e=(La[f[(f[d>>2]|0)+40>>2]&127](d)|0)+56|0;d=f[e>>2]|0;wi(c,(((f[d+100>>2]|0)-(f[d+96>>2]|0)|0)/12|0)*3|0,0,1)|0;d=a+68|0;e=f[d>>2]|0;g=(f[a+72>>2]|0)-e|0;if((g|0)<=0){eg(c);return}i=a+48|0;j=a+44|0;a=e;e=(g>>>2)+-1|0;while(1){g=f[a+(e<<2)>>2]|0;k=f[3652+(g<<2)>>2]|0;l=i;m=f[l+4>>2]|0;if((m|0)>0|(m|0)==0&(f[l>>2]|0)>>>0>0?(l=f[j>>2]|0,171>>>g&1|0):0){m=l+4|0;n=f[m>>2]|0;o=0;do{p=n>>>3;q=n&7;r=(f[l>>2]|0)+p|0;b[r>>0]=(h[r>>0]|0)&(1<<q^255);r=(f[l>>2]|0)+p|0;b[r>>0]=h[r>>0]|0|(g>>>o&1)<<q;n=(f[m>>2]|0)+1|0;f[m>>2]=n;o=o+1|0}while((o|0)!=(k|0))}k=e+-1|0;if((k|0)<=-1)break;a=f[d>>2]|0;e=k}eg(c);return}function ph(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;g=u;u=u+48|0;h=g;i=g+32|0;if(!c){j=0;u=g;return j|0}Rn(h);do if((lm(c,0)|0)!=-1){if(d){if(!(La[f[(f[c>>2]|0)+16>>2]&127](c)|0)){k=0;break}Qa[f[(f[c>>2]|0)+20>>2]&127](c)}Tg(i,a,c,h);l=(f[i>>2]|0)==0;m=i+4|0;if((b[m+11>>0]|0)<0)pr(f[m>>2]|0);if(l){l=f[h>>2]|0;m=h+4|0;pg(e,l,l+((f[m>>2]|0)-l)|0);k=(f[m>>2]|0)-(f[h>>2]|0)|0}else k=0}else k=0;while(0);e=h+12|0;i=f[e>>2]|0;f[e>>2]=0;if(i|0)pr(i);i=f[h>>2]|0;if(i|0){e=h+4|0;if((f[e>>2]|0)!=(i|0))f[e>>2]=i;pr(i)}j=k;u=g;return j|0}function qh(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;c=u;u=u+16|0;d=c;e=f[(f[a>>2]|0)+8>>2]|0;g=a+8|0;h=a+12|0;i=(f[h>>2]|0)-(f[g>>2]|0)>>2;j=f[b>>2]|0;f[b>>2]=0;f[d>>2]=j;Sa[e&15](a,i,d);i=f[d>>2]|0;f[d>>2]=0;if(!i){k=f[h>>2]|0;l=f[g>>2]|0;m=k-l|0;n=m>>2;o=n+-1|0;u=c;return o|0}d=i+88|0;a=f[d>>2]|0;f[d>>2]=0;if(a|0){d=f[a+8>>2]|0;if(d|0){e=a+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;pr(d)}pr(a)}a=f[i+68>>2]|0;if(a|0){d=i+72|0;e=f[d>>2]|0;if((e|0)!=(a|0))f[d>>2]=e+(~((e+-4-a|0)>>>2)<<2);pr(a)}a=i+64|0;e=f[a>>2]|0;f[a>>2]=0;if(e|0){a=f[e>>2]|0;if(a|0){d=e+4|0;if((f[d>>2]|0)!=(a|0))f[d>>2]=a;pr(a)}pr(e)}pr(i);k=f[h>>2]|0;l=f[g>>2]|0;m=k-l|0;n=m>>2;o=n+-1|0;u=c;return o|0}function rh(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;if(b[a+352>>0]|0)return 1;c=a+8|0;d=f[c>>2]|0;e=(f[d+12>>2]|0)-(f[d+8>>2]|0)|0;d=e>>2;g=a+172|0;Ci(g,d+-1|0);if(!((d|0)!=1&(e|0)>0))return 1;e=a+12|0;a=0;h=0;while(1){i=f[(f[(f[c>>2]|0)+8>>2]|0)+(h<<2)>>2]|0;if(!(f[i+56>>2]|0))j=a;else{k=f[g>>2]|0;f[k+(a*136|0)>>2]=h;l=f[k+(a*136|0)+104>>2]|0;m=k+(a*136|0)+108|0;n=f[m>>2]|0;if((n|0)!=(l|0))f[m>>2]=n+(~((n+-4-l|0)>>>2)<<2);l=f[e>>2]|0;Xj(k+(a*136|0)+104|0,(f[l+4>>2]|0)-(f[l>>2]|0)>>2);l=f[g>>2]|0;f[l+(a*136|0)+128>>2]=0;Bc(l+(a*136|0)+4|0,f[c>>2]|0,f[e>>2]|0,i)|0;j=a+1|0}h=h+1|0;if((h|0)>=(d|0))break;else a=j}return 1}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;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>3>>>0>=b>>>0){h=g;i=b;do{j=h;f[j>>2]=0;f[j+4>>2]=0;h=(f[e>>2]|0)+8|0;f[e>>2]=h;i=i+-1|0}while((i|0)!=0);return}i=f[a>>2]|0;h=g-i>>3;g=h+b|0;if(g>>>0>536870911)Cq(a);j=d-i|0;i=j>>2;d=j>>3>>>0<268435455?(i>>>0<g>>>0?g:i):536870911;do if(d)if(d>>>0>536870911){i=ra(8)|0;jp(i,16426);f[i>>2]=7416;va(i|0,1160,122)}else{k=tn(d<<3)|0;break}else k=0;while(0);i=k+(h<<3)|0;h=k+(d<<3)|0;d=i;k=b;b=i;do{g=d;f[g>>2]=0;f[g+4>>2]=0;d=b+8|0;b=d;k=k+-1|0}while((k|0)!=0);k=f[a>>2]|0;d=(f[e>>2]|0)-k|0;g=i+(0-(d>>3)<<3)|0;if((d|0)>0)eh(g|0,k|0,d|0)|0;f[a>>2]=g;f[e>>2]=b;f[c>>2]=h;if(!k)return;pr(k);return}function th(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;if(b[a+288>>0]|0)return 1;c=a+8|0;d=f[c>>2]|0;e=(f[d+12>>2]|0)-(f[d+8>>2]|0)|0;d=e>>2;g=a+172|0;Ci(g,d+-1|0);if(!((d|0)!=1&(e|0)>0))return 1;e=a+12|0;a=0;h=0;while(1){i=f[(f[(f[c>>2]|0)+8>>2]|0)+(h<<2)>>2]|0;if(!(f[i+56>>2]|0))j=a;else{k=f[g>>2]|0;f[k+(a*136|0)>>2]=h;l=f[k+(a*136|0)+104>>2]|0;m=k+(a*136|0)+108|0;n=f[m>>2]|0;if((n|0)!=(l|0))f[m>>2]=n+(~((n+-4-l|0)>>>2)<<2);l=f[e>>2]|0;Xj(k+(a*136|0)+104|0,(f[l+4>>2]|0)-(f[l>>2]|0)>>2);l=f[g>>2]|0;f[l+(a*136|0)+128>>2]=0;Bc(l+(a*136|0)+4|0,f[c>>2]|0,f[e>>2]|0,i)|0;j=a+1|0}h=h+1|0;if((h|0)>=(d|0))break;else a=j}return 1}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;e=u;u=u+16|0;g=e+4|0;h=e;i=e+8|0;j=a&255;b[i>>0]=j&127;do if(c>>>0>0|(c|0)==0&a>>>0>127){b[i>>0]=j|-128;k=d+16|0;l=f[k+4>>2]|0;if((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0){m=0;break}else{f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Fe(d,g,i,i+1|0)|0;k=jo(a|0,c|0,7)|0;m=uh(k,I,d)|0;break}}else{k=d+16|0;l=f[k+4>>2]|0;if((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0){m=0;break}f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Fe(d,g,i,i+1|0)|0;n=1;u=e;return n|0}while(0);n=m;u=e;return n|0}function vh(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;g=f[(f[(f[d+4>>2]|0)+8>>2]|0)+(c<<2)>>2]|0;if((b|0)==-1)h=Ui(c,d)|0;else h=b;if((h|0)==-2)i=0;else{do if((La[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){Tf(a,d,h,c,e,514);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);c=tn(44)|0;f[c>>2]=1608;f[c+4>>2]=g;g=c+8|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2];f[g+16>>2]=f[e+16>>2];f[g+20>>2]=f[e+20>>2];ik(c+32|0,e+24|0);f[c>>2]=1664;i=c}f[a>>2]=i;return}function wh(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;e=u;u=u+224|0;g=e+120|0;h=e+80|0;i=e;j=e+136|0;k=h;l=k+40|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[g>>2]=f[d>>2];if((kb(0,c,g,i,h)|0)<0)m=-1;else{if((f[a+76>>2]|0)>-1)n=vr(a)|0;else n=0;d=f[a>>2]|0;k=d&32;if((b[a+74>>0]|0)<1)f[a>>2]=d&-33;d=a+48|0;if(!(f[d>>2]|0)){l=a+44|0;o=f[l>>2]|0;f[l>>2]=j;p=a+28|0;f[p>>2]=j;q=a+20|0;f[q>>2]=j;f[d>>2]=80;r=a+16|0;f[r>>2]=j+80;j=kb(a,c,g,i,h)|0;if(!o)s=j;else{Na[f[a+36>>2]&31](a,0,0)|0;t=(f[q>>2]|0)==0?-1:j;f[l>>2]=o;f[d>>2]=0;f[r>>2]=0;f[p>>2]=0;f[q>>2]=0;s=t}}else s=kb(a,c,g,i,h)|0;h=f[a>>2]|0;f[a>>2]=h|k;if(n|0)ur(a);m=(h&32|0)==0?s:-1}u=e;return m|0}function xh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e>>2;h=d;if(g>>>0<b>>>0){Wf(a,b-g|0);return}if(g>>>0<=b>>>0)return;g=e+(b<<2)|0;if((h|0)==(g|0))return;else i=h;do{h=i+-4|0;f[c>>2]=h;b=f[h>>2]|0;f[h>>2]=0;if(b|0){h=b+88|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){h=f[e+8>>2]|0;if(h|0){a=e+12|0;if((f[a>>2]|0)!=(h|0))f[a>>2]=h;pr(h)}pr(e)}e=f[b+68>>2]|0;if(e|0){h=b+72|0;a=f[h>>2]|0;if((a|0)!=(e|0))f[h>>2]=a+(~((a+-4-e|0)>>>2)<<2);pr(e)}e=b+64|0;a=f[e>>2]|0;f[e>>2]=0;if(a|0){e=f[a>>2]|0;if(e|0){h=a+4|0;if((f[h>>2]|0)!=(e|0))f[h>>2]=e;pr(e)}pr(a)}pr(b)}i=f[c>>2]|0}while((i|0)!=(g|0));return}function yh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+16|0;e=d;if(!(kn(a,b,c)|0)){g=0;u=d;return g|0}if((La[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){g=0;u=d;return g|0}h=Vg(c,f[b+48>>2]|0)|0;Sa[f[(f[a>>2]|0)+48>>2]&15](e,a,h);h=a+36|0;b=f[e>>2]|0;f[e>>2]=0;c=f[h>>2]|0;f[h>>2]=b;if(c){Qa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[e>>2]|0;f[e>>2]=0;if(c|0)Qa[f[(f[c>>2]|0)+4>>2]&127](c)}else f[e>>2]=0;e=f[h>>2]|0;if(!e){g=1;u=d;return g|0}if(Ma[f[(f[a>>2]|0)+36>>2]&127](a,e)|0){g=1;u=d;return g|0}e=f[h>>2]|0;f[h>>2]=0;if(!e){g=1;u=d;return g|0}Qa[f[(f[e>>2]|0)+4>>2]&127](e);g=1;u=d;return g|0}function zh(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;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;i=h;if(e-h>>2>>>0>=b>>>0){j=i;k=b;while(1){f[j>>2]=f[c>>2];k=k+-1|0;if(!k)break;else j=j+4|0}f[g>>2]=i+(b<<2);return}i=f[a>>2]|0;j=h-i|0;h=j>>2;k=h+b|0;if(k>>>0>1073741823)Cq(a);l=e-i|0;e=l>>1;m=l>>2>>>0<536870911?(e>>>0<k>>>0?k:e):1073741823;do if(m)if(m>>>0>1073741823){e=ra(8)|0;jp(e,16426);f[e>>2]=7416;va(e|0,1160,122)}else{n=tn(m<<2)|0;break}else n=0;while(0);e=n+(h<<2)|0;k=n+(m<<2)|0;m=e;n=b;while(1){f[m>>2]=f[c>>2];n=n+-1|0;if(!n)break;else m=m+4|0}m=e+(0-h<<2)|0;if((j|0)>0)eh(m|0,i|0,j|0)|0;f[a>>2]=m;f[g>>2]=e+(b<<2);f[d>>2]=k;if(!i)return;pr(i);return}function Ah(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;e=(f[a>>2]|0)+1794895138|0;g=Fp(f[a+8>>2]|0,e)|0;h=Fp(f[a+12>>2]|0,e)|0;i=Fp(f[a+16>>2]|0,e)|0;a:do if((g>>>0<c>>>2>>>0?(j=c-(g<<2)|0,h>>>0<j>>>0&i>>>0<j>>>0):0)?((i|h)&3|0)==0:0){j=h>>>2;k=i>>>2;l=0;m=g;while(1){n=m>>>1;o=l+n|0;p=o<<1;q=p+j|0;r=Fp(f[a+(q<<2)>>2]|0,e)|0;s=Fp(f[a+(q+1<<2)>>2]|0,e)|0;if(!(s>>>0<c>>>0&r>>>0<(c-s|0)>>>0)){t=0;break a}if(b[a+(s+r)>>0]|0){t=0;break a}r=ll(d,a+s|0)|0;if(!r)break;s=(r|0)<0;if((m|0)==1){t=0;break a}else{l=s?l:o;m=s?n:m-n|0}}m=p+k|0;l=Fp(f[a+(m<<2)>>2]|0,e)|0;j=Fp(f[a+(m+1<<2)>>2]|0,e)|0;if(j>>>0<c>>>0&l>>>0<(c-j|0)>>>0)t=(b[a+(j+l)>>0]|0)==0?a+j|0:0;else t=0}else t=0;while(0);return t|0}function Bh(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,q=0;h=u;u=u+64|0;i=h;j=f[a>>2]|0;k=a+(f[j+-8>>2]|0)|0;l=f[j+-4>>2]|0;f[i>>2]=e;f[i+4>>2]=a;f[i+8>>2]=c;f[i+12>>2]=g;g=i+16|0;c=i+20|0;a=i+24|0;j=i+28|0;m=i+32|0;n=i+40|0;o=g;p=o+36|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));d[g+36>>1]=0;b[g+38>>0]=0;a:do if(Ep(l,e,0)|0){f[i+48>>2]=1;Va[f[(f[l>>2]|0)+20>>2]&3](l,i,k,k,1,0);q=(f[a>>2]|0)==1?k:0}else{Ua[f[(f[l>>2]|0)+24>>2]&3](l,i,k,1,0);switch(f[i+36>>2]|0){case 0:{q=(f[n>>2]|0)==1&(f[j>>2]|0)==1&(f[m>>2]|0)==1?f[c>>2]|0:0;break a;break}case 1:break;default:{q=0;break a}}if((f[a>>2]|0)!=1?!((f[n>>2]|0)==0&(f[j>>2]|0)==1&(f[m>>2]|0)==1):0){q=0;break}q=f[g>>2]|0}while(0);u=h;return q|0}function Ch(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;if(!c){g=0;u=d;return g|0}h=a+84|0;i=f[h>>2]|0;j=a+88|0;k=f[j>>2]|0;if((k|0)!=(i|0))f[j>>2]=k+(~((k+-4-i|0)>>>2)<<2);f[h>>2]=0;f[j>>2]=0;f[a+92>>2]=0;if(i|0)pr(i);i=a+72|0;j=f[i>>2]|0;h=a+76|0;if((f[h>>2]|0)!=(j|0))f[h>>2]=j;f[i>>2]=0;f[h>>2]=0;f[a+80>>2]=0;if(j|0)pr(j);j=c+4|0;h=(f[j>>2]|0)-(f[c>>2]|0)>>2;b[e>>0]=0;hh(a,h,e);h=c+24|0;i=c+28|0;k=(f[i>>2]|0)-(f[h>>2]|0)>>2;b[e>>0]=0;hh(a+12|0,k,e);fg(a+28|0,(f[j>>2]|0)-(f[c>>2]|0)>>2,6336);Xj(a+52|0,(f[i>>2]|0)-(f[h>>2]|0)>>2);Xj(a+40|0,(f[i>>2]|0)-(f[h>>2]|0)>>2);f[a+64>>2]=c;b[a+24>>0]=1;g=1;u=d;return g|0}function Dh(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a+12|0;d=f[a>>2]|0;e=a+8|0;g=f[e>>2]|0;h=(g|0)==-1;if(!(b[c>>0]|0)){do if((!h?(i=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(i|0)!=-1):0)?(j=f[(f[d+12>>2]|0)+(i<<2)>>2]|0,(j|0)!=-1):0)if(!((j>>>0)%3|0)){k=j+2|0;break}else{k=j+-1|0;break}else k=-1;while(0);f[e>>2]=k;return}k=g+1|0;if((!h?(h=((k>>>0)%3|0|0)==0?g+-2|0:k,(h|0)!=-1):0)?(k=f[(f[d+12>>2]|0)+(h<<2)>>2]|0,h=k+1|0,(k|0)!=-1):0){g=((h>>>0)%3|0|0)==0?k+-2|0:h;f[e>>2]=g;if((g|0)!=-1){if((g|0)!=(f[a+4>>2]|0))return;f[e>>2]=-1;return}}else f[e>>2]=-1;g=f[a+4>>2]|0;do if(((g|0)!=-1?(a=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(a|0)!=-1):0)?(h=f[(f[d+12>>2]|0)+(a<<2)>>2]|0,(h|0)!=-1):0)if(!((h>>>0)%3|0)){l=h+2|0;break}else{l=h+-1|0;break}else l=-1;while(0);f[e>>2]=l;b[c>>0]=0;return}function Eh(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Md(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+20>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0<g>>>0?g:c;if(e>>>0>=b>>>0)return;Md(a,e);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;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(d-g>>2>>>0>=b>>>0){i=h;j=b;while(1){f[i>>2]=1;j=j+-1|0;if(!j)break;else i=i+4|0}f[e>>2]=h+(b<<2);return}h=f[a>>2]|0;i=g-h|0;g=i>>2;j=g+b|0;if(j>>>0>1073741823)Cq(a);k=d-h|0;d=k>>1;l=k>>2>>>0<536870911?(d>>>0<j>>>0?j:d):1073741823;do if(l)if(l>>>0>1073741823){d=ra(8)|0;jp(d,16426);f[d>>2]=7416;va(d|0,1160,122)}else{m=tn(l<<2)|0;break}else m=0;while(0);d=m+(g<<2)|0;j=m+(l<<2)|0;l=d;m=b;while(1){f[l>>2]=1;m=m+-1|0;if(!m)break;else l=l+4|0}l=d+(0-g<<2)|0;if((i|0)>0)eh(l|0,h|0,i|0)|0;f[a>>2]=l;f[e>>2]=d+(b<<2);f[c>>2]=j;if(!h)return;pr(h);return}function Gh(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;e=u;u=u+48|0;g=e;h=e+32|0;i=a+4|0;j=f[i>>2]|0;if(!j){k=0;u=e;return k|0}do if(c)if(La[f[(f[j>>2]|0)+16>>2]&127](j)|0){l=f[i>>2]|0;Qa[f[(f[l>>2]|0)+20>>2]&127](l);break}else{k=0;u=e;return k|0}while(0);Rn(g);$i(h,f[a>>2]|0,g);a=(f[h>>2]|0)==0;i=h+4|0;if((b[i+11>>0]|0)<0)pr(f[i>>2]|0);if(a){a=f[g>>2]|0;i=g+4|0;pg(d,a,a+((f[i>>2]|0)-a)|0);m=(f[i>>2]|0)-(f[g>>2]|0)|0}else m=0;i=g+12|0;a=f[i>>2]|0;f[i>>2]=0;if(a|0)pr(a);a=f[g>>2]|0;if(a|0){i=g+4|0;if((f[i>>2]|0)!=(a|0))f[i>>2]=a;pr(a)}k=m;u=e;return k|0}function Hh(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;d=f[a+4>>2]|0;if(!d){e=0;return e|0}a=b[c+11>>0]|0;g=a<<24>>24<0;h=g?f[c+4>>2]|0:a&255;a=g?f[c>>2]|0:c;c=d;while(1){d=c+16|0;g=b[d+11>>0]|0;i=g<<24>>24<0;j=i?f[c+20>>2]|0:g&255;g=j>>>0<h>>>0;k=g?j:h;if((k|0)!=0?(l=Yk(a,i?f[d>>2]|0:d,k)|0,(l|0)!=0):0)if((l|0)<0)m=7;else m=8;else if(h>>>0<j>>>0)m=7;else m=8;if((m|0)==7){m=0;n=c}else if((m|0)==8){m=0;l=h>>>0<j>>>0?h:j;if((l|0)!=0?(j=Yk(i?f[d>>2]|0:d,a,l)|0,(j|0)!=0):0){if((j|0)>=0){e=1;m=14;break}}else m=10;if((m|0)==10?(m=0,!g):0){e=1;m=14;break}n=c+4|0}c=f[n>>2]|0;if(!c){e=0;m=14;break}}if((m|0)==14)return e|0;return 0}function Ih(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=u;u=u+16|0;d=c+12|0;e=c+8|0;g=c+4|0;h=c;i=a+4|0;j=(i|0)==(b|0);if(!j){f[g>>2]=f[b>>2];f[h>>2]=b+4;f[e>>2]=f[g>>2];f[d>>2]=f[h>>2];Kc(i,e,d)}if(!j){f[g>>2]=f[b+12>>2];f[h>>2]=b+16;f[e>>2]=f[g>>2];f[d>>2]=f[h>>2];Cc(a+16|0,e,d)}if(j){u=c;return}f[g>>2]=f[b+24>>2];f[h>>2]=b+28;f[e>>2]=f[g>>2];f[d>>2]=f[h>>2];Kc(a+28|0,e,d);u=c;return}function Jh(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;g=tn(32)|0;f[a>>2]=g;f[a+4>>2]=c+8;c=a+8|0;b[c>>0]=0;nj(g+8|0,e);h=g+20|0;i=e+12|0;f[h>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;g=e+16|0;e=f[g>>2]|0;j=f[i>>2]|0;k=e-j|0;if(!k){l=j;m=e;n=0;o=l;p=m-o|0;eh(n|0,l|0,p|0)|0;b[c>>0]=1;q=f[a>>2]|0;r=q+4|0;f[r>>2]=d;f[q>>2]=0;return}Bi(h,k);l=f[i>>2]|0;m=f[g>>2]|0;n=f[h>>2]|0;o=l;p=m-o|0;eh(n|0,l|0,p|0)|0;b[c>>0]=1;q=f[a>>2]|0;r=q+4|0;f[r>>2]=d;f[q>>2]=0;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,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=u;u=u+16|0;g=e+4|0;h=e;i=f[a+8>>2]|0;j=i+24|0;k=b[j>>0]|0;l=c+4|0;_f(a,(f[l>>2]|0)-(f[c>>2]|0)>>2,k,d);d=f[a+32>>2]|0;a=(f[f[d>>2]>>2]|0)+(f[d+48>>2]|0)|0;d=f[c>>2]|0;c=f[l>>2]|0;if((d|0)==(c|0)){m=1;u=e;return m|0}l=i+84|0;n=i+68|0;o=d;d=0;while(1){p=f[o>>2]|0;if(!(b[l>>0]|0))q=f[(f[n>>2]|0)+(p<<2)>>2]|0;else q=p;f[h>>2]=q;p=b[j>>0]|0;f[g>>2]=f[h>>2];if(!(Lb(i,g,p,a+(d<<2)|0)|0)){m=0;r=7;break}o=o+4|0;if((o|0)==(c|0)){m=1;r=7;break}else d=d+k|0}if((r|0)==7){u=e;return m|0}return 0}function Lh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=1472;b=a+72|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Qa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[a+60>>2]|0;if(c|0){b=a+64|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);pr(c)}c=f[a+48>>2]|0;if(c|0)pr(c);c=a+36|0;d=f[c>>2]|0;if(d|0){b=a+40|0;e=f[b>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[b>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0)Qa[f[(f[i>>2]|0)+4>>2]&127](i);h=f[b>>2]|0}while((h|0)!=(d|0));g=f[c>>2]|0}pr(g)}f[a>>2]=1296;g=f[a+16>>2]|0;if(g|0){c=a+20|0;d=f[c>>2]|0;if((d|0)!=(g|0))f[c>>2]=d+(~((d+-4-g|0)>>>2)<<2);pr(g)}g=f[a+4>>2]|0;if(!g)return;d=a+8|0;a=f[d>>2]|0;if((a|0)!=(g|0))f[d>>2]=a+(~((a+-4-g|0)>>>2)<<2);pr(g);return}function Mh(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;f[a>>2]=d;e=a+24|0;g=a+28|0;h=f[g>>2]|0;i=f[e>>2]|0;j=h-i>>2;k=i;i=h;if(j>>>0>=d>>>0){if(j>>>0>d>>>0?(h=k+(d<<2)|0,(i|0)!=(h|0)):0)f[g>>2]=i+(~((i+-4-h|0)>>>2)<<2)}else zi(e,d-j|0);if(!c)return;j=f[b>>2]|0;if((c|0)>1){d=1;e=j;h=j;while(1){i=f[b+(d<<2)>>2]|0;g=(i|0)<(h|0);k=g?i:h;l=g?e:(i|0)>(e|0)?i:e;d=d+1|0;if((d|0)==(c|0)){m=l;n=k;break}else{e=l;h=k}}}else{m=j;n=j}f[a+4>>2]=n;f[a+8>>2]=m;j=io(m|0,((m|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;n=I;if(!(n>>>0<0|(n|0)==0&j>>>0<2147483647))return;n=j+1|0;f[a+12>>2]=n;j=(n|0)/2|0;m=a+16|0;f[m>>2]=j;f[a+20>>2]=0-j;if(n&1|0)return;f[m>>2]=j+-1;return}function Nh(a){a=a|0;Dj(a+992|0);Dj(a+960|0);Dj(a+928|0);Dj(a+896|0);Dj(a+864|0);Dj(a+832|0);Dj(a+800|0);Dj(a+768|0);Dj(a+736|0);Dj(a+704|0);Dj(a+672|0);Dj(a+640|0);Dj(a+608|0);Dj(a+576|0);Dj(a+544|0);Dj(a+512|0);Dj(a+480|0);Dj(a+448|0);Dj(a+416|0);Dj(a+384|0);Dj(a+352|0);Dj(a+320|0);Dj(a+288|0);Dj(a+256|0);Dj(a+224|0);Dj(a+192|0);Dj(a+160|0);Dj(a+128|0);Dj(a+96|0);Dj(a+64|0);Dj(a+32|0);Dj(a);return}function Oh(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 Ph(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;a=u;u=u+16|0;e=a;if((c|0)<0|((b|0)==0|(d|0)==0)){g=0;u=a;return g|0}h=f[b+8>>2]|0;if(((f[b+12>>2]|0)-h>>2|0)<=(c|0)){g=0;u=a;return g|0}i=b+4|0;if(!(f[i>>2]|0)){j=tn(52)|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;n[j+16>>2]=$(1.0);k=j+20|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;n[j+36>>2]=$(1.0);f[j+40>>2]=0;f[j+44>>2]=0;f[j+48>>2]=0;f[b+4>>2]=j}j=f[(f[h+(c<<2)>>2]|0)+60>>2]|0;c=tn(44)|0;Ob(c,d);f[c+40>>2]=j;j=f[i>>2]|0;f[e>>2]=c;pk(j,e)|0;j=f[e>>2]|0;f[e>>2]=0;if(!j){g=1;u=a;return g|0}_i(j);pr(j);g=1;u=a;return g|0}function Qh(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;c=u;u=u+64|0;j=c;k=i?6:5;Ol(j);i=f[h+56>>2]|0;h=X($l(k)|0,e)|0;Hj(j,i,0,e&255,k,0,h,((h|0)<0)<<31>>31,0,0);h=tn(96)|0;xl(h,j);f[a>>2]=h;zj(h,d)|0;d=h+84|0;if(!g){b[d>>0]=1;a=f[h+68>>2]|0;j=h+72|0;k=f[j>>2]|0;if((k|0)==(a|0)){u=c;return}f[j>>2]=k+(~((k+-4-a|0)>>>2)<<2);u=c;return}b[d>>0]=0;d=h+68|0;a=h+72|0;h=f[a>>2]|0;k=f[d>>2]|0;j=h-k>>2;e=h;if(j>>>0<g>>>0){zh(d,g-j|0,1280);u=c;return}if(j>>>0<=g>>>0){u=c;return}j=k+(g<<2)|0;if((e|0)==(j|0)){u=c;return}f[a>>2]=e+(~((e+-4-j|0)>>>2)<<2);u=c;return}function Rh(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){nd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0<g>>>0?g:c;if(e>>>0>=b>>>0)return;nd(a,e);return}function Sh(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){rd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0<g>>>0?g:c;if(e>>>0>=b>>>0)return;rd(a,e);return}function Th(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){zd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0<g>>>0?g:c;if(e>>>0>=b>>>0)return;zd(a,e);return}function Uh(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Id(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0<g>>>0?g:c;if(e>>>0>=b>>>0)return;Id(a,e);return}function Vh(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){pd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0<g>>>0?g:c;if(e>>>0>=b>>>0)return;pd(a,e);return}function Wh(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){vd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0<g>>>0?g:c;if(e>>>0>=b>>>0)return;vd(a,e);return}function Xh(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Ed(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0<g>>>0?g:c;if(e>>>0>=b>>>0)return;Ed(a,e);return}function Yh(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){od(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0<g>>>0?g:c;if(e>>>0>=b>>>0)return;od(a,e);return}function Zh(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){sd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0<g>>>0?g:c;if(e>>>0>=b>>>0)return;sd(a,e);return}function _h(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Ad(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0<g>>>0?g:c;if(e>>>0>=b>>>0)return;Ad(a,e);return}function $h(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Jd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0<g>>>0?g:c;if(e>>>0>=b>>>0)return;Jd(a,e);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,l=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+8|0;b[h>>0]=a&127;do if(a>>>0>127){b[h>>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){k=0;break}else{f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Fe(c,e,h,h+1|0)|0;k=ai(a>>>7,c)|0;break}}else{i=c+16|0;j=f[i+4>>2]|0;if((j|0)>0|(j|0)==0&(f[i>>2]|0)>>>0>0){k=0;break}f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Fe(c,e,h,h+1|0)|0;l=1;u=d;return l|0}while(0);l=k;u=d;return l|0}function bi(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;Ce(e,a+40|0,f[a+8>>2]|0,b,c);ej(a,e);a=f[e>>2]|0;f[e>>2]=0;if(!a){u=d;return 1}e=a+88|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){e=f[c+8>>2]|0;if(e|0){b=c+12|0;if((f[b>>2]|0)!=(e|0))f[b>>2]=e;pr(e)}pr(c)}c=f[a+68>>2]|0;if(c|0){e=a+72|0;b=f[e>>2]|0;if((b|0)!=(c|0))f[e>>2]=b+(~((b+-4-c|0)>>>2)<<2);pr(c)}c=a+64|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){e=b+4|0;if((f[e>>2]|0)!=(c|0))f[e>>2]=c;pr(c)}pr(b)}pr(a);u=d;return 1}function ci(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){xd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0<g>>>0?g:c;if(e>>>0>=b>>>0)return;xd(a,e);return}function di(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+48|0;g=e;h=e+32|0;if(!c){i=0;u=e;return i|0}Rn(g);if((lm(c,0)|0)!=-1?La[f[(f[c>>2]|0)+16>>2]&127](c)|0:0){Qa[f[(f[c>>2]|0)+20>>2]&127](c);ng(h,a,c,g);c=(f[h>>2]|0)==0;a=h+4|0;if((b[a+11>>0]|0)<0)pr(f[a>>2]|0);if(c){c=f[g>>2]|0;a=g+4|0;pg(d,c,c+((f[a>>2]|0)-c)|0);j=(f[a>>2]|0)-(f[g>>2]|0)|0}else j=0}else j=0;a=g+12|0;c=f[a>>2]|0;f[a>>2]=0;if(c|0)pr(c);c=f[g>>2]|0;if(c|0){a=g+4|0;if((f[a>>2]|0)!=(c|0))f[a>>2]=c;pr(c)}i=j;u=e;return i|0}function ei(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;ze(e,a+40|0,f[a+8>>2]|0,b,c);ej(a,e);a=f[e>>2]|0;f[e>>2]=0;if(!a){u=d;return 1}e=a+88|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){e=f[c+8>>2]|0;if(e|0){b=c+12|0;if((f[b>>2]|0)!=(e|0))f[b>>2]=e;pr(e)}pr(c)}c=f[a+68>>2]|0;if(c|0){e=a+72|0;b=f[e>>2]|0;if((b|0)!=(c|0))f[e>>2]=b+(~((b+-4-c|0)>>>2)<<2);pr(c)}c=a+64|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){e=b+4|0;if((f[e>>2]|0)!=(c|0))f[e>>2]=c;pr(c)}pr(b)}pr(a);u=d;return 1}function fi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;d=f[c>>2]|0;if((d|0)==(b|0))e=b;else{g=d;do{d=g+-4|0;f[c>>2]=d;h=f[d>>2]|0;f[d>>2]=0;if(h|0){d=h+88|0;i=f[d>>2]|0;f[d>>2]=0;if(i|0){d=f[i+8>>2]|0;if(d|0){j=i+12|0;if((f[j>>2]|0)!=(d|0))f[j>>2]=d;pr(d)}pr(i)}i=f[h+68>>2]|0;if(i|0){d=h+72|0;j=f[d>>2]|0;if((j|0)!=(i|0))f[d>>2]=j+(~((j+-4-i|0)>>>2)<<2);pr(i)}i=h+64|0;j=f[i>>2]|0;f[i>>2]=0;if(j|0){i=f[j>>2]|0;if(i|0){d=j+4|0;if((f[d>>2]|0)!=(i|0))f[d>>2]=i;pr(i)}pr(j)}pr(h)}g=f[c>>2]|0}while((g|0)!=(b|0));e=f[a>>2]|0}pr(e);return}function gi(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;d=u;u=u+16|0;e=d+4|0;g=d;h=d+8|0;if(!(Be(a,c)|0)){i=0;u=d;return i|0}j=a+36|0;k=a+40|0;a=f[j>>2]|0;if((f[k>>2]|0)==(a|0)){i=1;u=d;return i|0}l=c+16|0;m=c+4|0;n=h+1|0;o=a;a=0;do{p=f[o+(a<<2)>>2]|0;q=La[f[(f[p>>2]|0)+32>>2]&127](p)|0;b[h>>0]=q;q=l;p=f[q+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[q>>2]|0)>>>0>0)){f[g>>2]=f[m>>2];f[e>>2]=f[g>>2];Fe(c,e,h,n)|0}a=a+1|0;o=f[j>>2]|0}while(a>>>0<(f[k>>2]|0)-o>>2>>>0);i=1;u=d;return i|0}function hi(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=u;u=u+16|0;d=c;Kp(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;e=a+24|0;Kp(e);f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;a=tn(32)|0;f[d>>2]=a;f[d+8>>2]=-2147483616;f[d+4>>2]=20;g=a;h=14868;i=g+20|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));b[a+20>>0]=0;Vj(e,d,1);if((b[d+11>>0]|0)<0)pr(f[d>>2]|0);f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;a=tn(32)|0;f[d>>2]=a;f[d+8>>2]=-2147483616;f[d+4>>2]=22;g=a;h=14889;i=g+22|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));b[a+22>>0]=0;Vj(e,d,1);if((b[d+11>>0]|0)>=0){u=c;return}pr(f[d>>2]|0);u=c;return}function ii(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=f[a+4>>2]|0;c=a+8|0;d=f[c>>2]|0;if((d|0)!=(b|0)){e=d;do{d=e+-4|0;f[c>>2]=d;g=f[d>>2]|0;f[d>>2]=0;if(g|0){d=g+88|0;h=f[d>>2]|0;f[d>>2]=0;if(h|0){d=f[h+8>>2]|0;if(d|0){i=h+12|0;if((f[i>>2]|0)!=(d|0))f[i>>2]=d;pr(d)}pr(h)}h=f[g+68>>2]|0;if(h|0){d=g+72|0;i=f[d>>2]|0;if((i|0)!=(h|0))f[d>>2]=i+(~((i+-4-h|0)>>>2)<<2);pr(h)}h=g+64|0;i=f[h>>2]|0;f[h>>2]=0;if(i|0){h=f[i>>2]|0;if(h|0){d=i+4|0;if((f[d>>2]|0)!=(h|0))f[d>>2]=h;pr(h)}pr(i)}pr(g)}e=f[c>>2]|0}while((e|0)!=(b|0))}b=f[a>>2]|0;if(!b)return;pr(b);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,m=0;c=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;f[g>>2]=f[a+12>>2];h=b+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if((k|0)>0|(k|0)==0&j>>>0>0){l=k;m=j}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;j=h;l=f[j+4>>2]|0;m=f[j>>2]|0}f[g>>2]=f[a+20>>2];if((l|0)>0|(l|0)==0&m>>>0>0){u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;u=c;return 1}function ki(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;c=u;u=u+16|0;d=c;e=tn(16)|0;f[d>>2]=e;f[d+8>>2]=-2147483632;f[d+4>>2]=14;g=e;h=14799;i=g+14|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));b[e+14>>0]=0;e=Ik(a,d,-1)|0;if((b[d+11>>0]|0)<0)pr(f[d>>2]|0);j=tn(16)|0;f[d>>2]=j;f[d+8>>2]=-2147483632;f[d+4>>2]=14;g=j;h=14814;i=g+14|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));b[j+14>>0]=0;j=Ik(a,d,-1)|0;if((b[d+11>>0]|0)>=0){k=(e|0)<(j|0);l=k?j:e;m=(l|0)==-1;n=m?5:l;u=c;return n|0}pr(f[d>>2]|0);k=(e|0)<(j|0);l=k?j:e;m=(l|0)==-1;n=m?5:l;u=c;return n|0}function li(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;c=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;f[g>>2]=f[a+12>>2];h=b+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if((k|0)>0|(k|0)==0&j>>>0>0){l=k;m=j}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;j=h;l=f[j+4>>2]|0;m=f[j>>2]|0}f[g>>2]=f[a+16>>2];if((l|0)>0|(l|0)==0&m>>>0>0){u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Fe(b,d,g,g+4|0)|0;u=c;return 1}function mi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;b=a+32|0;hd(a,b);c=a+80|0;d=f[c>>2]|0;if((d|0?(e=a+84|0,(f[e>>2]|0)>0):0)?(hd(d,b),(f[e>>2]|0)>1):0){d=1;do{hd((f[c>>2]|0)+(d<<5)|0,b);d=d+1|0}while((d|0)<(f[e>>2]|0))}e=a+136|0;d=a+140|0;a=f[e>>2]|0;if((f[d>>2]|0)==(a|0))return;c=a;a=0;while(1){g=c;ai((f[g+(a*12|0)+4>>2]|0)-(f[g+(a*12|0)>>2]|0)>>2,b)|0;g=f[e>>2]|0;h=f[g+(a*12|0)>>2]|0;i=(f[g+(a*12|0)+4>>2]|0)-h>>2;if(!i)j=g;else{Hc(h,i,1,0,b)|0;j=f[e>>2]|0}a=a+1|0;if(a>>>0>=(((f[d>>2]|0)-j|0)/12|0)>>>0)break;else c=j}return}function ni(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;e=d+16|0;g=f[e>>2]|0;if(!g)if(!(zl(d)|0)){h=f[e>>2]|0;i=5}else j=0;else{h=g;i=5}a:do if((i|0)==5){g=d+20|0;e=f[g>>2]|0;k=e;if((h-e|0)>>>0<c>>>0){j=Na[f[d+36>>2]&31](d,a,c)|0;break}b:do if((b[d+75>>0]|0)>-1){e=c;while(1){if(!e){l=k;m=0;n=c;o=a;break b}p=e+-1|0;if((b[a+p>>0]|0)==10)break;else e=p}p=Na[f[d+36>>2]&31](d,a,e)|0;if(p>>>0<e>>>0){j=p;break a}l=f[g>>2]|0;m=e;n=c-e|0;o=a+e|0}else{l=k;m=0;n=c;o=a}while(0);eh(l|0,o|0,n|0)|0;f[g>>2]=(f[g>>2]|0)+n;j=m+n|0}while(0);return j|0}function oi(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+12|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d+28>>2]|0;if(c|0){e=c;do{c=e;e=f[e>>2]|0;oi(c+8|0);pr(c)}while((e|0)!=0)}e=d+20|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0)pr(c);c=f[d+8>>2]|0;if(c|0){e=c;do{c=e;e=f[e>>2]|0;g=c+8|0;h=f[c+20>>2]|0;if(h|0){i=c+24|0;if((f[i>>2]|0)!=(h|0))f[i>>2]=h;pr(h)}if((b[g+11>>0]|0)<0)pr(f[g>>2]|0);pr(c)}while((e|0)!=0)}e=f[d>>2]|0;f[d>>2]=0;if(e|0)pr(e);pr(d)}if((b[a+11>>0]|0)>=0)return;pr(f[a>>2]|0);return}function pi(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;g=u;u=u+32|0;h=g+12|0;i=g;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;if((e|0)>0){j=i+11|0;k=i+4|0;l=0;do{if((l|0)>0)Kn(h,14714)|0;ml(i,$(n[d+(l<<2)>>2]));m=b[j>>0]|0;o=m<<24>>24<0;kj(h,o?f[i>>2]|0:i,o?f[k>>2]|0:m&255)|0;if((b[j>>0]|0)<0)pr(f[i>>2]|0);l=l+1|0}while((l|0)<(e|0))}gm(xi(a,c)|0,h)|0;if((b[h+11>>0]|0)>=0){u=g;return}pr(f[h>>2]|0);u=g;return}function qi(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;c=u;u=u+16|0;d=c;if((La[f[(f[b>>2]|0)+20>>2]&127](b)|0)<=0){e=1;u=c;return e|0}g=a+4|0;h=a+20|0;i=a+24|0;j=a+16|0;a=0;while(1){k=f[(f[g>>2]|0)+4>>2]|0;l=lm(k,Ma[f[(f[b>>2]|0)+24>>2]&127](b,a)|0)|0;f[d>>2]=l;if((l|0)==-1)break;k=f[h>>2]|0;if((k|0)==(f[i>>2]|0))Ti(j,d);else{f[k>>2]=l;f[h>>2]=k+4}kl(f[g>>2]|0,f[d>>2]|0)|0;a=a+1|0;if((a|0)>=(La[f[(f[b>>2]|0)+20>>2]&127](b)|0)){e=1;m=9;break}}if((m|0)==9){u=c;return e|0}e=0;u=c;return e|0}
function Wa(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,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0;b=u;u=u+16|0;c=b;do if(a>>>0<245){d=a>>>0<11?16:a+11&-8;e=d>>>3;g=f[4882]|0;h=g>>>e;if(h&3|0){i=(h&1^1)+e|0;j=19568+(i<<1<<2)|0;k=j+8|0;l=f[k>>2]|0;m=l+8|0;n=f[m>>2]|0;if((j|0)==(n|0))f[4882]=g&~(1<<i);else{f[n+12>>2]=j;f[k>>2]=n}n=i<<3;f[l+4>>2]=n|3;i=l+n+4|0;f[i>>2]=f[i>>2]|1;o=m;u=b;return o|0}m=f[4884]|0;if(d>>>0>m>>>0){if(h|0){i=2<<e;n=h<<e&(i|0-i);i=(n&0-n)+-1|0;n=i>>>12&16;e=i>>>n;i=e>>>5&8;h=e>>>i;e=h>>>2&4;l=h>>>e;h=l>>>1&2;k=l>>>h;l=k>>>1&1;j=(i|n|e|h|l)+(k>>>l)|0;l=19568+(j<<1<<2)|0;k=l+8|0;h=f[k>>2]|0;e=h+8|0;n=f[e>>2]|0;if((l|0)==(n|0)){i=g&~(1<<j);f[4882]=i;p=i}else{f[n+12>>2]=l;f[k>>2]=n;p=g}n=(j<<3)-d|0;f[h+4>>2]=d|3;j=h+d|0;f[j+4>>2]=n|1;f[j+n>>2]=n;if(m|0){h=f[4887]|0;k=m>>>3;l=19568+(k<<1<<2)|0;i=1<<k;if(!(p&i)){f[4882]=p|i;q=l+8|0;r=l}else{i=l+8|0;q=i;r=f[i>>2]|0}f[q>>2]=h;f[r+12>>2]=h;f[h+8>>2]=r;f[h+12>>2]=l}f[4884]=n;f[4887]=j;o=e;u=b;return o|0}e=f[4883]|0;if(e){j=(e&0-e)+-1|0;n=j>>>12&16;l=j>>>n;j=l>>>5&8;h=l>>>j;l=h>>>2&4;i=h>>>l;h=i>>>1&2;k=i>>>h;i=k>>>1&1;s=f[19832+((j|n|l|h|i)+(k>>>i)<<2)>>2]|0;i=(f[s+4>>2]&-8)-d|0;k=f[s+16+(((f[s+16>>2]|0)==0&1)<<2)>>2]|0;if(!k){t=i;v=s}else{h=k;k=i;i=s;while(1){s=(f[h+4>>2]&-8)-d|0;l=s>>>0<k>>>0;n=l?s:k;s=l?h:i;h=f[h+16+(((f[h+16>>2]|0)==0&1)<<2)>>2]|0;if(!h){t=n;v=s;break}else{k=n;i=s}}}i=v+d|0;if(v>>>0<i>>>0){k=f[v+24>>2]|0;h=f[v+12>>2]|0;do if((h|0)==(v|0)){s=v+20|0;n=f[s>>2]|0;if(!n){l=v+16|0;j=f[l>>2]|0;if(!j){w=0;break}else{x=j;y=l}}else{x=n;y=s}while(1){s=x+20|0;n=f[s>>2]|0;if(n|0){x=n;y=s;continue}s=x+16|0;n=f[s>>2]|0;if(!n)break;else{x=n;y=s}}f[y>>2]=0;w=x}else{s=f[v+8>>2]|0;f[s+12>>2]=h;f[h+8>>2]=s;w=h}while(0);do if(k|0){h=f[v+28>>2]|0;s=19832+(h<<2)|0;if((v|0)==(f[s>>2]|0)){f[s>>2]=w;if(!w){f[4883]=e&~(1<<h);break}}else{f[k+16+(((f[k+16>>2]|0)!=(v|0)&1)<<2)>>2]=w;if(!w)break}f[w+24>>2]=k;h=f[v+16>>2]|0;if(h|0){f[w+16>>2]=h;f[h+24>>2]=w}h=f[v+20>>2]|0;if(h|0){f[w+20>>2]=h;f[h+24>>2]=w}}while(0);if(t>>>0<16){k=t+d|0;f[v+4>>2]=k|3;e=v+k+4|0;f[e>>2]=f[e>>2]|1}else{f[v+4>>2]=d|3;f[i+4>>2]=t|1;f[i+t>>2]=t;if(m|0){e=f[4887]|0;k=m>>>3;h=19568+(k<<1<<2)|0;s=1<<k;if(!(g&s)){f[4882]=g|s;z=h+8|0;A=h}else{s=h+8|0;z=s;A=f[s>>2]|0}f[z>>2]=e;f[A+12>>2]=e;f[e+8>>2]=A;f[e+12>>2]=h}f[4884]=t;f[4887]=i}o=v+8|0;u=b;return o|0}else B=d}else B=d}else B=d}else if(a>>>0<=4294967231){h=a+11|0;e=h&-8;s=f[4883]|0;if(s){k=0-e|0;n=h>>>8;if(n)if(e>>>0>16777215)C=31;else{h=(n+1048320|0)>>>16&8;l=n<<h;n=(l+520192|0)>>>16&4;j=l<<n;l=(j+245760|0)>>>16&2;D=14-(n|h|l)+(j<<l>>>15)|0;C=e>>>(D+7|0)&1|D<<1}else C=0;D=f[19832+(C<<2)>>2]|0;a:do if(!D){E=k;F=0;G=0;H=57}else{l=k;j=0;h=e<<((C|0)==31?0:25-(C>>>1)|0);n=D;I=0;while(1){J=(f[n+4>>2]&-8)-e|0;if(J>>>0<l>>>0)if(!J){K=0;L=n;M=n;H=61;break a}else{N=J;O=n}else{N=l;O=I}J=f[n+20>>2]|0;n=f[n+16+(h>>>31<<2)>>2]|0;P=(J|0)==0|(J|0)==(n|0)?j:J;J=(n|0)==0;if(J){E=N;F=P;G=O;H=57;break}else{l=N;j=P;h=h<<((J^1)&1);I=O}}}while(0);if((H|0)==57){if((F|0)==0&(G|0)==0){D=2<<C;k=s&(D|0-D);if(!k){B=e;break}D=(k&0-k)+-1|0;k=D>>>12&16;d=D>>>k;D=d>>>5&8;i=d>>>D;d=i>>>2&4;g=i>>>d;i=g>>>1&2;m=g>>>i;g=m>>>1&1;Q=f[19832+((D|k|d|i|g)+(m>>>g)<<2)>>2]|0;R=0}else{Q=F;R=G}if(!Q){S=E;T=R}else{K=E;L=Q;M=R;H=61}}if((H|0)==61)while(1){H=0;g=(f[L+4>>2]&-8)-e|0;m=g>>>0<K>>>0;i=m?g:K;g=m?L:M;L=f[L+16+(((f[L+16>>2]|0)==0&1)<<2)>>2]|0;if(!L){S=i;T=g;break}else{K=i;M=g;H=61}}if((T|0)!=0?S>>>0<((f[4884]|0)-e|0)>>>0:0){g=T+e|0;if(T>>>0>=g>>>0){o=0;u=b;return o|0}i=f[T+24>>2]|0;m=f[T+12>>2]|0;do if((m|0)==(T|0)){d=T+20|0;k=f[d>>2]|0;if(!k){D=T+16|0;I=f[D>>2]|0;if(!I){U=0;break}else{V=I;W=D}}else{V=k;W=d}while(1){d=V+20|0;k=f[d>>2]|0;if(k|0){V=k;W=d;continue}d=V+16|0;k=f[d>>2]|0;if(!k)break;else{V=k;W=d}}f[W>>2]=0;U=V}else{d=f[T+8>>2]|0;f[d+12>>2]=m;f[m+8>>2]=d;U=m}while(0);do if(i){m=f[T+28>>2]|0;d=19832+(m<<2)|0;if((T|0)==(f[d>>2]|0)){f[d>>2]=U;if(!U){d=s&~(1<<m);f[4883]=d;X=d;break}}else{f[i+16+(((f[i+16>>2]|0)!=(T|0)&1)<<2)>>2]=U;if(!U){X=s;break}}f[U+24>>2]=i;d=f[T+16>>2]|0;if(d|0){f[U+16>>2]=d;f[d+24>>2]=U}d=f[T+20>>2]|0;if(d){f[U+20>>2]=d;f[d+24>>2]=U;X=s}else X=s}else X=s;while(0);do if(S>>>0>=16){f[T+4>>2]=e|3;f[g+4>>2]=S|1;f[g+S>>2]=S;s=S>>>3;if(S>>>0<256){i=19568+(s<<1<<2)|0;d=f[4882]|0;m=1<<s;if(!(d&m)){f[4882]=d|m;Y=i+8|0;Z=i}else{m=i+8|0;Y=m;Z=f[m>>2]|0}f[Y>>2]=g;f[Z+12>>2]=g;f[g+8>>2]=Z;f[g+12>>2]=i;break}i=S>>>8;if(i)if(S>>>0>16777215)_=31;else{m=(i+1048320|0)>>>16&8;d=i<<m;i=(d+520192|0)>>>16&4;s=d<<i;d=(s+245760|0)>>>16&2;k=14-(i|m|d)+(s<<d>>>15)|0;_=S>>>(k+7|0)&1|k<<1}else _=0;k=19832+(_<<2)|0;f[g+28>>2]=_;d=g+16|0;f[d+4>>2]=0;f[d>>2]=0;d=1<<_;if(!(X&d)){f[4883]=X|d;f[k>>2]=g;f[g+24>>2]=k;f[g+12>>2]=g;f[g+8>>2]=g;break}d=S<<((_|0)==31?0:25-(_>>>1)|0);s=f[k>>2]|0;while(1){if((f[s+4>>2]&-8|0)==(S|0)){H=97;break}$=s+16+(d>>>31<<2)|0;k=f[$>>2]|0;if(!k){H=96;break}else{d=d<<1;s=k}}if((H|0)==96){f[$>>2]=g;f[g+24>>2]=s;f[g+12>>2]=g;f[g+8>>2]=g;break}else if((H|0)==97){d=s+8|0;k=f[d>>2]|0;f[k+12>>2]=g;f[d>>2]=g;f[g+8>>2]=k;f[g+12>>2]=s;f[g+24>>2]=0;break}}else{k=S+e|0;f[T+4>>2]=k|3;d=T+k+4|0;f[d>>2]=f[d>>2]|1}while(0);o=T+8|0;u=b;return o|0}else B=e}else B=e}else B=-1;while(0);T=f[4884]|0;if(T>>>0>=B>>>0){S=T-B|0;$=f[4887]|0;if(S>>>0>15){_=$+B|0;f[4887]=_;f[4884]=S;f[_+4>>2]=S|1;f[_+S>>2]=S;f[$+4>>2]=B|3}else{f[4884]=0;f[4887]=0;f[$+4>>2]=T|3;S=$+T+4|0;f[S>>2]=f[S>>2]|1}o=$+8|0;u=b;return o|0}$=f[4885]|0;if($>>>0>B>>>0){S=$-B|0;f[4885]=S;T=f[4888]|0;_=T+B|0;f[4888]=_;f[_+4>>2]=S|1;f[T+4>>2]=B|3;o=T+8|0;u=b;return o|0}if(!(f[5e3]|0)){f[5002]=4096;f[5001]=4096;f[5003]=-1;f[5004]=-1;f[5005]=0;f[4993]=0;T=c&-16^1431655768;f[c>>2]=T;f[5e3]=T;aa=4096}else aa=f[5002]|0;T=B+48|0;c=B+47|0;S=aa+c|0;_=0-aa|0;aa=S&_;if(aa>>>0<=B>>>0){o=0;u=b;return o|0}X=f[4992]|0;if(X|0?(Z=f[4990]|0,Y=Z+aa|0,Y>>>0<=Z>>>0|Y>>>0>X>>>0):0){o=0;u=b;return o|0}b:do if(!(f[4993]&4)){X=f[4888]|0;c:do if(X){Y=19976;while(1){Z=f[Y>>2]|0;if(Z>>>0<=X>>>0?(ba=Y+4|0,(Z+(f[ba>>2]|0)|0)>>>0>X>>>0):0)break;Z=f[Y+8>>2]|0;if(!Z){H=118;break c}else Y=Z}s=S-$&_;if(s>>>0<2147483647){Z=Jl(s|0)|0;if((Z|0)==((f[Y>>2]|0)+(f[ba>>2]|0)|0))if((Z|0)==(-1|0))ca=s;else{da=Z;ea=s;H=135;break b}else{fa=Z;ga=s;H=126}}else ca=0}else H=118;while(0);do if((H|0)==118){X=Jl(0)|0;if((X|0)!=(-1|0)?(e=X,s=f[5001]|0,Z=s+-1|0,U=((Z&e|0)==0?0:(Z+e&0-s)-e|0)+aa|0,e=f[4990]|0,s=U+e|0,U>>>0>B>>>0&U>>>0<2147483647):0){Z=f[4992]|0;if(Z|0?s>>>0<=e>>>0|s>>>0>Z>>>0:0){ca=0;break}Z=Jl(U|0)|0;if((Z|0)==(X|0)){da=X;ea=U;H=135;break b}else{fa=Z;ga=U;H=126}}else ca=0}while(0);do if((H|0)==126){U=0-ga|0;if(!(T>>>0>ga>>>0&(ga>>>0<2147483647&(fa|0)!=(-1|0))))if((fa|0)==(-1|0)){ca=0;break}else{da=fa;ea=ga;H=135;break b}Z=f[5002]|0;X=c-ga+Z&0-Z;if(X>>>0>=2147483647){da=fa;ea=ga;H=135;break b}if((Jl(X|0)|0)==(-1|0)){Jl(U|0)|0;ca=0;break}else{da=fa;ea=X+ga|0;H=135;break b}}while(0);f[4993]=f[4993]|4;ha=ca;H=133}else{ha=0;H=133}while(0);if(((H|0)==133?aa>>>0<2147483647:0)?(ca=Jl(aa|0)|0,aa=Jl(0)|0,ga=aa-ca|0,fa=ga>>>0>(B+40|0)>>>0,!((ca|0)==(-1|0)|fa^1|ca>>>0<aa>>>0&((ca|0)!=(-1|0)&(aa|0)!=(-1|0))^1)):0){da=ca;ea=fa?ga:ha;H=135}if((H|0)==135){ha=(f[4990]|0)+ea|0;f[4990]=ha;if(ha>>>0>(f[4991]|0)>>>0)f[4991]=ha;ha=f[4888]|0;do if(ha){ga=19976;while(1){ia=f[ga>>2]|0;ja=ga+4|0;ka=f[ja>>2]|0;if((da|0)==(ia+ka|0)){H=145;break}fa=f[ga+8>>2]|0;if(!fa)break;else ga=fa}if(((H|0)==145?(f[ga+12>>2]&8|0)==0:0)?ha>>>0<da>>>0&ha>>>0>=ia>>>0:0){f[ja>>2]=ka+ea;fa=ha+8|0;ca=(fa&7|0)==0?0:0-fa&7;fa=ha+ca|0;aa=(f[4885]|0)+(ea-ca)|0;f[4888]=fa;f[4885]=aa;f[fa+4>>2]=aa|1;f[fa+aa+4>>2]=40;f[4889]=f[5004];break}if(da>>>0<(f[4886]|0)>>>0)f[4886]=da;aa=da+ea|0;fa=19976;while(1){if((f[fa>>2]|0)==(aa|0)){H=153;break}ca=f[fa+8>>2]|0;if(!ca)break;else fa=ca}if((H|0)==153?(f[fa+12>>2]&8|0)==0:0){f[fa>>2]=da;ga=fa+4|0;f[ga>>2]=(f[ga>>2]|0)+ea;ga=da+8|0;ca=da+((ga&7|0)==0?0:0-ga&7)|0;ga=aa+8|0;c=aa+((ga&7|0)==0?0:0-ga&7)|0;ga=ca+B|0;T=c-ca-B|0;f[ca+4>>2]=B|3;do if((c|0)!=(ha|0)){if((c|0)==(f[4887]|0)){ba=(f[4884]|0)+T|0;f[4884]=ba;f[4887]=ga;f[ga+4>>2]=ba|1;f[ga+ba>>2]=ba;break}ba=f[c+4>>2]|0;if((ba&3|0)==1){_=ba&-8;$=ba>>>3;d:do if(ba>>>0<256){S=f[c+8>>2]|0;X=f[c+12>>2]|0;if((X|0)==(S|0)){f[4882]=f[4882]&~(1<<$);break}else{f[S+12>>2]=X;f[X+8>>2]=S;break}}else{S=f[c+24>>2]|0;X=f[c+12>>2]|0;do if((X|0)==(c|0)){U=c+16|0;Z=U+4|0;s=f[Z>>2]|0;if(!s){e=f[U>>2]|0;if(!e){la=0;break}else{ma=e;na=U}}else{ma=s;na=Z}while(1){Z=ma+20|0;s=f[Z>>2]|0;if(s|0){ma=s;na=Z;continue}Z=ma+16|0;s=f[Z>>2]|0;if(!s)break;else{ma=s;na=Z}}f[na>>2]=0;la=ma}else{Z=f[c+8>>2]|0;f[Z+12>>2]=X;f[X+8>>2]=Z;la=X}while(0);if(!S)break;X=f[c+28>>2]|0;Z=19832+(X<<2)|0;do if((c|0)!=(f[Z>>2]|0)){f[S+16+(((f[S+16>>2]|0)!=(c|0)&1)<<2)>>2]=la;if(!la)break d}else{f[Z>>2]=la;if(la|0)break;f[4883]=f[4883]&~(1<<X);break d}while(0);f[la+24>>2]=S;X=c+16|0;Z=f[X>>2]|0;if(Z|0){f[la+16>>2]=Z;f[Z+24>>2]=la}Z=f[X+4>>2]|0;if(!Z)break;f[la+20>>2]=Z;f[Z+24>>2]=la}while(0);oa=c+_|0;pa=_+T|0}else{oa=c;pa=T}$=oa+4|0;f[$>>2]=f[$>>2]&-2;f[ga+4>>2]=pa|1;f[ga+pa>>2]=pa;$=pa>>>3;if(pa>>>0<256){ba=19568+($<<1<<2)|0;Y=f[4882]|0;Z=1<<$;if(!(Y&Z)){f[4882]=Y|Z;qa=ba+8|0;ra=ba}else{Z=ba+8|0;qa=Z;ra=f[Z>>2]|0}f[qa>>2]=ga;f[ra+12>>2]=ga;f[ga+8>>2]=ra;f[ga+12>>2]=ba;break}ba=pa>>>8;do if(!ba)sa=0;else{if(pa>>>0>16777215){sa=31;break}Z=(ba+1048320|0)>>>16&8;Y=ba<<Z;$=(Y+520192|0)>>>16&4;X=Y<<$;Y=(X+245760|0)>>>16&2;s=14-($|Z|Y)+(X<<Y>>>15)|0;sa=pa>>>(s+7|0)&1|s<<1}while(0);ba=19832+(sa<<2)|0;f[ga+28>>2]=sa;_=ga+16|0;f[_+4>>2]=0;f[_>>2]=0;_=f[4883]|0;s=1<<sa;if(!(_&s)){f[4883]=_|s;f[ba>>2]=ga;f[ga+24>>2]=ba;f[ga+12>>2]=ga;f[ga+8>>2]=ga;break}s=pa<<((sa|0)==31?0:25-(sa>>>1)|0);_=f[ba>>2]|0;while(1){if((f[_+4>>2]&-8|0)==(pa|0)){H=194;break}ta=_+16+(s>>>31<<2)|0;ba=f[ta>>2]|0;if(!ba){H=193;break}else{s=s<<1;_=ba}}if((H|0)==193){f[ta>>2]=ga;f[ga+24>>2]=_;f[ga+12>>2]=ga;f[ga+8>>2]=ga;break}else if((H|0)==194){s=_+8|0;ba=f[s>>2]|0;f[ba+12>>2]=ga;f[s>>2]=ga;f[ga+8>>2]=ba;f[ga+12>>2]=_;f[ga+24>>2]=0;break}}else{ba=(f[4885]|0)+T|0;f[4885]=ba;f[4888]=ga;f[ga+4>>2]=ba|1}while(0);o=ca+8|0;u=b;return o|0}ga=19976;while(1){T=f[ga>>2]|0;if(T>>>0<=ha>>>0?(ua=T+(f[ga+4>>2]|0)|0,ua>>>0>ha>>>0):0)break;ga=f[ga+8>>2]|0}ga=ua+-47|0;ca=ga+8|0;T=ga+((ca&7|0)==0?0:0-ca&7)|0;ca=ha+16|0;ga=T>>>0<ca>>>0?ha:T;T=ga+8|0;c=da+8|0;aa=(c&7|0)==0?0:0-c&7;c=da+aa|0;fa=ea+-40-aa|0;f[4888]=c;f[4885]=fa;f[c+4>>2]=fa|1;f[c+fa+4>>2]=40;f[4889]=f[5004];fa=ga+4|0;f[fa>>2]=27;f[T>>2]=f[4994];f[T+4>>2]=f[4995];f[T+8>>2]=f[4996];f[T+12>>2]=f[4997];f[4994]=da;f[4995]=ea;f[4997]=0;f[4996]=T;T=ga+24|0;do{c=T;T=T+4|0;f[T>>2]=7}while((c+8|0)>>>0<ua>>>0);if((ga|0)!=(ha|0)){T=ga-ha|0;f[fa>>2]=f[fa>>2]&-2;f[ha+4>>2]=T|1;f[ga>>2]=T;c=T>>>3;if(T>>>0<256){aa=19568+(c<<1<<2)|0;ba=f[4882]|0;s=1<<c;if(!(ba&s)){f[4882]=ba|s;va=aa+8|0;wa=aa}else{s=aa+8|0;va=s;wa=f[s>>2]|0}f[va>>2]=ha;f[wa+12>>2]=ha;f[ha+8>>2]=wa;f[ha+12>>2]=aa;break}aa=T>>>8;if(aa)if(T>>>0>16777215)xa=31;else{s=(aa+1048320|0)>>>16&8;ba=aa<<s;aa=(ba+520192|0)>>>16&4;c=ba<<aa;ba=(c+245760|0)>>>16&2;Y=14-(aa|s|ba)+(c<<ba>>>15)|0;xa=T>>>(Y+7|0)&1|Y<<1}else xa=0;Y=19832+(xa<<2)|0;f[ha+28>>2]=xa;f[ha+20>>2]=0;f[ca>>2]=0;ba=f[4883]|0;c=1<<xa;if(!(ba&c)){f[4883]=ba|c;f[Y>>2]=ha;f[ha+24>>2]=Y;f[ha+12>>2]=ha;f[ha+8>>2]=ha;break}c=T<<((xa|0)==31?0:25-(xa>>>1)|0);ba=f[Y>>2]|0;while(1){if((f[ba+4>>2]&-8|0)==(T|0)){H=216;break}ya=ba+16+(c>>>31<<2)|0;Y=f[ya>>2]|0;if(!Y){H=215;break}else{c=c<<1;ba=Y}}if((H|0)==215){f[ya>>2]=ha;f[ha+24>>2]=ba;f[ha+12>>2]=ha;f[ha+8>>2]=ha;break}else if((H|0)==216){c=ba+8|0;T=f[c>>2]|0;f[T+12>>2]=ha;f[c>>2]=ha;f[ha+8>>2]=T;f[ha+12>>2]=ba;f[ha+24>>2]=0;break}}}else{T=f[4886]|0;if((T|0)==0|da>>>0<T>>>0)f[4886]=da;f[4994]=da;f[4995]=ea;f[4997]=0;f[4891]=f[5e3];f[4890]=-1;T=0;do{c=19568+(T<<1<<2)|0;f[c+12>>2]=c;f[c+8>>2]=c;T=T+1|0}while((T|0)!=32);T=da+8|0;ba=(T&7|0)==0?0:0-T&7;T=da+ba|0;c=ea+-40-ba|0;f[4888]=T;f[4885]=c;f[T+4>>2]=c|1;f[T+c+4>>2]=40;f[4889]=f[5004]}while(0);ea=f[4885]|0;if(ea>>>0>B>>>0){da=ea-B|0;f[4885]=da;ea=f[4888]|0;ha=ea+B|0;f[4888]=ha;f[ha+4>>2]=da|1;f[ea+4>>2]=B|3;o=ea+8|0;u=b;return o|0}}ea=er()|0;f[ea>>2]=12;o=0;u=b;return o|0}function Xa(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,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0.0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0;i=u;u=u+240|0;j=i+104|0;k=i+224|0;l=i+176|0;m=i+160|0;n=i+228|0;o=i+72|0;p=i+40|0;q=i+132|0;r=i;s=i+172|0;t=i+156|0;v=i+152|0;w=i+148|0;x=i+144|0;y=i+128|0;z=a+8|0;Mh(z,c,e,g);e=f[a+48>>2]|0;A=f[a+52>>2]|0;B=l;C=B+48|0;do{f[B>>2]=0;B=B+4|0}while((B|0)<(C|0));if(!g){D=0;E=0}else{zi(l,g);D=f[l+12>>2]|0;E=f[l+16>>2]|0}B=l+16|0;C=E-D>>2;F=D;D=E;if(C>>>0>=g>>>0){if(C>>>0>g>>>0?(E=F+(g<<2)|0,(D|0)!=(E|0)):0)f[B>>2]=D+(~((D+-4-E|0)>>>2)<<2)}else zi(l+12|0,g-C|0);C=l+24|0;E=l+28|0;D=f[E>>2]|0;B=f[C>>2]|0;F=D-B>>2;G=B;B=D;if(F>>>0>=g>>>0){if(F>>>0>g>>>0?(D=G+(g<<2)|0,(B|0)!=(D|0)):0)f[E>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else zi(C,g-F|0);F=l+36|0;C=l+40|0;D=f[C>>2]|0;B=f[F>>2]|0;E=D-B>>2;G=B;B=D;if(E>>>0>=g>>>0){if(E>>>0>g>>>0?(D=G+(g<<2)|0,(B|0)!=(D|0)):0)f[C>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else zi(F,g-E|0);f[m>>2]=0;E=m+4|0;f[E>>2]=0;f[m+8>>2]=0;F=(g|0)==0;do if(!F)if(g>>>0>1073741823)Cq(m);else{D=g<<2;B=tn(D)|0;f[m>>2]=B;C=B+(g<<2)|0;f[m+8>>2]=C;pj(B|0,0,D|0)|0;f[E>>2]=C;break}while(0);C=a+152|0;D=a+156|0;B=f[D>>2]|0;G=f[C>>2]|0;H=B-G>>2;L=G;G=B;if(H>>>0>=g>>>0){if(H>>>0>g>>>0?(B=L+(g<<2)|0,(G|0)!=(B|0)):0)f[D>>2]=G+(~((G+-4-B|0)>>>2)<<2)}else zi(C,g-H|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[o+24>>2]=0;f[o+28>>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;f[p+24>>2]=0;f[p+28>>2]=0;f[q>>2]=0;H=q+4|0;f[H>>2]=0;f[q+8>>2]=0;if(F){M=0;N=0;O=0;P=0}else{F=g<<2;B=tn(F)|0;f[q>>2]=B;G=B+(g<<2)|0;f[q+8>>2]=G;pj(B|0,0,F|0)|0;f[H>>2]=G;M=B;N=G;O=G;P=B}B=a+56|0;G=f[B>>2]|0;F=f[G+4>>2]|0;D=f[G>>2]|0;L=F-D|0;a:do if((L|0)>4){Q=L>>2;R=e+64|0;S=e+28|0;T=(g|0)>0;U=r+4|0;V=r+8|0;Z=r+12|0;_=a+152|0;$=a+112|0;aa=r+16|0;ba=r+28|0;ca=a+16|0;da=a+32|0;ea=a+12|0;fa=a+28|0;ga=a+20|0;ha=a+24|0;ia=r+28|0;ja=r+16|0;ka=r+20|0;la=r+32|0;ma=n+1|0;na=g<<2;oa=Q+-1|0;if(F-D>>2>>>0>oa>>>0){pa=D;qa=M;ra=N;sa=M;ta=N;ua=M;va=P;wa=O;xa=Q;ya=oa}else{za=G;Cq(za)}b:while(1){oa=f[pa+(ya<<2)>>2]|0;Q=(((oa>>>0)%3|0|0)==0?2:-1)+oa|0;Aa=Q>>>5;Ba=1<<(Q&31);Ca=(oa|0)==-1|(Q|0)==-1;Da=oa;Ea=1;Fa=0;c:while(1){Ga=Ea^1;Ha=Da;Ia=Fa;while(1){if((Ha|0)==-1){Ja=Ia;break c}Ka=f[l+(Ia*12|0)>>2]|0;if(((f[(f[e>>2]|0)+(Ha>>>5<<2)>>2]&1<<(Ha&31)|0)==0?(La=f[(f[(f[R>>2]|0)+12>>2]|0)+(Ha<<2)>>2]|0,(La|0)!=-1):0)?(Ma=f[S>>2]|0,Na=f[A>>2]|0,Oa=f[Na+(f[Ma+(La<<2)>>2]<<2)>>2]|0,Pa=La+1|0,Qa=f[Na+(f[Ma+((((Pa>>>0)%3|0|0)==0?La+-2|0:Pa)<<2)>>2]<<2)>>2]|0,Pa=f[Na+(f[Ma+((((La>>>0)%3|0|0)==0?2:-1)+La<<2)>>2]<<2)>>2]|0,(Oa|0)<(ya|0)&(Qa|0)<(ya|0)&(Pa|0)<(ya|0)):0){La=X(Oa,g)|0;Oa=X(Qa,g)|0;Qa=X(Pa,g)|0;if(T){Pa=0;do{f[Ka+(Pa<<2)>>2]=(f[c+(Pa+Qa<<2)>>2]|0)+(f[c+(Pa+Oa<<2)>>2]|0)-(f[c+(Pa+La<<2)>>2]|0);Pa=Pa+1|0}while((Pa|0)!=(g|0))}Pa=Ia+1|0;if((Pa|0)==4){Ja=4;break c}else Ra=Pa}else Ra=Ia;do if(Ea){Pa=Ha+1|0;La=((Pa>>>0)%3|0|0)==0?Ha+-2|0:Pa;if(((La|0)!=-1?(f[(f[e>>2]|0)+(La>>>5<<2)>>2]&1<<(La&31)|0)==0:0)?(Pa=f[(f[(f[R>>2]|0)+12>>2]|0)+(La<<2)>>2]|0,La=Pa+1|0,(Pa|0)!=-1):0)Sa=((La>>>0)%3|0|0)==0?Pa+-2|0:La;else Sa=-1}else{La=(((Ha>>>0)%3|0|0)==0?2:-1)+Ha|0;if(((La|0)!=-1?(f[(f[e>>2]|0)+(La>>>5<<2)>>2]&1<<(La&31)|0)==0:0)?(Pa=f[(f[(f[R>>2]|0)+12>>2]|0)+(La<<2)>>2]|0,(Pa|0)!=-1):0)if(!((Pa>>>0)%3|0)){Sa=Pa+2|0;break}else{Sa=Pa+-1|0;break}else Sa=-1}while(0);if((Sa|0)==(oa|0)){Ja=Ra;break c}if((Sa|0)!=-1|Ga){Ha=Sa;Ia=Ra}else break}if(Ca){Da=-1;Ea=0;Fa=Ra;continue}if(f[(f[e>>2]|0)+(Aa<<2)>>2]&Ba|0){Da=-1;Ea=0;Fa=Ra;continue}Ia=f[(f[(f[R>>2]|0)+12>>2]|0)+(Q<<2)>>2]|0;if((Ia|0)==-1){Da=-1;Ea=0;Fa=Ra;continue}if(!((Ia>>>0)%3|0)){Da=Ia+2|0;Ea=0;Fa=Ra;continue}else{Da=Ia+-1|0;Ea=0;Fa=Ra;continue}}Fa=X(ya,g)|0;f[r>>2]=0;f[U>>2]=0;b[V>>0]=0;f[Z>>2]=0;f[Z+4>>2]=0;f[Z+8>>2]=0;f[Z+12>>2]=0;f[Z+16>>2]=0;f[Z+20>>2]=0;f[Z+24>>2]=0;Ea=c+((X(xa+-2|0,g)|0)<<2)|0;Da=c+(Fa<<2)|0;Q=f[_>>2]|0;if(T){Ba=0;Aa=0;while(1){Ca=(f[Ea+(Aa<<2)>>2]|0)-(f[Da+(Aa<<2)>>2]|0)|0;oa=((Ca|0)>-1?Ca:0-Ca|0)+Ba|0;f[ua+(Aa<<2)>>2]=Ca;f[Q+(Aa<<2)>>2]=Ca<<1^Ca>>31;Aa=Aa+1|0;if((Aa|0)==(g|0)){Ta=oa;break}else Ba=oa}}else Ta=0;xo(j,$,Q,g);Ba=al(j)|0;Aa=I;oa=Jm(j)|0;Ca=go(oa|0,I|0,Ba|0,Aa|0)|0;Aa=I;Ba=(Ja|0)>0;if(Ba){oa=Ja+-1|0;Ia=p+(oa<<3)|0;Ha=Ia;Ga=go(f[Ha>>2]|0,f[Ha+4>>2]|0,Ja|0,((Ja|0)<0)<<31>>31|0)|0;Ha=I;Pa=Ia;f[Pa>>2]=Ga;f[Pa+4>>2]=Ha;Ua=+W(+((+(Ga>>>0)+4294967296.0*+(Ha|0))*+Em(Ga,f[o+(oa<<3)>>2]|0)));oa=go(~~Ua>>>0|0,(+K(Ua)>=1.0?(Ua>0.0?~~+Y(+J(Ua/4294967296.0),4294967295.0)>>>0:~~+W((Ua-+(~~Ua>>>0))/4294967296.0)>>>0):0)|0,Ca|0,Aa|0)|0;Va=oa}else Va=Ca;Ca=r;f[Ca>>2]=Va;f[Ca+4>>2]=Ta;b[V>>0]=0;f[Z>>2]=0;Zf(aa,Ea,Ea+(g<<2)|0);f[s>>2]=va;f[t>>2]=wa;f[k>>2]=f[s>>2];f[j>>2]=f[t>>2];Mf(ba,k,j);if((Ja|0)<1){Wa=ta;Xa=sa;Ya=ra;Za=qa;_a=wa;$a=va;ab=va}else{Ca=n+Ja|0;oa=f[q>>2]|0;Aa=Ja+-1|0;Ga=o+(Aa<<3)|0;Ha=p+(Aa<<3)|0;Aa=oa;Pa=f[H>>2]|0;Ia=Ca+-1|0;La=(Ia|0)==(n|0);Oa=Ca+-2|0;Qa=ma>>>0<Oa>>>0;Ka=~Ja;Ma=Ja+2+((Ka|0)>-2?Ka:-2)|0;Ka=Pa;Na=Ia>>>0>n>>>0;bb=0;cb=1;while(1){bb=bb+1|0;pj(n|0,1,Ma|0)|0;pj(n|0,0,bb|0)|0;d:while(1){if(T){pj(f[m>>2]|0,0,na|0)|0;db=f[m>>2]|0;eb=0;fb=0;while(1){if(!(b[n+fb>>0]|0)){gb=f[l+(fb*12|0)>>2]|0;hb=0;do{ib=db+(hb<<2)|0;f[ib>>2]=(f[ib>>2]|0)+(f[gb+(hb<<2)>>2]|0);hb=hb+1|0}while((hb|0)!=(g|0));jb=(1<<fb|eb&255)&255}else jb=eb;fb=fb+1|0;if((fb|0)==(Ja|0)){kb=jb;break}else eb=jb}}else{eb=0;fb=0;while(1){if(!(b[n+fb>>0]|0))lb=(1<<fb|eb&255)&255;else lb=eb;fb=fb+1|0;if((fb|0)==(Ja|0)){kb=lb;break}else eb=lb}}eb=f[m>>2]|0;do if(T){fb=0;do{db=eb+(fb<<2)|0;f[db>>2]=(f[db>>2]|0)/(cb|0)|0;fb=fb+1|0}while((fb|0)!=(g|0));fb=f[_>>2]|0;if(T){mb=0;nb=0}else{ob=fb;pb=0;break}while(1){db=(f[eb+(nb<<2)>>2]|0)-(f[Da+(nb<<2)>>2]|0)|0;hb=((db|0)>-1?db:0-db|0)+mb|0;f[oa+(nb<<2)>>2]=db;f[fb+(nb<<2)>>2]=db<<1^db>>31;nb=nb+1|0;if((nb|0)==(g|0)){ob=fb;pb=hb;break}else mb=hb}}else{ob=f[_>>2]|0;pb=0}while(0);xo(j,$,ob,g);eb=al(j)|0;fb=I;hb=Jm(j)|0;db=go(hb|0,I|0,eb|0,fb|0)|0;fb=I;if(Ba){eb=Ga;hb=go(f[eb>>2]|0,f[eb+4>>2]|0,cb|0,0)|0;eb=Ha;gb=f[eb>>2]|0;ib=f[eb+4>>2]|0;Ua=+W(+((+(gb>>>0)+4294967296.0*+(ib|0))*+Em(gb,hb)));hb=go(~~Ua>>>0|0,(+K(Ua)>=1.0?(Ua>0.0?~~+Y(+J(Ua/4294967296.0),4294967295.0)>>>0:~~+W((Ua-+(~~Ua>>>0))/4294967296.0)>>>0):0)|0,db|0,fb|0)|0;qb=hb}else qb=db;db=f[r>>2]|0;if(!((qb|0)>=(db|0)?!((qb|0)<=(db|0)?(pb|0)<(f[U>>2]|0):0):0)){db=r;f[db>>2]=qb;f[db+4>>2]=pb;b[V>>0]=kb;f[Z>>2]=cb;f[v>>2]=f[m>>2];f[w>>2]=f[E>>2];f[k>>2]=f[v>>2];f[j>>2]=f[w>>2];Mf(aa,k,j);f[x>>2]=Aa;f[y>>2]=Pa;f[k>>2]=f[x>>2];f[j>>2]=f[y>>2];Mf(ba,k,j)}if(La)break;rb=b[Ia>>0]|0;db=rb;hb=-1;while(1){fb=hb+-1|0;sb=Ca+fb|0;gb=db;db=b[sb>>0]|0;if((db&255)<(gb&255))break;if((sb|0)==(n|0)){tb=82;break d}else hb=fb}fb=Ca+hb|0;if((db&255)<(rb&255)){ub=rb;vb=Ia}else{gb=Ca;ib=Ia;while(1){eb=ib+-1|0;if((db&255)<(h[gb+-2>>0]|0)){ub=1;vb=eb;break}else{wb=ib;ib=eb;gb=wb}}}b[sb>>0]=ub;b[vb>>0]=db;if((hb|0)<-1){xb=fb;yb=Ia}else continue;while(1){gb=b[xb>>0]|0;b[xb>>0]=b[yb>>0]|0;b[yb>>0]=gb;gb=xb+1|0;ib=yb+-1|0;if(gb>>>0<ib>>>0){xb=gb;yb=ib}else continue d}}if(((tb|0)==82?(tb=0,Na):0)?(fb=b[n>>0]|0,b[n>>0]=rb,b[Ia>>0]=fb,Qa):0){fb=Oa;hb=ma;do{db=b[hb>>0]|0;b[hb>>0]=b[fb>>0]|0;b[fb>>0]=db;hb=hb+1|0;fb=fb+-1|0}while(hb>>>0<fb>>>0)}if((cb|0)>=(Ja|0)){Wa=Ka;Xa=oa;Ya=Ka;Za=oa;_a=Pa;$a=Aa;ab=oa;break}else cb=cb+1|0}}if(Ba){cb=f[Z>>2]|0;oa=o+(Ja+-1<<3)|0;Aa=oa;Pa=go(f[Aa>>2]|0,f[Aa+4>>2]|0,cb|0,((cb|0)<0)<<31>>31|0)|0;cb=oa;f[cb>>2]=Pa;f[cb+4>>2]=I}if(T){cb=f[ba>>2]|0;Pa=f[C>>2]|0;oa=0;do{Aa=f[cb+(oa<<2)>>2]|0;f[Pa+(oa<<2)>>2]=Aa<<1^Aa>>31;oa=oa+1|0}while((oa|0)!=(g|0));zb=Pa}else zb=f[C>>2]|0;wo(j,$,zb,g);if(Ba){Pa=Ja+-1|0;Ab=a+60+(Pa*12|0)|0;oa=a+60+(Pa*12|0)+4|0;cb=a+60+(Pa*12|0)+8|0;Pa=0;do{Aa=f[oa>>2]|0;Ka=f[cb>>2]|0;Oa=(Aa|0)==(Ka<<5|0);if(!(h[V>>0]&1<<Pa)){if(Oa){if((Aa+1|0)<0){tb=110;break b}Qa=Ka<<6;Ia=Aa+32&-32;si(Ab,Aa>>>0<1073741823?(Qa>>>0<Ia>>>0?Ia:Qa):2147483647);Bb=f[oa>>2]|0}else Bb=Aa;f[oa>>2]=Bb+1;Qa=(f[Ab>>2]|0)+(Bb>>>5<<2)|0;f[Qa>>2]=f[Qa>>2]|1<<(Bb&31)}else{if(Oa){if((Aa+1|0)<0){tb=115;break b}Oa=Ka<<6;Ka=Aa+32&-32;si(Ab,Aa>>>0<1073741823?(Oa>>>0<Ka>>>0?Ka:Oa):2147483647);Cb=f[oa>>2]|0}else Cb=Aa;f[oa>>2]=Cb+1;Aa=(f[Ab>>2]|0)+(Cb>>>5<<2)|0;f[Aa>>2]=f[Aa>>2]&~(1<<(Cb&31))}Pa=Pa+1|0}while((Pa|0)<(Ja|0))}Pa=d+(Fa<<2)|0;oa=f[z>>2]|0;if((oa|0)>0){cb=oa;oa=0;Ba=f[aa>>2]|0;while(1){if((cb|0)>0){Aa=0;do{Oa=f[Ba+(Aa<<2)>>2]|0;Ka=f[ca>>2]|0;if((Oa|0)>(Ka|0)){Qa=f[da>>2]|0;f[Qa+(Aa<<2)>>2]=Ka;Db=Qa}else{Qa=f[ea>>2]|0;Ka=f[da>>2]|0;f[Ka+(Aa<<2)>>2]=(Oa|0)<(Qa|0)?Qa:Oa;Db=Ka}Aa=Aa+1|0}while((Aa|0)<(f[z>>2]|0));Eb=Db}else Eb=f[da>>2]|0;Aa=(f[Da+(oa<<2)>>2]|0)-(f[Eb+(oa<<2)>>2]|0)|0;Ka=Pa+(oa<<2)|0;f[Ka>>2]=Aa;do if((Aa|0)<(f[fa>>2]|0)){Fb=(f[ga>>2]|0)+Aa|0;tb=105}else{if((Aa|0)<=(f[ha>>2]|0))break;Fb=Aa-(f[ga>>2]|0)|0;tb=105}while(0);if((tb|0)==105){tb=0;f[Ka>>2]=Fb}oa=oa+1|0;cb=f[z>>2]|0;if((oa|0)>=(cb|0))break;else Ba=Eb}}Ba=f[ia>>2]|0;if(Ba|0){cb=f[la>>2]|0;if((cb|0)!=(Ba|0))f[la>>2]=cb+(~((cb+-4-Ba|0)>>>2)<<2);pr(Ba)}Ba=f[ja>>2]|0;if(Ba|0){cb=f[ka>>2]|0;if((cb|0)!=(Ba|0))f[ka>>2]=cb+(~((cb+-4-Ba|0)>>>2)<<2);pr(Ba)}if((ya|0)<=1){Gb=Za;Hb=Ya;break a}Ba=f[B>>2]|0;pa=f[Ba>>2]|0;cb=ya+-1|0;if((f[Ba+4>>2]|0)-pa>>2>>>0<=cb>>>0){za=Ba;tb=17;break}else{Ba=ya;qa=Za;ra=Ya;sa=Xa;ta=Wa;ua=ab;va=$a;wa=_a;ya=cb;xa=Ba}}if((tb|0)==17)Cq(za);else if((tb|0)==110)Cq(Ab);else if((tb|0)==115)Cq(Ab)}else{Gb=M;Hb=N}while(0);N=f[l>>2]|0;if((g|0)>0){M=0;do{f[N+(M<<2)>>2]=0;M=M+1|0}while((M|0)!=(g|0))}g=f[z>>2]|0;if((g|0)>0){M=a+16|0;Ab=a+32|0;za=a+12|0;xa=a+28|0;ya=a+20|0;_a=a+24|0;a=g;g=0;wa=N;while(1){if((a|0)>0){N=0;do{$a=f[wa+(N<<2)>>2]|0;va=f[M>>2]|0;if(($a|0)>(va|0)){ab=f[Ab>>2]|0;f[ab+(N<<2)>>2]=va;Ib=ab}else{ab=f[za>>2]|0;va=f[Ab>>2]|0;f[va+(N<<2)>>2]=($a|0)<(ab|0)?ab:$a;Ib=va}N=N+1|0}while((N|0)<(f[z>>2]|0));Jb=Ib}else Jb=f[Ab>>2]|0;N=(f[c+(g<<2)>>2]|0)-(f[Jb+(g<<2)>>2]|0)|0;va=d+(g<<2)|0;f[va>>2]=N;if((N|0)>=(f[xa>>2]|0)){if((N|0)>(f[_a>>2]|0)){Kb=N-(f[ya>>2]|0)|0;tb=141}}else{Kb=(f[ya>>2]|0)+N|0;tb=141}if((tb|0)==141){tb=0;f[va>>2]=Kb}g=g+1|0;a=f[z>>2]|0;if((g|0)>=(a|0))break;else wa=Jb}}if(Gb|0){if((Hb|0)!=(Gb|0))f[H>>2]=Hb+(~((Hb+-4-Gb|0)>>>2)<<2);pr(Gb)}Gb=f[m>>2]|0;if(Gb|0){m=f[E>>2]|0;if((m|0)!=(Gb|0))f[E>>2]=m+(~((m+-4-Gb|0)>>>2)<<2);pr(Gb)}Gb=f[l+36>>2]|0;if(Gb|0){m=l+40|0;E=f[m>>2]|0;if((E|0)!=(Gb|0))f[m>>2]=E+(~((E+-4-Gb|0)>>>2)<<2);pr(Gb)}Gb=f[l+24>>2]|0;if(Gb|0){E=l+28|0;m=f[E>>2]|0;if((m|0)!=(Gb|0))f[E>>2]=m+(~((m+-4-Gb|0)>>>2)<<2);pr(Gb)}Gb=f[l+12>>2]|0;if(Gb|0){m=l+16|0;E=f[m>>2]|0;if((E|0)!=(Gb|0))f[m>>2]=E+(~((E+-4-Gb|0)>>>2)<<2);pr(Gb)}Gb=f[l>>2]|0;if(!Gb){u=i;return 1}E=l+4|0;l=f[E>>2]|0;if((l|0)!=(Gb|0))f[E>>2]=l+(~((l+-4-Gb|0)>>>2)<<2);pr(Gb);u=i;return 1}function Ya(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,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0.0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0;i=u;u=u+240|0;j=i+104|0;k=i+224|0;l=i+176|0;m=i+160|0;n=i+228|0;o=i+72|0;p=i+40|0;q=i+132|0;r=i;s=i+172|0;t=i+156|0;v=i+152|0;w=i+148|0;x=i+144|0;y=i+128|0;z=a+8|0;Mh(z,c,e,g);e=f[a+48>>2]|0;A=f[a+52>>2]|0;B=l;C=B+48|0;do{f[B>>2]=0;B=B+4|0}while((B|0)<(C|0));if(!g){D=0;E=0}else{zi(l,g);D=f[l+12>>2]|0;E=f[l+16>>2]|0}B=l+16|0;C=E-D>>2;F=D;D=E;if(C>>>0>=g>>>0){if(C>>>0>g>>>0?(E=F+(g<<2)|0,(D|0)!=(E|0)):0)f[B>>2]=D+(~((D+-4-E|0)>>>2)<<2)}else zi(l+12|0,g-C|0);C=l+24|0;E=l+28|0;D=f[E>>2]|0;B=f[C>>2]|0;F=D-B>>2;G=B;B=D;if(F>>>0>=g>>>0){if(F>>>0>g>>>0?(D=G+(g<<2)|0,(B|0)!=(D|0)):0)f[E>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else zi(C,g-F|0);F=l+36|0;C=l+40|0;D=f[C>>2]|0;B=f[F>>2]|0;E=D-B>>2;G=B;B=D;if(E>>>0>=g>>>0){if(E>>>0>g>>>0?(D=G+(g<<2)|0,(B|0)!=(D|0)):0)f[C>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else zi(F,g-E|0);f[m>>2]=0;E=m+4|0;f[E>>2]=0;f[m+8>>2]=0;F=(g|0)==0;do if(!F)if(g>>>0>1073741823)Cq(m);else{D=g<<2;B=tn(D)|0;f[m>>2]=B;C=B+(g<<2)|0;f[m+8>>2]=C;pj(B|0,0,D|0)|0;f[E>>2]=C;break}while(0);C=a+152|0;D=a+156|0;B=f[D>>2]|0;G=f[C>>2]|0;H=B-G>>2;L=G;G=B;if(H>>>0>=g>>>0){if(H>>>0>g>>>0?(B=L+(g<<2)|0,(G|0)!=(B|0)):0)f[D>>2]=G+(~((G+-4-B|0)>>>2)<<2)}else zi(C,g-H|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[o+24>>2]=0;f[o+28>>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;f[p+24>>2]=0;f[p+28>>2]=0;f[q>>2]=0;H=q+4|0;f[H>>2]=0;f[q+8>>2]=0;if(F){M=0;N=0;O=0;P=0}else{F=g<<2;B=tn(F)|0;f[q>>2]=B;G=B+(g<<2)|0;f[q+8>>2]=G;pj(B|0,0,F|0)|0;f[H>>2]=G;M=B;N=G;O=G;P=B}B=a+56|0;G=f[B>>2]|0;F=f[G+4>>2]|0;D=f[G>>2]|0;L=F-D|0;a:do if((L|0)>4){Q=L>>2;R=e+12|0;S=(g|0)>0;T=r+4|0;U=r+8|0;V=r+12|0;Z=a+152|0;_=a+112|0;$=r+16|0;aa=r+28|0;ba=a+16|0;ca=a+32|0;da=a+12|0;ea=a+28|0;fa=a+20|0;ga=a+24|0;ha=r+28|0;ia=r+16|0;ja=r+20|0;ka=r+32|0;la=n+1|0;ma=g<<2;na=Q+-1|0;if(F-D>>2>>>0>na>>>0){oa=D;pa=M;qa=N;ra=M;sa=N;ta=M;ua=P;va=O;wa=Q;xa=na}else{ya=G;Cq(ya)}b:while(1){na=f[oa+(xa<<2)>>2]|0;Q=(((na>>>0)%3|0|0)==0?2:-1)+na|0;za=(na|0)==-1|(Q|0)==-1;Aa=na;Ba=1;Ca=0;c:while(1){Da=Ba^1;Ea=Aa;Fa=Ca;while(1){if((Ea|0)==-1){Ga=Fa;break c}Ha=f[l+(Fa*12|0)>>2]|0;Ia=f[R>>2]|0;Ja=f[Ia+(Ea<<2)>>2]|0;if((Ja|0)!=-1){Ka=f[e>>2]|0;La=f[A>>2]|0;Ma=f[La+(f[Ka+(Ja<<2)>>2]<<2)>>2]|0;Na=Ja+1|0;Oa=((Na>>>0)%3|0|0)==0?Ja+-2|0:Na;if((Oa|0)==-1)Pa=-1;else Pa=f[Ka+(Oa<<2)>>2]|0;Oa=f[La+(Pa<<2)>>2]|0;Na=(((Ja>>>0)%3|0|0)==0?2:-1)+Ja|0;if((Na|0)==-1)Qa=-1;else Qa=f[Ka+(Na<<2)>>2]|0;Na=f[La+(Qa<<2)>>2]|0;if((Ma|0)<(xa|0)&(Oa|0)<(xa|0)&(Na|0)<(xa|0)){La=X(Ma,g)|0;Ma=X(Oa,g)|0;Oa=X(Na,g)|0;if(S){Na=0;do{f[Ha+(Na<<2)>>2]=(f[c+(Na+Oa<<2)>>2]|0)+(f[c+(Na+Ma<<2)>>2]|0)-(f[c+(Na+La<<2)>>2]|0);Na=Na+1|0}while((Na|0)!=(g|0))}Na=Fa+1|0;if((Na|0)==4){Ga=4;break c}else Ra=Na}else Ra=Fa}else Ra=Fa;do if(Ba){Na=Ea+1|0;La=((Na>>>0)%3|0|0)==0?Ea+-2|0:Na;if((La|0)!=-1?(Na=f[Ia+(La<<2)>>2]|0,La=Na+1|0,(Na|0)!=-1):0)Sa=((La>>>0)%3|0|0)==0?Na+-2|0:La;else Sa=-1}else{La=(((Ea>>>0)%3|0|0)==0?2:-1)+Ea|0;if((La|0)!=-1?(Na=f[Ia+(La<<2)>>2]|0,(Na|0)!=-1):0)if(!((Na>>>0)%3|0)){Sa=Na+2|0;break}else{Sa=Na+-1|0;break}else Sa=-1}while(0);if((Sa|0)==(na|0)){Ga=Ra;break c}if((Sa|0)!=-1|Da){Ea=Sa;Fa=Ra}else break}if(za){Aa=-1;Ba=0;Ca=Ra;continue}Fa=f[Ia+(Q<<2)>>2]|0;if((Fa|0)==-1){Aa=-1;Ba=0;Ca=Ra;continue}if(!((Fa>>>0)%3|0)){Aa=Fa+2|0;Ba=0;Ca=Ra;continue}else{Aa=Fa+-1|0;Ba=0;Ca=Ra;continue}}Ca=X(xa,g)|0;f[r>>2]=0;f[T>>2]=0;b[U>>0]=0;f[V>>2]=0;f[V+4>>2]=0;f[V+8>>2]=0;f[V+12>>2]=0;f[V+16>>2]=0;f[V+20>>2]=0;f[V+24>>2]=0;Ba=c+((X(wa+-2|0,g)|0)<<2)|0;Aa=c+(Ca<<2)|0;Q=f[Z>>2]|0;if(S){za=0;na=0;while(1){Fa=(f[Ba+(na<<2)>>2]|0)-(f[Aa+(na<<2)>>2]|0)|0;Ea=((Fa|0)>-1?Fa:0-Fa|0)+za|0;f[ta+(na<<2)>>2]=Fa;f[Q+(na<<2)>>2]=Fa<<1^Fa>>31;na=na+1|0;if((na|0)==(g|0)){Ta=Ea;break}else za=Ea}}else Ta=0;xo(j,_,Q,g);za=al(j)|0;na=I;Ea=Jm(j)|0;Fa=go(Ea|0,I|0,za|0,na|0)|0;na=I;za=(Ga|0)>0;if(za){Ea=Ga+-1|0;Da=p+(Ea<<3)|0;Na=Da;La=go(f[Na>>2]|0,f[Na+4>>2]|0,Ga|0,((Ga|0)<0)<<31>>31|0)|0;Na=I;Ma=Da;f[Ma>>2]=La;f[Ma+4>>2]=Na;Ua=+W(+((+(La>>>0)+4294967296.0*+(Na|0))*+Em(La,f[o+(Ea<<3)>>2]|0)));Ea=go(~~Ua>>>0|0,(+K(Ua)>=1.0?(Ua>0.0?~~+Y(+J(Ua/4294967296.0),4294967295.0)>>>0:~~+W((Ua-+(~~Ua>>>0))/4294967296.0)>>>0):0)|0,Fa|0,na|0)|0;Va=Ea}else Va=Fa;Fa=r;f[Fa>>2]=Va;f[Fa+4>>2]=Ta;b[U>>0]=0;f[V>>2]=0;Zf($,Ba,Ba+(g<<2)|0);f[s>>2]=ua;f[t>>2]=va;f[k>>2]=f[s>>2];f[j>>2]=f[t>>2];Mf(aa,k,j);if((Ga|0)<1){Wa=sa;Xa=ra;Ya=qa;Za=pa;_a=va;$a=ua;ab=ua}else{Fa=n+Ga|0;Ea=f[q>>2]|0;na=Ga+-1|0;La=o+(na<<3)|0;Na=p+(na<<3)|0;na=Ea;Ma=f[H>>2]|0;Da=Fa+-1|0;Oa=(Da|0)==(n|0);Ha=Fa+-2|0;Ka=la>>>0<Ha>>>0;Ja=~Ga;bb=Ga+2+((Ja|0)>-2?Ja:-2)|0;Ja=Ma;cb=Da>>>0>n>>>0;db=0;eb=1;while(1){db=db+1|0;pj(n|0,1,bb|0)|0;pj(n|0,0,db|0)|0;d:while(1){if(S){pj(f[m>>2]|0,0,ma|0)|0;fb=f[m>>2]|0;gb=0;hb=0;while(1){if(!(b[n+hb>>0]|0)){ib=f[l+(hb*12|0)>>2]|0;jb=0;do{kb=fb+(jb<<2)|0;f[kb>>2]=(f[kb>>2]|0)+(f[ib+(jb<<2)>>2]|0);jb=jb+1|0}while((jb|0)!=(g|0));lb=(1<<hb|gb&255)&255}else lb=gb;hb=hb+1|0;if((hb|0)==(Ga|0)){mb=lb;break}else gb=lb}}else{gb=0;hb=0;while(1){if(!(b[n+hb>>0]|0))nb=(1<<hb|gb&255)&255;else nb=gb;hb=hb+1|0;if((hb|0)==(Ga|0)){mb=nb;break}else gb=nb}}gb=f[m>>2]|0;do if(S){hb=0;do{fb=gb+(hb<<2)|0;f[fb>>2]=(f[fb>>2]|0)/(eb|0)|0;hb=hb+1|0}while((hb|0)!=(g|0));hb=f[Z>>2]|0;if(S){ob=0;pb=0}else{qb=hb;rb=0;break}while(1){fb=(f[gb+(pb<<2)>>2]|0)-(f[Aa+(pb<<2)>>2]|0)|0;jb=((fb|0)>-1?fb:0-fb|0)+ob|0;f[Ea+(pb<<2)>>2]=fb;f[hb+(pb<<2)>>2]=fb<<1^fb>>31;pb=pb+1|0;if((pb|0)==(g|0)){qb=hb;rb=jb;break}else ob=jb}}else{qb=f[Z>>2]|0;rb=0}while(0);xo(j,_,qb,g);gb=al(j)|0;hb=I;jb=Jm(j)|0;fb=go(jb|0,I|0,gb|0,hb|0)|0;hb=I;if(za){gb=La;jb=go(f[gb>>2]|0,f[gb+4>>2]|0,eb|0,0)|0;gb=Na;ib=f[gb>>2]|0;kb=f[gb+4>>2]|0;Ua=+W(+((+(ib>>>0)+4294967296.0*+(kb|0))*+Em(ib,jb)));jb=go(~~Ua>>>0|0,(+K(Ua)>=1.0?(Ua>0.0?~~+Y(+J(Ua/4294967296.0),4294967295.0)>>>0:~~+W((Ua-+(~~Ua>>>0))/4294967296.0)>>>0):0)|0,fb|0,hb|0)|0;sb=jb}else sb=fb;fb=f[r>>2]|0;if(!((sb|0)>=(fb|0)?!((sb|0)<=(fb|0)?(rb|0)<(f[T>>2]|0):0):0)){fb=r;f[fb>>2]=sb;f[fb+4>>2]=rb;b[U>>0]=mb;f[V>>2]=eb;f[v>>2]=f[m>>2];f[w>>2]=f[E>>2];f[k>>2]=f[v>>2];f[j>>2]=f[w>>2];Mf($,k,j);f[x>>2]=na;f[y>>2]=Ma;f[k>>2]=f[x>>2];f[j>>2]=f[y>>2];Mf(aa,k,j)}if(Oa)break;tb=b[Da>>0]|0;fb=tb;jb=-1;while(1){hb=jb+-1|0;ub=Fa+hb|0;ib=fb;fb=b[ub>>0]|0;if((fb&255)<(ib&255))break;if((ub|0)==(n|0)){vb=82;break d}else jb=hb}hb=Fa+jb|0;if((fb&255)<(tb&255)){wb=tb;xb=Da}else{ib=Fa;kb=Da;while(1){gb=kb+-1|0;if((fb&255)<(h[ib+-2>>0]|0)){wb=1;xb=gb;break}else{yb=kb;kb=gb;ib=yb}}}b[ub>>0]=wb;b[xb>>0]=fb;if((jb|0)<-1){zb=hb;Ab=Da}else continue;while(1){ib=b[zb>>0]|0;b[zb>>0]=b[Ab>>0]|0;b[Ab>>0]=ib;ib=zb+1|0;kb=Ab+-1|0;if(ib>>>0<kb>>>0){zb=ib;Ab=kb}else continue d}}if(((vb|0)==82?(vb=0,cb):0)?(hb=b[n>>0]|0,b[n>>0]=tb,b[Da>>0]=hb,Ka):0){hb=Ha;jb=la;do{fb=b[jb>>0]|0;b[jb>>0]=b[hb>>0]|0;b[hb>>0]=fb;jb=jb+1|0;hb=hb+-1|0}while(jb>>>0<hb>>>0)}if((eb|0)>=(Ga|0)){Wa=Ja;Xa=Ea;Ya=Ja;Za=Ea;_a=Ma;$a=na;ab=Ea;break}else eb=eb+1|0}}if(za){eb=f[V>>2]|0;Ea=o+(Ga+-1<<3)|0;na=Ea;Ma=go(f[na>>2]|0,f[na+4>>2]|0,eb|0,((eb|0)<0)<<31>>31|0)|0;eb=Ea;f[eb>>2]=Ma;f[eb+4>>2]=I}if(S){eb=f[aa>>2]|0;Ma=f[C>>2]|0;Ea=0;do{na=f[eb+(Ea<<2)>>2]|0;f[Ma+(Ea<<2)>>2]=na<<1^na>>31;Ea=Ea+1|0}while((Ea|0)!=(g|0));Bb=Ma}else Bb=f[C>>2]|0;wo(j,_,Bb,g);if(za){Ma=Ga+-1|0;Cb=a+60+(Ma*12|0)|0;Ea=a+60+(Ma*12|0)+4|0;eb=a+60+(Ma*12|0)+8|0;Ma=0;do{na=f[Ea>>2]|0;Ja=f[eb>>2]|0;Ha=(na|0)==(Ja<<5|0);if(!(h[U>>0]&1<<Ma)){if(Ha){if((na+1|0)<0){vb=110;break b}Ka=Ja<<6;Da=na+32&-32;si(Cb,na>>>0<1073741823?(Ka>>>0<Da>>>0?Da:Ka):2147483647);Db=f[Ea>>2]|0}else Db=na;f[Ea>>2]=Db+1;Ka=(f[Cb>>2]|0)+(Db>>>5<<2)|0;f[Ka>>2]=f[Ka>>2]|1<<(Db&31)}else{if(Ha){if((na+1|0)<0){vb=115;break b}Ha=Ja<<6;Ja=na+32&-32;si(Cb,na>>>0<1073741823?(Ha>>>0<Ja>>>0?Ja:Ha):2147483647);Eb=f[Ea>>2]|0}else Eb=na;f[Ea>>2]=Eb+1;na=(f[Cb>>2]|0)+(Eb>>>5<<2)|0;f[na>>2]=f[na>>2]&~(1<<(Eb&31))}Ma=Ma+1|0}while((Ma|0)<(Ga|0))}Ma=d+(Ca<<2)|0;Ea=f[z>>2]|0;if((Ea|0)>0){eb=Ea;Ea=0;za=f[$>>2]|0;while(1){if((eb|0)>0){na=0;do{Ha=f[za+(na<<2)>>2]|0;Ja=f[ba>>2]|0;if((Ha|0)>(Ja|0)){Ka=f[ca>>2]|0;f[Ka+(na<<2)>>2]=Ja;Fb=Ka}else{Ka=f[da>>2]|0;Ja=f[ca>>2]|0;f[Ja+(na<<2)>>2]=(Ha|0)<(Ka|0)?Ka:Ha;Fb=Ja}na=na+1|0}while((na|0)<(f[z>>2]|0));Gb=Fb}else Gb=f[ca>>2]|0;na=(f[Aa+(Ea<<2)>>2]|0)-(f[Gb+(Ea<<2)>>2]|0)|0;Ja=Ma+(Ea<<2)|0;f[Ja>>2]=na;do if((na|0)<(f[ea>>2]|0)){Hb=(f[fa>>2]|0)+na|0;vb=105}else{if((na|0)<=(f[ga>>2]|0))break;Hb=na-(f[fa>>2]|0)|0;vb=105}while(0);if((vb|0)==105){vb=0;f[Ja>>2]=Hb}Ea=Ea+1|0;eb=f[z>>2]|0;if((Ea|0)>=(eb|0))break;else za=Gb}}za=f[ha>>2]|0;if(za|0){eb=f[ka>>2]|0;if((eb|0)!=(za|0))f[ka>>2]=eb+(~((eb+-4-za|0)>>>2)<<2);pr(za)}za=f[ia>>2]|0;if(za|0){eb=f[ja>>2]|0;if((eb|0)!=(za|0))f[ja>>2]=eb+(~((eb+-4-za|0)>>>2)<<2);pr(za)}if((xa|0)<=1){Ib=Za;Jb=Ya;break a}za=f[B>>2]|0;oa=f[za>>2]|0;eb=xa+-1|0;if((f[za+4>>2]|0)-oa>>2>>>0<=eb>>>0){ya=za;vb=17;break}else{za=xa;pa=Za;qa=Ya;ra=Xa;sa=Wa;ta=ab;ua=$a;va=_a;xa=eb;wa=za}}if((vb|0)==17)Cq(ya);else if((vb|0)==110)Cq(Cb);else if((vb|0)==115)Cq(Cb)}else{Ib=M;Jb=N}while(0);N=f[l>>2]|0;if((g|0)>0){M=0;do{f[N+(M<<2)>>2]=0;M=M+1|0}while((M|0)!=(g|0))}g=f[z>>2]|0;if((g|0)>0){M=a+16|0;Cb=a+32|0;ya=a+12|0;wa=a+28|0;xa=a+20|0;_a=a+24|0;a=g;g=0;va=N;while(1){if((a|0)>0){N=0;do{$a=f[va+(N<<2)>>2]|0;ua=f[M>>2]|0;if(($a|0)>(ua|0)){ab=f[Cb>>2]|0;f[ab+(N<<2)>>2]=ua;Kb=ab}else{ab=f[ya>>2]|0;ua=f[Cb>>2]|0;f[ua+(N<<2)>>2]=($a|0)<(ab|0)?ab:$a;Kb=ua}N=N+1|0}while((N|0)<(f[z>>2]|0));Lb=Kb}else Lb=f[Cb>>2]|0;N=(f[c+(g<<2)>>2]|0)-(f[Lb+(g<<2)>>2]|0)|0;ua=d+(g<<2)|0;f[ua>>2]=N;if((N|0)>=(f[wa>>2]|0)){if((N|0)>(f[_a>>2]|0)){Mb=N-(f[xa>>2]|0)|0;vb=141}}else{Mb=(f[xa>>2]|0)+N|0;vb=141}if((vb|0)==141){vb=0;f[ua>>2]=Mb}g=g+1|0;a=f[z>>2]|0;if((g|0)>=(a|0))break;else va=Lb}}if(Ib|0){if((Jb|0)!=(Ib|0))f[H>>2]=Jb+(~((Jb+-4-Ib|0)>>>2)<<2);pr(Ib)}Ib=f[m>>2]|0;if(Ib|0){m=f[E>>2]|0;if((m|0)!=(Ib|0))f[E>>2]=m+(~((m+-4-Ib|0)>>>2)<<2);pr(Ib)}Ib=f[l+36>>2]|0;if(Ib|0){m=l+40|0;E=f[m>>2]|0;if((E|0)!=(Ib|0))f[m>>2]=E+(~((E+-4-Ib|0)>>>2)<<2);pr(Ib)}Ib=f[l+24>>2]|0;if(Ib|0){E=l+28|0;m=f[E>>2]|0;if((m|0)!=(Ib|0))f[E>>2]=m+(~((m+-4-Ib|0)>>>2)<<2);pr(Ib)}Ib=f[l+12>>2]|0;if(Ib|0){m=l+16|0;E=f[m>>2]|0;if((E|0)!=(Ib|0))f[m>>2]=E+(~((E+-4-Ib|0)>>>2)<<2);pr(Ib)}Ib=f[l>>2]|0;if(!Ib){u=i;return 1}E=l+4|0;l=f[E>>2]|0;if((l|0)!=(Ib|0))f[E>>2]=l+(~((l+-4-Ib|0)>>>2)<<2);pr(Ib);u=i;return 1}function Za(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,y=0,z=0,A=0,B=0,C=0,D=0,E=0;b=u;u=u+16|0;c=b;d=b+8|0;e=b+4|0;f[d>>2]=a;do if(a>>>0>=212){g=(a>>>0)/210|0;h=g*210|0;f[e>>2]=a-h;i=(Ml(7108,7300,e,c)|0)-7108>>2;j=g;g=h;h=0;a:while(1){k=(f[7108+(i<<2)>>2]|0)+g|0;l=5;while(1){if(l>>>0>=47){m=211;n=h;o=8;break}p=f[6916+(l<<2)>>2]|0;q=(k>>>0)/(p>>>0)|0;if(q>>>0<p>>>0){o=106;break a}if((k|0)==(X(q,p)|0)){r=h;break}else l=l+1|0}b:do if((o|0)==8){c:while(1){o=0;l=(k>>>0)/(m>>>0)|0;do if(l>>>0>=m>>>0)if((k|0)!=(X(l,m)|0)){p=m+10|0;q=(k>>>0)/(p>>>0)|0;if(q>>>0>=p>>>0)if((k|0)!=(X(q,p)|0)){q=m+12|0;s=(k>>>0)/(q>>>0)|0;if(s>>>0>=q>>>0)if((k|0)!=(X(s,q)|0)){s=m+16|0;t=(k>>>0)/(s>>>0)|0;if(t>>>0>=s>>>0)if((k|0)!=(X(t,s)|0)){t=m+18|0;v=(k>>>0)/(t>>>0)|0;if(v>>>0>=t>>>0)if((k|0)!=(X(v,t)|0)){v=m+22|0;w=(k>>>0)/(v>>>0)|0;if(w>>>0>=v>>>0)if((k|0)!=(X(w,v)|0)){w=m+28|0;x=(k>>>0)/(w>>>0)|0;if(x>>>0>=w>>>0)if((k|0)==(X(x,w)|0)){y=9;z=w;A=n}else{x=m+30|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+36|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+40|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+42|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+46|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+52|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+58|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+60|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+66|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+70|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+72|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+78|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+82|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+88|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+96|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+100|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+102|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+106|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+108|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+112|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+120|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+126|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+130|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+136|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+138|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+142|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+148|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+150|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+156|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+162|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+166|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+168|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+172|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+178|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+180|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+186|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+190|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+192|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+196|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+198|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0<x>>>0){y=1;z=x;A=k;break}if((k|0)==(X(B,x)|0)){y=9;z=x;A=n;break}x=m+208|0;B=(k>>>0)/(x>>>0)|0;C=B>>>0<x>>>0;D=(k|0)==(X(B,x)|0);y=C?1:D?9:0;z=C|D?x:m+210|0;A=C?k:n}else{y=1;z=w;A=k}}else{y=9;z=v;A=n}else{y=1;z=v;A=k}}else{y=9;z=t;A=n}else{y=1;z=t;A=k}}else{y=9;z=s;A=n}else{y=1;z=s;A=k}}else{y=9;z=q;A=n}else{y=1;z=q;A=k}}else{y=9;z=p;A=n}else{y=1;z=p;A=k}}else{y=9;z=m;A=n}else{y=1;z=m;A=k}while(0);switch(y&15){case 9:{r=A;break b;break}case 0:{m=z;n=A;o=8;break}default:break c}}if(!y)r=A;else{o=107;break a}}while(0);l=i+1|0;p=(l|0)==48;q=(p&1)+j|0;i=p?0:l;j=q;g=q*210|0;h=r}if((o|0)==106){f[d>>2]=k;E=k;break}else if((o|0)==107){f[d>>2]=k;E=A;break}}else{h=Ml(6916,7108,d,c)|0;E=f[h>>2]|0}while(0);u=b;return E|0}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,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0.0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0;i=u;u=u+256|0;e=i+104|0;j=i+240|0;k=i+224|0;l=i+160|0;m=i+140|0;n=i+248|0;o=i+72|0;p=i+40|0;q=i+128|0;r=i;s=i+232|0;t=i+220|0;v=i+216|0;w=i+212|0;x=i+208|0;y=i+152|0;z=f[a+28>>2]|0;A=f[a+32>>2]|0;B=l;C=B+48|0;do{f[B>>2]=0;B=B+4|0}while((B|0)<(C|0));if(!g){D=0;E=0}else{zi(l,g);D=f[l+12>>2]|0;E=f[l+16>>2]|0}B=l+16|0;C=E-D>>2;F=D;D=E;if(C>>>0>=g>>>0){if(C>>>0>g>>>0?(E=F+(g<<2)|0,(D|0)!=(E|0)):0)f[B>>2]=D+(~((D+-4-E|0)>>>2)<<2)}else zi(l+12|0,g-C|0);C=l+24|0;E=l+28|0;D=f[E>>2]|0;B=f[C>>2]|0;F=D-B>>2;G=B;B=D;if(F>>>0>=g>>>0){if(F>>>0>g>>>0?(D=G+(g<<2)|0,(B|0)!=(D|0)):0)f[E>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else zi(C,g-F|0);F=l+36|0;C=l+40|0;D=f[C>>2]|0;B=f[F>>2]|0;E=D-B>>2;G=B;B=D;if(E>>>0>=g>>>0){if(E>>>0>g>>>0?(D=G+(g<<2)|0,(B|0)!=(D|0)):0)f[C>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else zi(F,g-E|0);f[m>>2]=0;E=m+4|0;f[E>>2]=0;f[m+8>>2]=0;F=(g|0)==0;do if(!F)if(g>>>0>1073741823)Cq(m);else{D=g<<2;B=tn(D)|0;f[m>>2]=B;C=B+(g<<2)|0;f[m+8>>2]=C;pj(B|0,0,D|0)|0;f[E>>2]=C;break}while(0);C=a+136|0;D=a+140|0;B=f[D>>2]|0;G=f[C>>2]|0;H=B-G>>2;L=G;G=B;if(H>>>0>=g>>>0){if(H>>>0>g>>>0?(B=L+(g<<2)|0,(G|0)!=(B|0)):0)f[D>>2]=G+(~((G+-4-B|0)>>>2)<<2)}else zi(C,g-H|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[o+24>>2]=0;f[o+28>>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;f[p+24>>2]=0;f[p+28>>2]=0;f[q>>2]=0;H=q+4|0;f[H>>2]=0;f[q+8>>2]=0;if(F){M=0;N=0;O=0;P=0}else{F=g<<2;B=tn(F)|0;f[q>>2]=B;G=B+(g<<2)|0;f[q+8>>2]=G;pj(B|0,0,F|0)|0;f[H>>2]=G;M=B;N=G;O=G;P=B}B=a+36|0;G=f[B>>2]|0;F=f[G+4>>2]|0;D=f[G>>2]|0;L=F-D|0;a:do if((L|0)>4){Q=L>>2;R=z+64|0;S=z+28|0;T=(g|0)>0;U=r+4|0;V=r+8|0;Z=r+12|0;_=a+136|0;$=a+96|0;aa=r+16|0;ba=r+28|0;ca=a+8|0;da=j+4|0;ea=k+4|0;fa=e+4|0;ga=r+28|0;ha=r+16|0;ia=r+20|0;ja=r+32|0;ka=n+1|0;la=g<<2;ma=Q+-1|0;if(F-D>>2>>>0>ma>>>0){na=D;oa=M;pa=N;qa=M;ra=N;sa=M;ta=P;ua=O;va=Q;wa=ma}else{xa=G;Cq(xa)}b:while(1){ma=f[na+(wa<<2)>>2]|0;Q=(((ma>>>0)%3|0|0)==0?2:-1)+ma|0;ya=Q>>>5;za=1<<(Q&31);Aa=(ma|0)==-1|(Q|0)==-1;Ba=ma;Ca=1;Da=0;c:while(1){Ea=Ca^1;Fa=Ba;Ga=Da;while(1){if((Fa|0)==-1){Ha=Ga;break c}Ia=f[l+(Ga*12|0)>>2]|0;if(((f[(f[z>>2]|0)+(Fa>>>5<<2)>>2]&1<<(Fa&31)|0)==0?(Ja=f[(f[(f[R>>2]|0)+12>>2]|0)+(Fa<<2)>>2]|0,(Ja|0)!=-1):0)?(Ka=f[S>>2]|0,La=f[A>>2]|0,Ma=f[La+(f[Ka+(Ja<<2)>>2]<<2)>>2]|0,Na=Ja+1|0,Oa=f[La+(f[Ka+((((Na>>>0)%3|0|0)==0?Ja+-2|0:Na)<<2)>>2]<<2)>>2]|0,Na=f[La+(f[Ka+((((Ja>>>0)%3|0|0)==0?2:-1)+Ja<<2)>>2]<<2)>>2]|0,(Ma|0)<(wa|0)&(Oa|0)<(wa|0)&(Na|0)<(wa|0)):0){Ja=X(Ma,g)|0;Ma=X(Oa,g)|0;Oa=X(Na,g)|0;if(T){Na=0;do{f[Ia+(Na<<2)>>2]=(f[c+(Na+Oa<<2)>>2]|0)+(f[c+(Na+Ma<<2)>>2]|0)-(f[c+(Na+Ja<<2)>>2]|0);Na=Na+1|0}while((Na|0)!=(g|0))}Na=Ga+1|0;if((Na|0)==4){Ha=4;break c}else Pa=Na}else Pa=Ga;do if(Ca){Na=Fa+1|0;Ja=((Na>>>0)%3|0|0)==0?Fa+-2|0:Na;if(((Ja|0)!=-1?(f[(f[z>>2]|0)+(Ja>>>5<<2)>>2]&1<<(Ja&31)|0)==0:0)?(Na=f[(f[(f[R>>2]|0)+12>>2]|0)+(Ja<<2)>>2]|0,Ja=Na+1|0,(Na|0)!=-1):0)Qa=((Ja>>>0)%3|0|0)==0?Na+-2|0:Ja;else Qa=-1}else{Ja=(((Fa>>>0)%3|0|0)==0?2:-1)+Fa|0;if(((Ja|0)!=-1?(f[(f[z>>2]|0)+(Ja>>>5<<2)>>2]&1<<(Ja&31)|0)==0:0)?(Na=f[(f[(f[R>>2]|0)+12>>2]|0)+(Ja<<2)>>2]|0,(Na|0)!=-1):0)if(!((Na>>>0)%3|0)){Qa=Na+2|0;break}else{Qa=Na+-1|0;break}else Qa=-1}while(0);if((Qa|0)==(ma|0)){Ha=Pa;break c}if((Qa|0)!=-1|Ea){Fa=Qa;Ga=Pa}else break}if(Aa){Ba=-1;Ca=0;Da=Pa;continue}if(f[(f[z>>2]|0)+(ya<<2)>>2]&za|0){Ba=-1;Ca=0;Da=Pa;continue}Ga=f[(f[(f[R>>2]|0)+12>>2]|0)+(Q<<2)>>2]|0;if((Ga|0)==-1){Ba=-1;Ca=0;Da=Pa;continue}if(!((Ga>>>0)%3|0)){Ba=Ga+2|0;Ca=0;Da=Pa;continue}else{Ba=Ga+-1|0;Ca=0;Da=Pa;continue}}Da=X(wa,g)|0;f[r>>2]=0;f[U>>2]=0;b[V>>0]=0;f[Z>>2]=0;f[Z+4>>2]=0;f[Z+8>>2]=0;f[Z+12>>2]=0;f[Z+16>>2]=0;f[Z+20>>2]=0;f[Z+24>>2]=0;Ca=c+((X(va+-2|0,g)|0)<<2)|0;Ba=c+(Da<<2)|0;Q=f[_>>2]|0;if(T){za=0;ya=0;while(1){Aa=(f[Ca+(ya<<2)>>2]|0)-(f[Ba+(ya<<2)>>2]|0)|0;ma=((Aa|0)>-1?Aa:0-Aa|0)+za|0;f[sa+(ya<<2)>>2]=Aa;f[Q+(ya<<2)>>2]=Aa<<1^Aa>>31;ya=ya+1|0;if((ya|0)==(g|0)){Ra=ma;break}else za=ma}}else Ra=0;xo(e,$,Q,g);za=al(e)|0;ya=I;ma=Jm(e)|0;Aa=go(ma|0,I|0,za|0,ya|0)|0;ya=I;za=(Ha|0)>0;if(za){ma=Ha+-1|0;Ga=p+(ma<<3)|0;Fa=Ga;Ea=go(f[Fa>>2]|0,f[Fa+4>>2]|0,Ha|0,((Ha|0)<0)<<31>>31|0)|0;Fa=I;Na=Ga;f[Na>>2]=Ea;f[Na+4>>2]=Fa;Sa=+W(+((+(Ea>>>0)+4294967296.0*+(Fa|0))*+Em(Ea,f[o+(ma<<3)>>2]|0)));ma=go(~~Sa>>>0|0,(+K(Sa)>=1.0?(Sa>0.0?~~+Y(+J(Sa/4294967296.0),4294967295.0)>>>0:~~+W((Sa-+(~~Sa>>>0))/4294967296.0)>>>0):0)|0,Aa|0,ya|0)|0;Ta=ma}else Ta=Aa;Aa=r;f[Aa>>2]=Ta;f[Aa+4>>2]=Ra;b[V>>0]=0;f[Z>>2]=0;Zf(aa,Ca,Ca+(g<<2)|0);f[s>>2]=ta;f[t>>2]=ua;f[j>>2]=f[s>>2];f[e>>2]=f[t>>2];Mf(ba,j,e);if((Ha|0)<1){Ua=ra;Va=qa;Wa=pa;Xa=oa;Ya=ua;Za=ta;_a=ta}else{Aa=n+Ha|0;ma=f[q>>2]|0;ya=Ha+-1|0;Ea=o+(ya<<3)|0;Fa=p+(ya<<3)|0;ya=ma;Na=f[H>>2]|0;Ga=Aa+-1|0;Ja=(Ga|0)==(n|0);Ma=Aa+-2|0;Oa=ka>>>0<Ma>>>0;Ia=~Ha;Ka=Ha+2+((Ia|0)>-2?Ia:-2)|0;Ia=Na;La=Ga>>>0>n>>>0;$a=0;ab=1;while(1){$a=$a+1|0;pj(n|0,1,Ka|0)|0;pj(n|0,0,$a|0)|0;d:while(1){if(T){pj(f[m>>2]|0,0,la|0)|0;bb=f[m>>2]|0;cb=0;db=0;while(1){if(!(b[n+db>>0]|0)){eb=f[l+(db*12|0)>>2]|0;fb=0;do{gb=bb+(fb<<2)|0;f[gb>>2]=(f[gb>>2]|0)+(f[eb+(fb<<2)>>2]|0);fb=fb+1|0}while((fb|0)!=(g|0));hb=(1<<db|cb&255)&255}else hb=cb;db=db+1|0;if((db|0)==(Ha|0)){ib=hb;break}else cb=hb}}else{cb=0;db=0;while(1){if(!(b[n+db>>0]|0))jb=(1<<db|cb&255)&255;else jb=cb;db=db+1|0;if((db|0)==(Ha|0)){ib=jb;break}else cb=jb}}cb=f[m>>2]|0;do if(T){db=0;do{bb=cb+(db<<2)|0;f[bb>>2]=(f[bb>>2]|0)/(ab|0)|0;db=db+1|0}while((db|0)!=(g|0));db=f[_>>2]|0;if(T){kb=0;lb=0}else{mb=db;nb=0;break}while(1){bb=(f[cb+(lb<<2)>>2]|0)-(f[Ba+(lb<<2)>>2]|0)|0;fb=((bb|0)>-1?bb:0-bb|0)+kb|0;f[ma+(lb<<2)>>2]=bb;f[db+(lb<<2)>>2]=bb<<1^bb>>31;lb=lb+1|0;if((lb|0)==(g|0)){mb=db;nb=fb;break}else kb=fb}}else{mb=f[_>>2]|0;nb=0}while(0);xo(e,$,mb,g);cb=al(e)|0;db=I;fb=Jm(e)|0;bb=go(fb|0,I|0,cb|0,db|0)|0;db=I;if(za){cb=Ea;fb=go(f[cb>>2]|0,f[cb+4>>2]|0,ab|0,0)|0;cb=Fa;eb=f[cb>>2]|0;gb=f[cb+4>>2]|0;Sa=+W(+((+(eb>>>0)+4294967296.0*+(gb|0))*+Em(eb,fb)));fb=go(~~Sa>>>0|0,(+K(Sa)>=1.0?(Sa>0.0?~~+Y(+J(Sa/4294967296.0),4294967295.0)>>>0:~~+W((Sa-+(~~Sa>>>0))/4294967296.0)>>>0):0)|0,bb|0,db|0)|0;ob=fb}else ob=bb;bb=f[r>>2]|0;if(!((ob|0)>=(bb|0)?!((ob|0)<=(bb|0)?(nb|0)<(f[U>>2]|0):0):0)){bb=r;f[bb>>2]=ob;f[bb+4>>2]=nb;b[V>>0]=ib;f[Z>>2]=ab;f[v>>2]=f[m>>2];f[w>>2]=f[E>>2];f[j>>2]=f[v>>2];f[e>>2]=f[w>>2];Mf(aa,j,e);f[x>>2]=ya;f[y>>2]=Na;f[j>>2]=f[x>>2];f[e>>2]=f[y>>2];Mf(ba,j,e)}if(Ja)break;pb=b[Ga>>0]|0;bb=pb;fb=-1;while(1){db=fb+-1|0;qb=Aa+db|0;eb=bb;bb=b[qb>>0]|0;if((bb&255)<(eb&255))break;if((qb|0)==(n|0)){rb=83;break d}else fb=db}db=Aa+fb|0;if((bb&255)<(pb&255)){sb=pb;tb=Ga}else{eb=Aa;gb=Ga;while(1){cb=gb+-1|0;if((bb&255)<(h[eb+-2>>0]|0)){sb=1;tb=cb;break}else{ub=gb;gb=cb;eb=ub}}}b[qb>>0]=sb;b[tb>>0]=bb;if((fb|0)<-1){vb=db;wb=Ga}else continue;while(1){eb=b[vb>>0]|0;b[vb>>0]=b[wb>>0]|0;b[wb>>0]=eb;eb=vb+1|0;gb=wb+-1|0;if(eb>>>0<gb>>>0){vb=eb;wb=gb}else continue d}}if(((rb|0)==83?(rb=0,La):0)?(db=b[n>>0]|0,b[n>>0]=pb,b[Ga>>0]=db,Oa):0){db=Ma;fb=ka;do{bb=b[fb>>0]|0;b[fb>>0]=b[db>>0]|0;b[db>>0]=bb;fb=fb+1|0;db=db+-1|0}while(fb>>>0<db>>>0)}if((ab|0)>=(Ha|0)){Ua=Ia;Va=ma;Wa=Ia;Xa=ma;Ya=Na;Za=ya;_a=ma;break}else ab=ab+1|0}}if(za){ab=f[Z>>2]|0;ma=o+(Ha+-1<<3)|0;ya=ma;Na=go(f[ya>>2]|0,f[ya+4>>2]|0,ab|0,((ab|0)<0)<<31>>31|0)|0;ab=ma;f[ab>>2]=Na;f[ab+4>>2]=I}if(T){ab=f[ba>>2]|0;Na=f[C>>2]|0;ma=0;do{ya=f[ab+(ma<<2)>>2]|0;f[Na+(ma<<2)>>2]=ya<<1^ya>>31;ma=ma+1|0}while((ma|0)!=(g|0));xb=Na}else xb=f[C>>2]|0;wo(e,$,xb,g);if(za){Na=Ha+-1|0;yb=a+40+(Na*12|0)|0;ma=a+40+(Na*12|0)+4|0;ab=a+40+(Na*12|0)+8|0;Na=0;do{ya=f[ma>>2]|0;Ia=f[ab>>2]|0;Ma=(ya|0)==(Ia<<5|0);if(!(h[V>>0]&1<<Na)){if(Ma){if((ya+1|0)<0){rb=98;break b}Oa=Ia<<6;Ga=ya+32&-32;si(yb,ya>>>0<1073741823?(Oa>>>0<Ga>>>0?Ga:Oa):2147483647);zb=f[ma>>2]|0}else zb=ya;f[ma>>2]=zb+1;Oa=(f[yb>>2]|0)+(zb>>>5<<2)|0;f[Oa>>2]=f[Oa>>2]|1<<(zb&31)}else{if(Ma){if((ya+1|0)<0){rb=103;break b}Ma=Ia<<6;Ia=ya+32&-32;si(yb,ya>>>0<1073741823?(Ma>>>0<Ia>>>0?Ia:Ma):2147483647);Ab=f[ma>>2]|0}else Ab=ya;f[ma>>2]=Ab+1;ya=(f[yb>>2]|0)+(Ab>>>5<<2)|0;f[ya>>2]=f[ya>>2]&~(1<<(Ab&31))}Na=Na+1|0}while((Na|0)<(Ha|0))}Na=f[aa>>2]|0;ma=d+(Da<<2)|0;ab=f[Ba+4>>2]|0;za=f[Na>>2]|0;ya=f[Na+4>>2]|0;f[j>>2]=f[Ba>>2];f[da>>2]=ab;f[k>>2]=za;f[ea>>2]=ya;Nd(e,ca,j,k);f[ma>>2]=f[e>>2];f[ma+4>>2]=f[fa>>2];ma=f[ga>>2]|0;if(ma|0){ya=f[ja>>2]|0;if((ya|0)!=(ma|0))f[ja>>2]=ya+(~((ya+-4-ma|0)>>>2)<<2);pr(ma)}ma=f[ha>>2]|0;if(ma|0){ya=f[ia>>2]|0;if((ya|0)!=(ma|0))f[ia>>2]=ya+(~((ya+-4-ma|0)>>>2)<<2);pr(ma)}if((wa|0)<=1){Bb=Xa;Cb=Wa;break a}ma=f[B>>2]|0;na=f[ma>>2]|0;ya=wa+-1|0;if((f[ma+4>>2]|0)-na>>2>>>0<=ya>>>0){xa=ma;rb=18;break}else{ma=wa;oa=Xa;pa=Wa;qa=Va;ra=Ua;sa=_a;ta=Za;ua=Ya;wa=ya;va=ma}}if((rb|0)==18)Cq(xa);else if((rb|0)==98)Cq(yb);else if((rb|0)==103)Cq(yb)}else{Bb=M;Cb=N}while(0);if((g|0)>0)pj(f[l>>2]|0,0,g<<2|0)|0;g=f[l>>2]|0;N=f[c+4>>2]|0;M=f[g>>2]|0;yb=f[g+4>>2]|0;f[j>>2]=f[c>>2];f[j+4>>2]=N;f[k>>2]=M;f[k+4>>2]=yb;Nd(e,a+8|0,j,k);f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];if(Bb|0){if((Cb|0)!=(Bb|0))f[H>>2]=Cb+(~((Cb+-4-Bb|0)>>>2)<<2);pr(Bb)}Bb=f[m>>2]|0;if(Bb|0){m=f[E>>2]|0;if((m|0)!=(Bb|0))f[E>>2]=m+(~((m+-4-Bb|0)>>>2)<<2);pr(Bb)}Bb=f[l+36>>2]|0;if(Bb|0){m=l+40|0;E=f[m>>2]|0;if((E|0)!=(Bb|0))f[m>>2]=E+(~((E+-4-Bb|0)>>>2)<<2);pr(Bb)}Bb=f[l+24>>2]|0;if(Bb|0){E=l+28|0;m=f[E>>2]|0;if((m|0)!=(Bb|0))f[E>>2]=m+(~((m+-4-Bb|0)>>>2)<<2);pr(Bb)}Bb=f[l+12>>2]|0;if(Bb|0){m=l+16|0;E=f[m>>2]|0;if((E|0)!=(Bb|0))f[m>>2]=E+(~((E+-4-Bb|0)>>>2)<<2);pr(Bb)}Bb=f[l>>2]|0;if(!Bb){u=i;return 1}E=l+4|0;l=f[E>>2]|0;if((l|0)!=(Bb|0))f[E>>2]=l+(~((l+-4-Bb|0)>>>2)<<2);pr(Bb);u=i;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,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0.0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0;i=u;u=u+256|0;e=i+104|0;j=i+240|0;k=i+224|0;l=i+160|0;m=i+140|0;n=i+248|0;o=i+72|0;p=i+40|0;q=i+128|0;r=i;s=i+232|0;t=i+220|0;v=i+216|0;w=i+212|0;x=i+208|0;y=i+152|0;z=f[a+28>>2]|0;A=f[a+32>>2]|0;B=l;C=B+48|0;do{f[B>>2]=0;B=B+4|0}while((B|0)<(C|0));if(!g){D=0;E=0}else{zi(l,g);D=f[l+12>>2]|0;E=f[l+16>>2]|0}B=l+16|0;C=E-D>>2;F=D;D=E;if(C>>>0>=g>>>0){if(C>>>0>g>>>0?(E=F+(g<<2)|0,(D|0)!=(E|0)):0)f[B>>2]=D+(~((D+-4-E|0)>>>2)<<2)}else zi(l+12|0,g-C|0);C=l+24|0;E=l+28|0;D=f[E>>2]|0;B=f[C>>2]|0;F=D-B>>2;G=B;B=D;if(F>>>0>=g>>>0){if(F>>>0>g>>>0?(D=G+(g<<2)|0,(B|0)!=(D|0)):0)f[E>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else zi(C,g-F|0);F=l+36|0;C=l+40|0;D=f[C>>2]|0;B=f[F>>2]|0;E=D-B>>2;G=B;B=D;if(E>>>0>=g>>>0){if(E>>>0>g>>>0?(D=G+(g<<2)|0,(B|0)!=(D|0)):0)f[C>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else zi(F,g-E|0);f[m>>2]=0;E=m+4|0;f[E>>2]=0;f[m+8>>2]=0;F=(g|0)==0;do if(!F)if(g>>>0>1073741823)Cq(m);else{D=g<<2;B=tn(D)|0;f[m>>2]=B;C=B+(g<<2)|0;f[m+8>>2]=C;pj(B|0,0,D|0)|0;f[E>>2]=C;break}while(0);C=a+136|0;D=a+140|0;B=f[D>>2]|0;G=f[C>>2]|0;H=B-G>>2;L=G;G=B;if(H>>>0>=g>>>0){if(H>>>0>g>>>0?(B=L+(g<<2)|0,(G|0)!=(B|0)):0)f[D>>2]=G+(~((G+-4-B|0)>>>2)<<2)}else zi(C,g-H|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[o+24>>2]=0;f[o+28>>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;f[p+24>>2]=0;f[p+28>>2]=0;f[q>>2]=0;H=q+4|0;f[H>>2]=0;f[q+8>>2]=0;if(F){M=0;N=0;O=0;P=0}else{F=g<<2;B=tn(F)|0;f[q>>2]=B;G=B+(g<<2)|0;f[q+8>>2]=G;pj(B|0,0,F|0)|0;f[H>>2]=G;M=B;N=G;O=G;P=B}B=a+36|0;G=f[B>>2]|0;F=f[G+4>>2]|0;D=f[G>>2]|0;L=F-D|0;a:do if((L|0)>4){Q=L>>2;R=z+12|0;S=(g|0)>0;T=r+4|0;U=r+8|0;V=r+12|0;Z=a+136|0;_=a+96|0;$=r+16|0;aa=r+28|0;ba=a+8|0;ca=j+4|0;da=k+4|0;ea=e+4|0;fa=r+28|0;ga=r+16|0;ha=r+20|0;ia=r+32|0;ja=n+1|0;ka=g<<2;la=Q+-1|0;if(F-D>>2>>>0>la>>>0){ma=D;na=M;oa=N;pa=M;qa=N;ra=M;sa=P;ta=O;ua=Q;va=la}else{wa=G;Cq(wa)}b:while(1){la=f[ma+(va<<2)>>2]|0;Q=(((la>>>0)%3|0|0)==0?2:-1)+la|0;xa=(la|0)==-1|(Q|0)==-1;ya=la;za=1;Aa=0;c:while(1){Ba=za^1;Ca=ya;Da=Aa;while(1){if((Ca|0)==-1){Ea=Da;break c}Fa=f[l+(Da*12|0)>>2]|0;Ga=f[R>>2]|0;Ha=f[Ga+(Ca<<2)>>2]|0;if((Ha|0)!=-1){Ia=f[z>>2]|0;Ja=f[A>>2]|0;Ka=f[Ja+(f[Ia+(Ha<<2)>>2]<<2)>>2]|0;La=Ha+1|0;Ma=((La>>>0)%3|0|0)==0?Ha+-2|0:La;if((Ma|0)==-1)Na=-1;else Na=f[Ia+(Ma<<2)>>2]|0;Ma=f[Ja+(Na<<2)>>2]|0;La=(((Ha>>>0)%3|0|0)==0?2:-1)+Ha|0;if((La|0)==-1)Oa=-1;else Oa=f[Ia+(La<<2)>>2]|0;La=f[Ja+(Oa<<2)>>2]|0;if((Ka|0)<(va|0)&(Ma|0)<(va|0)&(La|0)<(va|0)){Ja=X(Ka,g)|0;Ka=X(Ma,g)|0;Ma=X(La,g)|0;if(S){La=0;do{f[Fa+(La<<2)>>2]=(f[c+(La+Ma<<2)>>2]|0)+(f[c+(La+Ka<<2)>>2]|0)-(f[c+(La+Ja<<2)>>2]|0);La=La+1|0}while((La|0)!=(g|0))}La=Da+1|0;if((La|0)==4){Ea=4;break c}else Pa=La}else Pa=Da}else Pa=Da;do if(za){La=Ca+1|0;Ja=((La>>>0)%3|0|0)==0?Ca+-2|0:La;if((Ja|0)!=-1?(La=f[Ga+(Ja<<2)>>2]|0,Ja=La+1|0,(La|0)!=-1):0)Qa=((Ja>>>0)%3|0|0)==0?La+-2|0:Ja;else Qa=-1}else{Ja=(((Ca>>>0)%3|0|0)==0?2:-1)+Ca|0;if((Ja|0)!=-1?(La=f[Ga+(Ja<<2)>>2]|0,(La|0)!=-1):0)if(!((La>>>0)%3|0)){Qa=La+2|0;break}else{Qa=La+-1|0;break}else Qa=-1}while(0);if((Qa|0)==(la|0)){Ea=Pa;break c}if((Qa|0)!=-1|Ba){Ca=Qa;Da=Pa}else break}if(xa){ya=-1;za=0;Aa=Pa;continue}Da=f[Ga+(Q<<2)>>2]|0;if((Da|0)==-1){ya=-1;za=0;Aa=Pa;continue}if(!((Da>>>0)%3|0)){ya=Da+2|0;za=0;Aa=Pa;continue}else{ya=Da+-1|0;za=0;Aa=Pa;continue}}Aa=X(va,g)|0;f[r>>2]=0;f[T>>2]=0;b[U>>0]=0;f[V>>2]=0;f[V+4>>2]=0;f[V+8>>2]=0;f[V+12>>2]=0;f[V+16>>2]=0;f[V+20>>2]=0;f[V+24>>2]=0;za=c+((X(ua+-2|0,g)|0)<<2)|0;ya=c+(Aa<<2)|0;Q=f[Z>>2]|0;if(S){xa=0;la=0;while(1){Da=(f[za+(la<<2)>>2]|0)-(f[ya+(la<<2)>>2]|0)|0;Ca=((Da|0)>-1?Da:0-Da|0)+xa|0;f[ra+(la<<2)>>2]=Da;f[Q+(la<<2)>>2]=Da<<1^Da>>31;la=la+1|0;if((la|0)==(g|0)){Ra=Ca;break}else xa=Ca}}else Ra=0;xo(e,_,Q,g);xa=al(e)|0;la=I;Ca=Jm(e)|0;Da=go(Ca|0,I|0,xa|0,la|0)|0;la=I;xa=(Ea|0)>0;if(xa){Ca=Ea+-1|0;Ba=p+(Ca<<3)|0;La=Ba;Ja=go(f[La>>2]|0,f[La+4>>2]|0,Ea|0,((Ea|0)<0)<<31>>31|0)|0;La=I;Ka=Ba;f[Ka>>2]=Ja;f[Ka+4>>2]=La;Sa=+W(+((+(Ja>>>0)+4294967296.0*+(La|0))*+Em(Ja,f[o+(Ca<<3)>>2]|0)));Ca=go(~~Sa>>>0|0,(+K(Sa)>=1.0?(Sa>0.0?~~+Y(+J(Sa/4294967296.0),4294967295.0)>>>0:~~+W((Sa-+(~~Sa>>>0))/4294967296.0)>>>0):0)|0,Da|0,la|0)|0;Ta=Ca}else Ta=Da;Da=r;f[Da>>2]=Ta;f[Da+4>>2]=Ra;b[U>>0]=0;f[V>>2]=0;Zf($,za,za+(g<<2)|0);f[s>>2]=sa;f[t>>2]=ta;f[j>>2]=f[s>>2];f[e>>2]=f[t>>2];Mf(aa,j,e);if((Ea|0)<1){Ua=qa;Va=pa;Wa=oa;Xa=na;Ya=ta;Za=sa;_a=sa}else{Da=n+Ea|0;Ca=f[q>>2]|0;la=Ea+-1|0;Ja=o+(la<<3)|0;La=p+(la<<3)|0;la=Ca;Ka=f[H>>2]|0;Ba=Da+-1|0;Ma=(Ba|0)==(n|0);Fa=Da+-2|0;Ia=ja>>>0<Fa>>>0;Ha=~Ea;$a=Ea+2+((Ha|0)>-2?Ha:-2)|0;Ha=Ka;ab=Ba>>>0>n>>>0;bb=0;cb=1;while(1){bb=bb+1|0;pj(n|0,1,$a|0)|0;pj(n|0,0,bb|0)|0;d:while(1){if(S){pj(f[m>>2]|0,0,ka|0)|0;db=f[m>>2]|0;eb=0;fb=0;while(1){if(!(b[n+fb>>0]|0)){gb=f[l+(fb*12|0)>>2]|0;hb=0;do{ib=db+(hb<<2)|0;f[ib>>2]=(f[ib>>2]|0)+(f[gb+(hb<<2)>>2]|0);hb=hb+1|0}while((hb|0)!=(g|0));jb=(1<<fb|eb&255)&255}else jb=eb;fb=fb+1|0;if((fb|0)==(Ea|0)){kb=jb;break}else eb=jb}}else{eb=0;fb=0;while(1){if(!(b[n+fb>>0]|0))lb=(1<<fb|eb&255)&255;else lb=eb;fb=fb+1|0;if((fb|0)==(Ea|0)){kb=lb;break}else eb=lb}}eb=f[m>>2]|0;do if(S){fb=0;do{db=eb+(fb<<2)|0;f[db>>2]=(f[db>>2]|0)/(cb|0)|0;fb=fb+1|0}while((fb|0)!=(g|0));fb=f[Z>>2]|0;if(S){mb=0;nb=0}else{ob=fb;pb=0;break}while(1){db=(f[eb+(nb<<2)>>2]|0)-(f[ya+(nb<<2)>>2]|0)|0;hb=((db|0)>-1?db:0-db|0)+mb|0;f[Ca+(nb<<2)>>2]=db;f[fb+(nb<<2)>>2]=db<<1^db>>31;nb=nb+1|0;if((nb|0)==(g|0)){ob=fb;pb=hb;break}else mb=hb}}else{ob=f[Z>>2]|0;pb=0}while(0);xo(e,_,ob,g);eb=al(e)|0;fb=I;hb=Jm(e)|0;db=go(hb|0,I|0,eb|0,fb|0)|0;fb=I;if(xa){eb=Ja;hb=go(f[eb>>2]|0,f[eb+4>>2]|0,cb|0,0)|0;eb=La;gb=f[eb>>2]|0;ib=f[eb+4>>2]|0;Sa=+W(+((+(gb>>>0)+4294967296.0*+(ib|0))*+Em(gb,hb)));hb=go(~~Sa>>>0|0,(+K(Sa)>=1.0?(Sa>0.0?~~+Y(+J(Sa/4294967296.0),4294967295.0)>>>0:~~+W((Sa-+(~~Sa>>>0))/4294967296.0)>>>0):0)|0,db|0,fb|0)|0;qb=hb}else qb=db;db=f[r>>2]|0;if(!((qb|0)>=(db|0)?!((qb|0)<=(db|0)?(pb|0)<(f[T>>2]|0):0):0)){db=r;f[db>>2]=qb;f[db+4>>2]=pb;b[U>>0]=kb;f[V>>2]=cb;f[v>>2]=f[m>>2];f[w>>2]=f[E>>2];f[j>>2]=f[v>>2];f[e>>2]=f[w>>2];Mf($,j,e);f[x>>2]=la;f[y>>2]=Ka;f[j>>2]=f[x>>2];f[e>>2]=f[y>>2];Mf(aa,j,e)}if(Ma)break;rb=b[Ba>>0]|0;db=rb;hb=-1;while(1){fb=hb+-1|0;sb=Da+fb|0;gb=db;db=b[sb>>0]|0;if((db&255)<(gb&255))break;if((sb|0)==(n|0)){tb=83;break d}else hb=fb}fb=Da+hb|0;if((db&255)<(rb&255)){ub=rb;vb=Ba}else{gb=Da;ib=Ba;while(1){eb=ib+-1|0;if((db&255)<(h[gb+-2>>0]|0)){ub=1;vb=eb;break}else{wb=ib;ib=eb;gb=wb}}}b[sb>>0]=ub;b[vb>>0]=db;if((hb|0)<-1){xb=fb;yb=Ba}else continue;while(1){gb=b[xb>>0]|0;b[xb>>0]=b[yb>>0]|0;b[yb>>0]=gb;gb=xb+1|0;ib=yb+-1|0;if(gb>>>0<ib>>>0){xb=gb;yb=ib}else continue d}}if(((tb|0)==83?(tb=0,ab):0)?(fb=b[n>>0]|0,b[n>>0]=rb,b[Ba>>0]=fb,Ia):0){fb=Fa;hb=ja;do{db=b[hb>>0]|0;b[hb>>0]=b[fb>>0]|0;b[fb>>0]=db;hb=hb+1|0;fb=fb+-1|0}while(hb>>>0<fb>>>0)}if((cb|0)>=(Ea|0)){Ua=Ha;Va=Ca;Wa=Ha;Xa=Ca;Ya=Ka;Za=la;_a=Ca;break}else cb=cb+1|0}}if(xa){cb=f[V>>2]|0;Ca=o+(Ea+-1<<3)|0;la=Ca;Ka=go(f[la>>2]|0,f[la+4>>2]|0,cb|0,((cb|0)<0)<<31>>31|0)|0;cb=Ca;f[cb>>2]=Ka;f[cb+4>>2]=I}if(S){cb=f[aa>>2]|0;Ka=f[C>>2]|0;Ca=0;do{la=f[cb+(Ca<<2)>>2]|0;f[Ka+(Ca<<2)>>2]=la<<1^la>>31;Ca=Ca+1|0}while((Ca|0)!=(g|0));zb=Ka}else zb=f[C>>2]|0;wo(e,_,zb,g);if(xa){Ka=Ea+-1|0;Ab=a+40+(Ka*12|0)|0;Ca=a+40+(Ka*12|0)+4|0;cb=a+40+(Ka*12|0)+8|0;Ka=0;do{la=f[Ca>>2]|0;Ha=f[cb>>2]|0;Fa=(la|0)==(Ha<<5|0);if(!(h[U>>0]&1<<Ka)){if(Fa){if((la+1|0)<0){tb=98;break b}Ia=Ha<<6;Ba=la+32&-32;si(Ab,la>>>0<1073741823?(Ia>>>0<Ba>>>0?Ba:Ia):2147483647);Bb=f[Ca>>2]|0}else Bb=la;f[Ca>>2]=Bb+1;Ia=(f[Ab>>2]|0)+(Bb>>>5<<2)|0;f[Ia>>2]=f[Ia>>2]|1<<(Bb&31)}else{if(Fa){if((la+1|0)<0){tb=103;break b}Fa=Ha<<6;Ha=la+32&-32;si(Ab,la>>>0<1073741823?(Fa>>>0<Ha>>>0?Ha:Fa):2147483647);Cb=f[Ca>>2]|0}else Cb=la;f[Ca>>2]=Cb+1;la=(f[Ab>>2]|0)+(Cb>>>5<<2)|0;f[la>>2]=f[la>>2]&~(1<<(Cb&31))}Ka=Ka+1|0}while((Ka|0)<(Ea|0))}Ka=f[$>>2]|0;Ca=d+(Aa<<2)|0;cb=f[ya+4>>2]|0;xa=f[Ka>>2]|0;la=f[Ka+4>>2]|0;f[j>>2]=f[ya>>2];f[ca>>2]=cb;f[k>>2]=xa;f[da>>2]=la;Nd(e,ba,j,k);f[Ca>>2]=f[e>>2];f[Ca+4>>2]=f[ea>>2];Ca=f[fa>>2]|0;if(Ca|0){la=f[ia>>2]|0;if((la|0)!=(Ca|0))f[ia>>2]=la+(~((la+-4-Ca|0)>>>2)<<2);pr(Ca)}Ca=f[ga>>2]|0;if(Ca|0){la=f[ha>>2]|0;if((la|0)!=(Ca|0))f[ha>>2]=la+(~((la+-4-Ca|0)>>>2)<<2);pr(Ca)}if((va|0)<=1){Db=Xa;Eb=Wa;break a}Ca=f[B>>2]|0;ma=f[Ca>>2]|0;la=va+-1|0;if((f[Ca+4>>2]|0)-ma>>2>>>0<=la>>>0){wa=Ca;tb=18;break}else{Ca=va;na=Xa;oa=Wa;pa=Va;qa=Ua;ra=_a;sa=Za;ta=Ya;va=la;ua=Ca}}if((tb|0)==18)Cq(wa);else if((tb|0)==98)Cq(Ab);else if((tb|0)==103)Cq(Ab)}else{Db=M;Eb=N}while(0);if((g|0)>0)pj(f[l>>2]|0,0,g<<2|0)|0;g=f[l>>2]|0;N=f[c+4>>2]|0;M=f[g>>2]|0;Ab=f[g+4>>2]|0;f[j>>2]=f[c>>2];f[j+4>>2]=N;f[k>>2]=M;f[k+4>>2]=Ab;Nd(e,a+8|0,j,k);f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];if(Db|0){if((Eb|0)!=(Db|0))f[H>>2]=Eb+(~((Eb+-4-Db|0)>>>2)<<2);pr(Db)}Db=f[m>>2]|0;if(Db|0){m=f[E>>2]|0;if((m|0)!=(Db|0))f[E>>2]=m+(~((m+-4-Db|0)>>>2)<<2);pr(Db)}Db=f[l+36>>2]|0;if(Db|0){m=l+40|0;E=f[m>>2]|0;if((E|0)!=(Db|0))f[m>>2]=E+(~((E+-4-Db|0)>>>2)<<2);pr(Db)}Db=f[l+24>>2]|0;if(Db|0){E=l+28|0;m=f[E>>2]|0;if((m|0)!=(Db|0))f[E>>2]=m+(~((m+-4-Db|0)>>>2)<<2);pr(Db)}Db=f[l+12>>2]|0;if(Db|0){m=l+16|0;E=f[m>>2]|0;if((E|0)!=(Db|0))f[m>>2]=E+(~((E+-4-Db|0)>>>2)<<2);pr(Db)}Db=f[l>>2]|0;if(!Db){u=i;return 1}E=l+4|0;l=f[E>>2]|0;if((l|0)!=(Db|0))f[E>>2]=l+(~((l+-4-Db|0)>>>2)<<2);pr(Db);u=i;return 1}function ab(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,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,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ka=0,La=Ja,Ma=0,Na=0,Oa=0,Pa=0,Qa=Ja,Ra=0,Sa=0,Ta=0,Ua=0,Va=0;c=u;u=u+80|0;d=c+60|0;e=c+48|0;g=c+24|0;h=c+12|0;i=c;j=a+28|0;k=f[j>>2]|0;l=f[k+4>>2]|0;m=f[l+80>>2]|0;o=a+4|0;p=a+8|0;q=f[p>>2]|0;r=f[o>>2]|0;s=(q|0)==(r|0);t=r;if(s){f[a+72>>2]=0;v=1;u=c;return v|0}w=f[l+8>>2]|0;x=q-r>>2;r=0;q=0;do{q=(b[(f[w+(f[t+(r<<2)>>2]<<2)>>2]|0)+24>>0]|0)+q|0;r=r+1|0}while(r>>>0<x>>>0);f[a+72>>2]=q;if(s){v=1;u=c;return v|0}s=g+4|0;q=g+8|0;x=d+8|0;r=d+4|0;w=d+11|0;y=g+12|0;z=d+8|0;A=d+4|0;B=d+11|0;C=h+4|0;D=h+8|0;E=i+8|0;F=i+4|0;G=d+11|0;H=d+4|0;I=i+11|0;J=d+8|0;K=d+4|0;L=d+11|0;M=d+11|0;N=d+4|0;O=h+8|0;P=a+40|0;Q=a+44|0;R=a+36|0;S=a+64|0;T=a+68|0;U=a+60|0;V=g+8|0;W=g+20|0;X=e+8|0;Y=e+4|0;Z=e+11|0;_=g+4|0;aa=g+8|0;ba=h+4|0;ca=h+8|0;da=h+8|0;ea=a+52|0;fa=a+56|0;ga=a+48|0;a=g+8|0;ha=t;t=l;l=k;k=0;a:while(1){ia=f[ha+(k<<2)>>2]|0;ja=f[(f[t+8>>2]|0)+(ia<<2)>>2]|0;switch(f[ja+28>>2]|0){case 9:{f[g>>2]=1260;f[s>>2]=-1;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;ka=f[l+48>>2]|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;la=tn(32)|0;f[d>>2]=la;f[x>>2]=-2147483616;f[r>>2]=17;ma=la;na=14756;oa=ma+17|0;do{b[ma>>0]=b[na>>0]|0;ma=ma+1|0;na=na+1|0}while((ma|0)<(oa|0));b[la+17>>0]=0;pa=ka+16|0;qa=f[pa>>2]|0;if(qa){ra=pa;sa=qa;b:while(1){qa=sa;while(1){if((f[qa+16>>2]|0)>=(ia|0))break;ta=f[qa+4>>2]|0;if(!ta){ua=ra;break b}else qa=ta}sa=f[qa>>2]|0;if(!sa){ua=qa;break}else ra=qa}if(((ua|0)!=(pa|0)?(ia|0)>=(f[ua+16>>2]|0):0)?(ra=ua+20|0,(Hh(ra,d)|0)!=0):0)va=Ik(ra,d,-1)|0;else wa=17}else wa=17;if((wa|0)==17){wa=0;va=Ik(ka,d,-1)|0}if((b[w>>0]|0)<0)pr(f[d>>2]|0);if((va|0)<1)xa=1;else{ra=f[(f[j>>2]|0)+48>>2]|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;sa=tn(32)|0;f[d>>2]=sa;f[z>>2]=-2147483616;f[A>>2]=19;ma=sa;na=14829;oa=ma+19|0;do{b[ma>>0]=b[na>>0]|0;ma=ma+1|0;na=na+1|0}while((ma|0)<(oa|0));b[sa+19>>0]=0;ka=ra+16|0;pa=f[ka>>2]|0;if(pa){la=ka;ta=pa;c:while(1){pa=ta;while(1){if((f[pa+16>>2]|0)>=(ia|0))break;ya=f[pa+4>>2]|0;if(!ya){za=la;break c}else pa=ya}ta=f[pa>>2]|0;if(!ta){za=pa;break}else la=pa}if((za|0)!=(ka|0)?(ia|0)>=(f[za+16>>2]|0):0)Aa=za+20|0;else wa=29}else wa=29;if((wa|0)==29){wa=0;Aa=ra}if(!(Hh(Aa,d)|0))Ba=0;else{la=f[(f[j>>2]|0)+48>>2]|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;ta=tn(32)|0;f[e>>2]=ta;f[X>>2]=-2147483616;f[Y>>2]=18;ma=ta;na=14849;oa=ma+18|0;do{b[ma>>0]=b[na>>0]|0;ma=ma+1|0;na=na+1|0}while((ma|0)<(oa|0));b[ta+18>>0]=0;ra=la+16|0;ka=f[ra>>2]|0;if(ka){sa=ra;qa=ka;d:while(1){ka=qa;while(1){if((f[ka+16>>2]|0)>=(ia|0))break;ya=f[ka+4>>2]|0;if(!ya){Ca=sa;break d}else ka=ya}qa=f[ka>>2]|0;if(!qa){Ca=ka;break}else sa=ka}if((Ca|0)!=(ra|0)?(ia|0)>=(f[Ca+16>>2]|0):0)Da=Ca+20|0;else wa=39}else wa=39;if((wa|0)==39){wa=0;Da=la}sa=(Hh(Da,e)|0)!=0;if((b[Z>>0]|0)<0)pr(f[e>>2]|0);Ba=sa}if((b[B>>0]|0)<0)pr(f[d>>2]|0);if(Ba){sa=ja+24|0;qa=b[sa>>0]|0;ta=qa<<24>>24;f[h>>2]=0;f[C>>2]=0;f[D>>2]=0;if(!(qa<<24>>24))Ea=0;else{if(qa<<24>>24<0){wa=48;break a}qa=ta<<2;pa=tn(qa)|0;f[h>>2]=pa;ya=pa+(ta<<2)|0;f[O>>2]=ya;pj(pa|0,0,qa|0)|0;f[C>>2]=ya;Ea=pa}pa=f[(f[j>>2]|0)+48>>2]|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;ya=tn(32)|0;f[i>>2]=ya;f[E>>2]=-2147483616;f[F>>2]=19;ma=ya;na=14829;oa=ma+19|0;do{b[ma>>0]=b[na>>0]|0;ma=ma+1|0;na=na+1|0}while((ma|0)<(oa|0));b[ya+19>>0]=0;la=b[sa>>0]|0;ra=la<<24>>24;qa=pa+16|0;ta=f[qa>>2]|0;if(ta){Fa=qa;Ga=ta;e:while(1){ta=Ga;while(1){if((f[ta+16>>2]|0)>=(ia|0))break;Ha=f[ta+4>>2]|0;if(!Ha){Ia=Fa;break e}else ta=Ha}Ga=f[ta>>2]|0;if(!Ga){Ia=ta;break}else Fa=ta}if(((Ia|0)!=(qa|0)?(ia|0)>=(f[Ia+16>>2]|0):0)?(Fa=Ia+20|0,(Hh(Fa,i)|0)!=0):0){Ga=Og(Fa,i)|0;if((Ga|0)!=(Ia+24|0)){nj(d,Ga+28|0);Ga=b[M>>0]|0;Fa=Ga<<24>>24<0;if(!((Fa?f[N>>2]|0:Ga&255)|0))Ka=Ga;else{if(la<<24>>24>0){ya=Fa?f[d>>2]|0:d;Fa=0;do{La=$(Lq(ya,e));ka=ya;ya=f[e>>2]|0;if((ka|0)==(ya|0))break;n[Ea+(Fa<<2)>>2]=La;Fa=Fa+1|0}while((Fa|0)<(ra|0));Ma=b[M>>0]|0}else Ma=Ga;Ka=Ma}if(Ka<<24>>24<0)pr(f[d>>2]|0)}}else wa=69}else wa=69;if((wa|0)==69?(wa=0,Fa=Og(pa,i)|0,(Fa|0)!=(pa+4|0)):0){nj(d,Fa+28|0);Fa=b[G>>0]|0;ya=Fa<<24>>24<0;if(!((ya?f[H>>2]|0:Fa&255)|0))Na=Fa;else{if(la<<24>>24>0){qa=ya?f[d>>2]|0:d;ya=0;do{La=$(Lq(qa,e));ka=qa;qa=f[e>>2]|0;if((ka|0)==(qa|0))break;n[Ea+(ya<<2)>>2]=La;ya=ya+1|0}while((ya|0)<(ra|0));Oa=b[G>>0]|0}else Oa=Fa;Na=Oa}if(Na<<24>>24<0)pr(f[d>>2]|0)}if((b[I>>0]|0)<0)pr(f[i>>2]|0);ra=f[(f[j>>2]|0)+48>>2]|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;ya=tn(32)|0;f[d>>2]=ya;f[J>>2]=-2147483616;f[K>>2]=18;ma=ya;na=14849;oa=ma+18|0;do{b[ma>>0]=b[na>>0]|0;ma=ma+1|0;na=na+1|0}while((ma|0)<(oa|0));b[ya+18>>0]=0;na=ra+16|0;ma=f[na>>2]|0;do if(ma){oa=na;Fa=ma;f:while(1){qa=Fa;while(1){if((f[qa+16>>2]|0)>=(ia|0))break;la=f[qa+4>>2]|0;if(!la){Pa=oa;break f}else qa=la}Fa=f[qa>>2]|0;if(!Fa){Pa=qa;break}else oa=qa}if((Pa|0)!=(na|0)?(ia|0)>=(f[Pa+16>>2]|0):0){oa=Pa+20|0;if(!(Hh(oa,d)|0)){wa=91;break}Qa=$(vk(oa,d,$(1.0)))}else wa=91}else wa=91;while(0);if((wa|0)==91){wa=0;Qa=$(vk(ra,d,$(1.0)))}if((b[L>>0]|0)<0)pr(f[d>>2]|0);Hl(g,va,f[h>>2]|0,b[sa>>0]|0,Qa);ia=f[h>>2]|0;if(ia|0){na=f[C>>2]|0;if((na|0)!=(ia|0))f[C>>2]=na+(~((na+-4-ia|0)>>>2)<<2);pr(ia)}}else Qd(g,ja,va)|0;ia=f[P>>2]|0;if((ia|0)==(f[Q>>2]|0))vf(R,g);else{f[ia>>2]=1260;f[ia+4>>2]=f[s>>2];Ra=ia+8|0;f[Ra>>2]=0;na=ia+12|0;f[na>>2]=0;f[ia+16>>2]=0;ma=(f[y>>2]|0)-(f[V>>2]|0)|0;ya=ma>>2;if(ya|0){if(ya>>>0>1073741823){wa=103;break a}oa=tn(ma)|0;f[na>>2]=oa;f[Ra>>2]=oa;f[ia+16>>2]=oa+(ya<<2);ya=f[V>>2]|0;ma=(f[y>>2]|0)-ya|0;if((ma|0)>0){eh(oa|0,ya|0,ma|0)|0;f[na>>2]=oa+(ma>>>2<<2)}}f[ia+20>>2]=f[W>>2];f[P>>2]=(f[P>>2]|0)+24}Ke(d,g,ja,m);ia=f[S>>2]|0;if(ia>>>0<(f[T>>2]|0)>>>0){ma=f[d>>2]|0;f[d>>2]=0;f[ia>>2]=ma;f[S>>2]=ia+4}else Re(U,d);ia=f[d>>2]|0;f[d>>2]=0;if(ia|0){ma=ia+88|0;oa=f[ma>>2]|0;f[ma>>2]=0;if(oa|0){ma=f[oa+8>>2]|0;if(ma|0){na=oa+12|0;if((f[na>>2]|0)!=(ma|0))f[na>>2]=ma;pr(ma)}pr(oa)}oa=f[ia+68>>2]|0;if(oa|0){ma=ia+72|0;na=f[ma>>2]|0;if((na|0)!=(oa|0))f[ma>>2]=na+(~((na+-4-oa|0)>>>2)<<2);pr(oa)}oa=ia+64|0;na=f[oa>>2]|0;f[oa>>2]=0;if(na|0){oa=f[na>>2]|0;if(oa|0){ma=na+4|0;if((f[ma>>2]|0)!=(oa|0))f[ma>>2]=oa;pr(oa)}pr(na)}pr(ia)}xa=0}f[g>>2]=1260;ia=f[q>>2]|0;if(ia|0){na=f[y>>2]|0;if((na|0)!=(ia|0))f[y>>2]=na+(~((na+-4-ia|0)>>>2)<<2);pr(ia)}if(xa|0){v=0;wa=169;break a}break}case 1:case 3:case 5:{ia=ja+24|0;na=b[ia>>0]|0;oa=na<<24>>24;f[g>>2]=0;f[_>>2]=0;f[aa>>2]=0;if(!(na<<24>>24))Sa=0;else{if(na<<24>>24<0){wa=137;break a}na=tn(oa<<2)|0;f[_>>2]=na;f[g>>2]=na;ma=na+(oa<<2)|0;f[a>>2]=ma;ya=na;na=oa;while(1){f[ya>>2]=2147483647;na=na+-1|0;if(!na)break;else ya=ya+4|0}f[_>>2]=ma;Sa=b[ia>>0]|0}ya=Sa<<24>>24;f[h>>2]=0;f[ba>>2]=0;f[ca>>2]=0;if(!(Sa<<24>>24))Ta=0;else{if(Sa<<24>>24<0){wa=144;break a}na=ya<<2;sa=tn(na)|0;f[h>>2]=sa;ra=sa+(ya<<2)|0;f[da>>2]=ra;pj(sa|0,0,na|0)|0;f[ba>>2]=ra;Ta=sa}sa=ja+80|0;ra=b[ia>>0]|0;g:do if(!(f[sa>>2]|0))Ua=ra;else{na=ra;ya=Ta;oa=0;while(1){f[e>>2]=oa;f[d>>2]=f[e>>2];Lb(ja,d,na,ya)|0;Fa=b[ia>>0]|0;if(Fa<<24>>24>0){ta=f[g>>2]|0;la=f[h>>2]|0;pa=Fa<<24>>24;Ga=0;do{ka=ta+(Ga<<2)|0;Ha=f[la+(Ga<<2)>>2]|0;if((f[ka>>2]|0)>(Ha|0))f[ka>>2]=Ha;Ga=Ga+1|0}while((Ga|0)<(pa|0))}pa=oa+1|0;if(pa>>>0>=(f[sa>>2]|0)>>>0){Ua=Fa;break g}na=Fa;ya=f[h>>2]|0;oa=pa}}while(0);if(Ua<<24>>24>0){sa=Ua;ja=0;while(1){ra=(f[g>>2]|0)+(ja<<2)|0;ma=f[ea>>2]|0;if((ma|0)==(f[fa>>2]|0)){Ti(ga,ra);Va=b[ia>>0]|0}else{f[ma>>2]=f[ra>>2];f[ea>>2]=ma+4;Va=sa}ja=ja+1|0;if((ja|0)>=(Va<<24>>24|0))break;else sa=Va}}sa=f[h>>2]|0;if(sa|0){ja=f[ba>>2]|0;if((ja|0)!=(sa|0))f[ba>>2]=ja+(~((ja+-4-sa|0)>>>2)<<2);pr(sa)}sa=f[g>>2]|0;if(sa|0){ja=f[_>>2]|0;if((ja|0)!=(sa|0))f[_>>2]=ja+(~((ja+-4-sa|0)>>>2)<<2);pr(sa)}break}default:{}}sa=k+1|0;ja=f[o>>2]|0;if(sa>>>0>=(f[p>>2]|0)-ja>>2>>>0){v=1;wa=169;break}ia=f[j>>2]|0;ha=ja;t=f[ia+4>>2]|0;l=ia;k=sa}if((wa|0)==48)Cq(h);else if((wa|0)==103)Cq(Ra);else if((wa|0)==137)Cq(g);else if((wa|0)==144)Cq(h);else if((wa|0)==169){u=c;return v|0}return 0}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,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,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0;d=u;u=u+32|0;e=d;g=a+8|0;h=f[g>>2]|0;f[e>>2]=0;i=e+4|0;f[i>>2]=0;f[e+8>>2]=0;do if(h)if(h>>>0>1073741823)Cq(e);else{j=h<<2;k=tn(j)|0;f[e>>2]=k;l=k+(h<<2)|0;f[e+8>>2]=l;pj(k|0,0,j|0)|0;f[i>>2]=l;m=l;n=k;break}else{m=0;n=0}while(0);k=a+128|0;l=f[k>>2]|0;j=f[l>>2]|0;o=l+4|0;if(!j){p=n;q=m;r=h;s=l+8|0}else{h=f[o>>2]|0;if((h|0)!=(j|0))f[o>>2]=h+(~((h+-4-j|0)>>>2)<<2);pr(j);j=l+8|0;f[j>>2]=0;f[o>>2]=0;f[l>>2]=0;p=f[e>>2]|0;q=f[i>>2]|0;r=f[g>>2]|0;s=j}f[l>>2]=p;f[o>>2]=q;f[s>>2]=f[e+8>>2];f[e>>2]=0;s=e+4|0;f[s>>2]=0;f[e+8>>2]=0;do if(r)if(r>>>0>1073741823)Cq(e);else{q=r<<2;o=tn(q)|0;f[e>>2]=o;p=o+(r<<2)|0;f[e+8>>2]=p;pj(o|0,0,q|0)|0;f[s>>2]=p;t=p;v=o;break}else{t=0;v=0}while(0);r=a+140|0;o=f[r>>2]|0;p=f[o>>2]|0;q=o+4|0;if(!p){w=v;x=t;y=o+8|0}else{t=f[q>>2]|0;if((t|0)!=(p|0))f[q>>2]=t+(~((t+-4-p|0)>>>2)<<2);pr(p);p=o+8|0;f[p>>2]=0;f[q>>2]=0;f[o>>2]=0;w=f[e>>2]|0;x=f[s>>2]|0;y=p}f[o>>2]=w;f[q>>2]=x;f[y>>2]=f[e+8>>2];y=f[b>>2]|0;x=b+4|0;q=f[x>>2]|0;w=f[x+4>>2]|0;x=f[c>>2]|0;o=c+4|0;p=f[o>>2]|0;s=f[o+4>>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;f[e+20>>2]=0;o=e+8|0;t=e+4|0;v=e+16|0;l=e+20|0;j=q;Jc(e);i=f[t>>2]|0;h=(f[l>>2]|0)+(f[v>>2]|0)|0;if((f[o>>2]|0)==(i|0))z=0;else z=(f[i+(((h>>>0)/113|0)<<2)>>2]|0)+(((h>>>0)%113|0)*36|0)|0;f[z>>2]=y;h=z+4|0;f[h>>2]=q;f[h+4>>2]=w;f[z+12>>2]=x;h=z+16|0;f[h>>2]=p;f[h+4>>2]=s;f[z+24>>2]=0;f[z+28>>2]=x-y;f[z+32>>2]=0;z=(f[l>>2]|0)+1|0;f[l>>2]=z;if(z|0){y=a+116|0;x=a+48|0;h=a+44|0;i=a+36|0;m=a+40|0;n=a+32|0;A=b+8|0;B=c+8|0;C=a+28|0;D=a+24|0;E=a+16|0;F=a+20|0;G=a+12|0;H=a+88|0;I=a+84|0;J=a+76|0;K=a+80|0;L=a+72|0;M=j+4|0;N=j+24|0;O=j+24|0;P=p+24|0;Q=z;while(1){z=f[v>>2]|0;R=Q+-1|0;S=R+z|0;T=f[t>>2]|0;U=f[T+(((S>>>0)/113|0)<<2)>>2]|0;V=(S>>>0)%113|0;S=f[U+(V*36|0)>>2]|0;W=f[U+(V*36|0)+12>>2]|0;Y=f[U+(V*36|0)+24>>2]|0;Z=f[U+(V*36|0)+32>>2]|0;f[l>>2]=R;R=f[o>>2]|0;V=R-T>>2;if((1-Q-z+((V|0)==0?0:(V*113|0)+-1|0)|0)>>>0>225){pr(f[R+-4>>2]|0);f[o>>2]=(f[o>>2]|0)+-4}f[b>>2]=S;f[c>>2]=W;R=f[k>>2]|0;V=((f[g>>2]|0)+-1|0)==(Y|0)?0:Y+1|0;Y=(f[r>>2]|0)+(Z*12|0)|0;z=W-S|0;T=(f[a>>2]|0)-(f[(f[Y>>2]|0)+(V<<2)>>2]|0)|0;a:do if(T){if(z>>>0<3){U=f[y>>2]|0;f[U>>2]=V;$=f[g>>2]|0;if($>>>0>1){aa=$;ba=V;ca=1;while(1){ba=(ba|0)==(aa+-1|0)?0:ba+1|0;f[U+(ca<<2)>>2]=ba;ca=ca+1|0;da=f[g>>2]|0;if(ca>>>0>=da>>>0){ea=da;break}else aa=da}}else ea=$;if(!z){fa=99;break}else{ga=ea;ha=0}while(1){aa=(f[N>>2]|0)+((X(f[M>>2]|0,S+ha|0)|0)<<2)|0;if(!ga)ia=0;else{ca=0;do{ba=f[(f[y>>2]|0)+(ca<<2)>>2]|0;U=(f[a>>2]|0)-(f[(f[Y>>2]|0)+(ba<<2)>>2]|0)|0;do if(U|0){da=f[x>>2]|0;ja=32-da|0;ka=32-U|0;la=f[aa+(ba<<2)>>2]<<ka;ma=f[h>>2]|0;if((U|0)>(ja|0)){na=la>>>ka;ka=U-ja|0;f[x>>2]=ka;ja=na>>>ka|ma;f[h>>2]=ja;ka=f[i>>2]|0;if((ka|0)==(f[m>>2]|0))Ti(n,h);else{f[ka>>2]=ja;f[i>>2]=ka+4}f[h>>2]=na<<32-(f[x>>2]|0);break}na=ma|la>>>da;f[h>>2]=na;la=da+U|0;f[x>>2]=la;if((la|0)!=32)break;la=f[i>>2]|0;if((la|0)==(f[m>>2]|0))Ti(n,h);else{f[la>>2]=na;f[i>>2]=la+4}f[h>>2]=0;f[x>>2]=0}while(0);ca=ca+1|0;U=f[g>>2]|0}while(ca>>>0<U>>>0);ia=U}ha=ha+1|0;if(ha>>>0>=z>>>0){fa=99;break a}else ga=ia}}$=Z+1|0;Fg(R+($*12|0)|0,f[R+(Z*12|0)>>2]|0,f[R+(Z*12|0)+4>>2]|0);ca=(f[(f[k>>2]|0)+($*12|0)>>2]|0)+(V<<2)|0;aa=(f[ca>>2]|0)+(1<<T+-1)|0;f[ca>>2]=aa;ca=f[A>>2]|0;U=f[B>>2]|0;b:do if((W|0)==(S|0))oa=S;else{ba=f[O>>2]|0;if(!ca){if((f[ba+(V<<2)>>2]|0)>>>0<aa>>>0){oa=W;break}else{pa=S;qa=W}while(1){la=qa;do{la=la+-1|0;if((pa|0)==(la|0)){oa=pa;break b}na=(f[P>>2]|0)+((X(la,U)|0)<<2)+(V<<2)|0}while((f[na>>2]|0)>>>0>=aa>>>0);pa=pa+1|0;if((pa|0)==(la|0)){oa=la;break b}else qa=la}}else{ra=S;sa=W}while(1){na=ra;while(1){ta=ba+((X(na,ca)|0)<<2)|0;if((f[ta+(V<<2)>>2]|0)>>>0>=aa>>>0){ua=sa;break}da=na+1|0;if((da|0)==(sa|0)){oa=sa;break b}else na=da}while(1){ua=ua+-1|0;if((na|0)==(ua|0)){oa=na;break b}va=(f[P>>2]|0)+((X(ua,U)|0)<<2)|0;if((f[va+(V<<2)>>2]|0)>>>0<aa>>>0){wa=0;break}}do{la=ta+(wa<<2)|0;da=va+(wa<<2)|0;ma=f[la>>2]|0;f[la>>2]=f[da>>2];f[da>>2]=ma;wa=wa+1|0}while((wa|0)!=(ca|0));ra=na+1|0;if((ra|0)==(ua|0)){oa=ua;break}else sa=ua}}while(0);aa=(_(z|0)|0)^31;U=oa-S|0;ba=W-oa|0;ma=U>>>0<ba>>>0;if((U|0)!=(ba|0)){da=f[H>>2]|0;if(ma)f[I>>2]=f[I>>2]|1<<31-da;la=da+1|0;f[H>>2]=la;if((la|0)==32){la=f[J>>2]|0;if((la|0)==(f[K>>2]|0))Ti(L,I);else{f[la>>2]=f[I>>2];f[J>>2]=la+4}f[H>>2]=0;f[I>>2]=0}}la=z>>>1;do if(ma){da=f[C>>2]|0;ka=32-da|0;ja=32-aa|0;xa=la-U<<ja;ya=f[D>>2]|0;if((aa|0)>(ka|0)){za=xa>>>ja;ja=aa-ka|0;f[C>>2]=ja;ka=za>>>ja|ya;f[D>>2]=ka;ja=f[E>>2]|0;if((ja|0)==(f[F>>2]|0))Ti(G,D);else{f[ja>>2]=ka;f[E>>2]=ja+4}f[D>>2]=za<<32-(f[C>>2]|0);break}za=ya|xa>>>da;f[D>>2]=za;xa=da+aa|0;f[C>>2]=xa;if((xa|0)==32){xa=f[E>>2]|0;if((xa|0)==(f[F>>2]|0))Ti(G,D);else{f[xa>>2]=za;f[E>>2]=xa+4}f[D>>2]=0;f[C>>2]=0}}else{xa=f[C>>2]|0;za=32-xa|0;da=32-aa|0;ya=la-ba<<da;ja=f[D>>2]|0;if((aa|0)>(za|0)){ka=ya>>>da;da=aa-za|0;f[C>>2]=da;za=ka>>>da|ja;f[D>>2]=za;da=f[E>>2]|0;if((da|0)==(f[F>>2]|0))Ti(G,D);else{f[da>>2]=za;f[E>>2]=da+4}f[D>>2]=ka<<32-(f[C>>2]|0);break}ka=ja|ya>>>xa;f[D>>2]=ka;ya=xa+aa|0;f[C>>2]=ya;if((ya|0)==32){ya=f[E>>2]|0;if((ya|0)==(f[F>>2]|0))Ti(G,D);else{f[ya>>2]=ka;f[E>>2]=ya+4}f[D>>2]=0;f[C>>2]=0}}while(0);aa=f[r>>2]|0;la=f[aa+(Z*12|0)>>2]|0;ma=la+(V<<2)|0;f[ma>>2]=(f[ma>>2]|0)+1;Fg(aa+($*12|0)|0,la,f[aa+(Z*12|0)+4>>2]|0);if((oa|0)!=(S|0)){aa=f[o>>2]|0;la=f[t>>2]|0;ma=aa-la>>2;ya=f[v>>2]|0;ka=f[l>>2]|0;if((((ma|0)==0?0:(ma*113|0)+-1|0)|0)==(ka+ya|0)){Jc(e);Aa=f[v>>2]|0;Ba=f[l>>2]|0;Ca=f[o>>2]|0;Da=f[t>>2]|0}else{Aa=ya;Ba=ka;Ca=aa;Da=la}la=Ba+Aa|0;if((Ca|0)==(Da|0))Ea=0;else Ea=(f[Da+(((la>>>0)/113|0)<<2)>>2]|0)+(((la>>>0)%113|0)*36|0)|0;f[Ea>>2]=S;la=Ea+4|0;f[la>>2]=q;f[la+4>>2]=w;f[Ea+12>>2]=oa;f[Ea+16>>2]=j;f[Ea+20>>2]=ca;f[Ea+24>>2]=V;f[Ea+28>>2]=U;f[Ea+32>>2]=Z;f[l>>2]=(f[l>>2]|0)+1}if((W|0)!=(oa|0)){la=f[o>>2]|0;aa=f[t>>2]|0;ka=la-aa>>2;ya=f[v>>2]|0;ma=f[l>>2]|0;if((((ka|0)==0?0:(ka*113|0)+-1|0)|0)==(ma+ya|0)){Jc(e);Fa=f[v>>2]|0;Ga=f[l>>2]|0;Ha=f[o>>2]|0;Ia=f[t>>2]|0}else{Fa=ya;Ga=ma;Ha=la;Ia=aa}aa=Ga+Fa|0;if((Ha|0)==(Ia|0))Ja=0;else Ja=(f[Ia+(((aa>>>0)/113|0)<<2)>>2]|0)+(((aa>>>0)%113|0)*36|0)|0;f[Ja>>2]=oa;f[Ja+4>>2]=j;f[Ja+8>>2]=ca;f[Ja+12>>2]=W;aa=Ja+16|0;f[aa>>2]=p;f[aa+4>>2]=s;f[Ja+24>>2]=V;f[Ja+28>>2]=ba;f[Ja+32>>2]=$;aa=(f[l>>2]|0)+1|0;f[l>>2]=aa;Ka=aa}else fa=99}else fa=99;while(0);if((fa|0)==99){fa=0;Ka=f[l>>2]|0}if(!Ka)break;else Q=Ka}}Ka=f[t>>2]|0;Q=f[v>>2]|0;Ja=Ka+(((Q>>>0)/113|0)<<2)|0;s=f[o>>2]|0;p=s;j=Ka;if((s|0)==(Ka|0)){La=0;Ma=0}else{oa=(f[Ja>>2]|0)+(((Q>>>0)%113|0)*36|0)|0;La=oa;Ma=oa}oa=Ja;Ja=Ma;c:while(1){Ma=Ja;do{Q=Ma;if((Q|0)==(La|0))break c;Ma=Q+36|0}while((Ma-(f[oa>>2]|0)|0)!=4068);Ma=oa+4|0;oa=Ma;Ja=f[Ma>>2]|0}f[l>>2]=0;l=p-j>>2;if(l>>>0>2){j=Ka;do{pr(f[j>>2]|0);j=(f[t>>2]|0)+4|0;f[t>>2]=j;Na=f[o>>2]|0;Oa=Na-j>>2}while(Oa>>>0>2);Pa=j;Qa=Na;Ra=Oa}else{Pa=Ka;Qa=s;Ra=l}switch(Ra|0){case 1:{Sa=56;fa=113;break}case 2:{Sa=113;fa=113;break}default:{}}if((fa|0)==113)f[v>>2]=Sa;if((Pa|0)!=(Qa|0)){Sa=Pa;do{pr(f[Sa>>2]|0);Sa=Sa+4|0}while((Sa|0)!=(Qa|0));Qa=f[t>>2]|0;t=f[o>>2]|0;if((t|0)!=(Qa|0))f[o>>2]=t+(~((t+-4-Qa|0)>>>2)<<2)}Qa=f[e>>2]|0;if(!Qa){u=d;return}pr(Qa);u=d;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,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,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0;d=u;u=u+48|0;e=d+36|0;g=d+24|0;h=d;i=a+8|0;j=f[i>>2]|0;f[e>>2]=0;k=e+4|0;f[k>>2]=0;f[e+8>>2]=0;do if(j)if(j>>>0>1073741823)Cq(e);else{l=j<<2;m=tn(l)|0;f[e>>2]=m;n=m+(j<<2)|0;f[e+8>>2]=n;pj(m|0,0,l|0)|0;f[k>>2]=n;o=n;p=m;break}else{o=0;p=0}while(0);m=a+1164|0;n=f[m>>2]|0;l=f[n>>2]|0;q=n+4|0;if(!l){r=p;s=o;t=j;v=n+8|0}else{j=f[q>>2]|0;if((j|0)!=(l|0))f[q>>2]=j+(~((j+-4-l|0)>>>2)<<2);pr(l);l=n+8|0;f[l>>2]=0;f[q>>2]=0;f[n>>2]=0;r=f[e>>2]|0;s=f[k>>2]|0;t=f[i>>2]|0;v=l}f[n>>2]=r;f[q>>2]=s;f[v>>2]=f[e+8>>2];f[e>>2]=0;v=e+4|0;f[v>>2]=0;f[e+8>>2]=0;do if(t)if(t>>>0>1073741823)Cq(e);else{s=t<<2;q=tn(s)|0;f[e>>2]=q;r=q+(t<<2)|0;f[e+8>>2]=r;pj(q|0,0,s|0)|0;f[v>>2]=r;w=r;x=q;break}else{w=0;x=0}while(0);t=a+1176|0;q=f[t>>2]|0;r=f[q>>2]|0;s=q+4|0;if(!r){y=x;z=w;A=q+8|0}else{w=f[s>>2]|0;if((w|0)!=(r|0))f[s>>2]=w+(~((w+-4-r|0)>>>2)<<2);pr(r);r=q+8|0;f[r>>2]=0;f[s>>2]=0;f[q>>2]=0;y=f[e>>2]|0;z=f[v>>2]|0;A=r}f[q>>2]=y;f[s>>2]=z;f[A>>2]=f[e+8>>2];A=f[b>>2]|0;z=b+4|0;s=f[z>>2]|0;y=f[z+4>>2]|0;z=f[c>>2]|0;q=c+4|0;r=f[q>>2]|0;v=f[q+4>>2]|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;q=h+8|0;w=h+4|0;x=h+16|0;n=h+20|0;l=s;Jc(h);k=f[w>>2]|0;j=(f[n>>2]|0)+(f[x>>2]|0)|0;if((f[q>>2]|0)==(k|0))B=0;else B=(f[k+(((j>>>0)/113|0)<<2)>>2]|0)+(((j>>>0)%113|0)*36|0)|0;f[B>>2]=A;j=B+4|0;f[j>>2]=s;f[j+4>>2]=y;f[B+12>>2]=z;j=B+16|0;f[j>>2]=r;f[j+4>>2]=v;f[B+24>>2]=0;f[B+28>>2]=z-A;f[B+32>>2]=0;B=(f[n>>2]|0)+1|0;f[n>>2]=B;if(B|0){A=a+1152|0;z=a+1084|0;j=a+1080|0;k=a+1072|0;o=a+1076|0;p=a+1068|0;C=b+8|0;D=c+8|0;E=a+1124|0;F=a+1120|0;G=a+1112|0;H=a+1116|0;I=a+1108|0;J=l+4|0;K=l+24|0;L=l+24|0;M=r+24|0;N=B;while(1){B=f[x>>2]|0;O=N+-1|0;P=O+B|0;Q=f[w>>2]|0;R=f[Q+(((P>>>0)/113|0)<<2)>>2]|0;S=(P>>>0)%113|0;P=f[R+(S*36|0)>>2]|0;T=f[R+(S*36|0)+12>>2]|0;U=f[R+(S*36|0)+24>>2]|0;V=f[R+(S*36|0)+32>>2]|0;f[n>>2]=O;O=f[q>>2]|0;S=O-Q>>2;if((1-N-B+((S|0)==0?0:(S*113|0)+-1|0)|0)>>>0>225){pr(f[O+-4>>2]|0);f[q>>2]=(f[q>>2]|0)+-4}f[b>>2]=P;f[c>>2]=T;O=f[m>>2]|0;S=O+(V*12|0)|0;B=(f[t>>2]|0)+(V*12|0)|0;f[g>>2]=f[b>>2];f[g+4>>2]=f[b+4>>2];f[g+8>>2]=f[b+8>>2];f[e>>2]=f[c>>2];f[e+4>>2]=f[c+4>>2];f[e+8>>2]=f[c+8>>2];Q=Kd(a,g,e,S,B,U)|0;U=T-P|0;R=(f[a>>2]|0)-(f[(f[B>>2]|0)+(Q<<2)>>2]|0)|0;a:do if(R){if(U>>>0<3){W=f[A>>2]|0;f[W>>2]=Q;Y=f[i>>2]|0;if(Y>>>0>1){Z=Y;$=Q;aa=1;while(1){$=($|0)==(Z+-1|0)?0:$+1|0;f[W+(aa<<2)>>2]=$;aa=aa+1|0;ba=f[i>>2]|0;if(aa>>>0>=ba>>>0){ca=ba;break}else Z=ba}}else ca=Y;if(!U){da=87;break}else{ea=ca;fa=0}while(1){Z=(f[K>>2]|0)+((X(f[J>>2]|0,P+fa|0)|0)<<2)|0;if(!ea)ga=0;else{aa=0;do{$=f[(f[A>>2]|0)+(aa<<2)>>2]|0;W=(f[a>>2]|0)-(f[(f[B>>2]|0)+($<<2)>>2]|0)|0;do if(W|0){ba=f[z>>2]|0;ha=32-ba|0;ia=32-W|0;ja=f[Z+($<<2)>>2]<<ia;ka=f[j>>2]|0;if((W|0)>(ha|0)){la=ja>>>ia;ia=W-ha|0;f[z>>2]=ia;ha=la>>>ia|ka;f[j>>2]=ha;ia=f[k>>2]|0;if((ia|0)==(f[o>>2]|0))Ti(p,j);else{f[ia>>2]=ha;f[k>>2]=ia+4}f[j>>2]=la<<32-(f[z>>2]|0);break}la=ka|ja>>>ba;f[j>>2]=la;ja=ba+W|0;f[z>>2]=ja;if((ja|0)!=32)break;ja=f[k>>2]|0;if((ja|0)==(f[o>>2]|0))Ti(p,j);else{f[ja>>2]=la;f[k>>2]=ja+4}f[j>>2]=0;f[z>>2]=0}while(0);aa=aa+1|0;W=f[i>>2]|0}while(aa>>>0<W>>>0);ga=W}fa=fa+1|0;if(fa>>>0>=U>>>0){da=87;break a}else ea=ga}}Y=V+1|0;aa=f[m>>2]|0;Z=aa+(Y*12|0)|0;if((Z|0)==(S|0))ma=aa;else{Fg(Z,f[S>>2]|0,f[O+(V*12|0)+4>>2]|0);ma=f[m>>2]|0}Z=(f[ma+(Y*12|0)>>2]|0)+(Q<<2)|0;aa=(f[Z>>2]|0)+(1<<R+-1)|0;f[Z>>2]=aa;Z=f[C>>2]|0;W=f[D>>2]|0;b:do if((T|0)==(P|0))na=P;else{$=f[L>>2]|0;if(!Z){if((f[$+(Q<<2)>>2]|0)>>>0<aa>>>0){na=T;break}else{oa=P;pa=T}while(1){ja=pa;do{ja=ja+-1|0;if((oa|0)==(ja|0)){na=oa;break b}la=(f[M>>2]|0)+((X(ja,W)|0)<<2)+(Q<<2)|0}while((f[la>>2]|0)>>>0>=aa>>>0);oa=oa+1|0;if((oa|0)==(ja|0)){na=ja;break b}else pa=ja}}else{qa=P;ra=T}while(1){la=qa;while(1){sa=$+((X(la,Z)|0)<<2)|0;if((f[sa+(Q<<2)>>2]|0)>>>0>=aa>>>0){ta=ra;break}ba=la+1|0;if((ba|0)==(ra|0)){na=ra;break b}else la=ba}while(1){ta=ta+-1|0;if((la|0)==(ta|0)){na=la;break b}ua=(f[M>>2]|0)+((X(ta,W)|0)<<2)|0;if((f[ua+(Q<<2)>>2]|0)>>>0<aa>>>0){va=0;break}}do{ja=sa+(va<<2)|0;ba=ua+(va<<2)|0;ka=f[ja>>2]|0;f[ja>>2]=f[ba>>2];f[ba>>2]=ka;va=va+1|0}while((va|0)!=(Z|0));qa=la+1|0;if((qa|0)==(ta|0)){na=ta;break}else ra=ta}}while(0);aa=(_(U|0)|0)^31;W=na-P|0;$=T-na|0;ka=W>>>0<$>>>0;if((W|0)!=($|0)){ba=f[E>>2]|0;if(ka)f[F>>2]=f[F>>2]|1<<31-ba;ja=ba+1|0;f[E>>2]=ja;if((ja|0)==32){ja=f[G>>2]|0;if((ja|0)==(f[H>>2]|0))Ti(I,F);else{f[ja>>2]=f[F>>2];f[G>>2]=ja+4}f[E>>2]=0;f[F>>2]=0}}ja=U>>>1;if(ka){ka=ja-W|0;if(aa|0){ba=0;ia=1<<aa+-1;while(1){dj(a+12+(ba<<5)|0,(ia&ka|0)!=0);ba=ba+1|0;if((ba|0)==(aa|0))break;else ia=ia>>>1}}}else{ia=ja-$|0;if(aa|0){ba=0;ka=1<<aa+-1;while(1){dj(a+12+(ba<<5)|0,(ka&ia|0)!=0);ba=ba+1|0;if((ba|0)==(aa|0))break;else ka=ka>>>1}}}ka=f[t>>2]|0;aa=f[ka+(V*12|0)>>2]|0;ba=aa+(Q<<2)|0;f[ba>>2]=(f[ba>>2]|0)+1;Fg(ka+(Y*12|0)|0,aa,f[ka+(V*12|0)+4>>2]|0);if((na|0)!=(P|0)){ka=f[q>>2]|0;aa=f[w>>2]|0;ba=ka-aa>>2;ia=f[x>>2]|0;ja=f[n>>2]|0;if((((ba|0)==0?0:(ba*113|0)+-1|0)|0)==(ja+ia|0)){Jc(h);wa=f[x>>2]|0;xa=f[n>>2]|0;ya=f[q>>2]|0;za=f[w>>2]|0}else{wa=ia;xa=ja;ya=ka;za=aa}aa=xa+wa|0;if((ya|0)==(za|0))Aa=0;else Aa=(f[za+(((aa>>>0)/113|0)<<2)>>2]|0)+(((aa>>>0)%113|0)*36|0)|0;f[Aa>>2]=P;aa=Aa+4|0;f[aa>>2]=s;f[aa+4>>2]=y;f[Aa+12>>2]=na;f[Aa+16>>2]=l;f[Aa+20>>2]=Z;f[Aa+24>>2]=Q;f[Aa+28>>2]=W;f[Aa+32>>2]=V;f[n>>2]=(f[n>>2]|0)+1}if((T|0)!=(na|0)){aa=f[q>>2]|0;ka=f[w>>2]|0;ja=aa-ka>>2;ia=f[x>>2]|0;ba=f[n>>2]|0;if((((ja|0)==0?0:(ja*113|0)+-1|0)|0)==(ba+ia|0)){Jc(h);Ba=f[x>>2]|0;Ca=f[n>>2]|0;Da=f[q>>2]|0;Ea=f[w>>2]|0}else{Ba=ia;Ca=ba;Da=aa;Ea=ka}ka=Ca+Ba|0;if((Da|0)==(Ea|0))Fa=0;else Fa=(f[Ea+(((ka>>>0)/113|0)<<2)>>2]|0)+(((ka>>>0)%113|0)*36|0)|0;f[Fa>>2]=na;f[Fa+4>>2]=l;f[Fa+8>>2]=Z;f[Fa+12>>2]=T;ka=Fa+16|0;f[ka>>2]=r;f[ka+4>>2]=v;f[Fa+24>>2]=Q;f[Fa+28>>2]=$;f[Fa+32>>2]=Y;ka=(f[n>>2]|0)+1|0;f[n>>2]=ka;Ga=ka}else da=87}else da=87;while(0);if((da|0)==87){da=0;Ga=f[n>>2]|0}if(!Ga)break;else N=Ga}}Ga=f[w>>2]|0;N=f[x>>2]|0;Fa=Ga+(((N>>>0)/113|0)<<2)|0;v=f[q>>2]|0;r=v;l=Ga;if((v|0)==(Ga|0)){Ha=0;Ia=0}else{na=(f[Fa>>2]|0)+(((N>>>0)%113|0)*36|0)|0;Ha=na;Ia=na}na=Fa;Fa=Ia;c:while(1){Ia=Fa;do{N=Ia;if((N|0)==(Ha|0))break c;Ia=N+36|0}while((Ia-(f[na>>2]|0)|0)!=4068);Ia=na+4|0;na=Ia;Fa=f[Ia>>2]|0}f[n>>2]=0;n=r-l>>2;if(n>>>0>2){l=Ga;do{pr(f[l>>2]|0);l=(f[w>>2]|0)+4|0;f[w>>2]=l;Ja=f[q>>2]|0;Ka=Ja-l>>2}while(Ka>>>0>2);La=l;Ma=Ja;Na=Ka}else{La=Ga;Ma=v;Na=n}switch(Na|0){case 1:{Oa=56;da=101;break}case 2:{Oa=113;da=101;break}default:{}}if((da|0)==101)f[x>>2]=Oa;if((La|0)!=(Ma|0)){Oa=La;do{pr(f[Oa>>2]|0);Oa=Oa+4|0}while((Oa|0)!=(Ma|0));Ma=f[w>>2]|0;w=f[q>>2]|0;if((w|0)!=(Ma|0))f[q>>2]=w+(~((w+-4-Ma|0)>>>2)<<2)}Ma=f[h>>2]|0;if(!Ma){u=d;return}pr(Ma);u=d;return}function db(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,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,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0;d=u;u=u+1424|0;e=d+1408|0;g=d+1396|0;h=d+1420|0;i=d+1200|0;j=d+12|0;k=d;l=d+1384|0;m=d+1372|0;n=d+1360|0;o=d+1348|0;p=d+1336|0;q=d+1324|0;r=d+1312|0;s=d+1300|0;t=d+1288|0;v=d+1276|0;w=d+1264|0;x=d+1252|0;y=d+1240|0;z=d+1228|0;A=a+28|0;B=10-(ki(f[(f[A>>2]|0)+48>>2]|0)|0)|0;C=(B|0)<6?B:6;b[h>>0]=C;if((C&255|0)==6?(f[a+72>>2]|0)>15:0)b[h>>0]=5;C=c+16|0;B=f[C+4>>2]|0;if(!((B|0)>0|(B|0)==0&(f[C>>2]|0)>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Fe(c,e,h,h+1|0)|0}C=f[A>>2]|0;B=f[(f[C+4>>2]|0)+80>>2]|0;D=a+72|0;E=f[D>>2]|0;f[i>>2]=B;F=i+4|0;f[F>>2]=E;f[i+8>>2]=E<<2;G=i+12|0;H=X(E,B)|0;f[G>>2]=0;J=i+16|0;f[J>>2]=0;f[i+20>>2]=0;do if(H)if(H>>>0>1073741823)Cq(G);else{K=H<<2;L=tn(K)|0;f[G>>2]=L;M=L+(H<<2)|0;f[i+20>>2]=M;pj(L|0,0,K|0)|0;f[J>>2]=M;N=L;break}else N=0;while(0);H=i+24|0;f[H>>2]=N;G=a+4|0;L=a+8|0;M=f[G>>2]|0;a:do if((f[L>>2]|0)!=(M|0)){K=j+4|0;O=j+8|0;P=j+8|0;Q=(B|0)==0;R=j+4|0;S=j+8|0;T=k+4|0;U=k+8|0;V=k+8|0;W=a+48|0;Y=j+8|0;Z=a+60|0;$=M;aa=C;ba=0;ca=0;da=0;ea=0;b:while(1){fa=f[(f[(f[aa+4>>2]|0)+8>>2]|0)+(f[$+(ba<<2)>>2]<<2)>>2]|0;switch(f[fa+28>>2]|0){case 1:case 3:case 5:case 2:case 4:case 6:{ga=da;ha=fa;break}case 9:{ga=da+1|0;ha=f[(f[Z>>2]|0)+(da<<2)>>2]|0;break}default:{ia=0;break a}}if(!ha){ia=0;break a}c:do switch(f[ha+28>>2]|0){case 6:{if(Q){ja=ha+24|0;ka=ea;break c}fa=ha+84|0;la=ha+68|0;ma=ha+48|0;na=ha+40|0;oa=ha+24|0;pa=0;do{if(!(b[fa>>0]|0))qa=f[(f[la>>2]|0)+(pa<<2)>>2]|0;else qa=pa;ra=ma;sa=f[ra>>2]|0;ta=f[ra+4>>2]|0;ra=na;ua=En(f[ra>>2]|0,f[ra+4>>2]|0,qa|0,0)|0;ra=go(ua|0,I|0,sa|0,ta|0)|0;eh((f[H>>2]|0)+((X(f[F>>2]|0,pa)|0)<<2)+(ca<<2)|0,(f[f[ha>>2]>>2]|0)+ra|0,b[oa>>0]<<2|0)|0;pa=pa+1|0}while((pa|0)!=(B|0));ja=oa;ka=ea;break}case 1:case 3:case 5:{oa=ha+24|0;pa=b[oa>>0]|0;na=pa<<24>>24;f[j>>2]=0;f[R>>2]=0;f[S>>2]=0;if(!(pa<<24>>24))va=0;else{if(pa<<24>>24<0){wa=24;break b}pa=na<<2;ma=tn(pa)|0;f[j>>2]=ma;la=ma+(na<<2)|0;f[Y>>2]=la;pj(ma|0,0,pa|0)|0;f[R>>2]=la;va=b[oa>>0]|0}la=va<<24>>24;f[k>>2]=0;f[T>>2]=0;f[U>>2]=0;if(!(va<<24>>24)){xa=0;ya=0}else{if(va<<24>>24<0){wa=30;break b}pa=la<<2;ma=tn(pa)|0;f[k>>2]=ma;na=ma+(la<<2)|0;f[V>>2]=na;pj(ma|0,0,pa|0)|0;f[T>>2]=na;xa=ma;ya=ma}if(Q){za=ya;Aa=xa}else{ma=ha+84|0;na=ha+68|0;pa=0;do{if(!(b[ma>>0]|0))Ba=f[(f[na>>2]|0)+(pa<<2)>>2]|0;else Ba=pa;la=f[j>>2]|0;f[g>>2]=Ba;fa=b[oa>>0]|0;f[e>>2]=f[g>>2];Lb(ha,e,fa,la)|0;la=b[oa>>0]|0;fa=la<<24>>24;if(la<<24>>24>0){la=f[j>>2]|0;ra=f[W>>2]|0;ta=f[k>>2]|0;sa=0;do{f[ta+(sa<<2)>>2]=(f[la+(sa<<2)>>2]|0)-(f[ra+(sa+ea<<2)>>2]|0);sa=sa+1|0}while((sa|0)<(fa|0));Ca=ta}else Ca=f[k>>2]|0;eh((f[H>>2]|0)+((X(f[F>>2]|0,pa)|0)<<2)+(ca<<2)|0,Ca|0,fa<<2|0)|0;pa=pa+1|0}while(pa>>>0<B>>>0);pa=f[k>>2]|0;za=pa;Aa=pa}pa=(b[oa>>0]|0)+ea|0;if(za|0){na=f[T>>2]|0;if((na|0)!=(za|0))f[T>>2]=na+(~((na+-4-za|0)>>>2)<<2);pr(Aa)}na=f[j>>2]|0;if(na|0){ma=f[R>>2]|0;if((ma|0)!=(na|0))f[R>>2]=ma+(~((ma+-4-na|0)>>>2)<<2);pr(na)}ja=oa;ka=pa;break}default:{pa=ha+24|0;na=b[pa>>0]|0;ma=na<<24>>24;f[j>>2]=0;f[K>>2]=0;f[O>>2]=0;if(!(na<<24>>24)){Da=0;Ea=0}else{if(na<<24>>24<0){wa=53;break b}na=ma<<2;ta=tn(na)|0;f[j>>2]=ta;sa=ta+(ma<<2)|0;f[P>>2]=sa;pj(ta|0,0,na|0)|0;f[K>>2]=sa;Da=ta;Ea=ta}if(Q){Fa=Ea;Ga=Da}else{ta=ha+84|0;sa=ha+68|0;na=0;do{if(!(b[ta>>0]|0))Ha=f[(f[sa>>2]|0)+(na<<2)>>2]|0;else Ha=na;ma=f[j>>2]|0;f[g>>2]=Ha;ra=b[pa>>0]|0;f[e>>2]=f[g>>2];sb(ha,e,ra,ma)|0;eh((f[H>>2]|0)+((X(f[F>>2]|0,na)|0)<<2)+(ca<<2)|0,f[j>>2]|0,b[pa>>0]<<2|0)|0;na=na+1|0}while(na>>>0<B>>>0);na=f[j>>2]|0;Fa=na;Ga=na}if(Fa|0){na=f[K>>2]|0;if((na|0)!=(Fa|0))f[K>>2]=na+(~((na+-4-Fa|0)>>>2)<<2);pr(Ga)}ja=pa;ka=ea}}while(0);na=ba+1|0;sa=f[G>>2]|0;if(na>>>0>=(f[L>>2]|0)-sa>>2>>>0){wa=66;break}$=sa;aa=f[A>>2]|0;ba=na;ca=(b[ja>>0]|0)+ca|0;da=ga;ea=ka}if((wa|0)==24)Cq(j);else if((wa|0)==30)Cq(k);else if((wa|0)==53)Cq(j);else if((wa|0)==66){Ia=f[D>>2]|0;Ja=f[H>>2]|0;wa=67;break}}else{Ia=E;Ja=N;wa=67}while(0);d:do if((wa|0)==67){N=X(Ia,B)|0;if((N|0)>0){E=0;H=0;while(1){D=f[Ja+(E<<2)>>2]|0;if(!D)Ka=H;else{ka=(_(D|0)|0)^31;Ka=(ka|0)<(H|0)?H:ka+1|0}E=E+1|0;if((E|0)>=(N|0)){La=Ka;break}else H=Ka}}else La=0;switch(b[h>>0]|0){case 6:{Ne(j,Ia);f[l>>2]=0;f[l+4>>2]=i;H=f[F>>2]|0;f[l+8>>2]=H;f[m>>2]=f[i>>2];f[m+4>>2]=i;f[m+8>>2]=H;f[k>>2]=La;f[g>>2]=f[l>>2];f[g+4>>2]=f[l+4>>2];f[g+8>>2]=f[l+8>>2];f[e>>2]=f[m>>2];f[e+4>>2]=f[m+4>>2];f[e+8>>2]=f[m+8>>2];H=cf(j,g,e,k,c)|0;Le(j);if(!H){ia=0;break d}break}case 5:{Ne(j,Ia);f[n>>2]=0;f[n+4>>2]=i;H=f[F>>2]|0;f[n+8>>2]=H;f[o>>2]=f[i>>2];f[o+4>>2]=i;f[o+8>>2]=H;f[k>>2]=La;f[g>>2]=f[n>>2];f[g+4>>2]=f[n+4>>2];f[g+8>>2]=f[n+8>>2];f[e>>2]=f[o>>2];f[e+4>>2]=f[o+4>>2];f[e+8>>2]=f[o+8>>2];H=df(j,g,e,k,c)|0;Le(j);if(!H){ia=0;break d}break}case 4:{Ne(j,Ia);f[p>>2]=0;f[p+4>>2]=i;H=f[F>>2]|0;f[p+8>>2]=H;f[q>>2]=f[i>>2];f[q+4>>2]=i;f[q+8>>2]=H;f[k>>2]=La;f[g>>2]=f[p>>2];f[g+4>>2]=f[p+4>>2];f[g+8>>2]=f[p+8>>2];f[e>>2]=f[q>>2];f[e+4>>2]=f[q+4>>2];f[e+8>>2]=f[q+8>>2];H=df(j,g,e,k,c)|0;Le(j);if(!H){ia=0;break d}break}case 3:{Se(j,Ia);f[r>>2]=0;f[r+4>>2]=i;H=f[F>>2]|0;f[r+8>>2]=H;f[s>>2]=f[i>>2];f[s+4>>2]=i;f[s+8>>2]=H;f[k>>2]=La;f[g>>2]=f[r>>2];f[g+4>>2]=f[r+4>>2];f[g+8>>2]=f[r+8>>2];f[e>>2]=f[s>>2];f[e+4>>2]=f[s+4>>2];f[e+8>>2]=f[s+8>>2];H=zf(j,g,e,k,c)|0;Ze(j);if(!H){ia=0;break d}break}case 2:{Se(j,Ia);f[t>>2]=0;f[t+4>>2]=i;H=f[F>>2]|0;f[t+8>>2]=H;f[v>>2]=f[i>>2];f[v+4>>2]=i;f[v+8>>2]=H;f[k>>2]=La;f[g>>2]=f[t>>2];f[g+4>>2]=f[t+4>>2];f[g+8>>2]=f[t+8>>2];f[e>>2]=f[v>>2];f[e+4>>2]=f[v+4>>2];f[e+8>>2]=f[v+8>>2];H=zf(j,g,e,k,c)|0;Ze(j);if(!H){ia=0;break d}break}case 1:{Te(j,Ia);f[w>>2]=0;f[w+4>>2]=i;H=f[F>>2]|0;f[w+8>>2]=H;f[x>>2]=f[i>>2];f[x+4>>2]=i;f[x+8>>2]=H;f[k>>2]=La;f[g>>2]=f[w>>2];f[g+4>>2]=f[w+4>>2];f[g+8>>2]=f[w+8>>2];f[e>>2]=f[x>>2];f[e+4>>2]=f[x+4>>2];f[e+8>>2]=f[x+8>>2];H=wf(j,g,e,k,c)|0;Xe(j);if(!H){ia=0;break d}break}case 0:{Te(j,Ia);f[y>>2]=0;f[y+4>>2]=i;H=f[F>>2]|0;f[y+8>>2]=H;f[z>>2]=f[i>>2];f[z+4>>2]=i;f[z+8>>2]=H;f[k>>2]=La;f[g>>2]=f[y>>2];f[g+4>>2]=f[y+4>>2];f[g+8>>2]=f[y+8>>2];f[e>>2]=f[z>>2];f[e+4>>2]=f[z+4>>2];f[e+8>>2]=f[z+8>>2];H=wf(j,g,e,k,c)|0;Xe(j);if(!H){ia=0;break d}break}default:{ia=0;break d}}ia=1}while(0);j=f[i+12>>2]|0;if(!j){u=d;return ia|0}i=f[J>>2]|0;if((i|0)!=(j|0))f[J>>2]=i+(~((i+-4-j|0)>>>2)<<2);pr(j);u=d;return ia|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,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0;d=u;u=u+32|0;e=d;g=a+8|0;h=f[g>>2]|0;f[e>>2]=0;i=e+4|0;f[i>>2]=0;f[e+8>>2]=0;do if(h)if(h>>>0>1073741823)Cq(e);else{j=h<<2;k=tn(j)|0;f[e>>2]=k;l=k+(h<<2)|0;f[e+8>>2]=l;pj(k|0,0,j|0)|0;f[i>>2]=l;m=l;n=k;break}else{m=0;n=0}while(0);k=a+1164|0;l=f[k>>2]|0;j=f[l>>2]|0;o=l+4|0;if(!j){p=n;q=m;r=h;s=l+8|0}else{h=f[o>>2]|0;if((h|0)!=(j|0))f[o>>2]=h+(~((h+-4-j|0)>>>2)<<2);pr(j);j=l+8|0;f[j>>2]=0;f[o>>2]=0;f[l>>2]=0;p=f[e>>2]|0;q=f[i>>2]|0;r=f[g>>2]|0;s=j}f[l>>2]=p;f[o>>2]=q;f[s>>2]=f[e+8>>2];f[e>>2]=0;s=e+4|0;f[s>>2]=0;f[e+8>>2]=0;do if(r)if(r>>>0>1073741823)Cq(e);else{q=r<<2;o=tn(q)|0;f[e>>2]=o;p=o+(r<<2)|0;f[e+8>>2]=p;pj(o|0,0,q|0)|0;f[s>>2]=p;t=p;v=o;break}else{t=0;v=0}while(0);r=a+1176|0;o=f[r>>2]|0;p=f[o>>2]|0;q=o+4|0;if(!p){w=v;x=t;y=o+8|0}else{t=f[q>>2]|0;if((t|0)!=(p|0))f[q>>2]=t+(~((t+-4-p|0)>>>2)<<2);pr(p);p=o+8|0;f[p>>2]=0;f[q>>2]=0;f[o>>2]=0;w=f[e>>2]|0;x=f[s>>2]|0;y=p}f[o>>2]=w;f[q>>2]=x;f[y>>2]=f[e+8>>2];y=f[b>>2]|0;x=b+4|0;q=f[x>>2]|0;w=f[x+4>>2]|0;x=f[c>>2]|0;o=c+4|0;p=f[o>>2]|0;s=f[o+4>>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;f[e+20>>2]=0;o=e+8|0;t=e+4|0;v=e+16|0;l=e+20|0;j=q;Jc(e);i=f[t>>2]|0;h=(f[l>>2]|0)+(f[v>>2]|0)|0;if((f[o>>2]|0)==(i|0))z=0;else z=(f[i+(((h>>>0)/113|0)<<2)>>2]|0)+(((h>>>0)%113|0)*36|0)|0;f[z>>2]=y;h=z+4|0;f[h>>2]=q;f[h+4>>2]=w;f[z+12>>2]=x;h=z+16|0;f[h>>2]=p;f[h+4>>2]=s;f[z+24>>2]=0;f[z+28>>2]=x-y;f[z+32>>2]=0;z=(f[l>>2]|0)+1|0;f[l>>2]=z;if(z|0){y=a+1152|0;x=a+1084|0;h=a+1080|0;i=a+1072|0;m=a+1076|0;n=a+1068|0;A=b+8|0;B=c+8|0;C=a+1124|0;D=a+1120|0;E=a+1112|0;F=a+1116|0;G=a+1108|0;H=j+4|0;I=j+24|0;J=j+24|0;K=p+24|0;L=z;while(1){z=f[v>>2]|0;M=L+-1|0;N=M+z|0;O=f[t>>2]|0;P=f[O+(((N>>>0)/113|0)<<2)>>2]|0;Q=(N>>>0)%113|0;N=f[P+(Q*36|0)>>2]|0;R=f[P+(Q*36|0)+12>>2]|0;S=f[P+(Q*36|0)+24>>2]|0;T=f[P+(Q*36|0)+32>>2]|0;f[l>>2]=M;M=f[o>>2]|0;Q=M-O>>2;if((1-L-z+((Q|0)==0?0:(Q*113|0)+-1|0)|0)>>>0>225){pr(f[M+-4>>2]|0);f[o>>2]=(f[o>>2]|0)+-4}f[b>>2]=N;f[c>>2]=R;M=f[k>>2]|0;Q=((f[g>>2]|0)+-1|0)==(S|0)?0:S+1|0;S=(f[r>>2]|0)+(T*12|0)|0;z=R-N|0;O=(f[a>>2]|0)-(f[(f[S>>2]|0)+(Q<<2)>>2]|0)|0;a:do if(O){if(z>>>0<3){P=f[y>>2]|0;f[P>>2]=Q;U=f[g>>2]|0;if(U>>>0>1){V=U;W=Q;Y=1;while(1){W=(W|0)==(V+-1|0)?0:W+1|0;f[P+(Y<<2)>>2]=W;Y=Y+1|0;Z=f[g>>2]|0;if(Y>>>0>=Z>>>0){$=Z;break}else V=Z}}else $=U;if(!z){aa=85;break}else{ba=$;ca=0}while(1){V=(f[I>>2]|0)+((X(f[H>>2]|0,N+ca|0)|0)<<2)|0;if(!ba)da=0;else{Y=0;do{W=f[(f[y>>2]|0)+(Y<<2)>>2]|0;P=(f[a>>2]|0)-(f[(f[S>>2]|0)+(W<<2)>>2]|0)|0;do if(P|0){Z=f[x>>2]|0;ea=32-Z|0;fa=32-P|0;ga=f[V+(W<<2)>>2]<<fa;ha=f[h>>2]|0;if((P|0)>(ea|0)){ia=ga>>>fa;fa=P-ea|0;f[x>>2]=fa;ea=ia>>>fa|ha;f[h>>2]=ea;fa=f[i>>2]|0;if((fa|0)==(f[m>>2]|0))Ti(n,h);else{f[fa>>2]=ea;f[i>>2]=fa+4}f[h>>2]=ia<<32-(f[x>>2]|0);break}ia=ha|ga>>>Z;f[h>>2]=ia;ga=Z+P|0;f[x>>2]=ga;if((ga|0)!=32)break;ga=f[i>>2]|0;if((ga|0)==(f[m>>2]|0))Ti(n,h);else{f[ga>>2]=ia;f[i>>2]=ga+4}f[h>>2]=0;f[x>>2]=0}while(0);Y=Y+1|0;P=f[g>>2]|0}while(Y>>>0<P>>>0);da=P}ca=ca+1|0;if(ca>>>0>=z>>>0){aa=85;break a}else ba=da}}U=T+1|0;Fg(M+(U*12|0)|0,f[M+(T*12|0)>>2]|0,f[M+(T*12|0)+4>>2]|0);Y=(f[(f[k>>2]|0)+(U*12|0)>>2]|0)+(Q<<2)|0;V=(f[Y>>2]|0)+(1<<O+-1)|0;f[Y>>2]=V;Y=f[A>>2]|0;P=f[B>>2]|0;b:do if((R|0)==(N|0))ja=N;else{W=f[J>>2]|0;if(!Y){if((f[W+(Q<<2)>>2]|0)>>>0<V>>>0){ja=R;break}else{ka=N;la=R}while(1){ga=la;do{ga=ga+-1|0;if((ka|0)==(ga|0)){ja=ka;break b}ia=(f[K>>2]|0)+((X(ga,P)|0)<<2)+(Q<<2)|0}while((f[ia>>2]|0)>>>0>=V>>>0);ka=ka+1|0;if((ka|0)==(ga|0)){ja=ga;break b}else la=ga}}else{ma=N;na=R}while(1){ia=ma;while(1){oa=W+((X(ia,Y)|0)<<2)|0;if((f[oa+(Q<<2)>>2]|0)>>>0>=V>>>0){pa=na;break}Z=ia+1|0;if((Z|0)==(na|0)){ja=na;break b}else ia=Z}while(1){pa=pa+-1|0;if((ia|0)==(pa|0)){ja=ia;break b}qa=(f[K>>2]|0)+((X(pa,P)|0)<<2)|0;if((f[qa+(Q<<2)>>2]|0)>>>0<V>>>0){ra=0;break}}do{ga=oa+(ra<<2)|0;Z=qa+(ra<<2)|0;ha=f[ga>>2]|0;f[ga>>2]=f[Z>>2];f[Z>>2]=ha;ra=ra+1|0}while((ra|0)!=(Y|0));ma=ia+1|0;if((ma|0)==(pa|0)){ja=pa;break}else na=pa}}while(0);V=(_(z|0)|0)^31;P=ja-N|0;W=R-ja|0;ha=P>>>0<W>>>0;if((P|0)!=(W|0)){Z=f[C>>2]|0;if(ha)f[D>>2]=f[D>>2]|1<<31-Z;ga=Z+1|0;f[C>>2]=ga;if((ga|0)==32){ga=f[E>>2]|0;if((ga|0)==(f[F>>2]|0))Ti(G,D);else{f[ga>>2]=f[D>>2];f[E>>2]=ga+4}f[C>>2]=0;f[D>>2]=0}}ga=z>>>1;if(ha){ha=ga-P|0;if(V|0){Z=0;fa=1<<V+-1;while(1){dj(a+12+(Z<<5)|0,(fa&ha|0)!=0);Z=Z+1|0;if((Z|0)==(V|0))break;else fa=fa>>>1}}}else{fa=ga-W|0;if(V|0){Z=0;ha=1<<V+-1;while(1){dj(a+12+(Z<<5)|0,(ha&fa|0)!=0);Z=Z+1|0;if((Z|0)==(V|0))break;else ha=ha>>>1}}}ha=f[r>>2]|0;V=f[ha+(T*12|0)>>2]|0;Z=V+(Q<<2)|0;f[Z>>2]=(f[Z>>2]|0)+1;Fg(ha+(U*12|0)|0,V,f[ha+(T*12|0)+4>>2]|0);if((ja|0)!=(N|0)){ha=f[o>>2]|0;V=f[t>>2]|0;Z=ha-V>>2;fa=f[v>>2]|0;ga=f[l>>2]|0;if((((Z|0)==0?0:(Z*113|0)+-1|0)|0)==(ga+fa|0)){Jc(e);sa=f[v>>2]|0;ta=f[l>>2]|0;ua=f[o>>2]|0;va=f[t>>2]|0}else{sa=fa;ta=ga;ua=ha;va=V}V=ta+sa|0;if((ua|0)==(va|0))wa=0;else wa=(f[va+(((V>>>0)/113|0)<<2)>>2]|0)+(((V>>>0)%113|0)*36|0)|0;f[wa>>2]=N;V=wa+4|0;f[V>>2]=q;f[V+4>>2]=w;f[wa+12>>2]=ja;f[wa+16>>2]=j;f[wa+20>>2]=Y;f[wa+24>>2]=Q;f[wa+28>>2]=P;f[wa+32>>2]=T;f[l>>2]=(f[l>>2]|0)+1}if((R|0)!=(ja|0)){V=f[o>>2]|0;ha=f[t>>2]|0;ga=V-ha>>2;fa=f[v>>2]|0;Z=f[l>>2]|0;if((((ga|0)==0?0:(ga*113|0)+-1|0)|0)==(Z+fa|0)){Jc(e);xa=f[v>>2]|0;ya=f[l>>2]|0;za=f[o>>2]|0;Aa=f[t>>2]|0}else{xa=fa;ya=Z;za=V;Aa=ha}ha=ya+xa|0;if((za|0)==(Aa|0))Ba=0;else Ba=(f[Aa+(((ha>>>0)/113|0)<<2)>>2]|0)+(((ha>>>0)%113|0)*36|0)|0;f[Ba>>2]=ja;f[Ba+4>>2]=j;f[Ba+8>>2]=Y;f[Ba+12>>2]=R;ha=Ba+16|0;f[ha>>2]=p;f[ha+4>>2]=s;f[Ba+24>>2]=Q;f[Ba+28>>2]=W;f[Ba+32>>2]=U;ha=(f[l>>2]|0)+1|0;f[l>>2]=ha;Ca=ha}else aa=85}else aa=85;while(0);if((aa|0)==85){aa=0;Ca=f[l>>2]|0}if(!Ca)break;else L=Ca}}Ca=f[t>>2]|0;L=f[v>>2]|0;Ba=Ca+(((L>>>0)/113|0)<<2)|0;s=f[o>>2]|0;p=s;j=Ca;if((s|0)==(Ca|0)){Da=0;Ea=0}else{ja=(f[Ba>>2]|0)+(((L>>>0)%113|0)*36|0)|0;Da=ja;Ea=ja}ja=Ba;Ba=Ea;c:while(1){Ea=Ba;do{L=Ea;if((L|0)==(Da|0))break c;Ea=L+36|0}while((Ea-(f[ja>>2]|0)|0)!=4068);Ea=ja+4|0;ja=Ea;Ba=f[Ea>>2]|0}f[l>>2]=0;l=p-j>>2;if(l>>>0>2){j=Ca;do{pr(f[j>>2]|0);j=(f[t>>2]|0)+4|0;f[t>>2]=j;Fa=f[o>>2]|0;Ga=Fa-j>>2}while(Ga>>>0>2);Ha=j;Ia=Fa;Ja=Ga}else{Ha=Ca;Ia=s;Ja=l}switch(Ja|0){case 1:{Ka=56;aa=99;break}case 2:{Ka=113;aa=99;break}default:{}}if((aa|0)==99)f[v>>2]=Ka;if((Ha|0)!=(Ia|0)){Ka=Ha;do{pr(f[Ka>>2]|0);Ka=Ka+4|0}while((Ka|0)!=(Ia|0));Ia=f[t>>2]|0;t=f[o>>2]|0;if((t|0)!=(Ia|0))f[o>>2]=t+(~((t+-4-Ia|0)>>>2)<<2)}Ia=f[e>>2]|0;if(!Ia){u=d;return}pr(Ia);u=d;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,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,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0;d=u;u=u+32|0;e=d;g=a+8|0;h=f[g>>2]|0;f[e>>2]=0;i=e+4|0;f[i>>2]=0;f[e+8>>2]=0;do if(h)if(h>>>0>1073741823)Cq(e);else{j=h<<2;k=tn(j)|0;f[e>>2]=k;l=k+(h<<2)|0;f[e+8>>2]=l;pj(k|0,0,j|0)|0;f[i>>2]=l;m=l;n=k;break}else{m=0;n=0}while(0);k=a+140|0;l=f[k>>2]|0;j=f[l>>2]|0;o=l+4|0;if(!j){p=n;q=m;r=h;s=l+8|0}else{h=f[o>>2]|0;if((h|0)!=(j|0))f[o>>2]=h+(~((h+-4-j|0)>>>2)<<2);pr(j);j=l+8|0;f[j>>2]=0;f[o>>2]=0;f[l>>2]=0;p=f[e>>2]|0;q=f[i>>2]|0;r=f[g>>2]|0;s=j}f[l>>2]=p;f[o>>2]=q;f[s>>2]=f[e+8>>2];f[e>>2]=0;s=e+4|0;f[s>>2]=0;f[e+8>>2]=0;do if(r)if(r>>>0>1073741823)Cq(e);else{q=r<<2;o=tn(q)|0;f[e>>2]=o;p=o+(r<<2)|0;f[e+8>>2]=p;pj(o|0,0,q|0)|0;f[s>>2]=p;t=p;v=o;break}else{t=0;v=0}while(0);r=a+152|0;o=f[r>>2]|0;p=f[o>>2]|0;q=o+4|0;if(!p){w=v;x=t;y=o+8|0}else{t=f[q>>2]|0;if((t|0)!=(p|0))f[q>>2]=t+(~((t+-4-p|0)>>>2)<<2);pr(p);p=o+8|0;f[p>>2]=0;f[q>>2]=0;f[o>>2]=0;w=f[e>>2]|0;x=f[s>>2]|0;y=p}f[o>>2]=w;f[q>>2]=x;f[y>>2]=f[e+8>>2];y=f[b>>2]|0;x=b+4|0;q=f[x>>2]|0;w=f[x+4>>2]|0;x=f[c>>2]|0;o=c+4|0;p=f[o>>2]|0;s=f[o+4>>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;f[e+20>>2]=0;o=e+8|0;t=e+4|0;v=e+16|0;l=e+20|0;j=q;Jc(e);i=f[t>>2]|0;h=(f[l>>2]|0)+(f[v>>2]|0)|0;if((f[o>>2]|0)==(i|0))z=0;else z=(f[i+(((h>>>0)/113|0)<<2)>>2]|0)+(((h>>>0)%113|0)*36|0)|0;f[z>>2]=y;h=z+4|0;f[h>>2]=q;f[h+4>>2]=w;f[z+12>>2]=x;h=z+16|0;f[h>>2]=p;f[h+4>>2]=s;f[z+24>>2]=0;f[z+28>>2]=x-y;f[z+32>>2]=0;z=(f[l>>2]|0)+1|0;f[l>>2]=z;if(z|0){y=a+128|0;x=a+60|0;h=a+56|0;i=a+48|0;m=a+52|0;n=a+44|0;A=b+8|0;B=c+8|0;C=a+12|0;D=a+100|0;E=a+96|0;F=a+88|0;G=a+92|0;H=a+84|0;I=j+4|0;J=j+24|0;K=j+24|0;L=p+24|0;M=z;while(1){z=f[v>>2]|0;N=M+-1|0;O=N+z|0;P=f[t>>2]|0;Q=f[P+(((O>>>0)/113|0)<<2)>>2]|0;R=(O>>>0)%113|0;O=f[Q+(R*36|0)>>2]|0;S=f[Q+(R*36|0)+12>>2]|0;T=f[Q+(R*36|0)+24>>2]|0;U=f[Q+(R*36|0)+32>>2]|0;f[l>>2]=N;N=f[o>>2]|0;R=N-P>>2;if((1-M-z+((R|0)==0?0:(R*113|0)+-1|0)|0)>>>0>225){pr(f[N+-4>>2]|0);f[o>>2]=(f[o>>2]|0)+-4}f[b>>2]=O;f[c>>2]=S;N=f[k>>2]|0;R=((f[g>>2]|0)+-1|0)==(T|0)?0:T+1|0;T=(f[r>>2]|0)+(U*12|0)|0;z=S-O|0;P=(f[a>>2]|0)-(f[(f[T>>2]|0)+(R<<2)>>2]|0)|0;a:do if(P){if(z>>>0<3){Q=f[y>>2]|0;f[Q>>2]=R;V=f[g>>2]|0;if(V>>>0>1){W=V;Y=R;Z=1;while(1){Y=(Y|0)==(W+-1|0)?0:Y+1|0;f[Q+(Z<<2)>>2]=Y;Z=Z+1|0;$=f[g>>2]|0;if(Z>>>0>=$>>>0){aa=$;break}else W=$}}else aa=V;if(!z){ba=81;break}else{ca=aa;da=0}while(1){W=(f[J>>2]|0)+((X(f[I>>2]|0,O+da|0)|0)<<2)|0;if(!ca)ea=0;else{Z=0;do{Y=f[(f[y>>2]|0)+(Z<<2)>>2]|0;Q=(f[a>>2]|0)-(f[(f[T>>2]|0)+(Y<<2)>>2]|0)|0;do if(Q|0){$=f[x>>2]|0;fa=32-$|0;ga=32-Q|0;ha=f[W+(Y<<2)>>2]<<ga;ia=f[h>>2]|0;if((Q|0)>(fa|0)){ja=ha>>>ga;ga=Q-fa|0;f[x>>2]=ga;fa=ja>>>ga|ia;f[h>>2]=fa;ga=f[i>>2]|0;if((ga|0)==(f[m>>2]|0))Ti(n,h);else{f[ga>>2]=fa;f[i>>2]=ga+4}f[h>>2]=ja<<32-(f[x>>2]|0);break}ja=ia|ha>>>$;f[h>>2]=ja;ha=$+Q|0;f[x>>2]=ha;if((ha|0)!=32)break;ha=f[i>>2]|0;if((ha|0)==(f[m>>2]|0))Ti(n,h);else{f[ha>>2]=ja;f[i>>2]=ha+4}f[h>>2]=0;f[x>>2]=0}while(0);Z=Z+1|0;Q=f[g>>2]|0}while(Z>>>0<Q>>>0);ea=Q}da=da+1|0;if(da>>>0>=z>>>0){ba=81;break a}else ca=ea}}V=U+1|0;Fg(N+(V*12|0)|0,f[N+(U*12|0)>>2]|0,f[N+(U*12|0)+4>>2]|0);Z=(f[(f[k>>2]|0)+(V*12|0)>>2]|0)+(R<<2)|0;W=(f[Z>>2]|0)+(1<<P+-1)|0;f[Z>>2]=W;Z=f[A>>2]|0;Q=f[B>>2]|0;b:do if((S|0)==(O|0))ka=O;else{Y=f[K>>2]|0;if(!Z){if((f[Y+(R<<2)>>2]|0)>>>0<W>>>0){ka=S;break}else{la=O;ma=S}while(1){ha=ma;do{ha=ha+-1|0;if((la|0)==(ha|0)){ka=la;break b}ja=(f[L>>2]|0)+((X(ha,Q)|0)<<2)+(R<<2)|0}while((f[ja>>2]|0)>>>0>=W>>>0);la=la+1|0;if((la|0)==(ha|0)){ka=ha;break b}else ma=ha}}else{na=O;oa=S}while(1){ja=na;while(1){pa=Y+((X(ja,Z)|0)<<2)|0;if((f[pa+(R<<2)>>2]|0)>>>0>=W>>>0){qa=oa;break}$=ja+1|0;if(($|0)==(oa|0)){ka=oa;break b}else ja=$}while(1){qa=qa+-1|0;if((ja|0)==(qa|0)){ka=ja;break b}ra=(f[L>>2]|0)+((X(qa,Q)|0)<<2)|0;if((f[ra+(R<<2)>>2]|0)>>>0<W>>>0){sa=0;break}}do{ha=pa+(sa<<2)|0;$=ra+(sa<<2)|0;ia=f[ha>>2]|0;f[ha>>2]=f[$>>2];f[$>>2]=ia;sa=sa+1|0}while((sa|0)!=(Z|0));na=ja+1|0;if((na|0)==(qa|0)){ka=qa;break}else oa=qa}}while(0);W=(_(z|0)|0)^31;Q=ka-O|0;Y=S-ka|0;ia=Q>>>0<Y>>>0;if((Q|0)!=(Y|0)){$=f[D>>2]|0;if(ia)f[E>>2]=f[E>>2]|1<<31-$;ha=$+1|0;f[D>>2]=ha;if((ha|0)==32){ha=f[F>>2]|0;if((ha|0)==(f[G>>2]|0))Ti(H,E);else{f[ha>>2]=f[E>>2];f[F>>2]=ha+4}f[D>>2]=0;f[E>>2]=0}}ha=z>>>1;if(ia)qg(C,W,ha-Q|0);else qg(C,W,ha-Y|0);ha=f[r>>2]|0;W=f[ha+(U*12|0)>>2]|0;ia=W+(R<<2)|0;f[ia>>2]=(f[ia>>2]|0)+1;Fg(ha+(V*12|0)|0,W,f[ha+(U*12|0)+4>>2]|0);if((ka|0)!=(O|0)){ha=f[o>>2]|0;W=f[t>>2]|0;ia=ha-W>>2;$=f[v>>2]|0;ga=f[l>>2]|0;if((((ia|0)==0?0:(ia*113|0)+-1|0)|0)==(ga+$|0)){Jc(e);ta=f[v>>2]|0;ua=f[l>>2]|0;va=f[o>>2]|0;wa=f[t>>2]|0}else{ta=$;ua=ga;va=ha;wa=W}W=ua+ta|0;if((va|0)==(wa|0))xa=0;else xa=(f[wa+(((W>>>0)/113|0)<<2)>>2]|0)+(((W>>>0)%113|0)*36|0)|0;f[xa>>2]=O;W=xa+4|0;f[W>>2]=q;f[W+4>>2]=w;f[xa+12>>2]=ka;f[xa+16>>2]=j;f[xa+20>>2]=Z;f[xa+24>>2]=R;f[xa+28>>2]=Q;f[xa+32>>2]=U;f[l>>2]=(f[l>>2]|0)+1}if((S|0)!=(ka|0)){Q=f[o>>2]|0;W=f[t>>2]|0;ha=Q-W>>2;ga=f[v>>2]|0;$=f[l>>2]|0;if((((ha|0)==0?0:(ha*113|0)+-1|0)|0)==($+ga|0)){Jc(e);ya=f[v>>2]|0;za=f[l>>2]|0;Aa=f[o>>2]|0;Ba=f[t>>2]|0}else{ya=ga;za=$;Aa=Q;Ba=W}W=za+ya|0;if((Aa|0)==(Ba|0))Ca=0;else Ca=(f[Ba+(((W>>>0)/113|0)<<2)>>2]|0)+(((W>>>0)%113|0)*36|0)|0;f[Ca>>2]=ka;f[Ca+4>>2]=j;f[Ca+8>>2]=Z;f[Ca+12>>2]=S;W=Ca+16|0;f[W>>2]=p;f[W+4>>2]=s;f[Ca+24>>2]=R;f[Ca+28>>2]=Y;f[Ca+32>>2]=V;Y=(f[l>>2]|0)+1|0;f[l>>2]=Y;Da=Y}else ba=81}else ba=81;while(0);if((ba|0)==81){ba=0;Da=f[l>>2]|0}if(!Da)break;else M=Da}}Da=f[t>>2]|0;M=f[v>>2]|0;Ca=Da+(((M>>>0)/113|0)<<2)|0;s=f[o>>2]|0;p=s;j=Da;if((s|0)==(Da|0)){Ea=0;Fa=0}else{ka=(f[Ca>>2]|0)+(((M>>>0)%113|0)*36|0)|0;Ea=ka;Fa=ka}ka=Ca;Ca=Fa;c:while(1){Fa=Ca;do{M=Fa;if((M|0)==(Ea|0))break c;Fa=M+36|0}while((Fa-(f[ka>>2]|0)|0)!=4068);Fa=ka+4|0;ka=Fa;Ca=f[Fa>>2]|0}f[l>>2]=0;l=p-j>>2;if(l>>>0>2){j=Da;do{pr(f[j>>2]|0);j=(f[t>>2]|0)+4|0;f[t>>2]=j;Ga=f[o>>2]|0;Ha=Ga-j>>2}while(Ha>>>0>2);Ia=j;Ja=Ga;Ka=Ha}else{Ia=Da;Ja=s;Ka=l}switch(Ka|0){case 1:{La=56;ba=95;break}case 2:{La=113;ba=95;break}default:{}}if((ba|0)==95)f[v>>2]=La;if((Ia|0)!=(Ja|0)){La=Ia;do{pr(f[La>>2]|0);La=La+4|0}while((La|0)!=(Ja|0));Ja=f[t>>2]|0;t=f[o>>2]|0;if((t|0)!=(Ja|0))f[o>>2]=t+(~((t+-4-Ja|0)>>>2)<<2)}Ja=f[e>>2]|0;if(!Ja){u=d;return}pr(Ja);u=d;return}function gb(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=0,q=0,r=0,s=Ja,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=go(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;if(!(b[a+32>>0]|0)){r=0;m=o;while(1){s=$(b[m>>0]|0);n[g+(r<<2)>>2]=s;r=r+1|0;q=b[k>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){t=q;break}else m=m+1|0}}else{m=0;r=o;while(1){s=$($(b[r>>0]|0)/$(127.0));n[g+(m<<2)>>2]=s;m=m+1|0;q=b[k>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){t=q;break}else r=r+1|0}}}else t=l;r=t<<24>>24;if(t<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}case 2:{r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;q=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;u=go(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=k+u|0;if(!(b[a+32>>0]|0)){u=0;k=o;while(1){s=$(h[k>>0]|0);n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){v=q;break}else k=k+1|0}}else{k=0;u=o;while(1){s=$($(h[u>>0]|0)/$(255.0));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){v=l;break}else u=u+1|0}}}else v=m;u=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 3:{u=a+48|0;k=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(go(En(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,k|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0)if(!(b[a+32>>0]|0)){u=0;l=o;while(1){s=$(d[l>>1]|0);n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){w=q;break}else l=l+2|0}}else{l=0;u=o;while(1){s=$($(d[u>>1]|0)/$(32767.0));n[g+(l<<2)>>2]=s;l=l+1|0;m=b[r>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else u=u+2|0}}else w=k;u=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 4:{u=a+48|0;l=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(go(En(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,l|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0)if(!(b[a+32>>0]|0)){u=0;m=o;while(1){s=$(j[m>>1]|0);n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){x=q;break}else m=m+2|0}}else{m=0;u=o;while(1){s=$($(j[u>>1]|0)/$(65535.0));n[g+(m<<2)>>2]=s;m=m+1|0;k=b[r>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){x=k;break}else u=u+2|0}}else x=l;u=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 5:{u=a+48|0;m=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(go(En(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,m|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0)if(!(b[a+32>>0]|0)){u=0;k=o;while(1){s=$(f[k>>2]|0);n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){y=q;break}else k=k+4|0}}else{k=0;u=o;while(1){s=$($(f[u>>2]|0)*$(4.65661287e-10));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){y=l;break}else u=u+4|0}}else y=m;u=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 6:{u=a+48|0;k=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(go(En(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,k|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0)if(!(b[a+32>>0]|0)){u=0;l=o;while(1){s=$((f[l>>2]|0)>>>0);n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){z=q;break}else l=l+4|0}}else{l=0;u=o;while(1){s=$($((f[u>>2]|0)>>>0)*$(2.32830644e-10));n[g+(l<<2)>>2]=s;l=l+1|0;m=b[r>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){z=m;break}else u=u+4|0}}else z=k;u=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 7:{u=a+48|0;l=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(go(En(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,l|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0)if(!(b[a+32>>0]|0)){u=0;m=o;while(1){q=m;s=$(+((f[q>>2]|0)>>>0)+4294967296.0*+(f[q+4>>2]|0));n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else m=m+8|0}}else{m=0;u=o;while(1){k=u;s=$($(+((f[k>>2]|0)>>>0)+4294967296.0*+(f[k+4>>2]|0))*$(1.08420217e-19));n[g+(m<<2)>>2]=s;m=m+1|0;k=b[r>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){A=k;break}else u=u+8|0}}else A=l;u=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 8:{u=a+48|0;m=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(go(En(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,m|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0)if(!(b[a+32>>0]|0)){u=0;k=o;while(1){q=k;s=$(+((f[q>>2]|0)>>>0)+4294967296.0*+((f[q+4>>2]|0)>>>0));n[g+(u<<2)>>2]=s;u=u+1|0;q=b[r>>0]|0;if((u|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){B=q;break}else k=k+8|0}}else{k=0;u=o;while(1){l=u;s=$($(+((f[l>>2]|0)>>>0)+4294967296.0*+((f[l+4>>2]|0)>>>0))*$(5.42101086e-20));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){B=l;break}else u=u+8|0}}else B=m;u=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 9:{u=a+24|0;k=b[u>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){r=f[f[a>>2]>>2]|0;o=a+40|0;l=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;q=go(l|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;l=r+q|0;while(1){f[g+(o<<2)>>2]=f[l>>2];o=o+1|0;q=b[u>>0]|0;if((o|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){C=q;break}else l=l+4|0}}else C=k;l=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 10:{l=a+24|0;o=b[l>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){u=f[f[a>>2]>>2]|0;m=a+40|0;q=En(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;r=go(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=0;q=u+r|0;while(1){s=$(+p[q>>3]);n[g+(m<<2)>>2]=s;m=m+1|0;r=b[l>>0]|0;if((m|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){D=r;break}else q=q+8|0}}else D=o;q=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 11:{q=a+24|0;m=b[q>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){l=f[f[a>>2]>>2]|0;k=a+40|0;r=En(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;u=go(r|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=0;r=l+u|0;while(1){s=$((b[r>>0]|0)!=0&1);n[g+(k<<2)>>2]=s;k=k+1|0;u=b[q>>0]|0;if((k|0)>=((u<<24>>24>e<<24>>24?e:u)<<24>>24|0)){E=u;break}else r=r+1|0}}else E=m;r=E<<24>>24;if(E<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function hb(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,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,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,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0.0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0.0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0.0,kb=0.0,lb=0.0,mb=0.0,nb=0.0,ob=0.0,pb=0.0,qb=0.0,rb=0.0,sb=0,tb=0.0;i=u;u=u+512|0;j=i;k=d+c|0;l=0-k|0;m=a+4|0;n=a+100|0;o=b;b=0;a:while(1){switch(o|0){case 46:{p=6;break a;break}case 48:break;default:{q=0;r=0;s=o;t=b;v=0;break a}}w=f[m>>2]|0;if(w>>>0<(f[n>>2]|0)>>>0){f[m>>2]=w+1;o=h[w>>0]|0;b=1;continue}else{o=Ji(a)|0;b=1;continue}}if((p|0)==6){o=f[m>>2]|0;if(o>>>0<(f[n>>2]|0)>>>0){f[m>>2]=o+1;x=h[o>>0]|0}else x=Ji(a)|0;if((x|0)==48){o=0;w=0;while(1){y=go(o|0,w|0,-1,-1)|0;z=I;A=f[m>>2]|0;if(A>>>0<(f[n>>2]|0)>>>0){f[m>>2]=A+1;B=h[A>>0]|0}else B=Ji(a)|0;if((B|0)==48){o=y;w=z}else{q=y;r=z;s=B;t=1;v=1;break}}}else{q=0;r=0;s=x;t=b;v=1}}f[j>>2]=0;b=s+-48|0;x=(s|0)==46;b:do if(x|b>>>0<10){B=j+496|0;w=q;o=r;z=0;y=0;A=s;C=x;D=t;E=v;F=0;G=0;H=0;J=b;c:while(1){do if(C)if(!E){L=z;M=y;N=z;O=y;P=D;Q=1;R=F;S=G;T=H}else break c;else{U=go(z|0,y|0,1,0)|0;V=I;W=(A|0)!=48;if((G|0)>=125){if(!W){L=w;M=o;N=U;O=V;P=D;Q=E;R=F;S=G;T=H;break}f[B>>2]=f[B>>2]|1;L=w;M=o;N=U;O=V;P=D;Q=E;R=F;S=G;T=H;break}Y=j+(G<<2)|0;if(!F)Z=J;else Z=A+-48+((f[Y>>2]|0)*10|0)|0;f[Y>>2]=Z;Y=F+1|0;_=(Y|0)==9;L=w;M=o;N=U;O=V;P=1;Q=E;R=_?0:Y;S=(_&1)+G|0;T=W?U:H}while(0);U=f[m>>2]|0;if(U>>>0<(f[n>>2]|0)>>>0){f[m>>2]=U+1;$=h[U>>0]|0}else $=Ji(a)|0;J=$+-48|0;C=($|0)==46;if(!(C|J>>>0<10)){aa=L;ba=N;ca=M;da=O;ea=$;fa=P;ga=Q;ha=R;ia=S;ja=T;p=29;break b}else{w=L;o=M;z=N;y=O;A=$;D=P;E=Q;F=R;G=S;H=T}}ka=z;la=y;ma=w;na=o;oa=F;pa=G;qa=H;ra=(D|0)!=0;p=37}else{aa=q;ba=0;ca=r;da=0;ea=s;fa=t;ga=v;ha=0;ia=0;ja=0;p=29}while(0);do if((p|0)==29){v=(ga|0)==0;t=v?ba:aa;s=v?da:ca;v=(fa|0)!=0;if(!(v&(ea|32|0)==101))if((ea|0)>-1){ka=ba;la=da;ma=t;na=s;oa=ha;pa=ia;qa=ja;ra=v;p=37;break}else{sa=ba;ta=da;ua=t;va=s;wa=ha;xa=ia;ya=ja;za=v;p=39;break}v=Ie(a,g)|0;r=I;if((v|0)==0&(r|0)==-2147483648){if(!g){dn(a,0);Aa=0.0;break}if(!(f[n>>2]|0)){Ba=0;Ca=0}else{f[m>>2]=(f[m>>2]|0)+-1;Ba=0;Ca=0}}else{Ba=v;Ca=r}r=go(Ba|0,Ca|0,t|0,s|0)|0;Da=r;Ea=ba;Fa=I;Ga=da;Ha=ha;Ia=ia;Ja=ja;p=41}while(0);if((p|0)==37)if(f[n>>2]|0){f[m>>2]=(f[m>>2]|0)+-1;if(ra){Da=ma;Ea=ka;Fa=na;Ga=la;Ha=oa;Ia=pa;Ja=qa;p=41}else p=40}else{sa=ka;ta=la;ua=ma;va=na;wa=oa;xa=pa;ya=qa;za=ra;p=39}if((p|0)==39)if(za){Da=ua;Ea=sa;Fa=va;Ga=ta;Ha=wa;Ia=xa;Ja=ya;p=41}else p=40;do if((p|0)==40){ya=er()|0;f[ya>>2]=22;dn(a,0);Aa=0.0}else if((p|0)==41){ya=f[j>>2]|0;if(!ya){Aa=+(e|0)*0.0;break}if(((Ga|0)<0|(Ga|0)==0&Ea>>>0<10)&((Da|0)==(Ea|0)&(Fa|0)==(Ga|0))?(c|0)>30|(ya>>>c|0)==0:0){Aa=+(e|0)*+(ya>>>0);break}ya=(d|0)/-2|0;xa=((ya|0)<0)<<31>>31;if((Fa|0)>(xa|0)|(Fa|0)==(xa|0)&Da>>>0>ya>>>0){ya=er()|0;f[ya>>2]=34;Aa=+(e|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}ya=d+-106|0;xa=((ya|0)<0)<<31>>31;if((Fa|0)<(xa|0)|(Fa|0)==(xa|0)&Da>>>0<ya>>>0){ya=er()|0;f[ya>>2]=34;Aa=+(e|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(!Ha)Ka=Ia;else{if((Ha|0)<9){ya=j+(Ia<<2)|0;xa=Ha;wa=f[ya>>2]|0;do{wa=wa*10|0;xa=xa+1|0}while((xa|0)!=9);f[ya>>2]=wa}Ka=Ia+1|0}if((Ja|0)<9?(Ja|0)<=(Da|0)&(Da|0)<18:0){xa=f[j>>2]|0;if((Da|0)==9){Aa=+(e|0)*+(xa>>>0);break}if((Da|0)<9){Aa=+(e|0)*+(xa>>>0)/+(f[6876+(8-Da<<2)>>2]|0);break}D=c+27+(X(Da,-3)|0)|0;if((D|0)>30|(xa>>>D|0)==0){Aa=+(e|0)*+(xa>>>0)*+(f[6876+(Da+-10<<2)>>2]|0);break}}xa=(Da|0)%9|0;if(!xa){La=0;Ma=0;Na=Da;Oa=Ka}else{D=(Da|0)>-1?xa:xa+9|0;xa=f[6876+(8-D<<2)>>2]|0;if(Ka){H=1e9/(xa|0)|0;G=0;F=0;o=0;w=Da;do{y=j+(o<<2)|0;z=f[y>>2]|0;ta=((z>>>0)/(xa>>>0)|0)+F|0;f[y>>2]=ta;F=X(H,(z>>>0)%(xa>>>0)|0)|0;z=(o|0)==(G|0)&(ta|0)==0;w=z?w+-9|0:w;G=z?G+1&127:G;o=o+1|0}while((o|0)!=(Ka|0));if(!F){Pa=G;Qa=w;Ra=Ka}else{f[j+(Ka<<2)>>2]=F;Pa=G;Qa=w;Ra=Ka+1|0}}else{Pa=0;Qa=Da;Ra=0}La=Pa;Ma=0;Na=9-D+Qa|0;Oa=Ra}d:while(1){o=(Na|0)<18;xa=(Na|0)==18;H=j+(La<<2)|0;wa=Ma;ya=Oa;while(1){if(!o){if(!xa){Sa=La;Ta=wa;Ua=Na;Va=ya;break d}if((f[H>>2]|0)>>>0>=9007199){Sa=La;Ta=wa;Ua=18;Va=ya;break d}}z=0;ta=ya+127|0;Wa=ya;while(1){y=ta&127;va=j+(y<<2)|0;sa=eo(f[va>>2]|0,0,29)|0;ua=go(sa|0,I|0,z|0,0)|0;sa=I;if(sa>>>0>0|(sa|0)==0&ua>>>0>1e9){za=Ip(ua|0,sa|0,1e9,0)|0;ra=qn(ua|0,sa|0,1e9,0)|0;Xa=ra;Ya=za}else{Xa=ua;Ya=0}f[va>>2]=Xa;va=(y|0)==(La|0);Wa=(Xa|0)==0&(((y|0)!=(Wa+127&127|0)|va)^1)?y:Wa;if(va)break;else{z=Ya;ta=y+-1|0}}wa=wa+-29|0;if(Ya|0)break;else ya=Wa}ya=La+127&127;H=Wa+127&127;xa=j+((Wa+126&127)<<2)|0;if((ya|0)==(Wa|0)){f[xa>>2]=f[xa>>2]|f[j+(H<<2)>>2];Za=H}else Za=Wa;f[j+(ya<<2)>>2]=Ya;La=ya;Ma=wa;Na=Na+9|0;Oa=Za}e:while(1){D=Va+1&127;w=j+((Va+127&127)<<2)|0;G=Sa;F=Ta;ya=Ua;while(1){H=(ya|0)==18;xa=(ya|0)>27?9:1;_a=G;$a=F;while(1){o=0;while(1){ta=o+_a&127;if((ta|0)==(Va|0)){ab=2;p=88;break}z=f[j+(ta<<2)>>2]|0;ta=f[6908+(o<<2)>>2]|0;if(z>>>0<ta>>>0){ab=2;p=88;break}if(z>>>0>ta>>>0)break;ta=o+1|0;if((ta|0)<2)o=ta;else{ab=ta;p=88;break}}if((p|0)==88?(p=0,H&(ab|0)==2):0){bb=0;cb=0.0;db=Va;break e}eb=xa+$a|0;if((_a|0)==(Va|0)){_a=Va;$a=eb}else break}H=(1<<xa)+-1|0;o=1e9>>>xa;fb=_a;gb=0;ta=_a;hb=ya;do{z=j+(ta<<2)|0;y=f[z>>2]|0;va=(y>>>xa)+gb|0;f[z>>2]=va;gb=X(y&H,o)|0;y=(ta|0)==(fb|0)&(va|0)==0;hb=y?hb+-9|0:hb;fb=y?fb+1&127:fb;ta=ta+1&127}while((ta|0)!=(Va|0));if(!gb){G=fb;F=eb;ya=hb;continue}if((D|0)!=(fb|0))break;f[w>>2]=f[w>>2]|1;G=fb;F=eb;ya=hb}f[j+(Va<<2)>>2]=gb;Sa=fb;Ta=eb;Ua=hb;Va=D}while(1){ya=bb+_a&127;F=db+1&127;if((ya|0)==(db|0)){f[j+(F+-1<<2)>>2]=0;ib=F}else ib=db;cb=cb*1.0e9+ +((f[j+(ya<<2)>>2]|0)>>>0);bb=bb+1|0;if((bb|0)==2)break;else db=ib}jb=+(e|0);kb=jb*cb;ya=$a+53|0;F=ya-d|0;G=(F|0)<(c|0);w=G?((F|0)>0?F:0):c;if((w|0)<53){lb=+Wq(+$j(1.0,105-w|0),kb);mb=+fr(kb,+$j(1.0,53-w|0));nb=lb;ob=mb;pb=lb+(kb-mb)}else{nb=0.0;ob=0.0;pb=kb}wa=_a+2&127;if((wa|0)!=(ib|0)){ta=f[j+(wa<<2)>>2]|0;do if(ta>>>0>=5e8){if((ta|0)!=5e8){qb=jb*.75+ob;break}if((_a+3&127|0)==(ib|0)){qb=jb*.5+ob;break}else{qb=jb*.75+ob;break}}else{if((ta|0)==0?(_a+3&127|0)==(ib|0):0){qb=ob;break}qb=jb*.25+ob}while(0);if((53-w|0)>1?!(+fr(qb,1.0)!=0.0):0)rb=qb+1.0;else rb=qb}else rb=ob;jb=pb+rb-nb;do if((ya&2147483647|0)>(-2-k|0)){ta=!(+K(+jb)>=9007199254740992.0);wa=((ta^1)&1)+$a|0;kb=ta?jb:jb*.5;if((wa+50|0)<=(l|0)?!(rb!=0.0&(G&((w|0)!=(F|0)|ta))):0){sb=wa;tb=kb;break}ta=er()|0;f[ta>>2]=34;sb=wa;tb=kb}else{sb=$a;tb=jb}while(0);Aa=+Xq(tb,sb)}while(0);u=i;return +Aa}function ib(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,r=0,s=0.0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0,F=0,G=0,H=0.0,J=0,K=0,L=0,M=0,N=0,O=0.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.0,fa=0.0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0;j=u;u=u+560|0;k=j+8|0;l=j;m=j+524|0;n=m;o=j+512|0;f[l>>2]=0;p=o+12|0;Lo(c)|0;if((I|0)<0){q=1;r=16996;s=-c}else{q=(g&2049|0)!=0&1;r=(g&2048|0)==0?((g&1|0)==0?16997:17002):16999;s=c}Lo(s)|0;t=I&2146435072;do if(t>>>0<2146435072|(t|0)==2146435072&0<0){c=+Yq(s,l)*2.0;v=c!=0.0;if(v)f[l>>2]=(f[l>>2]|0)+-1;w=i|32;if((w|0)==97){x=i&32;y=(x|0)==0?r:r+9|0;z=q|2;A=12-e|0;do if(!(e>>>0>11|(A|0)==0)){B=A;C=8.0;do{B=B+-1|0;C=C*16.0}while((B|0)!=0);if((b[y>>0]|0)==45){D=-(C+(-c-C));break}else{D=c+C-C;break}}else D=c;while(0);A=f[l>>2]|0;B=(A|0)<0?0-A|0:A;E=Sj(B,((B|0)<0)<<31>>31,p)|0;if((E|0)==(p|0)){B=o+11|0;b[B>>0]=48;F=B}else F=E;b[F+-1>>0]=(A>>31&2)+43;A=F+-2|0;b[A>>0]=i+15;E=(e|0)<1;B=(g&8|0)==0;G=m;H=D;while(1){J=~~H;K=G+1|0;b[G>>0]=h[17027+J>>0]|x;H=(H-+(J|0))*16.0;if((K-n|0)==1?!(B&(E&H==0.0)):0){b[K>>0]=46;L=G+2|0}else L=K;if(!(H!=0.0))break;else G=L}G=L-n|0;E=p-A|0;B=(e|0)!=0&(G+-2|0)<(e|0)?e+2|0:G;x=E+z+B|0;Sk(a,32,d,x,g);sp(a,y,z);Sk(a,48,d,x,g^65536);sp(a,m,G);Sk(a,48,B-G|0,0,0);sp(a,A,E);Sk(a,32,d,x,g^8192);M=x;break}x=(e|0)<0?6:e;if(v){E=(f[l>>2]|0)+-28|0;f[l>>2]=E;N=E;O=c*268435456.0}else{N=f[l>>2]|0;O=c}E=(N|0)<0?k:k+288|0;H=O;G=E;do{B=~~H>>>0;f[G>>2]=B;G=G+4|0;H=(H-+(B>>>0))*1.0e9}while(H!=0.0);if((N|0)>0){v=N;A=E;z=G;while(1){y=(v|0)<29?v:29;B=z+-4|0;if(B>>>0>=A>>>0){K=0;J=B;do{B=eo(f[J>>2]|0,0,y|0)|0;P=go(B|0,I|0,K|0,0)|0;B=I;Q=qn(P|0,B|0,1e9,0)|0;f[J>>2]=Q;K=Ip(P|0,B|0,1e9,0)|0;J=J+-4|0}while(J>>>0>=A>>>0);if(K){J=A+-4|0;f[J>>2]=K;R=J}else R=A}else R=A;J=z;while(1){if(J>>>0<=R>>>0)break;B=J+-4|0;if(!(f[B>>2]|0))J=B;else break}K=(f[l>>2]|0)-y|0;f[l>>2]=K;if((K|0)>0){v=K;A=R;z=J}else{S=K;T=R;U=J;break}}}else{S=N;T=E;U=G}if((S|0)<0){z=((x+25|0)/9|0)+1|0;A=(w|0)==102;v=S;K=T;B=U;while(1){P=0-v|0;Q=(P|0)<9?P:9;if(K>>>0<B>>>0){P=(1<<Q)+-1|0;V=1e9>>>Q;W=0;Y=K;do{Z=f[Y>>2]|0;f[Y>>2]=(Z>>>Q)+W;W=X(Z&P,V)|0;Y=Y+4|0}while(Y>>>0<B>>>0);Y=(f[K>>2]|0)==0?K+4|0:K;if(!W){_=Y;$=B}else{f[B>>2]=W;_=Y;$=B+4|0}}else{_=(f[K>>2]|0)==0?K+4|0:K;$=B}Y=A?E:_;V=($-Y>>2|0)>(z|0)?Y+(z<<2)|0:$;v=(f[l>>2]|0)+Q|0;f[l>>2]=v;if((v|0)>=0){aa=_;ba=V;break}else{K=_;B=V}}}else{aa=T;ba=U}B=E;if(aa>>>0<ba>>>0){K=(B-aa>>2)*9|0;v=f[aa>>2]|0;if(v>>>0<10)ca=K;else{z=K;K=10;while(1){K=K*10|0;A=z+1|0;if(v>>>0<K>>>0){ca=A;break}else z=A}}}else ca=0;z=(w|0)==103;K=(x|0)!=0;v=x-((w|0)!=102?ca:0)+((K&z)<<31>>31)|0;if((v|0)<(((ba-B>>2)*9|0)+-9|0)){A=v+9216|0;v=E+4+(((A|0)/9|0)+-1024<<2)|0;G=((A|0)%9|0)+1|0;if((G|0)<9){A=10;V=G;while(1){G=A*10|0;V=V+1|0;if((V|0)==9){da=G;break}else A=G}}else da=10;A=f[v>>2]|0;V=(A>>>0)%(da>>>0)|0;w=(v+4|0)==(ba|0);if(!(w&(V|0)==0)){C=(((A>>>0)/(da>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;G=(da|0)/2|0;H=V>>>0<G>>>0?.5:w&(V|0)==(G|0)?1.0:1.5;if(!q){ea=C;fa=H}else{G=(b[r>>0]|0)==45;ea=G?-C:C;fa=G?-H:H}G=A-V|0;f[v>>2]=G;if(ea+fa!=ea){V=G+da|0;f[v>>2]=V;if(V>>>0>999999999){V=aa;G=v;while(1){A=G+-4|0;f[G>>2]=0;if(A>>>0<V>>>0){w=V+-4|0;f[w>>2]=0;ga=w}else ga=V;w=(f[A>>2]|0)+1|0;f[A>>2]=w;if(w>>>0>999999999){V=ga;G=A}else{ha=ga;ia=A;break}}}else{ha=aa;ia=v}G=(B-ha>>2)*9|0;V=f[ha>>2]|0;if(V>>>0<10){ja=ha;ka=ia;la=G}else{A=G;G=10;while(1){G=G*10|0;w=A+1|0;if(V>>>0<G>>>0){ja=ha;ka=ia;la=w;break}else A=w}}}else{ja=aa;ka=v;la=ca}}else{ja=aa;ka=v;la=ca}A=ka+4|0;ma=ja;na=la;oa=ba>>>0>A>>>0?A:ba}else{ma=aa;na=ca;oa=ba}A=oa;while(1){if(A>>>0<=ma>>>0){pa=0;break}G=A+-4|0;if(!(f[G>>2]|0))A=G;else{pa=1;break}}v=0-na|0;do if(z){G=((K^1)&1)+x|0;if((G|0)>(na|0)&(na|0)>-5){qa=G+-1-na|0;ra=i+-1|0}else{qa=G+-1|0;ra=i+-2|0}G=g&8;if(!G){if(pa?(V=f[A+-4>>2]|0,(V|0)!=0):0)if(!((V>>>0)%10|0)){w=10;Y=0;while(1){w=w*10|0;P=Y+1|0;if((V>>>0)%(w>>>0)|0|0){sa=P;break}else Y=P}}else sa=0;else sa=9;Y=((A-B>>2)*9|0)+-9|0;if((ra|32|0)==102){w=Y-sa|0;V=(w|0)>0?w:0;ta=0;ua=(qa|0)<(V|0)?qa:V;va=ra;break}else{V=Y+na-sa|0;Y=(V|0)>0?V:0;ta=0;ua=(qa|0)<(Y|0)?qa:Y;va=ra;break}}else{ta=G;ua=qa;va=ra}}else{ta=g&8;ua=x;va=i}while(0);x=ua|ta;B=(x|0)!=0&1;K=(va|32|0)==102;if(K){wa=0;xa=(na|0)>0?na:0}else{z=(na|0)<0?v:na;Y=Sj(z,((z|0)<0)<<31>>31,p)|0;z=p;if((z-Y|0)<2){V=Y;while(1){w=V+-1|0;b[w>>0]=48;if((z-w|0)<2)V=w;else{ya=w;break}}}else ya=Y;b[ya+-1>>0]=(na>>31&2)+43;V=ya+-2|0;b[V>>0]=va;wa=V;xa=z-V|0}V=q+1+ua+B+xa|0;Sk(a,32,d,V,g);sp(a,r,q);Sk(a,48,d,V,g^65536);if(K){v=ma>>>0>E>>>0?E:ma;w=m+9|0;Q=w;W=m+8|0;P=v;do{J=Sj(f[P>>2]|0,0,w)|0;if((P|0)==(v|0))if((J|0)==(w|0)){b[W>>0]=48;za=W}else za=J;else if(J>>>0>m>>>0){pj(m|0,48,J-n|0)|0;y=J;while(1){Z=y+-1|0;if(Z>>>0>m>>>0)y=Z;else{za=Z;break}}}else za=J;sp(a,za,Q-za|0);P=P+4|0}while(P>>>0<=E>>>0);if(x|0)sp(a,17043,1);if(P>>>0<A>>>0&(ua|0)>0){E=P;Q=ua;while(1){W=Sj(f[E>>2]|0,0,w)|0;if(W>>>0>m>>>0){pj(m|0,48,W-n|0)|0;v=W;while(1){K=v+-1|0;if(K>>>0>m>>>0)v=K;else{Aa=K;break}}}else Aa=W;sp(a,Aa,(Q|0)<9?Q:9);E=E+4|0;v=Q+-9|0;if(!(E>>>0<A>>>0&(Q|0)>9)){Ba=v;break}else Q=v}}else Ba=ua;Sk(a,48,Ba+9|0,9,0)}else{Q=pa?A:ma+4|0;if((ua|0)>-1){E=m+9|0;w=(ta|0)==0;P=E;x=0-n|0;v=m+8|0;J=ma;K=ua;while(1){B=Sj(f[J>>2]|0,0,E)|0;if((B|0)==(E|0)){b[v>>0]=48;Ca=v}else Ca=B;do if((J|0)==(ma|0)){B=Ca+1|0;sp(a,Ca,1);if(w&(K|0)<1){Da=B;break}sp(a,17043,1);Da=B}else{if(Ca>>>0<=m>>>0){Da=Ca;break}pj(m|0,48,Ca+x|0)|0;B=Ca;while(1){z=B+-1|0;if(z>>>0>m>>>0)B=z;else{Da=z;break}}}while(0);W=P-Da|0;sp(a,Da,(K|0)>(W|0)?W:K);B=K-W|0;J=J+4|0;if(!(J>>>0<Q>>>0&(B|0)>-1)){Ea=B;break}else K=B}}else Ea=ua;Sk(a,48,Ea+18|0,18,0);sp(a,wa,p-wa|0)}Sk(a,32,d,V,g^8192);M=V}else{K=(i&32|0)!=0;Q=q+3|0;Sk(a,32,d,Q,g&-65537);sp(a,r,q);sp(a,s!=s|0.0!=0.0?(K?18946:17023):K?17015:17019,3);Sk(a,32,d,Q,g^8192);M=Q}while(0);u=j;return ((M|0)<(d|0)?d:M)|0}function jb(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,Z=0,_=0,$=0,aa=0,ba=0;c=u;u=u+64|0;d=c+56|0;e=c+52|0;g=c+48|0;h=c+60|0;i=c;j=c+44|0;k=c+40|0;l=c+36|0;m=c+32|0;n=c+28|0;o=c+24|0;p=c+20|0;q=c+16|0;r=c+12|0;if(!(b[a+288>>0]|0)){Ve(d,f[a+8>>2]|0);s=a+12|0;t=f[d>>2]|0;f[d>>2]=0;v=f[s>>2]|0;f[s>>2]=t;if(v){Ei(v);pr(v);v=f[d>>2]|0;f[d>>2]=0;if(v|0){Ei(v);pr(v)}}else f[d>>2]=0}else{$g(d,f[a+8>>2]|0);v=a+12|0;t=f[d>>2]|0;f[d>>2]=0;s=f[v>>2]|0;f[v>>2]=t;if(s){Ei(s);pr(s);s=f[d>>2]|0;f[d>>2]=0;if(s|0){Ei(s);pr(s)}}else f[d>>2]=0}s=a+12|0;t=f[s>>2]|0;if(!t){w=0;u=c;return w|0}if((((f[t+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0|0)==(f[t+40>>2]|0)){w=0;u=c;return w|0}v=a+200|0;f[a+264>>2]=a;x=a+4|0;ai(((f[t+28>>2]|0)-(f[t+24>>2]|0)>>2)-(f[t+44>>2]|0)|0,f[(f[x>>2]|0)+44>>2]|0)|0;t=f[s>>2]|0;ai((((f[t+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0)-(f[t+40>>2]|0)|0,f[(f[x>>2]|0)+44>>2]|0)|0;t=a+28|0;y=a+8|0;z=f[y>>2]|0;A=((f[z+100>>2]|0)-(f[z+96>>2]|0)|0)/12|0;b[d>>0]=0;hh(t,A,d);A=f[s>>2]|0;z=(f[A+28>>2]|0)-(f[A+24>>2]|0)>>2;f[d>>2]=-1;fg(a+52|0,z,d);z=a+40|0;A=f[z>>2]|0;B=a+44|0;C=f[B>>2]|0;if((C|0)!=(A|0))f[B>>2]=C+(~((C+-4-A|0)>>>2)<<2);A=f[s>>2]|0;C=(f[A+4>>2]|0)-(f[A>>2]|0)>>2;Xj(z,C-((C>>>0)%3|0)|0);C=a+84|0;z=f[s>>2]|0;A=(f[z+28>>2]|0)-(f[z+24>>2]|0)>>2;b[d>>0]=0;hh(C,A,d);A=a+96|0;z=f[A>>2]|0;B=a+100|0;D=f[B>>2]|0;if((D|0)!=(z|0))f[B>>2]=D+(~((D+-4-z|0)>>>2)<<2);f[a+164>>2]=-1;z=a+168|0;f[z>>2]=0;D=f[a+108>>2]|0;E=a+112|0;F=f[E>>2]|0;if((F|0)!=(D|0))f[E>>2]=F+(~(((F+-12-D|0)>>>0)/12|0)*12|0);D=a+132|0;if(f[D>>2]|0){F=a+128|0;E=f[F>>2]|0;if(E|0){G=E;do{E=G;G=f[G>>2]|0;pr(E)}while((G|0)!=0)}f[F>>2]=0;F=f[a+124>>2]|0;if(F|0){G=a+120|0;E=0;do{f[(f[G>>2]|0)+(E<<2)>>2]=0;E=E+1|0}while((E|0)!=(F|0))}f[D>>2]=0}f[a+144>>2]=0;D=f[s>>2]|0;F=(f[D+28>>2]|0)-(f[D+24>>2]|0)>>2;f[d>>2]=-1;fg(a+152|0,F,d);F=a+72|0;D=f[F>>2]|0;E=a+76|0;G=f[E>>2]|0;if((G|0)!=(D|0))f[E>>2]=G+(~((G+-4-D|0)>>>2)<<2);D=f[s>>2]|0;Xj(F,((f[D+4>>2]|0)-(f[D>>2]|0)>>2>>>0)/3|0);f[a+64>>2]=0;if(!(we(a)|0)){w=0;u=c;return w|0}if(!(th(a)|0)){w=0;u=c;return w|0}D=a+172|0;G=a+176|0;H=(((f[G>>2]|0)-(f[D>>2]|0)|0)/136|0)&255;b[h>>0]=H;I=f[(f[x>>2]|0)+44>>2]|0;J=I+16|0;K=f[J+4>>2]|0;if((K|0)>0|(K|0)==0&(f[J>>2]|0)>>>0>0)L=H;else{f[e>>2]=f[I+4>>2];f[d>>2]=f[e>>2];Fe(I,d,h,h+1|0)|0;L=b[h>>0]|0}h=a+284|0;f[h>>2]=L&255;L=f[s>>2]|0;I=(f[L+4>>2]|0)-(f[L>>2]|0)|0;L=I>>2;aj(v);f[i>>2]=0;H=i+4|0;f[H>>2]=0;f[i+8>>2]=0;a:do if((I|0)>0){J=a+104|0;K=i+8|0;M=0;b:while(1){N=(M>>>0)/3|0;O=N>>>5;P=1<<(N&31);if((f[(f[t>>2]|0)+(O<<2)>>2]&P|0)==0?(Q=f[s>>2]|0,f[j>>2]=N,f[d>>2]=f[j>>2],!(ak(Q,d)|0)):0){f[e>>2]=0;f[k>>2]=N;f[d>>2]=f[k>>2];N=Vf(a,d,e)|0;dj(v,N);Q=f[e>>2]|0;R=(Q|0)==-1;do if(N){do if(R){S=-1;T=-1;U=-1}else{V=f[f[s>>2]>>2]|0;W=f[V+(Q<<2)>>2]|0;X=Q+1|0;Y=((X>>>0)%3|0|0)==0?Q+-2|0:X;if((Y|0)==-1)Z=-1;else Z=f[V+(Y<<2)>>2]|0;Y=(((Q>>>0)%3|0|0)==0?2:-1)+Q|0;if((Y|0)==-1){S=-1;T=Z;U=W;break}S=f[V+(Y<<2)>>2]|0;T=Z;U=W}while(0);W=f[C>>2]|0;Y=W+(U>>>5<<2)|0;f[Y>>2]=f[Y>>2]|1<<(U&31);Y=W+(T>>>5<<2)|0;f[Y>>2]=f[Y>>2]|1<<(T&31);Y=W+(S>>>5<<2)|0;f[Y>>2]=f[Y>>2]|1<<(S&31);f[d>>2]=1;Y=f[B>>2]|0;if(Y>>>0<(f[J>>2]|0)>>>0){f[Y>>2]=1;f[B>>2]=Y+4}else Ti(A,d);Y=(f[t>>2]|0)+(O<<2)|0;f[Y>>2]=f[Y>>2]|P;Y=Q+1|0;if(R)_=-1;else _=((Y>>>0)%3|0|0)==0?Q+-2|0:Y;f[d>>2]=_;W=f[H>>2]|0;if(W>>>0<(f[K>>2]|0)>>>0){f[W>>2]=_;f[H>>2]=W+4}else Ti(i,d);if(R)break;W=((Y>>>0)%3|0|0)==0?Q+-2|0:Y;if((W|0)==-1)break;Y=f[(f[(f[s>>2]|0)+12>>2]|0)+(W<<2)>>2]|0;W=(Y|0)==-1;V=W?-1:(Y>>>0)/3|0;if(W)break;if(f[(f[t>>2]|0)+(V>>>5<<2)>>2]&1<<(V&31)|0)break;f[l>>2]=Y;f[d>>2]=f[l>>2];if(!(fc(a,d)|0))break b}else{Y=Q+1|0;if(R)$=-1;else $=((Y>>>0)%3|0|0)==0?Q+-2|0:Y;f[m>>2]=$;f[d>>2]=f[m>>2];Je(a,d,1)|0;f[n>>2]=f[e>>2];f[d>>2]=f[n>>2];if(!(fc(a,d)|0))break b}while(0)}M=M+1|0;if((M|0)>=(L|0)){aa=62;break a}}ba=0}else aa=62;while(0);if((aa|0)==62){aa=f[F>>2]|0;L=f[E>>2]|0;n=L;if((aa|0)!=(L|0)?(m=L+-4|0,aa>>>0<m>>>0):0){L=aa;aa=m;do{m=f[L>>2]|0;f[L>>2]=f[aa>>2];f[aa>>2]=m;L=L+4|0;aa=aa+-4|0}while(L>>>0<aa>>>0)}f[o>>2]=n;f[p>>2]=f[i>>2];f[q>>2]=f[H>>2];f[g>>2]=f[o>>2];f[e>>2]=f[p>>2];f[d>>2]=f[q>>2];Sd(F,g,e,d)|0;if((f[G>>2]|0)!=(f[D>>2]|0)?(D=f[y>>2]|0,y=((f[D+100>>2]|0)-(f[D+96>>2]|0)|0)/12|0,b[d>>0]=0,hh(t,y,d),y=f[F>>2]|0,F=f[E>>2]|0,(y|0)!=(F|0)):0){E=y;do{f[r>>2]=f[E>>2];f[d>>2]=f[r>>2];Hg(a,d)|0;E=E+4|0}while((E|0)!=(F|0))}oh(v);F=a+232|0;hd(v,F);v=a+280|0;E=f[v>>2]|0;if((E|0?(f[h>>2]|0)>0:0)?(hd(E,F),(f[h>>2]|0)>1):0){E=1;do{hd((f[v>>2]|0)+(E<<5)|0,F);E=E+1|0}while((E|0)<(f[h>>2]|0))}ai((f[a+272>>2]|0)-(f[a+268>>2]|0)>>2,f[(f[x>>2]|0)+44>>2]|0)|0;ai(f[z>>2]|0,f[(f[x>>2]|0)+44>>2]|0)|0;if(Yg(a)|0){z=f[(f[x>>2]|0)+44>>2]|0;x=f[F>>2]|0;F=z+16|0;h=f[F+4>>2]|0;if(!((h|0)>0|(h|0)==0&(f[F>>2]|0)>>>0>0)){F=(f[a+236>>2]|0)-x|0;f[e>>2]=f[z+4>>2];f[d>>2]=f[e>>2];Fe(z,d,x,x+F|0)|0}ba=1}else ba=0}F=f[i>>2]|0;if(F|0){i=f[H>>2]|0;if((i|0)!=(F|0))f[H>>2]=i+(~((i+-4-F|0)>>>2)<<2);pr(F)}w=ba;u=c;return w|0}function kb(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,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0;i=u;u=u+64|0;j=i+16|0;k=i;l=i+24|0;m=i+8|0;n=i+20|0;f[j>>2]=c;o=(a|0)!=0;q=l+40|0;r=q;s=l+39|0;l=m+4|0;t=c;c=0;v=0;w=0;a:while(1){do if((c|0)>-1)if((v|0)>(2147483647-c|0)){x=er()|0;f[x>>2]=75;y=-1;break}else{y=v+c|0;break}else y=c;while(0);x=b[t>>0]|0;if(!(x<<24>>24)){z=87;break}else{A=x;B=t}b:while(1){switch(A<<24>>24){case 37:{C=B;D=B;z=9;break b;break}case 0:{E=B;F=B;break b;break}default:{}}x=B+1|0;f[j>>2]=x;A=b[x>>0]|0;B=x}c:do if((z|0)==9)while(1){z=0;if((b[C+1>>0]|0)!=37){E=C;F=D;break c}x=D+1|0;G=C+2|0;f[j>>2]=G;if((b[G>>0]|0)==37){C=G;D=x;z=9}else{E=G;F=x;break}}while(0);x=F-t|0;if(o)sp(a,t,x);if(x|0){t=E;c=y;v=x;continue}x=E+1|0;G=(b[x>>0]|0)+-48|0;if(G>>>0<10){H=(b[E+2>>0]|0)==36;J=H?G:-1;K=H?1:w;L=H?E+3|0:x}else{J=-1;K=w;L=x}f[j>>2]=L;x=b[L>>0]|0;H=(x<<24>>24)+-32|0;d:do if(H>>>0<32){G=x;M=0;N=L;O=H;while(1){P=1<<O;if(!(P&75913)){Q=G;R=N;S=M;break d}T=P|M;P=N+1|0;f[j>>2]=P;U=b[P>>0]|0;O=(U<<24>>24)+-32|0;if(O>>>0>=32){Q=U;R=P;S=T;break}else{G=U;M=T;N=P}}}else{Q=x;R=L;S=0}while(0);if(Q<<24>>24==42){x=R+1|0;H=(b[x>>0]|0)+-48|0;if(H>>>0<10?(b[R+2>>0]|0)==36:0){f[h+(H<<2)>>2]=10;V=1;W=R+3|0;X=f[g+((b[x>>0]|0)+-48<<3)>>2]|0}else{if(K|0){Y=-1;break}if(o){H=(f[e>>2]|0)+(4-1)&~(4-1);N=f[H>>2]|0;f[e>>2]=H+4;V=0;W=x;X=N}else{V=0;W=x;X=0}}f[j>>2]=W;x=(X|0)<0;Z=W;_=x?S|8192:S;$=V;aa=x?0-X|0:X}else{x=Nl(j)|0;if((x|0)<0){Y=-1;break}Z=f[j>>2]|0;_=S;$=K;aa=x}do if((b[Z>>0]|0)==46){if((b[Z+1>>0]|0)!=42){f[j>>2]=Z+1;x=Nl(j)|0;ba=f[j>>2]|0;ca=x;break}x=Z+2|0;N=(b[x>>0]|0)+-48|0;if(N>>>0<10?(b[Z+3>>0]|0)==36:0){f[h+(N<<2)>>2]=10;N=f[g+((b[x>>0]|0)+-48<<3)>>2]|0;H=Z+4|0;f[j>>2]=H;ba=H;ca=N;break}if($|0){Y=-1;break a}if(o){N=(f[e>>2]|0)+(4-1)&~(4-1);H=f[N>>2]|0;f[e>>2]=N+4;da=H}else da=0;f[j>>2]=x;ba=x;ca=da}else{ba=Z;ca=-1}while(0);x=ba;H=0;while(1){if(((b[x>>0]|0)+-65|0)>>>0>57){Y=-1;break a}ea=x+1|0;f[j>>2]=ea;fa=b[(b[x>>0]|0)+-65+(16515+(H*58|0))>>0]|0;ga=fa&255;if((ga+-1|0)>>>0<8){x=ea;H=ga}else break}if(!(fa<<24>>24)){Y=-1;break}N=(J|0)>-1;do if(fa<<24>>24==19)if(N){Y=-1;break a}else z=49;else{if(N){f[h+(J<<2)>>2]=ga;M=g+(J<<3)|0;G=f[M+4>>2]|0;O=k;f[O>>2]=f[M>>2];f[O+4>>2]=G;z=49;break}if(!o){Y=0;break a}Pe(k,ga,e)}while(0);if((z|0)==49?(z=0,!o):0){t=ea;c=y;v=0;w=$;continue}N=b[x>>0]|0;G=(H|0)!=0&(N&15|0)==3?N&-33:N;N=_&-65537;O=(_&8192|0)==0?_:N;e:do switch(G|0){case 110:{switch((H&255)<<24>>24){case 0:{f[f[k>>2]>>2]=y;t=ea;c=y;v=0;w=$;continue a;break}case 1:{f[f[k>>2]>>2]=y;t=ea;c=y;v=0;w=$;continue a;break}case 2:{M=f[k>>2]|0;f[M>>2]=y;f[M+4>>2]=((y|0)<0)<<31>>31;t=ea;c=y;v=0;w=$;continue a;break}case 3:{d[f[k>>2]>>1]=y;t=ea;c=y;v=0;w=$;continue a;break}case 4:{b[f[k>>2]>>0]=y;t=ea;c=y;v=0;w=$;continue a;break}case 6:{f[f[k>>2]>>2]=y;t=ea;c=y;v=0;w=$;continue a;break}case 7:{M=f[k>>2]|0;f[M>>2]=y;f[M+4>>2]=((y|0)<0)<<31>>31;t=ea;c=y;v=0;w=$;continue a;break}default:{t=ea;c=y;v=0;w=$;continue a}}break}case 112:{ha=O|8;ia=ca>>>0>8?ca:8;ja=120;z=61;break}case 88:case 120:{ha=O;ia=ca;ja=G;z=61;break}case 111:{M=k;P=f[M>>2]|0;T=f[M+4>>2]|0;M=Sl(P,T,q)|0;U=r-M|0;ka=P;la=T;ma=M;na=O;oa=(O&8|0)==0|(ca|0)>(U|0)?ca:U+1|0;pa=0;qa=16979;z=67;break}case 105:case 100:{U=k;M=f[U>>2]|0;T=f[U+4>>2]|0;if((T|0)<0){U=io(0,0,M|0,T|0)|0;P=I;ra=k;f[ra>>2]=U;f[ra+4>>2]=P;sa=U;ta=P;ua=1;va=16979;z=66;break e}else{sa=M;ta=T;ua=(O&2049|0)!=0&1;va=(O&2048|0)==0?((O&1|0)==0?16979:16981):16980;z=66;break e}break}case 117:{T=k;sa=f[T>>2]|0;ta=f[T+4>>2]|0;ua=0;va=16979;z=66;break}case 99:{b[s>>0]=f[k>>2];wa=s;xa=N;ya=1;za=0;Aa=16979;Ba=q;break}case 109:{T=er()|0;Ca=zp(f[T>>2]|0)|0;z=71;break}case 115:{T=f[k>>2]|0;Ca=T|0?T:16989;z=71;break}case 67:{f[m>>2]=f[k>>2];f[l>>2]=0;f[k>>2]=m;Da=m;Ea=-1;z=75;break}case 83:{T=f[k>>2]|0;if(!ca){Sk(a,32,aa,0,O);Fa=0;z=84}else{Da=T;Ea=ca;z=75}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{t=ea;c=y;v=ib(a,+p[k>>3],aa,ca,O,G)|0;w=$;continue a;break}default:{wa=t;xa=O;ya=ca;za=0;Aa=16979;Ba=q}}while(0);f:do if((z|0)==61){z=0;G=k;H=f[G>>2]|0;x=f[G+4>>2]|0;G=yl(H,x,q,ja&32)|0;T=(ha&8|0)==0|(H|0)==0&(x|0)==0;ka=H;la=x;ma=G;na=ha;oa=ia;pa=T?0:2;qa=T?16979:16979+(ja>>4)|0;z=67}else if((z|0)==66){z=0;ka=sa;la=ta;ma=Sj(sa,ta,q)|0;na=O;oa=ca;pa=ua;qa=va;z=67}else if((z|0)==71){z=0;T=sg(Ca,0,ca)|0;G=(T|0)==0;wa=Ca;xa=N;ya=G?ca:T-Ca|0;za=0;Aa=16979;Ba=G?Ca+ca|0:T}else if((z|0)==75){z=0;T=0;G=0;x=Da;while(1){H=f[x>>2]|0;if(!H){Ga=T;Ha=G;break}M=kp(n,H)|0;if((M|0)<0|M>>>0>(Ea-T|0)>>>0){Ga=T;Ha=M;break}H=M+T|0;if(Ea>>>0>H>>>0){T=H;G=M;x=x+4|0}else{Ga=H;Ha=M;break}}if((Ha|0)<0){Y=-1;break a}Sk(a,32,aa,Ga,O);if(!Ga){Fa=0;z=84}else{x=0;G=Da;while(1){T=f[G>>2]|0;if(!T){Fa=Ga;z=84;break f}M=kp(n,T)|0;x=M+x|0;if((x|0)>(Ga|0)){Fa=Ga;z=84;break f}sp(a,n,M);if(x>>>0>=Ga>>>0){Fa=Ga;z=84;break}else G=G+4|0}}}while(0);if((z|0)==67){z=0;N=(ka|0)!=0|(la|0)!=0;G=(oa|0)!=0|N;x=((N^1)&1)+(r-ma)|0;wa=G?ma:q;xa=(oa|0)>-1?na&-65537:na;ya=G?((oa|0)>(x|0)?oa:x):oa;za=pa;Aa=qa;Ba=q}else if((z|0)==84){z=0;Sk(a,32,aa,Fa,O^8192);t=ea;c=y;v=(aa|0)>(Fa|0)?aa:Fa;w=$;continue}x=Ba-wa|0;G=(ya|0)<(x|0)?x:ya;N=G+za|0;M=(aa|0)<(N|0)?N:aa;Sk(a,32,M,N,xa);sp(a,Aa,za);Sk(a,48,M,N,xa^65536);Sk(a,48,G,x,0);sp(a,wa,x);Sk(a,32,M,N,xa^8192);t=ea;c=y;v=M;w=$}g:do if((z|0)==87)if(!a)if(!w)Y=0;else{$=1;while(1){v=f[h+($<<2)>>2]|0;if(!v){Ia=$;break}Pe(g+($<<3)|0,v,e);$=$+1|0;if(($|0)>=10){Y=1;break g}}while(1){if(f[h+(Ia<<2)>>2]|0){Y=-1;break g}Ia=Ia+1|0;if((Ia|0)>=10){Y=1;break}}}else Y=y;while(0);u=i;return Y|0}function lb(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,Z=0,_=0,$=0,aa=0;c=u;u=u+64|0;d=c+56|0;e=c+52|0;g=c+48|0;h=c+60|0;i=c;j=c+44|0;k=c+40|0;l=c+36|0;m=c+32|0;n=c+28|0;o=c+24|0;p=c+20|0;q=c+16|0;r=c+12|0;if(!(b[a+352>>0]|0)){Ve(d,f[a+8>>2]|0);s=a+12|0;t=f[d>>2]|0;f[d>>2]=0;v=f[s>>2]|0;f[s>>2]=t;if(v){Ei(v);pr(v);v=f[d>>2]|0;f[d>>2]=0;if(v|0){Ei(v);pr(v)}}else f[d>>2]=0}else{$g(d,f[a+8>>2]|0);v=a+12|0;t=f[d>>2]|0;f[d>>2]=0;s=f[v>>2]|0;f[v>>2]=t;if(s){Ei(s);pr(s);s=f[d>>2]|0;f[d>>2]=0;if(s|0){Ei(s);pr(s)}}else f[d>>2]=0}s=a+12|0;t=f[s>>2]|0;if(!t){w=0;u=c;return w|0}if((((f[t+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0|0)==(f[t+40>>2]|0)){w=0;u=c;return w|0}t=a+200|0;Zd(t,a)|0;v=f[s>>2]|0;x=a+4|0;ai(((f[v+28>>2]|0)-(f[v+24>>2]|0)>>2)-(f[v+44>>2]|0)|0,f[(f[x>>2]|0)+44>>2]|0)|0;v=f[s>>2]|0;ai((((f[v+4>>2]|0)-(f[v>>2]|0)>>2>>>0)/3|0)-(f[v+40>>2]|0)|0,f[(f[x>>2]|0)+44>>2]|0)|0;v=a+28|0;y=a+8|0;z=f[y>>2]|0;A=((f[z+100>>2]|0)-(f[z+96>>2]|0)|0)/12|0;b[d>>0]=0;hh(v,A,d);A=f[s>>2]|0;z=(f[A+28>>2]|0)-(f[A+24>>2]|0)>>2;f[d>>2]=-1;fg(a+52|0,z,d);z=a+40|0;A=f[z>>2]|0;B=a+44|0;C=f[B>>2]|0;if((C|0)!=(A|0))f[B>>2]=C+(~((C+-4-A|0)>>>2)<<2);A=f[s>>2]|0;C=(f[A+4>>2]|0)-(f[A>>2]|0)>>2;Xj(z,C-((C>>>0)%3|0)|0);C=a+84|0;z=f[s>>2]|0;A=(f[z+28>>2]|0)-(f[z+24>>2]|0)>>2;b[d>>0]=0;hh(C,A,d);A=a+96|0;z=f[A>>2]|0;B=a+100|0;D=f[B>>2]|0;if((D|0)!=(z|0))f[B>>2]=D+(~((D+-4-z|0)>>>2)<<2);f[a+164>>2]=-1;z=a+168|0;f[z>>2]=0;D=f[a+108>>2]|0;E=a+112|0;F=f[E>>2]|0;if((F|0)!=(D|0))f[E>>2]=F+(~(((F+-12-D|0)>>>0)/12|0)*12|0);D=a+132|0;if(f[D>>2]|0){F=a+128|0;E=f[F>>2]|0;if(E|0){G=E;do{E=G;G=f[G>>2]|0;pr(E)}while((G|0)!=0)}f[F>>2]=0;F=f[a+124>>2]|0;if(F|0){G=a+120|0;E=0;do{f[(f[G>>2]|0)+(E<<2)>>2]=0;E=E+1|0}while((E|0)!=(F|0))}f[D>>2]=0}f[a+144>>2]=0;D=f[s>>2]|0;F=(f[D+28>>2]|0)-(f[D+24>>2]|0)>>2;f[d>>2]=-1;fg(a+152|0,F,d);F=a+72|0;D=f[F>>2]|0;E=a+76|0;G=f[E>>2]|0;if((G|0)!=(D|0))f[E>>2]=G+(~((G+-4-D|0)>>>2)<<2);D=f[s>>2]|0;Xj(F,((f[D+4>>2]|0)-(f[D>>2]|0)>>2>>>0)/3|0);f[a+64>>2]=0;if(!(we(a)|0)){w=0;u=c;return w|0}if(!(rh(a)|0)){w=0;u=c;return w|0}D=a+172|0;G=a+176|0;H=(((f[G>>2]|0)-(f[D>>2]|0)|0)/136|0)&255;b[h>>0]=H;I=f[(f[x>>2]|0)+44>>2]|0;J=I+16|0;K=f[J+4>>2]|0;if((K|0)>0|(K|0)==0&(f[J>>2]|0)>>>0>0)L=H;else{f[e>>2]=f[I+4>>2];f[d>>2]=f[e>>2];Fe(I,d,h,h+1|0)|0;L=b[h>>0]|0}f[a+284>>2]=L&255;L=f[s>>2]|0;h=(f[L+4>>2]|0)-(f[L>>2]|0)|0;L=h>>2;aj(t);f[i>>2]=0;I=i+4|0;f[I>>2]=0;f[i+8>>2]=0;a:do if((h|0)>0){H=a+104|0;J=i+8|0;K=0;b:while(1){M=(K>>>0)/3|0;N=M>>>5;O=1<<(M&31);if((f[(f[v>>2]|0)+(N<<2)>>2]&O|0)==0?(P=f[s>>2]|0,f[j>>2]=M,f[d>>2]=f[j>>2],!(ak(P,d)|0)):0){f[e>>2]=0;f[k>>2]=M;f[d>>2]=f[k>>2];M=Vf(a,d,e)|0;dj(t,M);P=f[e>>2]|0;Q=(P|0)==-1;do if(M){do if(Q){R=-1;S=-1;T=-1}else{U=f[f[s>>2]>>2]|0;V=f[U+(P<<2)>>2]|0;W=P+1|0;X=((W>>>0)%3|0|0)==0?P+-2|0:W;if((X|0)==-1)Y=-1;else Y=f[U+(X<<2)>>2]|0;X=(((P>>>0)%3|0|0)==0?2:-1)+P|0;if((X|0)==-1){R=-1;S=Y;T=V;break}R=f[U+(X<<2)>>2]|0;S=Y;T=V}while(0);V=f[C>>2]|0;X=V+(T>>>5<<2)|0;f[X>>2]=f[X>>2]|1<<(T&31);X=V+(S>>>5<<2)|0;f[X>>2]=f[X>>2]|1<<(S&31);X=V+(R>>>5<<2)|0;f[X>>2]=f[X>>2]|1<<(R&31);f[d>>2]=1;X=f[B>>2]|0;if(X>>>0<(f[H>>2]|0)>>>0){f[X>>2]=1;f[B>>2]=X+4}else Ti(A,d);X=(f[v>>2]|0)+(N<<2)|0;f[X>>2]=f[X>>2]|O;X=P+1|0;if(Q)Z=-1;else Z=((X>>>0)%3|0|0)==0?P+-2|0:X;f[d>>2]=Z;V=f[I>>2]|0;if(V>>>0<(f[J>>2]|0)>>>0){f[V>>2]=Z;f[I>>2]=V+4}else Ti(i,d);if(Q)break;V=((X>>>0)%3|0|0)==0?P+-2|0:X;if((V|0)==-1)break;X=f[(f[(f[s>>2]|0)+12>>2]|0)+(V<<2)>>2]|0;V=(X|0)==-1;U=V?-1:(X>>>0)/3|0;if(V)break;if(f[(f[v>>2]|0)+(U>>>5<<2)>>2]&1<<(U&31)|0)break;f[l>>2]=X;f[d>>2]=f[l>>2];if(!(Xb(a,d)|0))break b}else{X=P+1|0;if(Q)_=-1;else _=((X>>>0)%3|0|0)==0?P+-2|0:X;f[m>>2]=_;f[d>>2]=f[m>>2];Je(a,d,1)|0;f[n>>2]=f[e>>2];f[d>>2]=f[n>>2];if(!(Xb(a,d)|0))break b}while(0)}K=K+1|0;if((K|0)>=(L|0)){$=62;break a}}aa=0}else $=62;while(0);if(($|0)==62){$=f[F>>2]|0;L=f[E>>2]|0;n=L;if(($|0)!=(L|0)?(m=L+-4|0,$>>>0<m>>>0):0){L=$;$=m;do{m=f[L>>2]|0;f[L>>2]=f[$>>2];f[$>>2]=m;L=L+4|0;$=$+-4|0}while(L>>>0<$>>>0)}f[o>>2]=n;f[p>>2]=f[i>>2];f[q>>2]=f[I>>2];f[g>>2]=f[o>>2];f[e>>2]=f[p>>2];f[d>>2]=f[q>>2];Sd(F,g,e,d)|0;if((f[G>>2]|0)!=(f[D>>2]|0)?(D=f[y>>2]|0,y=((f[D+100>>2]|0)-(f[D+96>>2]|0)|0)/12|0,b[d>>0]=0,hh(v,y,d),y=f[F>>2]|0,F=f[E>>2]|0,(y|0)!=(F|0)):0){E=y;do{f[r>>2]=f[E>>2];f[d>>2]=f[r>>2];Hg(a,d)|0;E=E+4|0}while((E|0)!=(F|0))}mi(t);ai(f[a+324>>2]|0,f[(f[x>>2]|0)+44>>2]|0)|0;ai(f[z>>2]|0,f[(f[x>>2]|0)+44>>2]|0)|0;if(Yg(a)|0){z=f[(f[x>>2]|0)+44>>2]|0;x=f[a+232>>2]|0;t=z+16|0;F=f[t+4>>2]|0;if(!((F|0)>0|(F|0)==0&(f[t>>2]|0)>>>0>0)){t=(f[a+236>>2]|0)-x|0;f[e>>2]=f[z+4>>2];f[d>>2]=f[e>>2];Fe(z,d,x,x+t|0)|0}aa=1}else aa=0}t=f[i>>2]|0;if(t|0){i=f[I>>2]|0;if((i|0)!=(t|0))f[I>>2]=i+(~((i+-4-t|0)>>>2)<<2);pr(t)}w=aa;u=c;return w|0}function mb(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,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,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=Ja,ma=Ja,na=Ja,oa=0,pa=0,qa=0,ra=0,sa=0;c=u;u=u+64|0;d=c+28|0;e=c+16|0;g=c+4|0;h=c;i=a;j=a+80|0;k=f[j>>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]=i;l=d+20|0;n[l>>2]=$(1.0);f[d+24>>2]=i;Eh(d,k);k=f[j>>2]|0;f[e>>2]=0;i=e+4|0;f[i>>2]=0;f[e+8>>2]=0;m=(k|0)==0;do if(!m)if(k>>>0>1073741823)Cq(e);else{o=k<<2;p=tn(o)|0;f[e>>2]=p;q=p+(k<<2)|0;f[e+8>>2]=q;pj(p|0,0,o|0)|0;f[i>>2]=q;break}while(0);f[g>>2]=0;k=g+4|0;f[k>>2]=0;f[g+8>>2]=0;f[h>>2]=0;if(!m){m=d+16|0;q=d+4|0;o=d+12|0;p=d+8|0;r=g+8|0;s=d+24|0;t=0;v=0;while(1){w=f[m>>2]|0;x=f[w+8>>2]|0;y=(f[w+12>>2]|0)-x|0;w=(y|0)>0;z=x;if(w){x=y>>>2;A=0;B=0;while(1){C=f[z+(B<<2)>>2]|0;if(!(b[C+84>>0]|0))D=f[(f[C+68>>2]|0)+(t<<2)>>2]|0;else D=t;C=D+239^A;B=B+1|0;if((B|0)>=(x|0)){E=C;break}else A=C}}else E=0;A=f[q>>2]|0;x=(A|0)==0;a:do if(!x){B=A+-1|0;C=(B&A|0)==0;if(!C)if(E>>>0<A>>>0)F=E;else F=(E>>>0)%(A>>>0)|0;else F=B&E;G=f[(f[d>>2]|0)+(F<<2)>>2]|0;if((G|0)!=0?(H=f[G>>2]|0,(H|0)!=0):0){G=f[s>>2]|0;I=G+8|0;J=G+12|0;b:do if(C){G=H;while(1){K=f[G+4>>2]|0;L=(K|0)==(E|0);if(!(L|(K&B|0)==(F|0))){M=44;break a}c:do if(L){K=f[G+8>>2]|0;N=f[I>>2]|0;O=(f[J>>2]|0)-N|0;P=N;if((O|0)<=0){Q=G;break b}N=O>>>2;O=0;while(1){R=f[P+(O<<2)>>2]|0;if(!(b[R+84>>0]|0)){S=f[R+68>>2]|0;T=f[S+(t<<2)>>2]|0;U=f[S+(K<<2)>>2]|0}else{T=t;U=K}O=O+1|0;if((U|0)!=(T|0))break c;if((O|0)>=(N|0)){V=G;M=42;break b}}}while(0);G=f[G>>2]|0;if(!G){M=44;break a}}}else{G=H;while(1){L=f[G+4>>2]|0;d:do if((L|0)!=(E|0)){if(L>>>0<A>>>0)X=L;else X=(L>>>0)%(A>>>0)|0;if((X|0)!=(F|0)){M=44;break a}}else{N=f[G+8>>2]|0;O=f[I>>2]|0;K=(f[J>>2]|0)-O|0;P=O;if((K|0)<=0){Q=G;break b}O=K>>>2;K=0;while(1){S=f[P+(K<<2)>>2]|0;if(!(b[S+84>>0]|0)){R=f[S+68>>2]|0;Y=f[R+(t<<2)>>2]|0;Z=f[R+(N<<2)>>2]|0}else{Y=t;Z=N}K=K+1|0;if((Z|0)!=(Y|0))break d;if((K|0)>=(O|0)){V=G;M=42;break b}}}while(0);G=f[G>>2]|0;if(!G){M=44;break a}}}while(0);if((M|0)==42){M=0;if(!V){M=44;break}else Q=V}f[(f[e>>2]|0)+(t<<2)>>2]=f[Q+12>>2];_=v}else M=44}else M=44;while(0);do if((M|0)==44){M=0;if(w){J=y>>>2;I=0;H=0;while(1){B=f[z+(H<<2)>>2]|0;if(!(b[B+84>>0]|0))aa=f[(f[B+68>>2]|0)+(t<<2)>>2]|0;else aa=t;B=aa+239^I;H=H+1|0;if((H|0)>=(J|0)){ba=B;break}else I=B}}else ba=0;e:do if(!x){I=A+-1|0;J=(I&A|0)==0;if(!J)if(ba>>>0<A>>>0)ca=ba;else ca=(ba>>>0)%(A>>>0)|0;else ca=I&ba;H=f[(f[d>>2]|0)+(ca<<2)>>2]|0;if((H|0)!=0?(B=f[H>>2]|0,(B|0)!=0):0){H=f[s>>2]|0;C=H+8|0;G=H+12|0;if(J){J=B;while(1){H=f[J+4>>2]|0;if(!((H|0)==(ba|0)|(H&I|0)==(ca|0))){da=ca;M=76;break e}H=f[J+8>>2]|0;L=f[C>>2]|0;O=(f[G>>2]|0)-L|0;K=L;if((O|0)<=0){ea=t;break e}L=O>>>2;O=0;while(1){N=f[K+(O<<2)>>2]|0;if(!(b[N+84>>0]|0)){P=f[N+68>>2]|0;fa=f[P+(t<<2)>>2]|0;ga=f[P+(H<<2)>>2]|0}else{fa=t;ga=H}O=O+1|0;if((ga|0)!=(fa|0))break;if((O|0)>=(L|0)){ea=t;break e}}J=f[J>>2]|0;if(!J){da=ca;M=76;break e}}}else ha=B;while(1){J=f[ha+4>>2]|0;if((J|0)!=(ba|0)){if(J>>>0<A>>>0)ia=J;else ia=(J>>>0)%(A>>>0)|0;if((ia|0)!=(ca|0)){da=ca;M=76;break e}}J=f[ha+8>>2]|0;I=f[C>>2]|0;L=(f[G>>2]|0)-I|0;O=I;if((L|0)<=0){ea=t;break e}I=L>>>2;L=0;while(1){H=f[O+(L<<2)>>2]|0;if(!(b[H+84>>0]|0)){K=f[H+68>>2]|0;ja=f[K+(t<<2)>>2]|0;ka=f[K+(J<<2)>>2]|0}else{ja=t;ka=J}L=L+1|0;if((ka|0)!=(ja|0))break;if((L|0)>=(I|0)){ea=t;break e}}ha=f[ha>>2]|0;if(!ha){da=ca;M=76;break}}}else{da=ca;M=76}}else{da=0;M=76}while(0);if((M|0)==76){M=0;G=tn(16)|0;f[G+8>>2]=t;f[G+12>>2]=v;f[G+4>>2]=ba;f[G>>2]=0;la=$(((f[o>>2]|0)+1|0)>>>0);ma=$(A>>>0);na=$(n[l>>2]);do if(x|la>$(ma*na)){C=(A>>>0<3|(A+-1&A|0)!=0)&1|A<<1;B=~~$(W($(la/na)))>>>0;Eh(d,C>>>0<B>>>0?B:C);C=f[q>>2]|0;B=C+-1|0;if(!(B&C)){oa=C;pa=B&ba;break}if(ba>>>0<C>>>0){oa=C;pa=ba}else{oa=C;pa=(ba>>>0)%(C>>>0)|0}}else{oa=A;pa=da}while(0);C=(f[d>>2]|0)+(pa<<2)|0;B=f[C>>2]|0;if(!B){f[G>>2]=f[p>>2];f[p>>2]=G;f[C>>2]=p;C=f[G>>2]|0;if(C|0){I=f[C+4>>2]|0;C=oa+-1|0;if(C&oa)if(I>>>0<oa>>>0)qa=I;else qa=(I>>>0)%(oa>>>0)|0;else qa=I&C;ra=(f[d>>2]|0)+(qa<<2)|0;M=89}}else{f[G>>2]=f[B>>2];ra=B;M=89}if((M|0)==89){M=0;f[ra>>2]=G}f[o>>2]=(f[o>>2]|0)+1;ea=f[h>>2]|0}B=v+1|0;f[(f[e>>2]|0)+(ea<<2)>>2]=v;C=f[k>>2]|0;if((C|0)==(f[r>>2]|0)){Ti(g,h);_=B;break}else{f[C>>2]=f[h>>2];f[k>>2]=C+4;_=B;break}}while(0);t=(f[h>>2]|0)+1|0;f[h>>2]=t;sa=f[j>>2]|0;if(t>>>0>=sa>>>0)break;else v=_}if((_|0)!=(sa|0)){Sa[f[(f[a>>2]|0)+24>>2]&15](a,e,g);f[j>>2]=_}}_=f[g>>2]|0;if(_|0){g=f[k>>2]|0;if((g|0)!=(_|0))f[k>>2]=g+(~((g+-4-_|0)>>>2)<<2);pr(_)}_=f[e>>2]|0;if(_|0){e=f[i>>2]|0;if((e|0)!=(_|0))f[i>>2]=e+(~((e+-4-_|0)>>>2)<<2);pr(_)}_=f[d+8>>2]|0;if(_|0){e=_;do{_=e;e=f[e>>2]|0;pr(_)}while((e|0)!=0)}e=f[d>>2]|0;f[d>>2]=0;if(!e){u=c;return}pr(e);u=c;return}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,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;g=u;u=u+80|0;h=g+76|0;i=g+72|0;j=g+48|0;k=g+24|0;l=g;m=a+32|0;n=f[c>>2]|0;c=n+1|0;if((n|0)!=-1){o=((c>>>0)%3|0|0)==0?n+-2|0:c;c=(((n>>>0)%3|0|0)==0?2:-1)+n|0;if((o|0)==-1)p=-1;else p=f[(f[f[m>>2]>>2]|0)+(o<<2)>>2]|0;if((c|0)==-1){q=p;r=-1}else{q=p;r=f[(f[f[m>>2]>>2]|0)+(c<<2)>>2]|0}}else{q=-1;r=-1}c=f[a+36>>2]|0;m=f[c>>2]|0;p=(f[c+4>>2]|0)-m>>2;if(p>>>0<=q>>>0)Cq(c);o=m;m=f[o+(q<<2)>>2]|0;if(p>>>0<=r>>>0)Cq(c);c=f[o+(r<<2)>>2]|0;r=(m|0)<(e|0);do if(r&(c|0)<(e|0)){o=m<<1;p=f[d+(o<<2)>>2]|0;q=((p|0)<0)<<31>>31;n=f[d+((o|1)<<2)>>2]|0;o=((n|0)<0)<<31>>31;s=c<<1;t=f[d+(s<<2)>>2]|0;v=f[d+((s|1)<<2)>>2]|0;if(!((t|0)!=(p|0)|(v|0)!=(n|0))){f[a+8>>2]=p;f[a+12>>2]=n;u=g;return 1}s=a+4|0;w=f[(f[s>>2]|0)+(e<<2)>>2]|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;x=f[a>>2]|0;if(!(b[x+84>>0]|0))y=f[(f[x+68>>2]|0)+(w<<2)>>2]|0;else y=w;f[i>>2]=y;w=b[x+24>>0]|0;f[h>>2]=f[i>>2];qb(x,h,w,j)|0;w=f[(f[s>>2]|0)+(m<<2)>>2]|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;x=f[a>>2]|0;if(!(b[x+84>>0]|0))z=f[(f[x+68>>2]|0)+(w<<2)>>2]|0;else z=w;f[i>>2]=z;w=b[x+24>>0]|0;f[h>>2]=f[i>>2];qb(x,h,w,k)|0;w=f[(f[s>>2]|0)+(c<<2)>>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;s=f[a>>2]|0;if(!(b[s+84>>0]|0))A=f[(f[s+68>>2]|0)+(w<<2)>>2]|0;else A=w;f[i>>2]=A;w=b[s+24>>0]|0;f[h>>2]=f[i>>2];qb(s,h,w,l)|0;w=l;s=k;x=f[s>>2]|0;B=f[s+4>>2]|0;s=io(f[w>>2]|0,f[w+4>>2]|0,x|0,B|0)|0;w=I;C=l+8|0;D=k+8|0;E=f[D>>2]|0;F=f[D+4>>2]|0;D=io(f[C>>2]|0,f[C+4>>2]|0,E|0,F|0)|0;C=I;G=l+16|0;H=k+16|0;J=f[H>>2]|0;K=f[H+4>>2]|0;H=io(f[G>>2]|0,f[G+4>>2]|0,J|0,K|0)|0;G=I;L=En(s|0,w|0,s|0,w|0)|0;M=I;N=En(D|0,C|0,D|0,C|0)|0;O=go(N|0,I|0,L|0,M|0)|0;M=I;L=En(H|0,G|0,H|0,G|0)|0;N=go(O|0,M|0,L|0,I|0)|0;L=I;if((N|0)==0&(L|0)==0)break;M=j;O=io(f[M>>2]|0,f[M+4>>2]|0,x|0,B|0)|0;B=I;x=j+8|0;M=io(f[x>>2]|0,f[x+4>>2]|0,E|0,F|0)|0;F=I;E=j+16|0;x=io(f[E>>2]|0,f[E+4>>2]|0,J|0,K|0)|0;K=I;J=En(O|0,B|0,s|0,w|0)|0;E=I;P=En(M|0,F|0,D|0,C|0)|0;Q=go(P|0,I|0,J|0,E|0)|0;E=I;J=En(x|0,K|0,H|0,G|0)|0;P=go(Q|0,E|0,J|0,I|0)|0;J=I;E=io(t|0,((t|0)<0)<<31>>31|0,p|0,q|0)|0;t=I;Q=io(v|0,((v|0)<0)<<31>>31|0,n|0,o|0)|0;v=I;R=En(N|0,L|0,p|0,q|0)|0;q=I;p=En(N|0,L|0,n|0,o|0)|0;o=I;n=En(P|0,J|0,E|0,t|0)|0;S=I;T=En(P|0,J|0,Q|0,v|0)|0;U=I;V=go(n|0,S|0,R|0,q|0)|0;q=I;R=go(T|0,U|0,p|0,o|0)|0;o=I;p=En(P|0,J|0,s|0,w|0)|0;w=I;s=En(P|0,J|0,D|0,C|0)|0;C=I;D=En(P|0,J|0,H|0,G|0)|0;G=I;H=Jk(p|0,w|0,N|0,L|0)|0;w=I;p=Jk(s|0,C|0,N|0,L|0)|0;C=I;s=Jk(D|0,G|0,N|0,L|0)|0;G=I;D=io(O|0,B|0,H|0,w|0)|0;w=I;H=io(M|0,F|0,p|0,C|0)|0;C=I;p=io(x|0,K|0,s|0,G|0)|0;G=I;s=En(D|0,w|0,D|0,w|0)|0;w=I;D=En(H|0,C|0,H|0,C|0)|0;C=go(D|0,I|0,s|0,w|0)|0;w=I;s=En(p|0,G|0,p|0,G|0)|0;G=go(C|0,w|0,s|0,I|0)|0;s=I;w=io(0,0,E|0,t|0)|0;t=I;E=En(G|0,s|0,N|0,L|0)|0;s=I;switch(E|0){case 0:{if(!s){W=0;X=0}else{Y=1;Z=0;_=E;$=s;aa=23}break}case 1:{if(!s){ba=1;ca=0;aa=24}else{Y=1;Z=0;_=E;$=s;aa=23}break}default:{Y=1;Z=0;_=E;$=s;aa=23}}if((aa|0)==23)while(1){aa=0;G=eo(Y|0,Z|0,1)|0;C=I;p=_;_=jo(_|0,$|0,2)|0;if(!($>>>0>0|($|0)==0&p>>>0>7)){ba=G;ca=C;aa=24;break}else{Y=G;Z=C;$=I;aa=23}}if((aa|0)==24)while(1){aa=0;C=Ip(E|0,s|0,ba|0,ca|0)|0;G=go(C|0,I|0,ba|0,ca|0)|0;C=jo(G|0,I|0,1)|0;G=I;p=En(C|0,G|0,C|0,G|0)|0;D=I;if(D>>>0>s>>>0|(D|0)==(s|0)&p>>>0>E>>>0){ba=C;ca=G;aa=24}else{W=C;X=G;break}}E=En(W|0,X|0,Q|0,v|0)|0;s=I;G=En(W|0,X|0,w|0,t|0)|0;C=I;p=go(E|0,s|0,V|0,q|0)|0;D=I;H=go(G|0,C|0,R|0,o|0)|0;K=I;x=Jk(p|0,D|0,N|0,L|0)|0;D=I;p=Jk(H|0,K|0,N|0,L|0)|0;K=I;H=io(V|0,q|0,E|0,s|0)|0;s=I;E=io(R|0,o|0,G|0,C|0)|0;C=I;G=Jk(H|0,s|0,N|0,L|0)|0;s=I;H=Jk(E|0,C|0,N|0,L|0)|0;C=I;E=e<<1;F=f[d+(E<<2)>>2]|0;M=((F|0)<0)<<31>>31;B=f[d+((E|1)<<2)>>2]|0;E=((B|0)<0)<<31>>31;O=io(F|0,M|0,x|0,D|0)|0;J=I;P=io(B|0,E|0,p|0,K|0)|0;U=I;T=En(O|0,J|0,O|0,J|0)|0;J=I;O=En(P|0,U|0,P|0,U|0)|0;U=go(O|0,I|0,T|0,J|0)|0;J=I;T=io(F|0,M|0,G|0,s|0)|0;M=I;F=io(B|0,E|0,H|0,C|0)|0;E=I;B=En(T|0,M|0,T|0,M|0)|0;M=I;T=En(F|0,E|0,F|0,E|0)|0;E=go(T|0,I|0,B|0,M|0)|0;M=I;B=a+16|0;T=a+20|0;F=f[T>>2]|0;O=f[a+24>>2]|0;P=(F|0)==(O<<5|0);if(J>>>0<M>>>0|(J|0)==(M|0)&U>>>0<E>>>0){do if(P)if((F+1|0)<0)Cq(B);else{E=O<<6;U=F+32&-32;si(B,F>>>0<1073741823?(E>>>0<U>>>0?U:E):2147483647);da=f[T>>2]|0;break}else da=F;while(0);f[T>>2]=da+1;L=(f[B>>2]|0)+(da>>>5<<2)|0;f[L>>2]=f[L>>2]|1<<(da&31);ea=x;fa=p;ga=K;ha=D}else{do if(P)if((F+1|0)<0)Cq(B);else{L=O<<6;N=F+32&-32;si(B,F>>>0<1073741823?(L>>>0<N>>>0?N:L):2147483647);ia=f[T>>2]|0;break}else ia=F;while(0);f[T>>2]=ia+1;F=(f[B>>2]|0)+(ia>>>5<<2)|0;f[F>>2]=f[F>>2]&~(1<<(ia&31));ea=G;fa=H;ga=C;ha=s}f[a+8>>2]=ea;f[a+12>>2]=fa;u=g;return 1}while(0);do if(r)ja=m<<1;else{if((e|0)>0){ja=(e<<1)+-2|0;break}fa=a+8|0;f[fa>>2]=0;f[fa+4>>2]=0;u=g;return 1}while(0);f[a+8>>2]=f[d+(ja<<2)>>2];f[a+12>>2]=f[d+(ja+1<<2)>>2];u=g;return 1}function ob(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,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;g=u;u=u+80|0;h=g+76|0;i=g+72|0;j=g+48|0;k=g+24|0;l=g;m=a+32|0;n=f[c>>2]|0;c=n+1|0;do if((n|0)!=-1){o=((c>>>0)%3|0|0)==0?n+-2|0:c;if(!((n>>>0)%3|0)){p=o;q=n+2|0;break}else{p=o;q=n+-1|0;break}}else{p=-1;q=-1}while(0);n=f[(f[m>>2]|0)+28>>2]|0;m=f[n+(p<<2)>>2]|0;p=f[n+(q<<2)>>2]|0;q=f[a+36>>2]|0;n=f[q>>2]|0;c=(f[q+4>>2]|0)-n>>2;if(c>>>0<=m>>>0)Cq(q);o=n;n=f[o+(m<<2)>>2]|0;if(c>>>0<=p>>>0)Cq(q);q=f[o+(p<<2)>>2]|0;p=(n|0)<(e|0);do if(p&(q|0)<(e|0)){o=n<<1;c=f[d+(o<<2)>>2]|0;m=((c|0)<0)<<31>>31;r=f[d+((o|1)<<2)>>2]|0;o=((r|0)<0)<<31>>31;s=q<<1;t=f[d+(s<<2)>>2]|0;v=f[d+((s|1)<<2)>>2]|0;if(!((t|0)!=(c|0)|(v|0)!=(r|0))){f[a+8>>2]=c;f[a+12>>2]=r;u=g;return 1}s=a+4|0;w=f[(f[s>>2]|0)+(e<<2)>>2]|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;x=f[a>>2]|0;if(!(b[x+84>>0]|0))y=f[(f[x+68>>2]|0)+(w<<2)>>2]|0;else y=w;f[i>>2]=y;w=b[x+24>>0]|0;f[h>>2]=f[i>>2];qb(x,h,w,j)|0;w=f[(f[s>>2]|0)+(n<<2)>>2]|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;x=f[a>>2]|0;if(!(b[x+84>>0]|0))z=f[(f[x+68>>2]|0)+(w<<2)>>2]|0;else z=w;f[i>>2]=z;w=b[x+24>>0]|0;f[h>>2]=f[i>>2];qb(x,h,w,k)|0;w=f[(f[s>>2]|0)+(q<<2)>>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;s=f[a>>2]|0;if(!(b[s+84>>0]|0))A=f[(f[s+68>>2]|0)+(w<<2)>>2]|0;else A=w;f[i>>2]=A;w=b[s+24>>0]|0;f[h>>2]=f[i>>2];qb(s,h,w,l)|0;w=l;s=k;x=f[s>>2]|0;B=f[s+4>>2]|0;s=io(f[w>>2]|0,f[w+4>>2]|0,x|0,B|0)|0;w=I;C=l+8|0;D=k+8|0;E=f[D>>2]|0;F=f[D+4>>2]|0;D=io(f[C>>2]|0,f[C+4>>2]|0,E|0,F|0)|0;C=I;G=l+16|0;H=k+16|0;J=f[H>>2]|0;K=f[H+4>>2]|0;H=io(f[G>>2]|0,f[G+4>>2]|0,J|0,K|0)|0;G=I;L=En(s|0,w|0,s|0,w|0)|0;M=I;N=En(D|0,C|0,D|0,C|0)|0;O=go(N|0,I|0,L|0,M|0)|0;M=I;L=En(H|0,G|0,H|0,G|0)|0;N=go(O|0,M|0,L|0,I|0)|0;L=I;if((N|0)==0&(L|0)==0)break;M=j;O=io(f[M>>2]|0,f[M+4>>2]|0,x|0,B|0)|0;B=I;x=j+8|0;M=io(f[x>>2]|0,f[x+4>>2]|0,E|0,F|0)|0;F=I;E=j+16|0;x=io(f[E>>2]|0,f[E+4>>2]|0,J|0,K|0)|0;K=I;J=En(O|0,B|0,s|0,w|0)|0;E=I;P=En(M|0,F|0,D|0,C|0)|0;Q=go(P|0,I|0,J|0,E|0)|0;E=I;J=En(x|0,K|0,H|0,G|0)|0;P=go(Q|0,E|0,J|0,I|0)|0;J=I;E=io(t|0,((t|0)<0)<<31>>31|0,c|0,m|0)|0;t=I;Q=io(v|0,((v|0)<0)<<31>>31|0,r|0,o|0)|0;v=I;R=En(N|0,L|0,c|0,m|0)|0;m=I;c=En(N|0,L|0,r|0,o|0)|0;o=I;r=En(P|0,J|0,E|0,t|0)|0;S=I;T=En(P|0,J|0,Q|0,v|0)|0;U=I;V=go(r|0,S|0,R|0,m|0)|0;m=I;R=go(T|0,U|0,c|0,o|0)|0;o=I;c=En(P|0,J|0,s|0,w|0)|0;w=I;s=En(P|0,J|0,D|0,C|0)|0;C=I;D=En(P|0,J|0,H|0,G|0)|0;G=I;H=Jk(c|0,w|0,N|0,L|0)|0;w=I;c=Jk(s|0,C|0,N|0,L|0)|0;C=I;s=Jk(D|0,G|0,N|0,L|0)|0;G=I;D=io(O|0,B|0,H|0,w|0)|0;w=I;H=io(M|0,F|0,c|0,C|0)|0;C=I;c=io(x|0,K|0,s|0,G|0)|0;G=I;s=En(D|0,w|0,D|0,w|0)|0;w=I;D=En(H|0,C|0,H|0,C|0)|0;C=go(D|0,I|0,s|0,w|0)|0;w=I;s=En(c|0,G|0,c|0,G|0)|0;G=go(C|0,w|0,s|0,I|0)|0;s=I;w=io(0,0,E|0,t|0)|0;t=I;E=En(G|0,s|0,N|0,L|0)|0;s=I;switch(E|0){case 0:{if(!s){W=0;X=0}else{Y=1;Z=0;_=E;$=s;aa=22}break}case 1:{if(!s){ba=1;ca=0;aa=23}else{Y=1;Z=0;_=E;$=s;aa=22}break}default:{Y=1;Z=0;_=E;$=s;aa=22}}if((aa|0)==22)while(1){aa=0;G=eo(Y|0,Z|0,1)|0;C=I;c=_;_=jo(_|0,$|0,2)|0;if(!($>>>0>0|($|0)==0&c>>>0>7)){ba=G;ca=C;aa=23;break}else{Y=G;Z=C;$=I;aa=22}}if((aa|0)==23)while(1){aa=0;C=Ip(E|0,s|0,ba|0,ca|0)|0;G=go(C|0,I|0,ba|0,ca|0)|0;C=jo(G|0,I|0,1)|0;G=I;c=En(C|0,G|0,C|0,G|0)|0;D=I;if(D>>>0>s>>>0|(D|0)==(s|0)&c>>>0>E>>>0){ba=C;ca=G;aa=23}else{W=C;X=G;break}}E=En(W|0,X|0,Q|0,v|0)|0;s=I;G=En(W|0,X|0,w|0,t|0)|0;C=I;c=go(E|0,s|0,V|0,m|0)|0;D=I;H=go(G|0,C|0,R|0,o|0)|0;K=I;x=Jk(c|0,D|0,N|0,L|0)|0;D=I;c=Jk(H|0,K|0,N|0,L|0)|0;K=I;H=io(V|0,m|0,E|0,s|0)|0;s=I;E=io(R|0,o|0,G|0,C|0)|0;C=I;G=Jk(H|0,s|0,N|0,L|0)|0;s=I;H=Jk(E|0,C|0,N|0,L|0)|0;C=I;E=e<<1;F=f[d+(E<<2)>>2]|0;M=((F|0)<0)<<31>>31;B=f[d+((E|1)<<2)>>2]|0;E=((B|0)<0)<<31>>31;O=io(F|0,M|0,x|0,D|0)|0;J=I;P=io(B|0,E|0,c|0,K|0)|0;U=I;T=En(O|0,J|0,O|0,J|0)|0;J=I;O=En(P|0,U|0,P|0,U|0)|0;U=go(O|0,I|0,T|0,J|0)|0;J=I;T=io(F|0,M|0,G|0,s|0)|0;M=I;F=io(B|0,E|0,H|0,C|0)|0;E=I;B=En(T|0,M|0,T|0,M|0)|0;M=I;T=En(F|0,E|0,F|0,E|0)|0;E=go(T|0,I|0,B|0,M|0)|0;M=I;B=a+16|0;T=a+20|0;F=f[T>>2]|0;O=f[a+24>>2]|0;P=(F|0)==(O<<5|0);if(J>>>0<M>>>0|(J|0)==(M|0)&U>>>0<E>>>0){do if(P)if((F+1|0)<0)Cq(B);else{E=O<<6;U=F+32&-32;si(B,F>>>0<1073741823?(E>>>0<U>>>0?U:E):2147483647);da=f[T>>2]|0;break}else da=F;while(0);f[T>>2]=da+1;L=(f[B>>2]|0)+(da>>>5<<2)|0;f[L>>2]=f[L>>2]|1<<(da&31);ea=x;fa=c;ga=K;ha=D}else{do if(P)if((F+1|0)<0)Cq(B);else{L=O<<6;N=F+32&-32;si(B,F>>>0<1073741823?(L>>>0<N>>>0?N:L):2147483647);ia=f[T>>2]|0;break}else ia=F;while(0);f[T>>2]=ia+1;F=(f[B>>2]|0)+(ia>>>5<<2)|0;f[F>>2]=f[F>>2]&~(1<<(ia&31));ea=G;fa=H;ga=C;ha=s}f[a+8>>2]=ea;f[a+12>>2]=fa;u=g;return 1}while(0);do if(p)ja=n<<1;else{if((e|0)>0){ja=(e<<1)+-2|0;break}fa=a+8|0;f[fa>>2]=0;f[fa+4>>2]=0;u=g;return 1}while(0);f[a+8>>2]=f[d+(ja<<2)>>2];f[a+12>>2]=f[d+(ja+1<<2)>>2];u=g;return 1}function pb(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,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;c=u;u=u+32|0;d=c+16|0;e=c+4|0;g=c;f[a+36>>2]=b;h=a+24|0;i=a+28|0;j=f[i>>2]|0;k=f[h>>2]|0;l=j-k>>2;m=k;k=j;if(l>>>0>=b>>>0){if(l>>>0>b>>>0?(j=m+(b<<2)|0,(k|0)!=(j|0)):0)f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2)}else zh(h,b-l|0,6296);f[d>>2]=0;l=d+4|0;f[l>>2]=0;j=d+8|0;f[j>>2]=0;if(b){if((b|0)<0)Cq(d);k=((b+-1|0)>>>5)+1|0;m=tn(k<<2)|0;f[d>>2]=m;f[j>>2]=k;f[l>>2]=b;k=b>>>5;pj(m|0,0,k<<2|0)|0;n=b-(k<<5)|0;o=m+(k<<2)|0;k=m;if(!n){p=b;q=k;r=m}else{f[o>>2]=f[o>>2]&~(-1>>>(32-n|0));p=b;q=k;r=m}}else{p=0;q=0;r=0}m=a+4|0;k=f[a>>2]|0;n=(f[m>>2]|0)-k|0;o=n>>2;f[e>>2]=0;s=e+4|0;f[s>>2]=0;t=e+8|0;f[t>>2]=0;do if(o){if((n|0)<0)Cq(e);v=((o+-1|0)>>>5)+1|0;w=tn(v<<2)|0;f[e>>2]=w;f[t>>2]=v;f[s>>2]=o;v=o>>>5;pj(w|0,0,v<<2|0)|0;x=o-(v<<5)|0;y=w+(v<<2)|0;if(x|0)f[y>>2]=f[y>>2]&~(-1>>>(32-x|0));if(o>>>0>2){x=a+12|0;y=a+32|0;v=a+52|0;w=a+56|0;z=a+48|0;A=k;B=q;C=r;D=0;E=b;a:while(1){F=A;G=D*3|0;if((G|0)!=-1){H=f[F+(G<<2)>>2]|0;I=G+1|0;J=((I>>>0)%3|0|0)==0?G+-2|0:I;if((J|0)==-1)K=-1;else K=f[F+(J<<2)>>2]|0;J=(((G>>>0)%3|0|0)==0?2:-1)+G|0;if((J|0)==-1)L=-1;else L=f[F+(J<<2)>>2]|0;if((H|0)!=(K|0)?!((H|0)==(L|0)|(K|0)==(L|0)):0){H=C;J=B;F=0;I=E;while(1){M=F+G|0;if(!(f[(f[e>>2]|0)+(M>>>5<<2)>>2]&1<<(M&31))){N=f[(f[a>>2]|0)+(M<<2)>>2]|0;f[g>>2]=N;if(!(f[H+(N>>>5<<2)>>2]&1<<(N&31))){O=N;P=0;Q=I}else{N=f[i>>2]|0;if((N|0)==(f[y>>2]|0))Ti(h,6296);else{f[N>>2]=-1;f[i>>2]=N+4}N=f[v>>2]|0;if((N|0)==(f[w>>2]|0))Ti(z,g);else{f[N>>2]=f[g>>2];f[v>>2]=N+4}N=f[l>>2]|0;R=f[j>>2]|0;if((N|0)==(R<<5|0)){if((N+1|0)<0){S=52;break a}T=R<<6;R=N+32&-32;si(d,N>>>0<1073741823?(T>>>0<R>>>0?R:T):2147483647);U=f[l>>2]|0}else U=N;f[l>>2]=U+1;N=(f[d>>2]|0)+(U>>>5<<2)|0;f[N>>2]=f[N>>2]&~(1<<(U&31));f[g>>2]=I;O=I;P=1;Q=I+1|0}N=f[d>>2]|0;T=N+(O>>>5<<2)|0;f[T>>2]=f[T>>2]|1<<(O&31);T=N;b:do if(P){R=M;while(1){if((R|0)==-1){S=66;break b}V=(f[e>>2]|0)+(R>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(R&31);V=f[g>>2]|0;f[(f[h>>2]|0)+(V<<2)>>2]=R;f[(f[a>>2]|0)+(R<<2)>>2]=V;V=R+1|0;W=((V>>>0)%3|0|0)==0?R+-2|0:V;do if((W|0)==-1)X=-1;else{V=f[(f[x>>2]|0)+(W<<2)>>2]|0;Y=V+1|0;if((V|0)==-1){X=-1;break}X=((Y>>>0)%3|0|0)==0?V+-2|0:Y}while(0);if((X|0)==(M|0))break;else R=X}}else{R=M;while(1){if((R|0)==-1){S=66;break b}W=(f[e>>2]|0)+(R>>>5<<2)|0;f[W>>2]=f[W>>2]|1<<(R&31);f[(f[h>>2]|0)+(f[g>>2]<<2)>>2]=R;W=R+1|0;Y=((W>>>0)%3|0|0)==0?R+-2|0:W;do if((Y|0)==-1)Z=-1;else{W=f[(f[x>>2]|0)+(Y<<2)>>2]|0;V=W+1|0;if((W|0)==-1){Z=-1;break}Z=((V>>>0)%3|0|0)==0?W+-2|0:V}while(0);if((Z|0)==(M|0))break;else R=Z}}while(0);c:do if((S|0)==66){S=0;if((M|0)==-1)break;R=(((M>>>0)%3|0|0)==0?2:-1)+M|0;if((R|0)==-1)break;Y=f[(f[x>>2]|0)+(R<<2)>>2]|0;if((Y|0)==-1)break;R=Y+(((Y>>>0)%3|0|0)==0?2:-1)|0;if((R|0)==-1)break;if(!P){Y=R;while(1){V=(f[e>>2]|0)+(Y>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(Y&31);V=(((Y>>>0)%3|0|0)==0?2:-1)+Y|0;if((V|0)==-1)break c;W=f[(f[x>>2]|0)+(V<<2)>>2]|0;if((W|0)==-1)break c;Y=W+(((W>>>0)%3|0|0)==0?2:-1)|0;if((Y|0)==-1)break c}}Y=f[a>>2]|0;W=R;do{V=(f[e>>2]|0)+(W>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(W&31);f[Y+(W<<2)>>2]=f[g>>2];V=(((W>>>0)%3|0|0)==0?2:-1)+W|0;if((V|0)==-1)break c;_=f[(f[x>>2]|0)+(V<<2)>>2]|0;if((_|0)==-1)break c;W=_+(((_>>>0)%3|0|0)==0?2:-1)|0}while((W|0)!=-1)}while(0);$=T;aa=N;ba=Q}else{$=J;aa=H;ba=I}F=F+1|0;if((F|0)>=3){ca=$;da=aa;ea=ba;break}else{H=aa;J=$;I=ba}}}else{ca=B;da=C;ea=E}}else{ca=B;da=C;ea=E}D=D+1|0;A=f[a>>2]|0;if(D>>>0>=(((f[m>>2]|0)-A>>2>>>0)/3|0)>>>0){S=18;break}else{B=ca;C=da;E=ea}}if((S|0)==18){fa=ca;ga=f[l>>2]|0;break}else if((S|0)==52)Cq(d)}else{fa=q;ga=p}}else{fa=q;ga=p}while(0);p=a+44|0;f[p>>2]=0;a=fa;fa=ga>>>5;q=a+(fa<<2)|0;S=ga&31;ga=(fa|0)!=0;d:do if(fa|S|0){if(!S){l=a;ca=0;ea=ga;while(1){e:do if(ea){da=ca;m=0;while(1){if(!(f[l>>2]&1<<m)){ba=da+1|0;f[p>>2]=ba;ha=ba}else ha=da;if((m|0)==31){ia=ha;break}else{da=ha;m=m+1|0}}}else{m=ca;da=0;while(1){if(!(f[l>>2]&1<<da)){N=m+1|0;f[p>>2]=N;ja=N}else ja=m;if((da|0)==31){ia=ja;break e}da=da+1|0;if(!da)break d;else m=ja}}while(0);l=l+4|0;if((l|0)==(q|0))break d;else{ca=ia;ea=1}}}if(ga){ea=a;ca=0;l=0;while(1){m=l;da=ca;N=0;while(1){if(!(f[ea>>2]&1<<N)){T=m+1|0;f[p>>2]=T;ka=T;la=T}else{ka=da;la=m}if((N|0)==31)break;else{m=la;da=ka;N=N+1|0}}N=ea+4|0;if((N|0)==(q|0)){ma=N;na=ka;break}else{ea=N;ca=ka;l=la}}}else{ma=a;na=0}l=na;ca=0;while(1){if(!(f[ma>>2]&1<<ca)){ea=l+1|0;f[p>>2]=ea;oa=ea}else oa=l;ca=ca+1|0;if((ca|0)==(S|0))break;else l=oa}}while(0);oa=f[e>>2]|0;if(oa|0)pr(oa);oa=f[d>>2]|0;if(!oa){u=c;return 1}pr(oa);u=c;return 1}function qb(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=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=Ja,D=0,E=0.0,F=0,G=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=go(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;q=m+r|0;while(1){r=b[q>>0]|0;m=g+(o<<3)|0;f[m>>2]=r;f[m+4>>2]=((r|0)<0)<<31>>31;o=o+1|0;r=b[k>>0]|0;if((o|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){s=r;break}else q=q+1|0}}else s=l;q=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(q<<3)|0,0,(e<<24>>24)-q<<3|0)|0;i=1;return i|0}case 2:{q=a+24|0;o=b[q>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){k=f[f[a>>2]>>2]|0;r=a+40|0;m=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;t=go(m|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;m=k+t|0;while(1){t=g+(r<<3)|0;f[t>>2]=h[m>>0];f[t+4>>2]=0;r=r+1|0;t=b[q>>0]|0;if((r|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){u=t;break}else m=m+1|0}}else u=o;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(m<<3)|0,0,(e<<24>>24)-m<<3|0)|0;i=1;return i|0}case 3:{m=a+24|0;r=b[m>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){q=f[f[a>>2]>>2]|0;l=a+40|0;t=En(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;k=go(t|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;t=q+k|0;while(1){k=d[t>>1]|0;q=g+(l<<3)|0;f[q>>2]=k;f[q+4>>2]=((k|0)<0)<<31>>31;l=l+1|0;k=b[m>>0]|0;if((l|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){v=k;break}else t=t+2|0}}else v=r;t=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(t<<3)|0,0,(e<<24>>24)-t<<3|0)|0;i=1;return i|0}case 4:{t=a+24|0;l=b[t>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;k=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;q=go(k|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;k=m+q|0;while(1){q=g+(o<<3)|0;f[q>>2]=j[k>>1];f[q+4>>2]=0;o=o+1|0;q=b[t>>0]|0;if((o|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){w=q;break}else k=k+2|0}}else w=l;k=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(k<<3)|0,0,(e<<24>>24)-k<<3|0)|0;i=1;return i|0}case 5:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){t=f[f[a>>2]>>2]|0;r=a+40|0;q=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;m=go(q|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;q=t+m|0;while(1){m=f[q>>2]|0;t=g+(r<<3)|0;f[t>>2]=m;f[t+4>>2]=((m|0)<0)<<31>>31;r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){x=m;break}else q=q+4|0}}else x=o;q=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(q<<3)|0,0,(e<<24>>24)-q<<3|0)|0;i=1;return i|0}case 6:{q=a+24|0;r=b[q>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;m=En(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;t=go(m|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;m=k+t|0;while(1){t=g+(l<<3)|0;f[t>>2]=f[m>>2];f[t+4>>2]=0;l=l+1|0;t=b[q>>0]|0;if((l|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){y=t;break}else m=m+4|0}}else y=r;m=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(m<<3)|0,0,(e<<24>>24)-m<<3|0)|0;i=1;return i|0}case 7:{m=a+24|0;l=b[m>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;t=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;k=go(t|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;t=q+k|0;while(1){k=t;q=f[k+4>>2]|0;z=g+(o<<3)|0;f[z>>2]=f[k>>2];f[z+4>>2]=q;o=o+1|0;q=b[m>>0]|0;if((o|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else t=t+8|0}}else A=l;t=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(t<<3)|0,0,(e<<24>>24)-t<<3|0)|0;i=1;return i|0}case 8:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;q=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;z=go(q|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;q=m+z|0;while(1){z=q;m=f[z+4>>2]|0;k=g+(r<<3)|0;f[k>>2]=f[z>>2];f[k+4>>2]=m;r=r+1|0;m=b[t>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){B=m;break}else q=q+8|0}}else B=o;q=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(q<<3)|0,0,(e<<24>>24)-q<<3|0)|0;i=1;return i|0}case 9:{q=a+24|0;r=b[q>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){t=f[f[a>>2]>>2]|0;l=a+40|0;m=En(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;k=go(m|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;m=t+k|0;while(1){C=$(n[m>>2]);k=+K(+C)>=1.0?(+C>0.0?~~+Y(+J(+C/4294967296.0),4294967295.0)>>>0:~~+W((+C-+(~~+C>>>0))/4294967296.0)>>>0):0;t=g+(l<<3)|0;f[t>>2]=~~+C>>>0;f[t+4>>2]=k;l=l+1|0;k=b[q>>0]|0;if((l|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){D=k;break}else m=m+4|0}}else D=r;m=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(m<<3)|0,0,(e<<24>>24)-m<<3|0)|0;i=1;return i|0}case 10:{m=a+24|0;l=b[m>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;k=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;t=go(k|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;k=q+t|0;while(1){E=+p[k>>3];t=+K(E)>=1.0?(E>0.0?~~+Y(+J(E/4294967296.0),4294967295.0)>>>0:~~+W((E-+(~~E>>>0))/4294967296.0)>>>0):0;q=g+(o<<3)|0;f[q>>2]=~~E>>>0;f[q+4>>2]=t;o=o+1|0;t=b[m>>0]|0;if((o|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){F=t;break}else k=k+8|0}}else F=l;k=F<<24>>24;if(F<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(k<<3)|0,0,(e<<24>>24)-k<<3|0)|0;i=1;return i|0}case 11:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;t=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;q=go(t|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;t=m+q|0;while(1){q=g+(r<<3)|0;f[q>>2]=h[t>>0];f[q+4>>2]=0;r=r+1|0;q=b[k>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){G=q;break}else t=t+1|0}}else G=o;t=G<<24>>24;if(G<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(t<<3)|0,0,(e<<24>>24)-t<<3|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function rb(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;c=u;u=u+16|0;d=c+8|0;e=c;if((f[a+96>>2]|0)==(f[a+92>>2]|0)){u=c;return 1}g=a+56|0;h=f[g>>2]|0;if((h|0)==(f[a+60>>2]|0)){Ti(a+52|0,b);i=b}else{f[h>>2]=f[b>>2];f[g>>2]=h+4;i=b}b=a+88|0;f[b>>2]=0;h=f[a>>2]|0;g=f[i>>2]|0;j=g+1|0;if((g|0)!=-1){k=((j>>>0)%3|0|0)==0?g+-2|0:j;if((k|0)==-1)l=-1;else l=f[(f[h>>2]|0)+(k<<2)>>2]|0;k=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((k|0)==-1){m=-1;n=l}else{m=f[(f[h>>2]|0)+(k<<2)>>2]|0;n=l}}else{m=-1;n=-1}l=a+24|0;k=f[l>>2]|0;h=k+(n>>>5<<2)|0;g=1<<(n&31);j=f[h>>2]|0;if(!(j&g)){f[h>>2]=j|g;g=f[i>>2]|0;j=g+1|0;if((g|0)==-1)o=-1;else o=((j>>>0)%3|0|0)==0?g+-2|0:j;f[e>>2]=o;j=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((o>>>0)/3|0)*12|0)+(((o>>>0)%3|0)<<2)>>2]|0;o=f[a+48>>2]|0;f[d>>2]=j;g=f[o+4>>2]|0;o=g+4|0;h=f[o>>2]|0;if((h|0)==(f[g+8>>2]|0))Ti(g,d);else{f[h>>2]=j;f[o>>2]=h+4}h=a+40|0;o=f[h>>2]|0;j=o+4|0;g=f[j>>2]|0;if((g|0)==(f[o+8>>2]|0)){Ti(o,e);p=f[h>>2]|0}else{f[g>>2]=f[e>>2];f[j>>2]=g+4;p=o}o=p+24|0;f[(f[p+12>>2]|0)+(n<<2)>>2]=f[o>>2];f[o>>2]=(f[o>>2]|0)+1;q=f[l>>2]|0}else q=k;k=q+(m>>>5<<2)|0;q=1<<(m&31);o=f[k>>2]|0;if(!(o&q)){f[k>>2]=o|q;q=f[i>>2]|0;do if((q|0)!=-1)if(!((q>>>0)%3|0)){r=q+2|0;break}else{r=q+-1|0;break}else r=-1;while(0);f[e>>2]=r;q=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((r>>>0)/3|0)*12|0)+(((r>>>0)%3|0)<<2)>>2]|0;r=f[a+48>>2]|0;f[d>>2]=q;o=f[r+4>>2]|0;r=o+4|0;k=f[r>>2]|0;if((k|0)==(f[o+8>>2]|0))Ti(o,d);else{f[k>>2]=q;f[r>>2]=k+4}k=a+40|0;r=f[k>>2]|0;q=r+4|0;o=f[q>>2]|0;if((o|0)==(f[r+8>>2]|0)){Ti(r,e);s=f[k>>2]|0}else{f[o>>2]=f[e>>2];f[q>>2]=o+4;s=r}r=s+24|0;f[(f[s+12>>2]|0)+(m<<2)>>2]=f[r>>2];f[r>>2]=(f[r>>2]|0)+1}r=f[i>>2]|0;if((r|0)==-1)t=-1;else t=f[(f[f[a>>2]>>2]|0)+(r<<2)>>2]|0;r=(f[l>>2]|0)+(t>>>5<<2)|0;m=1<<(t&31);s=f[r>>2]|0;if(!(m&s)){f[r>>2]=s|m;m=f[i>>2]|0;f[e>>2]=m;s=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((m>>>0)/3|0)*12|0)+(((m>>>0)%3|0)<<2)>>2]|0;m=f[a+48>>2]|0;f[d>>2]=s;r=f[m+4>>2]|0;m=r+4|0;o=f[m>>2]|0;if((o|0)==(f[r+8>>2]|0))Ti(r,d);else{f[o>>2]=s;f[m>>2]=o+4}o=a+40|0;m=f[o>>2]|0;s=m+4|0;r=f[s>>2]|0;if((r|0)==(f[m+8>>2]|0)){Ti(m,e);v=f[o>>2]|0}else{f[r>>2]=f[e>>2];f[s>>2]=r+4;v=m}m=v+24|0;f[(f[v+12>>2]|0)+(t<<2)>>2]=f[m>>2];f[m>>2]=(f[m>>2]|0)+1}m=f[b>>2]|0;a:do if((m|0)<3){t=a+12|0;v=a+44|0;r=a+48|0;s=a+40|0;o=a+92|0;q=m;while(1){k=q;while(1){w=a+52+(k*12|0)+4|0;x=f[w>>2]|0;if((f[a+52+(k*12|0)>>2]|0)!=(x|0))break;n=k+1|0;if((n|0)<3)k=n;else break a}n=x+-4|0;p=f[n>>2]|0;f[w>>2]=n;f[b>>2]=k;f[i>>2]=p;if((p|0)==-1)break;n=(p>>>0)/3|0;g=f[t>>2]|0;do if(!(f[g+(n>>>5<<2)>>2]&1<<(n&31))){j=p;h=g;b:while(1){y=(j>>>0)/3|0;z=h+(y>>>5<<2)|0;f[z>>2]=1<<(y&31)|f[z>>2];z=f[i>>2]|0;if((z|0)==-1)A=-1;else A=f[(f[f[a>>2]>>2]|0)+(z<<2)>>2]|0;y=(f[l>>2]|0)+(A>>>5<<2)|0;B=1<<(A&31);C=f[y>>2]|0;if(!(B&C)){f[y>>2]=C|B;B=f[i>>2]|0;f[e>>2]=B;C=f[(f[(f[v>>2]|0)+96>>2]|0)+(((B>>>0)/3|0)*12|0)+(((B>>>0)%3|0)<<2)>>2]|0;B=f[r>>2]|0;f[d>>2]=C;y=f[B+4>>2]|0;B=y+4|0;D=f[B>>2]|0;if((D|0)==(f[y+8>>2]|0))Ti(y,d);else{f[D>>2]=C;f[B>>2]=D+4}D=f[s>>2]|0;B=D+4|0;C=f[B>>2]|0;if((C|0)==(f[D+8>>2]|0)){Ti(D,e);E=f[s>>2]|0}else{f[C>>2]=f[e>>2];f[B>>2]=C+4;E=D}D=E+24|0;f[(f[E+12>>2]|0)+(A<<2)>>2]=f[D>>2];f[D>>2]=(f[D>>2]|0)+1;F=f[i>>2]|0}else F=z;z=f[a>>2]|0;if((F|0)==-1){G=93;break}D=F+1|0;C=((D>>>0)%3|0|0)==0?F+-2|0:D;if((C|0)==-1)H=-1;else H=f[(f[z+12>>2]|0)+(C<<2)>>2]|0;C=(((F>>>0)%3|0|0)==0?2:-1)+F|0;if((C|0)==-1)I=-1;else I=f[(f[z+12>>2]|0)+(C<<2)>>2]|0;C=(H|0)==-1;D=C?-1:(H>>>0)/3|0;B=(I|0)==-1;y=B?-1:(I>>>0)/3|0;if(C)J=1;else J=(f[(f[t>>2]|0)+(D>>>5<<2)>>2]&1<<(D&31)|0)!=0;do if(B)if(J){G=93;break b}else G=82;else{if(f[(f[t>>2]|0)+(y>>>5<<2)>>2]&1<<(y&31)|0)if(J){G=93;break b}else{G=82;break}D=f[(f[z>>2]|0)+(I<<2)>>2]|0;if(!(1<<(D&31)&f[(f[l>>2]|0)+(D>>>5<<2)>>2])){K=(f[o>>2]|0)+(D<<2)|0;D=f[K>>2]|0;f[K>>2]=D+1;L=(D|0)>0?1:2}else L=0;if(J?(L|0)<=(f[b>>2]|0):0){M=I;break}f[d>>2]=I;D=a+52+(L*12|0)+4|0;K=f[D>>2]|0;if((K|0)==(f[a+52+(L*12|0)+8>>2]|0))Ti(a+52+(L*12|0)|0,d);else{f[K>>2]=I;f[D>>2]=K+4}if((f[b>>2]|0)>(L|0))f[b>>2]=L;if(J){G=93;break b}else G=82}while(0);if((G|0)==82){G=0;if(C)N=-1;else N=f[(f[f[a>>2]>>2]|0)+(H<<2)>>2]|0;if(!(1<<(N&31)&f[(f[l>>2]|0)+(N>>>5<<2)>>2])){z=(f[o>>2]|0)+(N<<2)|0;y=f[z>>2]|0;f[z>>2]=y+1;O=(y|0)>0?1:2}else O=0;if((O|0)>(f[b>>2]|0))break;else M=H}f[i>>2]=M;j=M;h=f[t>>2]|0}if((G|0)==93){G=0;P=f[b>>2]|0;break}f[d>>2]=H;h=a+52+(O*12|0)+4|0;j=f[h>>2]|0;if((j|0)==(f[a+52+(O*12|0)+8>>2]|0))Ti(a+52+(O*12|0)|0,d);else{f[j>>2]=H;f[h>>2]=j+4}j=f[b>>2]|0;if((j|0)>(O|0)){f[b>>2]=O;Q=O}else Q=j;P=Q}else P=k;while(0);if((P|0)<3)q=P;else break a}u=c;return 1}while(0);f[i>>2]=-1;u=c;return 1}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,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=go(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;q=m+r|0;while(1){f[g+(o<<2)>>2]=b[q>>0];o=o+1|0;r=b[k>>0]|0;if((o|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){s=r;break}else q=q+1|0}}else s=l;q=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 2:{q=a+24|0;o=b[q>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){k=f[f[a>>2]>>2]|0;r=a+40|0;m=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;t=go(m|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;m=k+t|0;while(1){f[g+(r<<2)>>2]=h[m>>0];r=r+1|0;t=b[q>>0]|0;if((r|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){u=t;break}else m=m+1|0}}else u=o;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 3:{m=a+24|0;r=b[m>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){q=f[f[a>>2]>>2]|0;l=a+40|0;t=En(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;k=go(t|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;t=q+k|0;while(1){f[g+(l<<2)>>2]=d[t>>1];l=l+1|0;k=b[m>>0]|0;if((l|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){v=k;break}else t=t+2|0}}else v=r;t=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 4:{t=a+24|0;l=b[t>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;k=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;q=go(k|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;k=m+q|0;while(1){f[g+(o<<2)>>2]=j[k>>1];o=o+1|0;q=b[t>>0]|0;if((o|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){w=q;break}else k=k+2|0}}else w=l;k=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 5:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){t=f[f[a>>2]>>2]|0;r=a+40|0;q=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;m=go(q|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;q=t+m|0;while(1){f[g+(r<<2)>>2]=f[q>>2];r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){x=m;break}else q=q+4|0}}else x=o;q=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 6:{q=a+24|0;r=b[q>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;m=En(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;t=go(m|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;m=k+t|0;while(1){f[g+(l<<2)>>2]=f[m>>2];l=l+1|0;t=b[q>>0]|0;if((l|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){y=t;break}else m=m+4|0}}else y=r;m=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 7:{m=a+24|0;l=b[m>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;t=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;k=go(t|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;t=q+k|0;while(1){f[g+(o<<2)>>2]=f[t>>2];o=o+1|0;k=b[m>>0]|0;if((o|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){z=k;break}else t=t+8|0}}else z=l;t=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 8:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;k=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;q=go(k|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;k=m+q|0;while(1){f[g+(r<<2)>>2]=f[k>>2];r=r+1|0;q=b[t>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else k=k+8|0}}else A=o;k=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 9:{k=a+24|0;r=b[k>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){t=f[f[a>>2]>>2]|0;l=a+40|0;q=En(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;m=go(q|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;q=t+m|0;while(1){m=~~$(n[q>>2])>>>0;f[g+(l<<2)>>2]=m;l=l+1|0;m=b[k>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){B=m;break}else q=q+4|0}}else B=r;q=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 10:{q=a+24|0;l=b[q>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;m=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;t=go(m|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;m=k+t|0;while(1){f[g+(o<<2)>>2]=~~+p[m>>3]>>>0;o=o+1|0;t=b[q>>0]|0;if((o|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){C=t;break}else m=m+8|0}}else C=l;m=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 11:{m=a+24|0;o=b[m>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){q=f[f[a>>2]>>2]|0;r=a+40|0;t=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=go(t|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;t=q+k|0;while(1){f[g+(r<<2)>>2]=h[t>>0];r=r+1|0;k=b[m>>0]|0;if((r|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){D=k;break}else t=t+1|0}}else D=o;t=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function tb(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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0<s>>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0<s>>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0<t>>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}tb(h,W,c);g=W+4|0}if((l|0)==82){l=0;tb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function ub(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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0<s>>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0<s>>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0<t>>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}ub(h,W,c);g=W+4|0}if((l|0)==82){l=0;ub(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function vb(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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0<s>>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0<s>>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0<t>>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}vb(h,W,c);g=W+4|0}if((l|0)==82){l=0;vb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function wb(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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0<s>>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0<s>>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0<t>>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}wb(h,W,c);g=W+4|0}if((l|0)==82){l=0;wb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84: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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0<s>>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0<s>>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0<t>>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}xb(h,W,c);g=W+4|0}if((l|0)==82){l=0;xb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0<s>>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0<s>>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0<t>>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}yb(h,W,c);g=W+4|0}if((l|0)==82){l=0;yb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0<s>>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0<s>>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0<t>>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}zb(h,W,c);g=W+4|0}if((l|0)==82){l=0;zb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0<s>>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0<s>>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0<t>>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}Ab(h,W,c);g=W+4|0}if((l|0)==82){l=0;Ab(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0<s>>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0<s>>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0<t>>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}Bb(h,W,c);g=W+4|0}if((l|0)==82){l=0;Bb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0<s>>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0<s>>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0<t>>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}Cb(h,W,c);g=W+4|0}if((l|0)==82){l=0;Cb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0<s>>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0<s>>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0<t>>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}Db(h,W,c);g=W+4|0}if((l|0)==82){l=0;Db(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0<s>>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0<s>>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0<t>>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}Eb(h,W,c);g=W+4|0}if((l|0)==82){l=0;Eb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0<s>>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0<s>>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0<t>>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}Fb(h,W,c);g=W+4|0}if((l|0)==82){l=0;Fb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0<s>>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0<s>>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0<t>>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}Gb(h,W,c);g=W+4|0}if((l|0)==82){l=0;Gb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0<s>>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0<s>>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0<t>>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}Hb(h,W,c);g=W+4|0}if((l|0)==82){l=0;Hb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0<s>>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0<s>>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0<t>>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}Ib(h,W,c);g=W+4|0}if((l|0)==82){l=0;Ib(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0<s>>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0<s>>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0<t>>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}Jb(h,W,c);g=W+4|0}if((l|0)==82){l=0;Jb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=hg(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Sg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0<s>>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0<s>>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=x;B=r;r=e;while(1){C=s+(B<<3)|0;D=q>>>0>B>>>0;E=k;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[C>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>B>>>0)H=r;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;B=f[h>>2]|0;if(q>>>0<=B>>>0){l=38;break a}else{k=E+4|0;r=H}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}r=h+4|0;c:do if(r>>>0<t>>>0){k=f[r>>2]|0;B=f[c>>2]|0;q=f[B>>2]|0;s=(f[B+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=m;K=q;L=B;M=k;N=r;O=t;P=u;Q=s}else{R=B;l=57;break a}while(1){B=f[c>>2]|0;s=B+4|0;k=f[J>>2]|0;q=K;S=L;j=M;D=N;C=Q;while(1){F=q;if(C>>>0<=k>>>0){l=59;break a}if((f[F+(j<<3)>>2]|0)>>>0>=(f[F+(k<<3)>>2]|0)>>>0)break;F=D+4|0;T=f[F>>2]|0;q=f[B>>2]|0;C=(f[s>>2]|0)-q>>3;if(C>>>0<=T>>>0){R=B;l=57;break a}else{S=B;j=T;D=F}}B=f[J>>2]|0;K=f[S>>2]|0;Q=(f[S+4>>2]|0)-K>>3;C=K;q=C+(B<<3)|0;if(Q>>>0>B>>>0)U=O;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(Q>>>0<=V>>>0){l=66;break a}}while((f[C+(V<<3)>>2]|0)>>>0>=(f[q>>2]|0)>>>0);if(D>>>0>U>>>0){W=D;X=J;Y=P;break c}f[D>>2]=V;f[U>>2]=j;N=D+4|0;M=f[N>>2]|0;if(Q>>>0<=M>>>0){R=S;l=57;break a}else{J=(J|0)==(D|0)?U:J;L=S;O=U;P=P+1|0}}}else{W=r;X=m;Y=u}while(0);if((W|0)!=(X|0)){r=f[X>>2]|0;q=f[W>>2]|0;Z=f[c>>2]|0;C=f[Z>>2]|0;B=(f[Z+4>>2]|0)-C>>3;if(B>>>0<=r>>>0){l=72;break a}s=C;if(B>>>0<=q>>>0){l=74;break a}if((f[s+(r<<3)>>2]|0)>>>0<(f[s+(q<<3)>>2]|0)>>>0){f[W>>2]=r;f[X>>2]=q;_=Y+1|0}else _=Y}else _=Y;if(!_){$=Ud(h,W,c)|0;q=W+4|0;if(Ud(q,a,c)|0){l=83;break}if($){g=q;continue}}q=W;if((q-i|0)>=(b-q|0)){l=82;break}Kb(h,W,c);g=W+4|0}if((l|0)==82){l=0;Kb(W+4|0,a,c);d=h;a=W;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=W;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;W=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)Cq(d);_=$;if(i>>>0<=W>>>0)Cq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(W<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=W;return}case 11:{Sg(h,h+4|0,e,c)|0;return}case 12:{dh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{hg(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{bh(h,a,c);return}case 20:{Cq(p);break}case 22:{Cq(p);break}case 26:{Cq(p);break}case 32:{Cq(p);break}case 38:{Cq(A);break}case 40:{Cq(A);break}case 46:{Cq(A);break}case 47:{Cq(A);break}case 51:{Cq(p);break}case 57:{Cq(R);break}case 59:{Cq(S);break}case 65:{if(Q>>>0>(f[O+-4>>2]|0)>>>0)Cq(S);else Cq(S);break}case 66:{Cq(S);break}case 72:{Cq(Z);break}case 74:{Cq(Z);break}case 84:return}}function Lb(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=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=go(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;q=m+r|0;while(1){f[g+(o<<2)>>2]=b[q>>0];o=o+1|0;r=b[k>>0]|0;if((o|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){s=r;break}else q=q+1|0}}else s=l;q=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 2:{q=a+24|0;o=b[q>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){k=f[f[a>>2]>>2]|0;r=a+40|0;m=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;t=go(m|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;m=k+t|0;while(1){f[g+(r<<2)>>2]=h[m>>0];r=r+1|0;t=b[q>>0]|0;if((r|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){u=t;break}else m=m+1|0}}else u=o;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 3:{m=a+24|0;r=b[m>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){q=f[f[a>>2]>>2]|0;l=a+40|0;t=En(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;k=go(t|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;t=q+k|0;while(1){f[g+(l<<2)>>2]=d[t>>1];l=l+1|0;k=b[m>>0]|0;if((l|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){v=k;break}else t=t+2|0}}else v=r;t=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 4:{t=a+24|0;l=b[t>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;k=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;q=go(k|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;k=m+q|0;while(1){f[g+(o<<2)>>2]=j[k>>1];o=o+1|0;q=b[t>>0]|0;if((o|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){w=q;break}else k=k+2|0}}else w=l;k=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 5:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){t=f[f[a>>2]>>2]|0;r=a+40|0;q=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;m=go(q|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;q=t+m|0;while(1){f[g+(r<<2)>>2]=f[q>>2];r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){x=m;break}else q=q+4|0}}else x=o;q=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 6:{q=a+24|0;r=b[q>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;m=En(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;t=go(m|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;m=k+t|0;while(1){f[g+(l<<2)>>2]=f[m>>2];l=l+1|0;t=b[q>>0]|0;if((l|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){y=t;break}else m=m+4|0}}else y=r;m=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 7:{m=a+24|0;l=b[m>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;t=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;k=go(t|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;t=q+k|0;while(1){f[g+(o<<2)>>2]=f[t>>2];o=o+1|0;k=b[m>>0]|0;if((o|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){z=k;break}else t=t+8|0}}else z=l;t=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 8:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;k=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;q=go(k|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;k=m+q|0;while(1){f[g+(r<<2)>>2]=f[k>>2];r=r+1|0;q=b[t>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else k=k+8|0}}else A=o;k=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 9:{k=a+24|0;r=b[k>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){t=f[f[a>>2]>>2]|0;l=a+40|0;q=En(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;m=go(q|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=0;q=t+m|0;while(1){m=~~$(n[q>>2]);f[g+(l<<2)>>2]=m;l=l+1|0;m=b[k>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){B=m;break}else q=q+4|0}}else B=r;q=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 10:{q=a+24|0;l=b[q>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;m=En(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;t=go(m|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=0;m=k+t|0;while(1){f[g+(o<<2)>>2]=~~+p[m>>3];o=o+1|0;t=b[q>>0]|0;if((o|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){C=t;break}else m=m+8|0}}else C=l;m=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 11:{m=a+24|0;o=b[m>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){q=f[f[a>>2]>>2]|0;r=a+40|0;t=En(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=go(t|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=0;t=q+k|0;while(1){f[g+(r<<2)>>2]=h[t>>0];r=r+1|0;k=b[m>>0]|0;if((r|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){D=k;break}else t=t+1|0}}else D=o;t=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}pj(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function Mb(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,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=Ja,J=0,K=0,L=0,M=0,N=Ja;e=u;u=u+48|0;g=e+36|0;h=e+24|0;i=e+12|0;j=e;if(!(yh(a,c,d)|0)){k=0;u=e;return k|0}l=f[(f[(f[c+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;if((f[l+28>>2]|0)!=9){k=0;u=e;return k|0}m=c+48|0;c=f[m>>2]|0;o=tn(32)|0;f[g>>2]=o;f[g+8>>2]=-2147483616;f[g+4>>2]=17;p=o;q=14756;r=p+17|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[o+17>>0]=0;o=c+16|0;s=f[o>>2]|0;if(s){t=o;v=s;a:while(1){s=v;while(1){if((f[s+16>>2]|0)>=(d|0))break;w=f[s+4>>2]|0;if(!w){x=t;break a}else s=w}v=f[s>>2]|0;if(!v){x=s;break}else t=s}if(((x|0)!=(o|0)?(f[x+16>>2]|0)<=(d|0):0)?(o=x+20|0,(Hh(o,g)|0)!=0):0)y=Ik(o,g,-1)|0;else z=12}else z=12;if((z|0)==12)y=Ik(c,g,-1)|0;if((b[g+11>>0]|0)<0)pr(f[g>>2]|0);if((y|0)<1){k=0;u=e;return k|0}c=f[m>>2]|0;o=tn(32)|0;f[g>>2]=o;f[g+8>>2]=-2147483616;f[g+4>>2]=19;p=o;q=14829;r=p+19|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[o+19>>0]=0;o=c+16|0;x=f[o>>2]|0;if(x){t=o;v=x;b:while(1){x=v;while(1){if((f[x+16>>2]|0)>=(d|0))break;w=f[x+4>>2]|0;if(!w){A=t;break b}else x=w}v=f[x>>2]|0;if(!v){A=x;break}else t=x}if((A|0)!=(o|0)?(f[A+16>>2]|0)<=(d|0):0)B=A+20|0;else z=24}else z=24;if((z|0)==24)B=c;if(!(Hh(B,g)|0))C=0;else{B=f[m>>2]|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;c=tn(32)|0;f[h>>2]=c;f[h+8>>2]=-2147483616;f[h+4>>2]=18;p=c;q=14849;r=p+18|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[c+18>>0]=0;c=B+16|0;A=f[c>>2]|0;if(A){o=c;t=A;c:while(1){A=t;while(1){if((f[A+16>>2]|0)>=(d|0))break;v=f[A+4>>2]|0;if(!v){D=o;break c}else A=v}t=f[A>>2]|0;if(!t){D=A;break}else o=A}if((D|0)!=(c|0)?(f[D+16>>2]|0)<=(d|0):0)E=D+20|0;else z=34}else z=34;if((z|0)==34)E=B;B=(Hh(E,h)|0)!=0;if((b[h+11>>0]|0)<0)pr(f[h>>2]|0);C=B}if((b[g+11>>0]|0)<0)pr(f[g>>2]|0);if(!C){Qd(a+40|0,l,y)|0;k=1;u=e;return k|0}C=l+24|0;l=b[C>>0]|0;B=l<<24>>24;f[i>>2]=0;E=i+4|0;f[E>>2]=0;f[i+8>>2]=0;do if(l<<24>>24)if(l<<24>>24<0)Cq(i);else{D=B<<2;c=tn(D)|0;f[i>>2]=c;o=c+(B<<2)|0;f[i+8>>2]=o;pj(c|0,0,D|0)|0;f[E>>2]=o;F=c;break}else F=0;while(0);B=f[m>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;l=tn(32)|0;f[j>>2]=l;f[j+8>>2]=-2147483616;f[j+4>>2]=19;p=l;q=14829;r=p+19|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[l+19>>0]=0;l=b[C>>0]|0;c=l<<24>>24;o=B+16|0;D=f[o>>2]|0;if(D){t=o;x=D;d:while(1){D=x;while(1){if((f[D+16>>2]|0)>=(d|0))break;v=f[D+4>>2]|0;if(!v){G=t;break d}else D=v}x=f[D>>2]|0;if(!x){G=D;break}else t=D}if(((G|0)!=(o|0)?(f[G+16>>2]|0)<=(d|0):0)?(o=G+20|0,(Hh(o,j)|0)!=0):0){t=Og(o,j)|0;if((t|0)!=(G+24|0)){nj(g,t+28|0);t=g+11|0;G=b[t>>0]|0;o=G<<24>>24<0;if(!((o?f[g+4>>2]|0:G&255)|0))H=G;else{if(l<<24>>24>0){x=o?f[g>>2]|0:g;o=0;do{I=$(Lq(x,h));A=x;x=f[h>>2]|0;if((A|0)==(x|0))break;n[F+(o<<2)>>2]=I;o=o+1|0}while((o|0)<(c|0));J=b[t>>0]|0}else J=G;H=J}if(H<<24>>24<0)pr(f[g>>2]|0)}}else z=64}else z=64;if((z|0)==64?(H=Og(B,j)|0,(H|0)!=(B+4|0)):0){nj(g,H+28|0);H=g+11|0;B=b[H>>0]|0;J=B<<24>>24<0;if(!((J?f[g+4>>2]|0:B&255)|0))K=B;else{if(l<<24>>24>0){l=J?f[g>>2]|0:g;J=0;do{I=$(Lq(l,h));G=l;l=f[h>>2]|0;if((G|0)==(l|0))break;n[F+(J<<2)>>2]=I;J=J+1|0}while((J|0)<(c|0));L=b[H>>0]|0}else L=B;K=L}if(K<<24>>24<0)pr(f[g>>2]|0)}if((b[j+11>>0]|0)<0)pr(f[j>>2]|0);j=f[m>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;m=tn(32)|0;f[g>>2]=m;f[g+8>>2]=-2147483616;f[g+4>>2]=18;p=m;q=14849;r=p+18|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[m+18>>0]=0;m=j+16|0;q=f[m>>2]|0;if(q){p=m;r=q;e:while(1){q=r;while(1){if((f[q+16>>2]|0)>=(d|0))break;K=f[q+4>>2]|0;if(!K){M=p;break e}else q=K}r=f[q>>2]|0;if(!r){M=q;break}else p=q}if(((M|0)!=(m|0)?(f[M+16>>2]|0)<=(d|0):0)?(d=M+20|0,(Hh(d,g)|0)!=0):0)N=$(vk(d,g,$(1.0)));else z=86}else z=86;if((z|0)==86)N=$(vk(j,g,$(1.0)));if((b[g+11>>0]|0)<0)pr(f[g>>2]|0);Hl(a+40|0,y,f[i>>2]|0,b[C>>0]|0,N);C=f[i>>2]|0;if(C|0){i=f[E>>2]|0;if((i|0)!=(C|0))f[E>>2]=i+(~((i+-4-C|0)>>>2)<<2);pr(C)}k=1;u=e;return k|0}function Nb(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;c=u;u=u+16|0;d=c+8|0;e=c;g=f[b>>2]|0;if((g|0)==-1){h=1;u=c;return h|0}i=(g>>>0)/3|0;j=a+12|0;if(f[(f[j>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0){h=1;u=c;return h|0}i=a+56|0;k=f[i>>2]|0;l=a+60|0;m=f[l>>2]|0;if((m|0)==(k|0))n=k;else{o=m+(~((m+-4-k|0)>>>2)<<2)|0;f[l>>2]=o;n=o}o=a+64|0;if((n|0)==(f[o>>2]|0))Ti(i,b);else{f[n>>2]=g;f[l>>2]=n+4}n=f[a>>2]|0;g=f[b>>2]|0;k=g+1|0;do if((g|0)!=-1){m=f[n+28>>2]|0;p=f[m+((((k>>>0)%3|0|0)==0?g+-2|0:k)<<2)>>2]|0;if(!((g>>>0)%3|0)){q=m;r=p;s=g+2|0;break}else{q=m;r=p;s=g+-1|0;break}}else{p=f[n+28>>2]|0;q=p;r=f[p+-4>>2]|0;s=-1}while(0);n=f[q+(s<<2)>>2]|0;if((r|0)==-1|(n|0)==-1){h=0;u=c;return h|0}s=a+24|0;q=f[s>>2]|0;g=q+(r>>>5<<2)|0;k=1<<(r&31);p=f[g>>2]|0;if(!(p&k)){f[g>>2]=p|k;k=f[b>>2]|0;p=k+1|0;if((k|0)==-1)t=-1;else t=((p>>>0)%3|0|0)==0?k+-2|0:p;f[e>>2]=t;p=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((t>>>0)/3|0)*12|0)+(((t>>>0)%3|0)<<2)>>2]|0;t=f[a+48>>2]|0;f[d>>2]=p;k=f[t+4>>2]|0;t=k+4|0;g=f[t>>2]|0;if((g|0)==(f[k+8>>2]|0))Ti(k,d);else{f[g>>2]=p;f[t>>2]=g+4}g=a+40|0;t=f[g>>2]|0;p=t+4|0;k=f[p>>2]|0;if((k|0)==(f[t+8>>2]|0)){Ti(t,e);v=f[g>>2]|0}else{f[k>>2]=f[e>>2];f[p>>2]=k+4;v=t}t=v+24|0;f[(f[v+12>>2]|0)+(r<<2)>>2]=f[t>>2];f[t>>2]=(f[t>>2]|0)+1;w=f[s>>2]|0}else w=q;q=w+(n>>>5<<2)|0;w=1<<(n&31);t=f[q>>2]|0;if(!(t&w)){f[q>>2]=t|w;w=f[b>>2]|0;do if((w|0)!=-1)if(!((w>>>0)%3|0)){x=w+2|0;break}else{x=w+-1|0;break}else x=-1;while(0);f[e>>2]=x;w=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((x>>>0)/3|0)*12|0)+(((x>>>0)%3|0)<<2)>>2]|0;x=f[a+48>>2]|0;f[d>>2]=w;t=f[x+4>>2]|0;x=t+4|0;q=f[x>>2]|0;if((q|0)==(f[t+8>>2]|0))Ti(t,d);else{f[q>>2]=w;f[x>>2]=q+4}q=a+40|0;x=f[q>>2]|0;w=x+4|0;t=f[w>>2]|0;if((t|0)==(f[x+8>>2]|0)){Ti(x,e);y=f[q>>2]|0}else{f[t>>2]=f[e>>2];f[w>>2]=t+4;y=x}x=y+24|0;f[(f[y+12>>2]|0)+(n<<2)>>2]=f[x>>2];f[x>>2]=(f[x>>2]|0)+1}x=f[i>>2]|0;n=f[l>>2]|0;if((x|0)==(n|0)){h=1;u=c;return h|0}y=a+44|0;t=a+48|0;w=a+40|0;q=x;x=n;a:while(1){n=f[x+-4>>2]|0;f[b>>2]=n;r=(n>>>0)/3|0;if((n|0)!=-1?(n=(f[j>>2]|0)+(r>>>5<<2)|0,v=1<<(r&31),r=f[n>>2]|0,(r&v|0)==0):0){f[n>>2]=r|v;v=f[a>>2]|0;r=f[b>>2]|0;n=f[(f[v+28>>2]|0)+(r<<2)>>2]|0;if((n|0)==-1){h=0;z=79;break}else{A=r;B=v;C=n}b:while(1){n=(f[s>>2]|0)+(C>>>5<<2)|0;v=1<<(C&31);r=f[n>>2]|0;do if(!(r&v)){k=f[(f[B+40>>2]|0)+(C<<2)>>2]|0;if((k|0)==-1)D=1;else{p=f[(f[f[B+64>>2]>>2]|0)+(k<<2)>>2]|0;D=(1<<(p&31)&f[(f[B+12>>2]|0)+(p>>>5<<2)>>2]|0)!=0}f[n>>2]=r|v;p=f[b>>2]|0;f[e>>2]=p;k=f[(f[(f[y>>2]|0)+96>>2]|0)+(((p>>>0)/3|0)*12|0)+(((p>>>0)%3|0)<<2)>>2]|0;p=f[t>>2]|0;f[d>>2]=k;g=f[p+4>>2]|0;p=g+4|0;m=f[p>>2]|0;if((m|0)==(f[g+8>>2]|0))Ti(g,d);else{f[m>>2]=k;f[p>>2]=m+4}m=f[w>>2]|0;p=m+4|0;k=f[p>>2]|0;if((k|0)==(f[m+8>>2]|0)){Ti(m,e);E=f[w>>2]|0}else{f[k>>2]=f[e>>2];f[p>>2]=k+4;E=m}m=E+24|0;f[(f[E+12>>2]|0)+(C<<2)>>2]=f[m>>2];f[m>>2]=(f[m>>2]|0)+1;m=f[a>>2]|0;k=f[b>>2]|0;if(D){F=k;G=m;z=59;break}p=k+1|0;do if((k|0)==-1)H=-1;else{g=((p>>>0)%3|0|0)==0?k+-2|0:p;if((g|0)==-1){H=-1;break}if(f[(f[m>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0){H=-1;break}H=f[(f[(f[m+64>>2]|0)+12>>2]|0)+(g<<2)>>2]|0}while(0);f[b>>2]=H;I=m;J=(H>>>0)/3|0}else{F=A;G=B;z=59}while(0);if((z|0)==59){z=0;v=F+1|0;if((F|0)==-1){z=63;break}r=((v>>>0)%3|0|0)==0?F+-2|0:v;do if((r|0)==-1)K=-1;else{if(f[(f[G>>2]|0)+(r>>>5<<2)>>2]&1<<(r&31)|0){K=-1;break}K=f[(f[(f[G+64>>2]|0)+12>>2]|0)+(r<<2)>>2]|0}while(0);f[d>>2]=K;r=(((F>>>0)%3|0|0)==0?2:-1)+F|0;do if((r|0)==-1)L=-1;else{if(f[(f[G>>2]|0)+(r>>>5<<2)>>2]&1<<(r&31)|0){L=-1;break}L=f[(f[(f[G+64>>2]|0)+12>>2]|0)+(r<<2)>>2]|0}while(0);r=(K|0)==-1;v=(K>>>0)/3|0;n=r?-1:v;p=(L|0)==-1;k=(L>>>0)/3|0;g=p?-1:k;do if(!r){M=f[j>>2]|0;if(f[M+(n>>>5<<2)>>2]&1<<(n&31)|0){z=69;break}if(p){N=K;O=v;break}if(!(f[M+(g>>>5<<2)>>2]&1<<(g&31))){z=74;break b}else{N=K;O=v}}else z=69;while(0);if((z|0)==69){z=0;if(p){z=71;break}if(!(f[(f[j>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31))){N=L;O=k}else{z=71;break}}f[b>>2]=N;I=G;J=O}v=(f[j>>2]|0)+(J>>>5<<2)|0;f[v>>2]=f[v>>2]|1<<(J&31);A=f[b>>2]|0;C=f[(f[I+28>>2]|0)+(A<<2)>>2]|0;if((C|0)==-1){h=0;z=79;break a}else B=I}do if((z|0)==63){z=0;f[d>>2]=-1;z=71}else if((z|0)==74){z=0;v=f[l>>2]|0;f[v+-4>>2]=L;if((v|0)==(f[o>>2]|0)){Ti(i,d);P=f[l>>2]|0;break}else{f[v>>2]=f[d>>2];n=v+4|0;f[l>>2]=n;P=n;break}}while(0);if((z|0)==71){z=0;n=(f[l>>2]|0)+-4|0;f[l>>2]=n;P=n}Q=f[i>>2]|0;R=P}else{n=x+-4|0;f[l>>2]=n;Q=q;R=n}if((Q|0)==(R|0)){h=1;z=79;break}else{q=Q;x=R}}if((z|0)==79){u=c;return h|0}return 0}function Ob(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,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=Ja,V=Ja,Y=Ja,Z=0,_=0,aa=0,ba=0;d=u;u=u+16|0;e=d;g=a+16|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;n[g>>2]=$(1.0);i=a+20|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[a+36>>2]=$(1.0);j=f[c+8>>2]|0;a:do if(j|0){k=a+4|0;l=a+12|0;m=a+8|0;o=j;p=j;while(1){q=o+8|0;r=b[q+11>>0]|0;s=r<<24>>24<0;t=s?f[q>>2]|0:q;v=s?f[o+12>>2]|0:r&255;if(v>>>0>3){r=t;s=v;w=v;while(1){x=X(h[r>>0]|h[r+1>>0]<<8|h[r+2>>0]<<16|h[r+3>>0]<<24,1540483477)|0;s=(X(x>>>24^x,1540483477)|0)^(X(s,1540483477)|0);w=w+-4|0;if(w>>>0<=3)break;else r=r+4|0}r=v+-4|0;w=r&-4;y=t+(w+4)|0;z=s;A=r-w|0}else{y=t;z=v;A=v}switch(A|0){case 3:{B=h[y+2>>0]<<16^z;C=8;break}case 2:{B=z;C=8;break}case 1:{D=z;C=9;break}default:E=z}if((C|0)==8){C=0;D=h[y+1>>0]<<8^B;C=9}if((C|0)==9){C=0;E=X(h[y>>0]^D,1540483477)|0}w=X(E>>>13^E,1540483477)|0;r=w>>>15^w;w=f[k>>2]|0;x=(w|0)==0;b:do if(!x){F=w+-1|0;G=(F&w|0)==0;if(!G)if(r>>>0<w>>>0)H=r;else H=(r>>>0)%(w>>>0)|0;else H=r&F;I=f[(f[a>>2]|0)+(H<<2)>>2]|0;if((I|0)!=0?(J=f[I>>2]|0,(J|0)!=0):0){I=(v|0)==0;if(G){if(I){G=J;while(1){K=f[G+4>>2]|0;if(!((K|0)==(r|0)|(K&F|0)==(H|0))){L=H;C=50;break b}K=b[G+8+11>>0]|0;if(!((K<<24>>24<0?f[G+12>>2]|0:K&255)|0))break b;G=f[G>>2]|0;if(!G){L=H;C=50;break b}}}else M=J;while(1){G=f[M+4>>2]|0;if(!((G|0)==(r|0)|(G&F|0)==(H|0))){L=H;C=50;break b}G=M+8|0;K=b[G+11>>0]|0;N=K<<24>>24<0;O=K&255;do if(((N?f[M+12>>2]|0:O)|0)==(v|0)){K=f[G>>2]|0;if(N)if(!(Yk(K,t,v)|0))break b;else break;if((K&255)<<24>>24==(b[t>>0]|0)){K=O;P=G;Q=t;do{K=K+-1|0;P=P+1|0;if(!K)break b;Q=Q+1|0}while((b[P>>0]|0)==(b[Q>>0]|0))}}while(0);M=f[M>>2]|0;if(!M){L=H;C=50;break b}}}if(I){F=J;while(1){G=f[F+4>>2]|0;if((G|0)!=(r|0)){if(G>>>0<w>>>0)R=G;else R=(G>>>0)%(w>>>0)|0;if((R|0)!=(H|0)){L=H;C=50;break b}}G=b[F+8+11>>0]|0;if(!((G<<24>>24<0?f[F+12>>2]|0:G&255)|0))break b;F=f[F>>2]|0;if(!F){L=H;C=50;break b}}}else S=J;while(1){F=f[S+4>>2]|0;if((F|0)!=(r|0)){if(F>>>0<w>>>0)T=F;else T=(F>>>0)%(w>>>0)|0;if((T|0)!=(H|0)){L=H;C=50;break b}}F=S+8|0;I=b[F+11>>0]|0;G=I<<24>>24<0;O=I&255;do if(((G?f[S+12>>2]|0:O)|0)==(v|0)){I=f[F>>2]|0;if(G)if(!(Yk(I,t,v)|0))break b;else break;if((I&255)<<24>>24==(b[t>>0]|0)){I=O;N=F;Q=t;do{I=I+-1|0;N=N+1|0;if(!I)break b;Q=Q+1|0}while((b[N>>0]|0)==(b[Q>>0]|0))}}while(0);S=f[S>>2]|0;if(!S){L=H;C=50;break}}}else{L=H;C=50}}else{L=0;C=50}while(0);if((C|0)==50){C=0;Jh(e,a,r,q);U=$(((f[l>>2]|0)+1|0)>>>0);V=$(w>>>0);Y=$(n[g>>2]);do if(x|U>$(V*Y)){t=(w>>>0<3|(w+-1&w|0)!=0)&1|w<<1;v=~~$(W($(U/Y)))>>>0;ci(a,t>>>0<v>>>0?v:t);t=f[k>>2]|0;v=t+-1|0;if(!(v&t)){Z=t;_=v&r;break}if(r>>>0<t>>>0){Z=t;_=r}else{Z=t;_=(r>>>0)%(t>>>0)|0}}else{Z=w;_=L}while(0);w=f[(f[a>>2]|0)+(_<<2)>>2]|0;if(!w){f[f[e>>2]>>2]=f[m>>2];f[m>>2]=f[e>>2];f[(f[a>>2]|0)+(_<<2)>>2]=m;r=f[e>>2]|0;x=f[r>>2]|0;if(x|0){q=f[x+4>>2]|0;x=Z+-1|0;if(x&Z)if(q>>>0<Z>>>0)aa=q;else aa=(q>>>0)%(Z>>>0)|0;else aa=q&x;f[(f[a>>2]|0)+(aa<<2)>>2]=r}}else{f[f[e>>2]>>2]=f[w>>2];f[w>>2]=f[e>>2]}f[l>>2]=(f[l>>2]|0)+1}w=f[p>>2]|0;if(!w)break a;else{o=w;p=w}}}while(0);e=f[c+28>>2]|0;if(!e){u=d;return}else ba=e;do{e=ba;c=tn(40)|0;Ob(c,f[e+20>>2]|0);aa=zc(i,e+8|0)|0;e=f[aa>>2]|0;f[aa>>2]=c;if(e|0){c=f[e+28>>2]|0;if(c|0){aa=c;do{c=aa;aa=f[aa>>2]|0;oi(c+8|0);pr(c)}while((aa|0)!=0)}aa=e+20|0;c=f[aa>>2]|0;f[aa>>2]=0;if(c|0)pr(c);c=f[e+8>>2]|0;if(c|0){aa=c;do{c=aa;aa=f[aa>>2]|0;a=c+8|0;Z=f[c+20>>2]|0;if(Z|0){_=c+24|0;if((f[_>>2]|0)!=(Z|0))f[_>>2]=Z;pr(Z)}if((b[a+11>>0]|0)<0)pr(f[a>>2]|0);pr(c)}while((aa|0)!=0)}aa=f[e>>2]|0;f[e>>2]=0;if(aa|0)pr(aa);pr(e)}ba=f[ba>>2]|0}while((ba|0)!=0);u=d;return}function Pb(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;c=u;u=u+16|0;d=c+8|0;e=c;g=f[b>>2]|0;if((g|0)==-1){h=1;u=c;return h|0}i=(g>>>0)/3|0;j=a+12|0;if(f[(f[j>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0){h=1;u=c;return h|0}i=a+56|0;k=f[i>>2]|0;l=a+60|0;m=f[l>>2]|0;if((m|0)==(k|0))n=k;else{o=m+(~((m+-4-k|0)>>>2)<<2)|0;f[l>>2]=o;n=o}o=a+64|0;if((n|0)==(f[o>>2]|0))Ti(i,b);else{f[n>>2]=g;f[l>>2]=n+4}n=f[a>>2]|0;g=f[b>>2]|0;k=g+1|0;if((g|0)==-1){h=0;u=c;return h|0}m=((k>>>0)%3|0|0)==0?g+-2|0:k;if((m|0)==-1)p=-1;else p=f[(f[n>>2]|0)+(m<<2)>>2]|0;m=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((m|0)==-1){h=0;u=c;return h|0}g=f[(f[n>>2]|0)+(m<<2)>>2]|0;if((p|0)==-1|(g|0)==-1){h=0;u=c;return h|0}m=a+24|0;n=f[m>>2]|0;k=n+(p>>>5<<2)|0;q=1<<(p&31);r=f[k>>2]|0;if(!(r&q)){f[k>>2]=r|q;q=f[b>>2]|0;r=q+1|0;if((q|0)==-1)s=-1;else s=((r>>>0)%3|0|0)==0?q+-2|0:r;f[e>>2]=s;r=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((s>>>0)/3|0)*12|0)+(((s>>>0)%3|0)<<2)>>2]|0;s=f[a+48>>2]|0;f[d>>2]=r;q=f[s+4>>2]|0;s=q+4|0;k=f[s>>2]|0;if((k|0)==(f[q+8>>2]|0))Ti(q,d);else{f[k>>2]=r;f[s>>2]=k+4}k=a+40|0;s=f[k>>2]|0;r=s+4|0;q=f[r>>2]|0;if((q|0)==(f[s+8>>2]|0)){Ti(s,e);t=f[k>>2]|0}else{f[q>>2]=f[e>>2];f[r>>2]=q+4;t=s}s=t+24|0;f[(f[t+12>>2]|0)+(p<<2)>>2]=f[s>>2];f[s>>2]=(f[s>>2]|0)+1;v=f[m>>2]|0}else v=n;n=v+(g>>>5<<2)|0;v=1<<(g&31);s=f[n>>2]|0;if(!(s&v)){f[n>>2]=s|v;v=f[b>>2]|0;do if((v|0)!=-1)if(!((v>>>0)%3|0)){w=v+2|0;break}else{w=v+-1|0;break}else w=-1;while(0);f[e>>2]=w;v=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((w>>>0)/3|0)*12|0)+(((w>>>0)%3|0)<<2)>>2]|0;w=f[a+48>>2]|0;f[d>>2]=v;s=f[w+4>>2]|0;w=s+4|0;n=f[w>>2]|0;if((n|0)==(f[s+8>>2]|0))Ti(s,d);else{f[n>>2]=v;f[w>>2]=n+4}n=a+40|0;w=f[n>>2]|0;v=w+4|0;s=f[v>>2]|0;if((s|0)==(f[w+8>>2]|0)){Ti(w,e);x=f[n>>2]|0}else{f[s>>2]=f[e>>2];f[v>>2]=s+4;x=w}w=x+24|0;f[(f[x+12>>2]|0)+(g<<2)>>2]=f[w>>2];f[w>>2]=(f[w>>2]|0)+1}w=f[i>>2]|0;g=f[l>>2]|0;if((w|0)==(g|0)){h=1;u=c;return h|0}x=a+44|0;s=a+48|0;v=a+40|0;n=g;g=w;a:while(1){w=f[n+-4>>2]|0;f[b>>2]=w;p=(w>>>0)/3|0;if((w|0)!=-1?(w=(f[j>>2]|0)+(p>>>5<<2)|0,t=1<<(p&31),p=f[w>>2]|0,(p&t|0)==0):0){f[w>>2]=p|t;t=f[b>>2]|0;if((t|0)==-1){h=0;y=80;break}p=f[a>>2]|0;w=t;b:while(1){t=f[(f[p>>2]|0)+(w<<2)>>2]|0;if((t|0)==-1){h=0;y=80;break a}q=(f[m>>2]|0)+(t>>>5<<2)|0;r=1<<(t&31);k=f[q>>2]|0;do if(!(k&r)){z=f[(f[p+24>>2]|0)+(t<<2)>>2]|0;A=z+1|0;do if((z|0)==-1)B=1;else{C=((A>>>0)%3|0|0)==0?z+-2|0:A;if((C|0)==-1){B=1;break}D=f[(f[p+12>>2]|0)+(C<<2)>>2]|0;C=D+1|0;if((D|0)==-1){B=1;break}B=((((C>>>0)%3|0|0)==0?D+-2|0:C)|0)==-1}while(0);f[q>>2]=k|r;A=f[b>>2]|0;f[e>>2]=A;z=f[(f[(f[x>>2]|0)+96>>2]|0)+(((A>>>0)/3|0)*12|0)+(((A>>>0)%3|0)<<2)>>2]|0;A=f[s>>2]|0;f[d>>2]=z;C=f[A+4>>2]|0;A=C+4|0;D=f[A>>2]|0;if((D|0)==(f[C+8>>2]|0))Ti(C,d);else{f[D>>2]=z;f[A>>2]=D+4}D=f[v>>2]|0;A=D+4|0;z=f[A>>2]|0;if((z|0)==(f[D+8>>2]|0)){Ti(D,e);E=f[v>>2]|0}else{f[z>>2]=f[e>>2];f[A>>2]=z+4;E=D}D=E+24|0;f[(f[E+12>>2]|0)+(t<<2)>>2]=f[D>>2];f[D>>2]=(f[D>>2]|0)+1;D=f[a>>2]|0;z=f[b>>2]|0;if(B)if((z|0)==-1){y=63;break b}else{F=z;G=D;y=64;break}do if((z|0)==-1)H=-1;else{A=z+1|0;C=((A>>>0)%3|0|0)==0?z+-2|0:A;if((C|0)==-1){H=-1;break}H=f[(f[D+12>>2]|0)+(C<<2)>>2]|0}while(0);f[b>>2]=H;I=D;J=(H>>>0)/3|0}else{F=w;G=p;y=64}while(0);if((y|0)==64){y=0;t=F+1|0;r=((t>>>0)%3|0|0)==0?F+-2|0:t;if((r|0)==-1)K=-1;else K=f[(f[G+12>>2]|0)+(r<<2)>>2]|0;f[d>>2]=K;r=(((F>>>0)%3|0|0)==0?2:-1)+F|0;if((r|0)==-1)L=-1;else L=f[(f[G+12>>2]|0)+(r<<2)>>2]|0;r=(K|0)==-1;t=(K>>>0)/3|0;k=r?-1:t;q=(L|0)==-1;z=(L>>>0)/3|0;C=q?-1:z;do if(!r){A=f[j>>2]|0;if(f[A+(k>>>5<<2)>>2]&1<<(k&31)|0){y=70;break}if(q){M=K;N=t;break}if(!(f[A+(C>>>5<<2)>>2]&1<<(C&31))){y=75;break b}else{M=K;N=t}}else y=70;while(0);if((y|0)==70){y=0;if(q){y=72;break}if(!(f[(f[j>>2]|0)+(C>>>5<<2)>>2]&1<<(C&31))){M=L;N=z}else{y=72;break}}f[b>>2]=M;I=G;J=N}t=(f[j>>2]|0)+(J>>>5<<2)|0;f[t>>2]=f[t>>2]|1<<(J&31);w=f[b>>2]|0;if((w|0)==-1){h=0;y=80;break a}else p=I}do if((y|0)==63){y=0;f[d>>2]=-1;y=72}else if((y|0)==75){y=0;p=f[l>>2]|0;f[p+-4>>2]=L;if((p|0)==(f[o>>2]|0)){Ti(i,d);O=f[l>>2]|0;break}else{f[p>>2]=f[d>>2];w=p+4|0;f[l>>2]=w;O=w;break}}while(0);if((y|0)==72){y=0;w=(f[l>>2]|0)+-4|0;f[l>>2]=w;O=w}P=f[i>>2]|0;Q=O}else{w=n+-4|0;f[l>>2]=w;P=g;Q=w}if((P|0)==(Q|0)){h=1;y=80;break}else{n=Q;g=P}}if((y|0)==80){u=c;return h|0}return 0}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=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,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=Ja,fa=Ja,ga=Ja,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;g=u;u=u+48|0;i=g+16|0;j=g+12|0;k=g;l=i+16|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[l>>2]=$(1.0);m=a+80|0;o=f[m>>2]|0;f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;if(o){if(o>>>0>1073741823)Cq(k);q=o<<2;r=tn(q)|0;f[k>>2]=r;s=r+(o<<2)|0;f[k+8>>2]=s;pj(r|0,0,q|0)|0;f[p>>2]=s;s=c+48|0;q=c+40|0;o=i+4|0;t=i+12|0;v=i+8|0;w=a+40|0;x=a+64|0;y=f[e>>2]|0;e=r;z=0;A=r;B=r;C=r;r=0;D=0;while(1){E=s;F=f[E>>2]|0;G=f[E+4>>2]|0;E=q;H=En(y+r|0,0,f[E>>2]|0,f[E+4>>2]|0)|0;E=go(H|0,I|0,F|0,G|0)|0;G=(f[f[c>>2]>>2]|0)+E|0;E=h[G>>0]|h[G+1>>0]<<8|h[G+2>>0]<<16|h[G+3>>0]<<24;f[j>>2]=E;G=E&65535;F=E>>>16;H=F&65535;J=(E&65535^318)+239^F;F=(z|0)==0;a:do if(!F){K=z+-1|0;L=(K&z|0)==0;if(!L)if(J>>>0<z>>>0)M=J;else M=(J>>>0)%(z>>>0)|0;else M=J&K;N=f[(f[i>>2]|0)+(M<<2)>>2]|0;do if(N|0?(O=f[N>>2]|0,O|0):0){b:do if(L){P=O;while(1){Q=f[P+4>>2]|0;R=(Q|0)==(J|0);if(!(R|(Q&K|0)==(M|0))){S=27;break b}if((R?(R=P+8|0,(d[R>>1]|0)==G<<16>>16):0)?(d[R+2>>1]|0)==H<<16>>16:0){T=P;S=26;break b}P=f[P>>2]|0;if(!P){S=27;break}}}else{P=O;while(1){R=f[P+4>>2]|0;if((R|0)==(J|0)){Q=P+8|0;if((d[Q>>1]|0)==G<<16>>16?(d[Q+2>>1]|0)==H<<16>>16:0){T=P;S=26;break b}}else{if(R>>>0<z>>>0)U=R;else U=(R>>>0)%(z>>>0)|0;if((U|0)!=(M|0)){S=27;break b}}P=f[P>>2]|0;if(!P){S=27;break}}}while(0);if((S|0)==26){S=0;f[A+(r<<2)>>2]=f[T+12>>2];V=e;X=C;Y=B;Z=A;_=D;break a}else if((S|0)==27){S=0;if(F){aa=0;S=46;break a}else break}}while(0);K=z+-1|0;L=(K&z|0)==0;if(!L)if(J>>>0<z>>>0)ba=J;else ba=(J>>>0)%(z>>>0)|0;else ba=K&J;N=f[(f[i>>2]|0)+(ba<<2)>>2]|0;if((N|0)!=0?(O=f[N>>2]|0,(O|0)!=0):0){if(L){L=O;while(1){N=f[L+4>>2]|0;if(!((N|0)==(J|0)|(N&K|0)==(ba|0))){aa=ba;S=46;break a}N=L+8|0;if((d[N>>1]|0)==G<<16>>16?(d[N+2>>1]|0)==H<<16>>16:0){S=61;break a}L=f[L>>2]|0;if(!L){aa=ba;S=46;break a}}}else ca=O;while(1){L=f[ca+4>>2]|0;if((L|0)!=(J|0)){if(L>>>0<z>>>0)da=L;else da=(L>>>0)%(z>>>0)|0;if((da|0)!=(ba|0)){aa=ba;S=46;break a}}L=ca+8|0;if((d[L>>1]|0)==G<<16>>16?(d[L+2>>1]|0)==H<<16>>16:0){S=61;break a}ca=f[ca>>2]|0;if(!ca){aa=ba;S=46;break}}}else{aa=ba;S=46}}else{aa=0;S=46}while(0);if((S|0)==46){S=0;H=tn(16)|0;G=H+8|0;d[G>>1]=E;d[G+2>>1]=E>>>16;f[H+12>>2]=D;f[H+4>>2]=J;f[H>>2]=0;ea=$(((f[t>>2]|0)+1|0)>>>0);fa=$(z>>>0);ga=$(n[l>>2]);do if(F|ea>$(fa*ga)){G=(z>>>0<3|(z+-1&z|0)!=0)&1|z<<1;O=~~$(W($(ea/ga)))>>>0;Th(i,G>>>0<O>>>0?O:G);G=f[o>>2]|0;O=G+-1|0;if(!(O&G)){ha=G;ia=O&J;break}if(J>>>0<G>>>0){ha=G;ia=J}else{ha=G;ia=(J>>>0)%(G>>>0)|0}}else{ha=z;ia=aa}while(0);J=(f[i>>2]|0)+(ia<<2)|0;F=f[J>>2]|0;if(!F){f[H>>2]=f[v>>2];f[v>>2]=H;f[J>>2]=v;J=f[H>>2]|0;if(J|0){E=f[J+4>>2]|0;J=ha+-1|0;if(J&ha)if(E>>>0<ha>>>0)ja=E;else ja=(E>>>0)%(ha>>>0)|0;else ja=E&J;ka=(f[i>>2]|0)+(ja<<2)|0;S=59}}else{f[H>>2]=f[F>>2];ka=F;S=59}if((S|0)==59){S=0;f[ka>>2]=H}f[t>>2]=(f[t>>2]|0)+1;S=61}if((S|0)==61){S=0;F=w;J=f[F>>2]|0;E=En(J|0,f[F+4>>2]|0,D|0,0)|0;eh((f[f[x>>2]>>2]|0)+E|0,j|0,J|0)|0;J=f[k>>2]|0;f[J+(r<<2)>>2]=D;V=J;X=J;Y=J;Z=J;_=D+1|0}J=r+1|0;la=f[m>>2]|0;if(J>>>0>=la>>>0)break;e=V;z=f[o>>2]|0;A=Z;B=Y;C=X;r=J;D=_}if((_|0)==(la|0))ma=Y;else{Y=a+84|0;if(!(b[Y>>0]|0)){D=f[a+72>>2]|0;r=f[a+68>>2]|0;C=r;if((D|0)==(r|0))na=V;else{B=D-r>>2;r=0;do{D=C+(r<<2)|0;f[D>>2]=f[X+(f[D>>2]<<2)>>2];r=r+1|0}while(r>>>0<B>>>0);na=V}}else{b[Y>>0]=0;Y=a+68|0;V=a+72|0;B=f[V>>2]|0;r=f[Y>>2]|0;X=B-r>>2;C=r;r=B;if(la>>>0<=X>>>0)if(la>>>0<X>>>0?(B=C+(la<<2)|0,(r|0)!=(B|0)):0){f[V>>2]=r+(~((r+-4-B|0)>>>2)<<2);oa=la}else oa=la;else{zh(Y,la-X|0,1284);oa=f[m>>2]|0}X=f[k>>2]|0;if(!oa)na=X;else{k=f[a+68>>2]|0;a=0;do{f[k+(a<<2)>>2]=f[X+(a<<2)>>2];a=a+1|0}while(a>>>0<oa>>>0);na=X}}f[m>>2]=_;ma=na}if(!ma)pa=_;else{na=f[p>>2]|0;if((na|0)!=(ma|0))f[p>>2]=na+(~((na+-4-ma|0)>>>2)<<2);pr(ma);pa=_}}else pa=0;_=f[i+8>>2]|0;if(_|0){ma=_;do{_=ma;ma=f[ma>>2]|0;pr(_)}while((ma|0)!=0)}ma=f[i>>2]|0;f[i>>2]=0;if(!ma){u=g;return pa|0}pr(ma);u=g;return pa|0}function Rb(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,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;d=u;u=u+192|0;e=d+152|0;g=d+144|0;h=d+72|0;i=d;j=d+112|0;k=d+108|0;l=d+104|0;m=a+352|0;if(b[m>>0]|0?(n=La[f[(f[a>>2]|0)+40>>2]&127](a)|0,((f[n+12>>2]|0)-(f[n+8>>2]|0)|0)>0):0){n=(La[f[(f[a>>2]|0)+40>>2]&127](a)|0)+8|0;o=f[f[n>>2]>>2]|0;f[e>>2]=c;n=o+4|0;p=o+8|0;q=f[p>>2]|0;if((q|0)==(f[o+12>>2]|0))Ti(n,e);else{f[q>>2]=c;f[p>>2]=q+4}q=f[e>>2]|0;r=o+16|0;s=o+20|0;o=f[s>>2]|0;t=f[r>>2]|0;v=o-t>>2;w=t;if((q|0)<(v|0)){x=w;y=q}else{t=q+1|0;f[g>>2]=-1;z=o;if(t>>>0<=v>>>0)if(t>>>0<v>>>0?(o=w+(t<<2)|0,(z|0)!=(o|0)):0){f[s>>2]=z+(~((z+-4-o|0)>>>2)<<2);A=q;B=w}else{A=q;B=w}else{zh(r,t-v|0,g);A=f[e>>2]|0;B=f[r>>2]|0}x=B;y=A}f[x+(y<<2)>>2]=((f[p>>2]|0)-(f[n>>2]|0)>>2)+-1;C=1;u=d;return C|0}n=(La[f[(f[a>>2]|0)+40>>2]&127](a)|0)+56|0;p=f[(f[(f[n>>2]|0)+84>>2]|0)+(c<<2)>>2]|0;n=(La[f[(f[a>>2]|0)+40>>2]&127](a)|0)+4|0;y=f[(f[(f[n>>2]|0)+8>>2]|0)+(c<<2)>>2]|0;f[g>>2]=-1;n=a+172|0;x=f[a+176>>2]|0;A=f[n>>2]|0;B=A;a:do if((x|0)==(A|0))D=-1;else{r=(x-A|0)/136|0;v=0;while(1){if((f[B+(v*136|0)>>2]|0)==(c|0))break;t=v+1|0;if(t>>>0<r>>>0)v=t;else{D=-1;break a}}f[g>>2]=v;D=v}while(0);b:do if(!(b[m>>0]|0)){A=(f[y+56>>2]|0)==0;do if(!((p|0)==0|A)){if((p|0)==1?b[B+(D*136|0)+28>>0]|0:0)break;x=(f[B+(D*136|0)+60>>2]|0)-(f[B+(D*136|0)+56>>2]|0)>>2;f[e>>2]=-1;fg(B+(D*136|0)+116|0,x,e);x=tn(88)|0;r=f[a+8>>2]|0;t=f[g>>2]|0;w=f[n>>2]|0;q=w+(t*136|0)+104|0;f[x+4>>2]=0;f[x>>2]=3692;o=x+12|0;f[o>>2]=3716;z=x+64|0;f[z>>2]=0;f[x+68>>2]=0;f[x+72>>2]=0;s=x+16|0;E=s+44|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(E|0));f[x+76>>2]=r;f[x+80>>2]=q;F=x+84|0;f[F>>2]=0;f[h>>2]=3716;G=h+4|0;H=G+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=w+(t*136|0)+4|0;I=i+4|0;f[I>>2]=3716;J=i+56|0;f[J>>2]=0;K=i+60|0;f[K>>2]=0;f[i+64>>2]=0;s=i+8|0;E=s+44|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(E|0));f[G>>2]=H;s=f[w+(t*136|0)+68>>2]|0;E=((f[s+4>>2]|0)-(f[s>>2]|0)>>2>>>0)/3|0;b[e>>0]=0;hh(h+8|0,E,e);Qa[f[(f[h>>2]|0)+8>>2]&127](h);xf(j,h);xf(e,j);f[i>>2]=f[e+4>>2];E=i+4|0;dg(E,e)|0;f[e>>2]=3716;s=f[e+20>>2]|0;if(s|0)pr(s);s=f[e+8>>2]|0;if(s|0)pr(s);f[i+36>>2]=H;f[i+40>>2]=q;f[i+44>>2]=r;f[i+48>>2]=x;f[j>>2]=3716;s=f[j+20>>2]|0;if(s|0)pr(s);s=f[j+8>>2]|0;if(s|0)pr(s);f[F>>2]=a+72;f[x+8>>2]=f[i>>2];dg(o,E)|0;E=x+44|0;s=i+36|0;f[E>>2]=f[s>>2];f[E+4>>2]=f[s+4>>2];f[E+8>>2]=f[s+8>>2];f[E+12>>2]=f[s+12>>2];b[E+16>>0]=b[s+16>>0]|0;mg(z,f[J>>2]|0,f[K>>2]|0);s=x;E=f[J>>2]|0;if(E|0){L=f[K>>2]|0;if((L|0)!=(E|0))f[K>>2]=L+(~((L+-4-E|0)>>>2)<<2);pr(E)}f[I>>2]=3716;E=f[i+24>>2]|0;if(E|0)pr(E);E=f[i+12>>2]|0;if(E|0)pr(E);f[h>>2]=3716;E=f[h+20>>2]|0;if(E|0)pr(E);E=f[h+8>>2]|0;if(E|0)pr(E);M=s;N=0;O=54;break b}while(0);if(!A){v=f[a+12>>2]|0;s=(f[v+28>>2]|0)-(f[v+24>>2]|0)>>2;f[e>>2]=-1;fg(B+(D*136|0)+116|0,s,e);b[(f[n>>2]|0)+((f[g>>2]|0)*136|0)+100>>0]=0;P=B+(D*136|0)+104|0;O=26}else O=24}else O=24;while(0);if((O|0)==24){P=a+40|0;O=26}if((O|0)==26){D=(La[f[(f[a>>2]|0)+40>>2]&127](a)|0)+48|0;do if((ki(f[D>>2]|0)|0)==0?(f[y+56>>2]|0)==0:0){if(b[m>>0]|0?(B=f[a+8>>2]|0,((f[B+12>>2]|0)-(f[B+8>>2]|0)|0)>4):0){O=31;break}af(e,a,P);Q=f[e>>2]|0;R=1}else O=31;while(0);if((O|0)==31){Pd(e,a,P);Q=f[e>>2]|0;R=0}if(!Q)S=0;else{M=Q;N=R;O=54}}if((O|0)==54){O=f[g>>2]|0;if((O|0)==-1)T=a+68|0;else T=(f[n>>2]|0)+(O*136|0)+132|0;f[T>>2]=N;N=tn(76)|0;f[k>>2]=M;vl(N,k,c);c=N;N=f[k>>2]|0;f[k>>2]=0;if(N|0)Qa[f[(f[N>>2]|0)+4>>2]&127](N);N=a+188|0;k=f[N>>2]|0;if((k|0)==(f[a+192>>2]|0))Ti(a+184|0,g);else{f[k>>2]=f[g>>2];f[N>>2]=k+4}k=La[f[(f[a>>2]|0)+40>>2]&127](a)|0;f[l>>2]=c;a=k+12|0;N=f[a>>2]|0;if(N>>>0<(f[k+16>>2]|0)>>>0){f[l>>2]=0;f[N>>2]=c;f[a>>2]=N+4;U=l}else{Ng(k+8|0,l);U=l}l=f[U>>2]|0;f[U>>2]=0;if(!l)S=1;else{Qa[f[(f[l>>2]|0)+4>>2]&127](l);S=1}}C=S;u=d;return C|0}function Sb(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,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;d=u;u=u+192|0;e=d+152|0;g=d+144|0;h=d+72|0;i=d;j=d+112|0;k=d+108|0;l=d+104|0;m=a+288|0;if(b[m>>0]|0?(n=La[f[(f[a>>2]|0)+40>>2]&127](a)|0,((f[n+12>>2]|0)-(f[n+8>>2]|0)|0)>0):0){n=(La[f[(f[a>>2]|0)+40>>2]&127](a)|0)+8|0;o=f[f[n>>2]>>2]|0;f[e>>2]=c;n=o+4|0;p=o+8|0;q=f[p>>2]|0;if((q|0)==(f[o+12>>2]|0))Ti(n,e);else{f[q>>2]=c;f[p>>2]=q+4}q=f[e>>2]|0;r=o+16|0;s=o+20|0;o=f[s>>2]|0;t=f[r>>2]|0;v=o-t>>2;w=t;if((q|0)<(v|0)){x=w;y=q}else{t=q+1|0;f[g>>2]=-1;z=o;if(t>>>0<=v>>>0)if(t>>>0<v>>>0?(o=w+(t<<2)|0,(z|0)!=(o|0)):0){f[s>>2]=z+(~((z+-4-o|0)>>>2)<<2);A=q;B=w}else{A=q;B=w}else{zh(r,t-v|0,g);A=f[e>>2]|0;B=f[r>>2]|0}x=B;y=A}f[x+(y<<2)>>2]=((f[p>>2]|0)-(f[n>>2]|0)>>2)+-1;C=1;u=d;return C|0}n=(La[f[(f[a>>2]|0)+40>>2]&127](a)|0)+56|0;p=f[(f[(f[n>>2]|0)+84>>2]|0)+(c<<2)>>2]|0;n=(La[f[(f[a>>2]|0)+40>>2]&127](a)|0)+4|0;y=f[(f[(f[n>>2]|0)+8>>2]|0)+(c<<2)>>2]|0;f[g>>2]=-1;n=a+172|0;x=f[a+176>>2]|0;A=f[n>>2]|0;B=A;a:do if((x|0)==(A|0))D=-1;else{r=(x-A|0)/136|0;v=0;while(1){if((f[B+(v*136|0)>>2]|0)==(c|0))break;t=v+1|0;if(t>>>0<r>>>0)v=t;else{D=-1;break a}}f[g>>2]=v;D=v}while(0);b:do if(!(b[m>>0]|0)){A=(f[y+56>>2]|0)==0;do if(!((p|0)==0|A)){if((p|0)==1?b[B+(D*136|0)+28>>0]|0:0)break;x=(f[B+(D*136|0)+60>>2]|0)-(f[B+(D*136|0)+56>>2]|0)>>2;f[e>>2]=-1;fg(B+(D*136|0)+116|0,x,e);x=tn(88)|0;r=f[a+8>>2]|0;t=f[g>>2]|0;w=f[n>>2]|0;q=w+(t*136|0)+104|0;f[x+4>>2]=0;f[x>>2]=3692;o=x+12|0;f[o>>2]=3716;z=x+64|0;f[z>>2]=0;f[x+68>>2]=0;f[x+72>>2]=0;s=x+16|0;E=s+44|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(E|0));f[x+76>>2]=r;f[x+80>>2]=q;F=x+84|0;f[F>>2]=0;f[h>>2]=3716;G=h+4|0;H=G+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=w+(t*136|0)+4|0;I=i+4|0;f[I>>2]=3716;J=i+56|0;f[J>>2]=0;K=i+60|0;f[K>>2]=0;f[i+64>>2]=0;s=i+8|0;E=s+44|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(E|0));f[G>>2]=H;s=f[w+(t*136|0)+68>>2]|0;E=((f[s+4>>2]|0)-(f[s>>2]|0)>>2>>>0)/3|0;b[e>>0]=0;hh(h+8|0,E,e);Qa[f[(f[h>>2]|0)+8>>2]&127](h);xf(j,h);xf(e,j);f[i>>2]=f[e+4>>2];E=i+4|0;dg(E,e)|0;f[e>>2]=3716;s=f[e+20>>2]|0;if(s|0)pr(s);s=f[e+8>>2]|0;if(s|0)pr(s);f[i+36>>2]=H;f[i+40>>2]=q;f[i+44>>2]=r;f[i+48>>2]=x;f[j>>2]=3716;s=f[j+20>>2]|0;if(s|0)pr(s);s=f[j+8>>2]|0;if(s|0)pr(s);f[F>>2]=a+72;f[x+8>>2]=f[i>>2];dg(o,E)|0;E=x+44|0;s=i+36|0;f[E>>2]=f[s>>2];f[E+4>>2]=f[s+4>>2];f[E+8>>2]=f[s+8>>2];f[E+12>>2]=f[s+12>>2];b[E+16>>0]=b[s+16>>0]|0;mg(z,f[J>>2]|0,f[K>>2]|0);s=x;E=f[J>>2]|0;if(E|0){L=f[K>>2]|0;if((L|0)!=(E|0))f[K>>2]=L+(~((L+-4-E|0)>>>2)<<2);pr(E)}f[I>>2]=3716;E=f[i+24>>2]|0;if(E|0)pr(E);E=f[i+12>>2]|0;if(E|0)pr(E);f[h>>2]=3716;E=f[h+20>>2]|0;if(E|0)pr(E);E=f[h+8>>2]|0;if(E|0)pr(E);M=s;N=0;O=54;break b}while(0);if(!A){v=f[a+12>>2]|0;s=(f[v+28>>2]|0)-(f[v+24>>2]|0)>>2;f[e>>2]=-1;fg(B+(D*136|0)+116|0,s,e);b[(f[n>>2]|0)+((f[g>>2]|0)*136|0)+100>>0]=0;P=B+(D*136|0)+104|0;O=26}else O=24}else O=24;while(0);if((O|0)==24){P=a+40|0;O=26}if((O|0)==26){D=(La[f[(f[a>>2]|0)+40>>2]&127](a)|0)+48|0;do if((ki(f[D>>2]|0)|0)==0?(f[y+56>>2]|0)==0:0){if(b[m>>0]|0?(B=f[a+8>>2]|0,((f[B+12>>2]|0)-(f[B+8>>2]|0)|0)>4):0){O=31;break}af(e,a,P);Q=f[e>>2]|0;R=1}else O=31;while(0);if((O|0)==31){Pd(e,a,P);Q=f[e>>2]|0;R=0}if(!Q)S=0;else{M=Q;N=R;O=54}}if((O|0)==54){O=f[g>>2]|0;if((O|0)==-1)T=a+68|0;else T=(f[n>>2]|0)+(O*136|0)+132|0;f[T>>2]=N;N=tn(76)|0;f[k>>2]=M;vl(N,k,c);c=N;N=f[k>>2]|0;f[k>>2]=0;if(N|0)Qa[f[(f[N>>2]|0)+4>>2]&127](N);N=a+188|0;k=f[N>>2]|0;if((k|0)==(f[a+192>>2]|0))Ti(a+184|0,g);else{f[k>>2]=f[g>>2];f[N>>2]=k+4}k=La[f[(f[a>>2]|0)+40>>2]&127](a)|0;f[l>>2]=c;a=k+12|0;N=f[a>>2]|0;if(N>>>0<(f[k+16>>2]|0)>>>0){f[l>>2]=0;f[N>>2]=c;f[a>>2]=N+4;U=l}else{Ng(k+8|0,l);U=l}l=f[U>>2]|0;f[U>>2]=0;if(!l)S=1;else{Qa[f[(f[l>>2]|0)+4>>2]&127](l);S=1}}C=S;u=d;return C|0}function Tb(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=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,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=Ja,da=Ja,ea=Ja,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;e=u;u=u+48|0;g=e+20|0;i=e;j=e+8|0;k=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[k>>2]=$(1.0);l=a+80|0;m=f[l>>2]|0;f[j>>2]=0;o=j+4|0;f[o>>2]=0;f[j+8>>2]=0;if(m){if(m>>>0>1073741823)Cq(j);p=m<<2;q=tn(p)|0;f[j>>2]=q;r=q+(m<<2)|0;f[j+8>>2]=r;pj(q|0,0,p|0)|0;f[o>>2]=r;r=c+48|0;p=c+40|0;m=g+4|0;s=g+12|0;t=g+8|0;v=a+40|0;w=a+64|0;x=f[d>>2]|0;d=q;y=q;z=q;A=0;B=q;q=0;C=0;while(1){D=r;E=f[D>>2]|0;F=f[D+4>>2]|0;D=p;G=En(x+q|0,0,f[D>>2]|0,f[D+4>>2]|0)|0;D=go(G|0,I|0,E|0,F|0)|0;F=(f[f[c>>2]>>2]|0)+D|0;D=F;E=h[D>>0]|h[D+1>>0]<<8|h[D+2>>0]<<16|h[D+3>>0]<<24;D=F+4|0;F=h[D>>0]|h[D+1>>0]<<8|h[D+2>>0]<<16|h[D+3>>0]<<24;D=i;f[D>>2]=E;f[D+4>>2]=F;D=(E^318)+239^F;G=(A|0)==0;a:do if(!G){H=A+-1|0;J=(H&A|0)==0;if(!J)if(D>>>0<A>>>0)K=D;else K=(D>>>0)%(A>>>0)|0;else K=D&H;L=f[(f[g>>2]|0)+(K<<2)>>2]|0;do if(L|0?(M=f[L>>2]|0,M|0):0){b:do if(J){N=M;while(1){O=f[N+4>>2]|0;P=(O|0)==(D|0);if(!(P|(O&H|0)==(K|0))){Q=27;break b}if((P?(f[N+8>>2]|0)==(E|0):0)?(f[N+12>>2]|0)==(F|0):0){R=N;Q=26;break b}N=f[N>>2]|0;if(!N){Q=27;break}}}else{N=M;while(1){P=f[N+4>>2]|0;if((P|0)==(D|0)){if((f[N+8>>2]|0)==(E|0)?(f[N+12>>2]|0)==(F|0):0){R=N;Q=26;break b}}else{if(P>>>0<A>>>0)S=P;else S=(P>>>0)%(A>>>0)|0;if((S|0)!=(K|0)){Q=27;break b}}N=f[N>>2]|0;if(!N){Q=27;break}}}while(0);if((Q|0)==26){Q=0;f[B+(q<<2)>>2]=f[R+16>>2];T=d;U=y;V=B;X=z;Y=C;break a}else if((Q|0)==27){Q=0;if(G){Z=0;Q=46;break a}else break}}while(0);H=A+-1|0;J=(H&A|0)==0;if(!J)if(D>>>0<A>>>0)_=D;else _=(D>>>0)%(A>>>0)|0;else _=H&D;L=f[(f[g>>2]|0)+(_<<2)>>2]|0;if((L|0)!=0?(M=f[L>>2]|0,(M|0)!=0):0){if(J){J=M;while(1){L=f[J+4>>2]|0;if(!((L|0)==(D|0)|(L&H|0)==(_|0))){Z=_;Q=46;break a}if((f[J+8>>2]|0)==(E|0)?(f[J+12>>2]|0)==(F|0):0){Q=61;break a}J=f[J>>2]|0;if(!J){Z=_;Q=46;break a}}}else aa=M;while(1){J=f[aa+4>>2]|0;if((J|0)!=(D|0)){if(J>>>0<A>>>0)ba=J;else ba=(J>>>0)%(A>>>0)|0;if((ba|0)!=(_|0)){Z=_;Q=46;break a}}if((f[aa+8>>2]|0)==(E|0)?(f[aa+12>>2]|0)==(F|0):0){Q=61;break a}aa=f[aa>>2]|0;if(!aa){Z=_;Q=46;break}}}else{Z=_;Q=46}}else{Z=0;Q=46}while(0);if((Q|0)==46){Q=0;M=tn(20)|0;J=M+8|0;f[J>>2]=E;f[J+4>>2]=F;f[M+16>>2]=C;f[M+4>>2]=D;f[M>>2]=0;ca=$(((f[s>>2]|0)+1|0)>>>0);da=$(A>>>0);ea=$(n[k>>2]);do if(G|ca>$(da*ea)){J=(A>>>0<3|(A+-1&A|0)!=0)&1|A<<1;H=~~$(W($(ca/ea)))>>>0;Xh(g,J>>>0<H>>>0?H:J);J=f[m>>2]|0;H=J+-1|0;if(!(H&J)){fa=J;ga=H&D;break}if(D>>>0<J>>>0){fa=J;ga=D}else{fa=J;ga=(D>>>0)%(J>>>0)|0}}else{fa=A;ga=Z}while(0);D=(f[g>>2]|0)+(ga<<2)|0;G=f[D>>2]|0;if(!G){f[M>>2]=f[t>>2];f[t>>2]=M;f[D>>2]=t;D=f[M>>2]|0;if(D|0){F=f[D+4>>2]|0;D=fa+-1|0;if(D&fa)if(F>>>0<fa>>>0)ha=F;else ha=(F>>>0)%(fa>>>0)|0;else ha=F&D;ia=(f[g>>2]|0)+(ha<<2)|0;Q=59}}else{f[M>>2]=f[G>>2];ia=G;Q=59}if((Q|0)==59){Q=0;f[ia>>2]=M}f[s>>2]=(f[s>>2]|0)+1;Q=61}if((Q|0)==61){Q=0;G=v;D=f[G>>2]|0;F=En(D|0,f[G+4>>2]|0,C|0,0)|0;eh((f[f[w>>2]>>2]|0)+F|0,i|0,D|0)|0;D=f[j>>2]|0;f[D+(q<<2)>>2]=C;T=D;U=D;V=D;X=D;Y=C+1|0}D=q+1|0;ja=f[l>>2]|0;if(D>>>0>=ja>>>0)break;d=T;y=U;z=X;A=f[m>>2]|0;B=V;q=D;C=Y}if((Y|0)==(ja|0))ka=U;else{U=a+84|0;if(!(b[U>>0]|0)){C=f[a+72>>2]|0;q=f[a+68>>2]|0;V=q;if((C|0)==(q|0))la=T;else{B=C-q>>2;q=0;do{C=V+(q<<2)|0;f[C>>2]=f[X+(f[C>>2]<<2)>>2];q=q+1|0}while(q>>>0<B>>>0);la=T}}else{b[U>>0]=0;U=a+68|0;T=a+72|0;B=f[T>>2]|0;q=f[U>>2]|0;X=B-q>>2;V=q;q=B;if(ja>>>0<=X>>>0)if(ja>>>0<X>>>0?(B=V+(ja<<2)|0,(q|0)!=(B|0)):0){f[T>>2]=q+(~((q+-4-B|0)>>>2)<<2);ma=ja}else ma=ja;else{zh(U,ja-X|0,1284);ma=f[l>>2]|0}X=f[j>>2]|0;if(!ma)la=X;else{j=f[a+68>>2]|0;a=0;do{f[j+(a<<2)>>2]=f[X+(a<<2)>>2];a=a+1|0}while(a>>>0<ma>>>0);la=X}}f[l>>2]=Y;ka=la}if(!ka)na=Y;else{la=f[o>>2]|0;if((la|0)!=(ka|0))f[o>>2]=la+(~((la+-4-ka|0)>>>2)<<2);pr(ka);na=Y}}else na=0;Y=f[g+8>>2]|0;if(Y|0){ka=Y;do{Y=ka;ka=f[ka>>2]|0;pr(Y)}while((ka|0)!=0)}ka=f[g>>2]|0;f[g>>2]=0;if(!ka){u=e;return na|0}pr(ka);u=e;return na|0}function Ub(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=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,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=Ja,fa=Ja,ga=Ja,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;g=u;u=u+48|0;i=g+12|0;j=g+32|0;k=g;l=i+16|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[l>>2]=$(1.0);m=a+80|0;o=f[m>>2]|0;f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;if(o){if(o>>>0>1073741823)Cq(k);q=o<<2;r=tn(q)|0;f[k>>2]=r;s=r+(o<<2)|0;f[k+8>>2]=s;pj(r|0,0,q|0)|0;f[p>>2]=s;s=c+48|0;q=c+40|0;o=i+4|0;t=i+12|0;v=i+8|0;w=a+40|0;x=a+64|0;y=f[e>>2]|0;e=r;z=0;A=r;B=r;C=r;r=0;D=0;while(1){E=s;F=f[E>>2]|0;G=f[E+4>>2]|0;E=q;H=En(y+r|0,0,f[E>>2]|0,f[E+4>>2]|0)|0;E=go(H|0,I|0,F|0,G|0)|0;G=(f[f[c>>2]>>2]|0)+E|0;E=h[G>>0]|h[G+1>>0]<<8;d[j>>1]=E;G=E&255;F=(E&65535)>>>8;H=F&255;J=((E&255^318)+239<<16>>16^F)&65535;F=(z|0)==0;a:do if(!F){K=z+-1|0;L=(K&z|0)==0;if(!L)if(J>>>0<z>>>0)M=J;else M=(J>>>0)%(z>>>0)|0;else M=J&K;N=f[(f[i>>2]|0)+(M<<2)>>2]|0;do if(N|0?(O=f[N>>2]|0,O|0):0){b:do if(L){P=O;while(1){Q=f[P+4>>2]|0;R=(Q|0)==(J|0);if(!(R|(Q&K|0)==(M|0))){S=27;break b}if((R?(R=P+8|0,(b[R>>0]|0)==G<<24>>24):0)?(b[R+1>>0]|0)==H<<24>>24:0){T=P;S=26;break b}P=f[P>>2]|0;if(!P){S=27;break}}}else{P=O;while(1){R=f[P+4>>2]|0;if((R|0)==(J|0)){Q=P+8|0;if((b[Q>>0]|0)==G<<24>>24?(b[Q+1>>0]|0)==H<<24>>24:0){T=P;S=26;break b}}else{if(R>>>0<z>>>0)U=R;else U=(R>>>0)%(z>>>0)|0;if((U|0)!=(M|0)){S=27;break b}}P=f[P>>2]|0;if(!P){S=27;break}}}while(0);if((S|0)==26){S=0;f[A+(r<<2)>>2]=f[T+12>>2];V=e;X=C;Y=B;Z=A;_=D;break a}else if((S|0)==27){S=0;if(F){aa=0;S=46;break a}else break}}while(0);K=z+-1|0;L=(K&z|0)==0;if(!L)if(J>>>0<z>>>0)ba=J;else ba=(J>>>0)%(z>>>0)|0;else ba=K&J;N=f[(f[i>>2]|0)+(ba<<2)>>2]|0;if((N|0)!=0?(O=f[N>>2]|0,(O|0)!=0):0){if(L){L=O;while(1){N=f[L+4>>2]|0;if(!((N|0)==(J|0)|(N&K|0)==(ba|0))){aa=ba;S=46;break a}N=L+8|0;if((b[N>>0]|0)==G<<24>>24?(b[N+1>>0]|0)==H<<24>>24:0){S=61;break a}L=f[L>>2]|0;if(!L){aa=ba;S=46;break a}}}else ca=O;while(1){L=f[ca+4>>2]|0;if((L|0)!=(J|0)){if(L>>>0<z>>>0)da=L;else da=(L>>>0)%(z>>>0)|0;if((da|0)!=(ba|0)){aa=ba;S=46;break a}}L=ca+8|0;if((b[L>>0]|0)==G<<24>>24?(b[L+1>>0]|0)==H<<24>>24:0){S=61;break a}ca=f[ca>>2]|0;if(!ca){aa=ba;S=46;break}}}else{aa=ba;S=46}}else{aa=0;S=46}while(0);if((S|0)==46){S=0;H=tn(16)|0;G=H+8|0;b[G>>0]=E;b[G+1>>0]=E>>8;f[H+12>>2]=D;f[H+4>>2]=J;f[H>>2]=0;ea=$(((f[t>>2]|0)+1|0)>>>0);fa=$(z>>>0);ga=$(n[l>>2]);do if(F|ea>$(fa*ga)){G=(z>>>0<3|(z+-1&z|0)!=0)&1|z<<1;O=~~$(W($(ea/ga)))>>>0;_h(i,G>>>0<O>>>0?O:G);G=f[o>>2]|0;O=G+-1|0;if(!(O&G)){ha=G;ia=O&J;break}if(J>>>0<G>>>0){ha=G;ia=J}else{ha=G;ia=(J>>>0)%(G>>>0)|0}}else{ha=z;ia=aa}while(0);J=(f[i>>2]|0)+(ia<<2)|0;F=f[J>>2]|0;if(!F){f[H>>2]=f[v>>2];f[v>>2]=H;f[J>>2]=v;J=f[H>>2]|0;if(J|0){E=f[J+4>>2]|0;J=ha+-1|0;if(J&ha)if(E>>>0<ha>>>0)ja=E;else ja=(E>>>0)%(ha>>>0)|0;else ja=E&J;ka=(f[i>>2]|0)+(ja<<2)|0;S=59}}else{f[H>>2]=f[F>>2];ka=F;S=59}if((S|0)==59){S=0;f[ka>>2]=H}f[t>>2]=(f[t>>2]|0)+1;S=61}if((S|0)==61){S=0;F=w;J=f[F>>2]|0;E=En(J|0,f[F+4>>2]|0,D|0,0)|0;eh((f[f[x>>2]>>2]|0)+E|0,j|0,J|0)|0;J=f[k>>2]|0;f[J+(r<<2)>>2]=D;V=J;X=J;Y=J;Z=J;_=D+1|0}J=r+1|0;la=f[m>>2]|0;if(J>>>0>=la>>>0)break;e=V;z=f[o>>2]|0;A=Z;B=Y;C=X;r=J;D=_}if((_|0)==(la|0))ma=Y;else{Y=a+84|0;if(!(b[Y>>0]|0)){D=f[a+72>>2]|0;r=f[a+68>>2]|0;C=r;if((D|0)==(r|0))na=V;else{B=D-r>>2;r=0;do{D=C+(r<<2)|0;f[D>>2]=f[X+(f[D>>2]<<2)>>2];r=r+1|0}while(r>>>0<B>>>0);na=V}}else{b[Y>>0]=0;Y=a+68|0;V=a+72|0;B=f[V>>2]|0;r=f[Y>>2]|0;X=B-r>>2;C=r;r=B;if(la>>>0<=X>>>0)if(la>>>0<X>>>0?(B=C+(la<<2)|0,(r|0)!=(B|0)):0){f[V>>2]=r+(~((r+-4-B|0)>>>2)<<2);oa=la}else oa=la;else{zh(Y,la-X|0,1284);oa=f[m>>2]|0}X=f[k>>2]|0;if(!oa)na=X;else{k=f[a+68>>2]|0;a=0;do{f[k+(a<<2)>>2]=f[X+(a<<2)>>2];a=a+1|0}while(a>>>0<oa>>>0);na=X}}f[m>>2]=_;ma=na}if(!ma)pa=_;else{na=f[p>>2]|0;if((na|0)!=(ma|0))f[p>>2]=na+(~((na+-4-ma|0)>>>2)<<2);pr(ma);pa=_}}else pa=0;_=f[i+8>>2]|0;if(_|0){ma=_;do{_=ma;ma=f[ma>>2]|0;pr(_)}while((ma|0)!=0)}ma=f[i>>2]|0;f[i>>2]=0;if(!ma){u=g;return pa|0}pr(ma);u=g;return pa|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,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,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0;e=u;u=u+64|0;d=e+48|0;h=e+36|0;i=e+24|0;j=e+16|0;k=e+8|0;l=e;m=e+32|0;n=a+60|0;f[a+68>>2]=g;g=a+108|0;gl(g);o=a+56|0;p=f[o>>2]|0;q=(f[p+4>>2]|0)-(f[p>>2]|0)|0;r=q>>2;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;s=i;f[s>>2]=0;f[s+4>>2]=0;s=j;f[s>>2]=0;f[s+4>>2]=0;s=k;f[s>>2]=0;f[s+4>>2]=0;s=l;f[s>>2]=0;f[s+4>>2]=0;if((q|0)<=0){u=e;return 1}q=h+4|0;s=h+8|0;t=a+104|0;v=i+4|0;w=a+100|0;x=j+4|0;y=a+8|0;z=a+16|0;A=a+32|0;B=a+12|0;C=a+28|0;D=a+20|0;E=a+24|0;F=a+96|0;a=k+4|0;G=l+4|0;H=f[p>>2]|0;if((f[p+4>>2]|0)==(H|0)){J=p;Cq(J)}else{K=H;L=0}while(1){f[m>>2]=f[K+(L<<2)>>2];f[d>>2]=f[m>>2];ec(n,d,h);H=f[h>>2]|0;p=(H|0)>-1?H:0-H|0;M=f[q>>2]|0;N=(M|0)>-1?M:0-M|0;O=go(N|0,((N|0)<0)<<31>>31|0,p|0,((p|0)<0)<<31>>31|0)|0;p=f[s>>2]|0;N=(p|0)>-1;P=N?p:0-p|0;p=go(O|0,I|0,P|0,((P|0)<0)<<31>>31|0)|0;P=I;O=f[t>>2]|0;if((p|0)==0&(P|0)==0){Q=h;R=O}else{S=((O|0)<0)<<31>>31;T=En(O|0,S|0,H|0,((H|0)<0)<<31>>31|0)|0;H=Jk(T|0,I|0,p|0,P|0)|0;f[h>>2]=H;T=En(O|0,S|0,M|0,((M|0)<0)<<31>>31|0)|0;M=Jk(T|0,I|0,p|0,P|0)|0;f[q>>2]=M;P=O-((H|0)>-1?H:0-H|0)-((M|0)>-1?M:0-M|0)|0;Q=s;R=N?P:0-P|0}f[Q>>2]=R;P=f[h>>2]|0;N=f[q>>2]|0;M=f[s>>2]|0;if((P|0)<=-1){H=(M|0)>-1?M:0-M|0;if((N|0)<0)U=H;else U=(f[w>>2]|0)-H|0;H=(N|0)>-1?N:0-N|0;if((M|0)<0){V=U;W=H}else{V=U;W=(f[w>>2]|0)-H|0}}else{V=O+N|0;W=O+M|0}H=(V|0)==0;p=(W|0)==0;T=f[w>>2]|0;do if((W|V|0)!=0?(S=(T|0)==(W|0),X=(T|0)==(V|0),!(H&S|p&X)):0){if(H&(O|0)<(W|0)){Y=0;Z=(O<<1)-W|0;break}if(X&(O|0)>(W|0)){Y=V;Z=(O<<1)-W|0;break}if(S&(O|0)>(V|0)){Y=(O<<1)-V|0;Z=W;break}if(p){Y=(O|0)<(V|0)?(O<<1)-V|0:V;Z=0}else{Y=V;Z=W}}else{Y=T;Z=T}while(0);f[i>>2]=Y;f[v>>2]=Z;p=0-N|0;H=0-M|0;f[h>>2]=0-P;f[q>>2]=p;f[s>>2]=H;if((P|0)<1){_=O-N|0;$=O-M|0}else{S=(M|0)<1?H:M;H=(N|0)<1?p:N;_=(N|0)>0?S:T-S|0;$=(M|0)>0?H:T-H|0}H=(_|0)==0;S=($|0)==0;do if(($|_|0)!=0?(p=(T|0)==($|0),X=(T|0)==(_|0),!(H&p|S&X)):0){if(H&(O|0)<($|0)){aa=0;ba=(O<<1)-$|0;break}if(X&(O|0)>($|0)){aa=T;ba=(O<<1)-$|0;break}if(p&(O|0)>(_|0)){aa=(O<<1)-_|0;ba=T;break}if(S){aa=(O|0)<(_|0)?(O<<1)-_|0:_;ba=0}else{aa=_;ba=$}}else{aa=T;ba=T}while(0);f[j>>2]=aa;f[x>>2]=ba;T=L<<1;O=b+(T<<2)|0;S=f[y>>2]|0;if((S|0)>0){H=S;S=0;M=i;while(1){if((H|0)>0){N=0;do{P=f[M+(N<<2)>>2]|0;p=f[z>>2]|0;if((P|0)>(p|0)){X=f[A>>2]|0;f[X+(N<<2)>>2]=p;ca=X}else{X=f[B>>2]|0;p=f[A>>2]|0;f[p+(N<<2)>>2]=(P|0)<(X|0)?X:P;ca=p}N=N+1|0;p=f[y>>2]|0}while((N|0)<(p|0));da=ca;ea=p}else{da=f[A>>2]|0;ea=H}N=(f[O+(S<<2)>>2]|0)-(f[da+(S<<2)>>2]|0)|0;p=k+(S<<2)|0;f[p>>2]=N;fa=f[C>>2]|0;if((N|0)>=(fa|0)){if((N|0)>(f[E>>2]|0)){ga=N-(f[D>>2]|0)|0;ha=47}}else{ga=(f[D>>2]|0)+N|0;ha=47}if((ha|0)==47){ha=0;f[p>>2]=ga}S=S+1|0;if((S|0)>=(ea|0))break;else{H=ea;M=da}}if((ea|0)>0){M=fa;H=ea;S=0;p=j;while(1){if((H|0)>0){N=0;do{P=f[p+(N<<2)>>2]|0;X=f[z>>2]|0;if((P|0)>(X|0))f[da+(N<<2)>>2]=X;else{X=f[B>>2]|0;f[da+(N<<2)>>2]=(P|0)<(X|0)?X:P}N=N+1|0;ia=f[y>>2]|0}while((N|0)<(ia|0));ja=ia;ka=f[C>>2]|0}else{ja=H;ka=M}N=(f[O+(S<<2)>>2]|0)-(f[da+(S<<2)>>2]|0)|0;P=l+(S<<2)|0;f[P>>2]=N;if((N|0)>=(ka|0)){if((N|0)>(f[E>>2]|0)){la=N-(f[D>>2]|0)|0;ha=60}}else{la=(f[D>>2]|0)+N|0;ha=60}if((ha|0)==60){ha=0;f[P>>2]=la}S=S+1|0;if((S|0)>=(ja|0))break;else{M=ka;H=ja;p=da}}}}p=f[k>>2]|0;H=f[t>>2]|0;if((H|0)>=(p|0))if((p|0)<(0-H|0))ma=(f[F>>2]|0)+p|0;else ma=p;else ma=p-(f[F>>2]|0)|0;f[k>>2]=ma;p=f[a>>2]|0;if((H|0)>=(p|0))if((p|0)<(0-H|0))na=(f[F>>2]|0)+p|0;else na=p;else na=p-(f[F>>2]|0)|0;f[a>>2]=na;p=f[l>>2]|0;if((H|0)>=(p|0))if((p|0)<(0-H|0))oa=(f[F>>2]|0)+p|0;else oa=p;else oa=p-(f[F>>2]|0)|0;f[l>>2]=oa;p=f[G>>2]|0;if((H|0)>=(p|0))if((p|0)<(0-H|0))pa=(f[F>>2]|0)+p|0;else pa=p;else pa=p-(f[F>>2]|0)|0;f[G>>2]=pa;if((((na|0)>-1?na:0-na|0)+((ma|0)>-1?ma:0-ma|0)|0)<(((oa|0)>-1?oa:0-oa|0)+((pa|0)>-1?pa:0-pa|0)|0)){dj(g,0);qa=k}else{dj(g,1);qa=l}p=f[qa>>2]|0;if((p|0)<0)ra=(f[F>>2]|0)+p|0;else ra=p;p=c+(T<<2)|0;f[p>>2]=ra;H=f[qa+4>>2]|0;if((H|0)<0)sa=(f[F>>2]|0)+H|0;else sa=H;f[p+4>>2]=sa;L=L+1|0;if((L|0)>=(r|0)){ha=3;break}p=f[o>>2]|0;K=f[p>>2]|0;if((f[p+4>>2]|0)-K>>2>>>0<=L>>>0){J=p;ha=4;break}}if((ha|0)==3){u=e;return 1}else if((ha|0)==4)Cq(J);return 0}function Wb(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,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0;e=u;u=u+64|0;d=e+48|0;h=e+36|0;i=e+24|0;j=e+16|0;k=e+8|0;l=e;m=e+32|0;n=a+60|0;f[a+68>>2]=g;g=a+108|0;gl(g);o=a+56|0;p=f[o>>2]|0;q=(f[p+4>>2]|0)-(f[p>>2]|0)|0;r=q>>2;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;s=i;f[s>>2]=0;f[s+4>>2]=0;s=j;f[s>>2]=0;f[s+4>>2]=0;s=k;f[s>>2]=0;f[s+4>>2]=0;s=l;f[s>>2]=0;f[s+4>>2]=0;if((q|0)<=0){u=e;return 1}q=h+4|0;s=h+8|0;t=a+104|0;v=i+4|0;w=a+100|0;x=j+4|0;y=a+8|0;z=a+16|0;A=a+32|0;B=a+12|0;C=a+28|0;D=a+20|0;E=a+24|0;F=a+96|0;a=k+4|0;G=l+4|0;H=f[p>>2]|0;if((f[p+4>>2]|0)==(H|0)){J=p;Cq(J)}else{K=H;L=0}while(1){f[m>>2]=f[K+(L<<2)>>2];f[d>>2]=f[m>>2];Zb(n,d,h);H=f[h>>2]|0;p=(H|0)>-1?H:0-H|0;M=f[q>>2]|0;N=(M|0)>-1?M:0-M|0;O=go(N|0,((N|0)<0)<<31>>31|0,p|0,((p|0)<0)<<31>>31|0)|0;p=f[s>>2]|0;N=(p|0)>-1;P=N?p:0-p|0;p=go(O|0,I|0,P|0,((P|0)<0)<<31>>31|0)|0;P=I;O=f[t>>2]|0;if((p|0)==0&(P|0)==0){Q=h;R=O}else{S=((O|0)<0)<<31>>31;T=En(O|0,S|0,H|0,((H|0)<0)<<31>>31|0)|0;H=Jk(T|0,I|0,p|0,P|0)|0;f[h>>2]=H;T=En(O|0,S|0,M|0,((M|0)<0)<<31>>31|0)|0;M=Jk(T|0,I|0,p|0,P|0)|0;f[q>>2]=M;P=O-((H|0)>-1?H:0-H|0)-((M|0)>-1?M:0-M|0)|0;Q=s;R=N?P:0-P|0}f[Q>>2]=R;P=f[h>>2]|0;N=f[q>>2]|0;M=f[s>>2]|0;if((P|0)<=-1){H=(M|0)>-1?M:0-M|0;if((N|0)<0)U=H;else U=(f[w>>2]|0)-H|0;H=(N|0)>-1?N:0-N|0;if((M|0)<0){V=U;W=H}else{V=U;W=(f[w>>2]|0)-H|0}}else{V=O+N|0;W=O+M|0}H=(V|0)==0;p=(W|0)==0;T=f[w>>2]|0;do if((W|V|0)!=0?(S=(T|0)==(W|0),X=(T|0)==(V|0),!(H&S|p&X)):0){if(H&(O|0)<(W|0)){Y=0;Z=(O<<1)-W|0;break}if(X&(O|0)>(W|0)){Y=V;Z=(O<<1)-W|0;break}if(S&(O|0)>(V|0)){Y=(O<<1)-V|0;Z=W;break}if(p){Y=(O|0)<(V|0)?(O<<1)-V|0:V;Z=0}else{Y=V;Z=W}}else{Y=T;Z=T}while(0);f[i>>2]=Y;f[v>>2]=Z;p=0-N|0;H=0-M|0;f[h>>2]=0-P;f[q>>2]=p;f[s>>2]=H;if((P|0)<1){_=O-N|0;$=O-M|0}else{S=(M|0)<1?H:M;H=(N|0)<1?p:N;_=(N|0)>0?S:T-S|0;$=(M|0)>0?H:T-H|0}H=(_|0)==0;S=($|0)==0;do if(($|_|0)!=0?(p=(T|0)==($|0),X=(T|0)==(_|0),!(H&p|S&X)):0){if(H&(O|0)<($|0)){aa=0;ba=(O<<1)-$|0;break}if(X&(O|0)>($|0)){aa=T;ba=(O<<1)-$|0;break}if(p&(O|0)>(_|0)){aa=(O<<1)-_|0;ba=T;break}if(S){aa=(O|0)<(_|0)?(O<<1)-_|0:_;ba=0}else{aa=_;ba=$}}else{aa=T;ba=T}while(0);f[j>>2]=aa;f[x>>2]=ba;T=L<<1;O=b+(T<<2)|0;S=f[y>>2]|0;if((S|0)>0){H=S;S=0;M=i;while(1){if((H|0)>0){N=0;do{P=f[M+(N<<2)>>2]|0;p=f[z>>2]|0;if((P|0)>(p|0)){X=f[A>>2]|0;f[X+(N<<2)>>2]=p;ca=X}else{X=f[B>>2]|0;p=f[A>>2]|0;f[p+(N<<2)>>2]=(P|0)<(X|0)?X:P;ca=p}N=N+1|0;p=f[y>>2]|0}while((N|0)<(p|0));da=ca;ea=p}else{da=f[A>>2]|0;ea=H}N=(f[O+(S<<2)>>2]|0)-(f[da+(S<<2)>>2]|0)|0;p=k+(S<<2)|0;f[p>>2]=N;fa=f[C>>2]|0;if((N|0)>=(fa|0)){if((N|0)>(f[E>>2]|0)){ga=N-(f[D>>2]|0)|0;ha=47}}else{ga=(f[D>>2]|0)+N|0;ha=47}if((ha|0)==47){ha=0;f[p>>2]=ga}S=S+1|0;if((S|0)>=(ea|0))break;else{H=ea;M=da}}if((ea|0)>0){M=fa;H=ea;S=0;p=j;while(1){if((H|0)>0){N=0;do{P=f[p+(N<<2)>>2]|0;X=f[z>>2]|0;if((P|0)>(X|0))f[da+(N<<2)>>2]=X;else{X=f[B>>2]|0;f[da+(N<<2)>>2]=(P|0)<(X|0)?X:P}N=N+1|0;ia=f[y>>2]|0}while((N|0)<(ia|0));ja=ia;ka=f[C>>2]|0}else{ja=H;ka=M}N=(f[O+(S<<2)>>2]|0)-(f[da+(S<<2)>>2]|0)|0;P=l+(S<<2)|0;f[P>>2]=N;if((N|0)>=(ka|0)){if((N|0)>(f[E>>2]|0)){la=N-(f[D>>2]|0)|0;ha=60}}else{la=(f[D>>2]|0)+N|0;ha=60}if((ha|0)==60){ha=0;f[P>>2]=la}S=S+1|0;if((S|0)>=(ja|0))break;else{M=ka;H=ja;p=da}}}}p=f[k>>2]|0;H=f[t>>2]|0;if((H|0)>=(p|0))if((p|0)<(0-H|0))ma=(f[F>>2]|0)+p|0;else ma=p;else ma=p-(f[F>>2]|0)|0;f[k>>2]=ma;p=f[a>>2]|0;if((H|0)>=(p|0))if((p|0)<(0-H|0))na=(f[F>>2]|0)+p|0;else na=p;else na=p-(f[F>>2]|0)|0;f[a>>2]=na;p=f[l>>2]|0;if((H|0)>=(p|0))if((p|0)<(0-H|0))oa=(f[F>>2]|0)+p|0;else oa=p;else oa=p-(f[F>>2]|0)|0;f[l>>2]=oa;p=f[G>>2]|0;if((H|0)>=(p|0))if((p|0)<(0-H|0))pa=(f[F>>2]|0)+p|0;else pa=p;else pa=p-(f[F>>2]|0)|0;f[G>>2]=pa;if((((na|0)>-1?na:0-na|0)+((ma|0)>-1?ma:0-ma|0)|0)<(((oa|0)>-1?oa:0-oa|0)+((pa|0)>-1?pa:0-pa|0)|0)){dj(g,0);qa=k}else{dj(g,1);qa=l}p=f[qa>>2]|0;if((p|0)<0)ra=(f[F>>2]|0)+p|0;else ra=p;p=c+(T<<2)|0;f[p>>2]=ra;H=f[qa+4>>2]|0;if((H|0)<0)sa=(f[F>>2]|0)+H|0;else sa=H;f[p+4>>2]=sa;L=L+1|0;if((L|0)>=(r|0)){ha=3;break}p=f[o>>2]|0;K=f[p>>2]|0;if((f[p+4>>2]|0)-K>>2>>>0<=L>>>0){J=p;ha=4;break}}if((ha|0)==3){u=e;return 1}else if((ha|0)==4)Cq(J);return 0}function Xb(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,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;c=u;u=u+16|0;d=c+8|0;e=c;g=c+4|0;h=a+16|0;i=f[h>>2]|0;j=a+20|0;k=f[j>>2]|0;if((k|0)==(i|0))l=i;else{m=k+(~((k+-4-i|0)>>>2)<<2)|0;f[j>>2]=m;l=m}m=a+24|0;if((l|0)==(f[m>>2]|0)){Ti(h,b);n=f[h>>2]|0;o=f[j>>2]|0}else{f[l>>2]=f[b>>2];k=l+4|0;f[j>>2]=k;n=i;o=k}k=f[a+8>>2]|0;i=(f[k+100>>2]|0)-(f[k+96>>2]|0)|0;k=(i|0)/12|0;if((n|0)==(o|0)){u=c;return 1}n=a+28|0;l=(i|0)>0;i=a+164|0;p=a+12|0;q=a+76|0;r=a+80|0;s=a+72|0;t=a+200|0;v=a+320|0;w=a+152|0;x=a+84|0;y=a+324|0;z=a+292|0;A=a+304|0;B=a+316|0;C=a+328|0;D=a+336|0;E=a+332|0;F=a+168|0;G=a+140|0;H=a+120|0;I=o;do{o=f[I+-4>>2]|0;f[b>>2]=o;a:do if((o|0)!=-1?(J=(o>>>0)/3|0,K=f[n>>2]|0,(f[K+(J>>>5<<2)>>2]&1<<(J&31)|0)==0):0){if(l){J=K;K=0;b:while(1){L=K+1|0;f[i>>2]=(f[i>>2]|0)+1;M=f[b>>2]|0;N=(M|0)==-1?-1:(M>>>0)/3|0;M=J+(N>>>5<<2)|0;f[M>>2]=1<<(N&31)|f[M>>2];M=f[q>>2]|0;if((M|0)==(f[r>>2]|0))Ti(s,b);else{f[M>>2]=f[b>>2];f[q>>2]=M+4}f[v>>2]=f[b>>2];M=f[b>>2]|0;if((M|0)==-1)O=-1;else O=f[(f[f[p>>2]>>2]|0)+(M<<2)>>2]|0;P=(f[(f[w>>2]|0)+(O<<2)>>2]|0)!=-1;Q=(f[x>>2]|0)+(O>>>5<<2)|0;R=1<<(O&31);S=f[Q>>2]|0;do if(!(S&R)){f[Q>>2]=S|R;if(P){T=f[b>>2]|0;U=38;break}f[y>>2]=(f[y>>2]|0)+1;V=f[v>>2]|0;W=V+1|0;do if((V|0)!=-1){X=((W>>>0)%3|0|0)==0?V+-2|0:W;if(!((V>>>0)%3|0)){Y=X;Z=V+2|0;break}else{Y=X;Z=V+-1|0;break}}else{Y=-1;Z=-1}while(0);V=f[z>>2]|0;W=f[A>>2]|0;X=W+(f[V+(Y<<2)>>2]<<2)|0;_=f[X>>2]|0;f[X>>2]=_+-1;X=W+(f[V+(Z<<2)>>2]<<2)|0;f[X>>2]=(f[X>>2]|0)+-1;X=f[B>>2]|0;if((X|0)!=-1){V=f[C>>2]|0;if((_|0)<(V|0))$=V;else{W=f[E>>2]|0;$=(_|0)>(W|0)?W:_}_=$-V|0;V=f[D>>2]|0;W=f[3852+(X<<2)>>2]|0;f[d>>2]=W;X=V+(_*12|0)+4|0;aa=f[X>>2]|0;if(aa>>>0<(f[V+(_*12|0)+8>>2]|0)>>>0){f[aa>>2]=W;f[X>>2]=aa+4}else Ti(V+(_*12|0)|0,d)}f[B>>2]=0;_=f[b>>2]|0;V=_+1|0;if((_|0)!=-1?(aa=((V>>>0)%3|0|0)==0?_+-2|0:V,(aa|0)!=-1):0)ba=f[(f[(f[p>>2]|0)+12>>2]|0)+(aa<<2)>>2]|0;else ba=-1;f[b>>2]=ba}else{T=M;U=38}while(0);if((U|0)==38){U=0;M=T+1|0;if((T|0)==-1){U=43;break}R=((M>>>0)%3|0|0)==0?T+-2|0:M;if((R|0)==-1)ca=-1;else ca=f[(f[(f[p>>2]|0)+12>>2]|0)+(R<<2)>>2]|0;f[e>>2]=ca;R=(((T>>>0)%3|0|0)==0?2:-1)+T|0;if((R|0)==-1)da=-1;else da=f[(f[(f[p>>2]|0)+12>>2]|0)+(R<<2)>>2]|0;R=(ca|0)==-1;S=(ca>>>0)/3|0;ea=(da|0)==-1;fa=ea?-1:(da>>>0)/3|0;Q=((M>>>0)%3|0|0)==0?T+-2|0:M;if(((Q|0)!=-1?(M=f[(f[p>>2]|0)+12>>2]|0,aa=f[M+(Q<<2)>>2]|0,(aa|0)!=-1):0)?(Q=(aa>>>0)/3|0,aa=f[n>>2]|0,(f[aa+(Q>>>5<<2)>>2]&1<<(Q&31)|0)==0):0){Q=(((T>>>0)%3|0|0)==0?2:-1)+T|0;do if((Q|0)!=-1){V=f[M+(Q<<2)>>2]|0;if((V|0)==-1)break;_=(V>>>0)/3|0;if(!(f[aa+(_>>>5<<2)>>2]&1<<(_&31))){U=62;break b}}while(0);if(!ea)sf(a,f[i>>2]|0,N,0,fa);jd(t,3);ga=f[e>>2]|0}else{if(!R){sf(a,f[i>>2]|0,N,1,S);aa=f[b>>2]|0;if((aa|0)==-1){U=52;break}else ha=aa}else ha=T;aa=(((ha>>>0)%3|0|0)==0?2:-1)+ha|0;if((aa|0)==-1){U=52;break}Q=f[(f[(f[p>>2]|0)+12>>2]|0)+(aa<<2)>>2]|0;if((Q|0)==-1){U=52;break}aa=(Q>>>0)/3|0;if(f[(f[n>>2]|0)+(aa>>>5<<2)>>2]&1<<(aa&31)|0){U=52;break}jd(t,5);ga=da}f[b>>2]=ga}if((L|0)>=(k|0))break a;J=f[n>>2]|0;K=L}do if((U|0)==43){U=0;f[e>>2]=-1;U=54}else if((U|0)==52){U=0;if(ea)U=54;else{sf(a,f[i>>2]|0,N,0,fa);U=54}}else if((U|0)==62){U=0;jd(t,1);f[F>>2]=(f[F>>2]|0)+1;if(P?(K=f[(f[w>>2]|0)+(O<<2)>>2]|0,(1<<(K&31)&f[(f[G>>2]|0)+(K>>>5<<2)>>2]|0)==0):0){f[g>>2]=f[b>>2];f[d>>2]=f[g>>2];Je(a,d,0)|0}K=f[i>>2]|0;f[d>>2]=N;J=Yd(H,d)|0;f[J>>2]=K;K=f[j>>2]|0;f[K+-4>>2]=da;if((K|0)==(f[m>>2]|0)){Ti(h,e);break}else{f[K>>2]=f[e>>2];f[j>>2]=K+4;break}}while(0);if((U|0)==54){U=0;jd(t,7);f[j>>2]=(f[j>>2]|0)+-4}}}else U=11;while(0);if((U|0)==11){U=0;f[j>>2]=I+-4}I=f[j>>2]|0}while((f[h>>2]|0)!=(I|0));u=c;return 1}function Yb(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=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=Ja,K=Ja,L=Ja,M=0,N=0,O=0,P=0;e=u;u=u+64|0;g=e+40|0;i=e+16|0;j=e;k=Cd(a,c)|0;if(k|0){f[i>>2]=k;f[g>>2]=f[i>>2];hf(a,g)|0}f[j>>2]=0;k=j+4|0;f[k>>2]=0;f[j+8>>2]=0;Bi(j,8);l=d;d=l;m=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;d=l+4|0;l=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;d=f[j>>2]|0;o=d;b[o>>0]=m;b[o+1>>0]=m>>8;b[o+2>>0]=m>>16;b[o+3>>0]=m>>24;m=d+4|0;b[m>>0]=l;b[m+1>>0]=l>>8;b[m+2>>0]=l>>16;b[m+3>>0]=l>>24;nj(i,c);c=i+12|0;f[c>>2]=0;l=i+16|0;f[l>>2]=0;f[i+20>>2]=0;m=f[k>>2]|0;d=f[j>>2]|0;o=m-d|0;if(!o){p=d;q=m;r=0}else{Bi(c,o);p=f[j>>2]|0;q=f[k>>2]|0;r=f[c>>2]|0}eh(r|0,p|0,q-p|0)|0;p=i+11|0;q=b[p>>0]|0;r=q<<24>>24<0;c=r?f[i>>2]|0:i;o=r?f[i+4>>2]|0:q&255;if(o>>>0>3){q=c;r=o;m=o;while(1){d=X(h[q>>0]|h[q+1>>0]<<8|h[q+2>>0]<<16|h[q+3>>0]<<24,1540483477)|0;r=(X(d>>>24^d,1540483477)|0)^(X(r,1540483477)|0);m=m+-4|0;if(m>>>0<=3)break;else q=q+4|0}q=o+-4|0;m=q&-4;s=c+(m+4)|0;t=r;v=q-m|0}else{s=c;t=o;v=o}switch(v|0){case 3:{w=h[s+2>>0]<<16^t;x=10;break}case 2:{w=t;x=10;break}case 1:{y=t;x=11;break}default:z=t}if((x|0)==10){y=h[s+1>>0]<<8^w;x=11}if((x|0)==11)z=X(h[s>>0]^y,1540483477)|0;y=X(z>>>13^z,1540483477)|0;z=y>>>15^y;y=a+4|0;s=f[y>>2]|0;w=(s|0)==0;a:do if(!w){t=s+-1|0;v=(t&s|0)==0;if(!v)if(z>>>0<s>>>0)A=z;else A=(z>>>0)%(s>>>0)|0;else A=z&t;m=f[(f[a>>2]|0)+(A<<2)>>2]|0;if((m|0)!=0?(q=f[m>>2]|0,(q|0)!=0):0){m=(o|0)==0;if(v){if(m){v=q;while(1){r=f[v+4>>2]|0;if(!((r|0)==(z|0)|(r&t|0)==(A|0))){B=A;x=52;break a}r=b[v+8+11>>0]|0;if(!((r<<24>>24<0?f[v+12>>2]|0:r&255)|0))break a;v=f[v>>2]|0;if(!v){B=A;x=52;break a}}}else C=q;while(1){v=f[C+4>>2]|0;if(!((v|0)==(z|0)|(v&t|0)==(A|0))){B=A;x=52;break a}v=C+8|0;r=b[v+11>>0]|0;d=r<<24>>24<0;D=r&255;do if(((d?f[C+12>>2]|0:D)|0)==(o|0)){r=f[v>>2]|0;if(d)if(!(Yk(r,c,o)|0))break a;else break;if((r&255)<<24>>24==(b[c>>0]|0)){r=D;E=v;F=c;do{r=r+-1|0;E=E+1|0;if(!r)break a;F=F+1|0}while((b[E>>0]|0)==(b[F>>0]|0))}}while(0);C=f[C>>2]|0;if(!C){B=A;x=52;break a}}}if(m){t=q;while(1){v=f[t+4>>2]|0;if((v|0)!=(z|0)){if(v>>>0<s>>>0)G=v;else G=(v>>>0)%(s>>>0)|0;if((G|0)!=(A|0)){B=A;x=52;break a}}v=b[t+8+11>>0]|0;if(!((v<<24>>24<0?f[t+12>>2]|0:v&255)|0))break a;t=f[t>>2]|0;if(!t){B=A;x=52;break a}}}else H=q;while(1){t=f[H+4>>2]|0;if((t|0)!=(z|0)){if(t>>>0<s>>>0)I=t;else I=(t>>>0)%(s>>>0)|0;if((I|0)!=(A|0)){B=A;x=52;break a}}t=H+8|0;m=b[t+11>>0]|0;v=m<<24>>24<0;D=m&255;do if(((v?f[H+12>>2]|0:D)|0)==(o|0)){m=f[t>>2]|0;if(v)if(!(Yk(m,c,o)|0))break a;else break;if((m&255)<<24>>24==(b[c>>0]|0)){m=D;d=t;F=c;do{m=m+-1|0;d=d+1|0;if(!m)break a;F=F+1|0}while((b[d>>0]|0)==(b[F>>0]|0))}}while(0);H=f[H>>2]|0;if(!H){B=A;x=52;break}}}else{B=A;x=52}}else{B=0;x=52}while(0);if((x|0)==52){lh(g,a,z,i);x=a+12|0;J=$(((f[x>>2]|0)+1|0)>>>0);K=$(s>>>0);L=$(n[a+16>>2]);do if(w|J>$(K*L)){A=(s>>>0<3|(s+-1&s|0)!=0)&1|s<<1;H=~~$(W($(J/L)))>>>0;ci(a,A>>>0<H>>>0?H:A);A=f[y>>2]|0;H=A+-1|0;if(!(H&A)){M=A;N=H&z;break}if(z>>>0<A>>>0){M=A;N=z}else{M=A;N=(z>>>0)%(A>>>0)|0}}else{M=s;N=B}while(0);B=f[(f[a>>2]|0)+(N<<2)>>2]|0;if(!B){s=a+8|0;f[f[g>>2]>>2]=f[s>>2];f[s>>2]=f[g>>2];f[(f[a>>2]|0)+(N<<2)>>2]=s;s=f[g>>2]|0;N=f[s>>2]|0;if(!N)O=g;else{z=f[N+4>>2]|0;N=M+-1|0;if(N&M)if(z>>>0<M>>>0)P=z;else P=(z>>>0)%(M>>>0)|0;else P=z&N;f[(f[a>>2]|0)+(P<<2)>>2]=s;O=g}}else{f[f[g>>2]>>2]=f[B>>2];f[B>>2]=f[g>>2];O=g}f[x>>2]=(f[x>>2]|0)+1;f[O>>2]=0}O=f[i+12>>2]|0;if(O|0){if((f[l>>2]|0)!=(O|0))f[l>>2]=O;pr(O)}if((b[p>>0]|0)<0)pr(f[i>>2]|0);i=f[j>>2]|0;if(!i){u=e;return}if((f[k>>2]|0)!=(i|0))f[k>>2]=i;pr(i);u=e;return}function Zb(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,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0;e=u;u=u+96|0;g=e+92|0;h=e+88|0;i=e+72|0;j=e+48|0;k=e+24|0;l=e;m=a+16|0;n=f[m>>2]|0;o=f[c>>2]|0;f[i>>2]=n;f[i+4>>2]=o;c=i+8|0;f[c>>2]=o;b[i+12>>0]=1;p=(o|0)==-1;if(p)q=-1;else q=f[(f[n>>2]|0)+(o<<2)>>2]|0;n=a+20|0;r=f[n>>2]|0;s=f[r>>2]|0;if((f[r+4>>2]|0)-s>>2>>>0<=q>>>0)Cq(r);r=a+8|0;t=f[(f[r>>2]|0)+(f[s+(q<<2)>>2]<<2)>>2]|0;q=a+4|0;s=f[q>>2]|0;if(!(b[s+84>>0]|0))v=f[(f[s+68>>2]|0)+(t<<2)>>2]|0;else v=t;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[h>>2]=v;v=b[s+24>>0]|0;f[g>>2]=f[h>>2];qb(s,g,v,j)|0;v=a+28|0;a=(f[v>>2]|0)==0;a:do if(!p){s=k+8|0;t=j+8|0;w=k+16|0;x=j+16|0;y=l+8|0;z=l+16|0;A=o;B=0;C=0;D=0;E=0;F=0;G=0;H=o;J=a;K=o;while(1){do if(J){L=H+1|0;if((H|0)==-1){M=A;N=-1;O=-1;P=-1;break}Q=((L>>>0)%3|0|0)==0?H+-2|0:L;if((A|0)!=-1)if(!((A>>>0)%3|0)){R=A;S=A;T=Q;U=A+2|0;V=19;break}else{R=A;S=A;T=Q;U=A+-1|0;V=19;break}else{R=-1;S=-1;T=Q;U=-1;V=19}}else{Q=K+1|0;L=((Q>>>0)%3|0|0)==0?K+-2|0:Q;if(!((K>>>0)%3|0)){R=A;S=H;T=L;U=K+2|0;V=19;break}else{R=A;S=H;T=L;U=K+-1|0;V=19;break}}while(0);if((V|0)==19){V=0;if((T|0)==-1){M=R;N=S;O=U;P=-1}else{M=R;N=S;O=U;P=f[(f[f[m>>2]>>2]|0)+(T<<2)>>2]|0}}W=f[n>>2]|0;L=f[W>>2]|0;if((f[W+4>>2]|0)-L>>2>>>0<=P>>>0){V=22;break}Q=f[(f[r>>2]|0)+(f[L+(P<<2)>>2]<<2)>>2]|0;L=f[q>>2]|0;if(!(b[L+84>>0]|0))X=f[(f[L+68>>2]|0)+(Q<<2)>>2]|0;else X=Q;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;f[h>>2]=X;Q=b[L+24>>0]|0;f[g>>2]=f[h>>2];qb(L,g,Q,k)|0;if((O|0)==-1)Y=-1;else Y=f[(f[f[m>>2]>>2]|0)+(O<<2)>>2]|0;Z=f[n>>2]|0;Q=f[Z>>2]|0;if((f[Z+4>>2]|0)-Q>>2>>>0<=Y>>>0){V=28;break}L=f[(f[r>>2]|0)+(f[Q+(Y<<2)>>2]<<2)>>2]|0;Q=f[q>>2]|0;if(!(b[Q+84>>0]|0))_=f[(f[Q+68>>2]|0)+(L<<2)>>2]|0;else _=L;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;f[h>>2]=_;L=b[Q+24>>0]|0;f[g>>2]=f[h>>2];qb(Q,g,L,l)|0;L=k;Q=j;$=f[Q>>2]|0;aa=f[Q+4>>2]|0;Q=io(f[L>>2]|0,f[L+4>>2]|0,$|0,aa|0)|0;L=I;ba=s;ca=t;da=f[ca>>2]|0;ea=f[ca+4>>2]|0;ca=io(f[ba>>2]|0,f[ba+4>>2]|0,da|0,ea|0)|0;ba=I;fa=w;ga=x;ha=f[ga>>2]|0;ia=f[ga+4>>2]|0;ga=io(f[fa>>2]|0,f[fa+4>>2]|0,ha|0,ia|0)|0;fa=I;ja=l;ka=io(f[ja>>2]|0,f[ja+4>>2]|0,$|0,aa|0)|0;aa=I;$=y;ja=io(f[$>>2]|0,f[$+4>>2]|0,da|0,ea|0)|0;ea=I;da=z;$=io(f[da>>2]|0,f[da+4>>2]|0,ha|0,ia|0)|0;ia=I;ha=En($|0,ia|0,ca|0,ba|0)|0;da=I;la=En(ja|0,ea|0,ga|0,fa|0)|0;ma=I;na=En(ka|0,aa|0,ga|0,fa|0)|0;fa=I;ga=En($|0,ia|0,Q|0,L|0)|0;ia=I;$=En(ja|0,ea|0,Q|0,L|0)|0;L=I;Q=En(ka|0,aa|0,ca|0,ba|0)|0;ba=I;ca=io(B|0,C|0,la|0,ma|0)|0;ma=go(ca|0,I|0,ha|0,da|0)|0;da=I;ha=go(na|0,fa|0,D|0,E|0)|0;fa=io(ha|0,I|0,ga|0,ia|0)|0;ia=I;ga=io(F|0,G|0,Q|0,ba|0)|0;ba=go(ga|0,I|0,$|0,L|0)|0;L=I;Dh(i);K=f[c>>2]|0;$=(f[v>>2]|0)==0;if((K|0)==-1){oa=da;pa=ma;qa=ia;ra=fa;sa=L;ta=ba;ua=$;break a}else{A=M;B=ma;C=da;D=fa;E=ia;F=ba;G=L;H=N;J=$}}if((V|0)==22)Cq(W);else if((V|0)==28)Cq(Z)}else{oa=0;pa=0;qa=0;ra=0;sa=0;ta=0;ua=a}while(0);a=(oa|0)>-1|(oa|0)==-1&pa>>>0>4294967295;Z=io(0,0,pa|0,oa|0)|0;V=a?oa:I;W=(qa|0)>-1|(qa|0)==-1&ra>>>0>4294967295;N=io(0,0,ra|0,qa|0)|0;M=W?qa:I;v=(sa|0)>-1|(sa|0)==-1&ta>>>0>4294967295;c=io(0,0,ta|0,sa|0)|0;i=go((W?ra:N)|0,M|0,(v?ta:c)|0,(v?sa:I)|0)|0;v=go(i|0,I|0,(a?pa:Z)|0,V|0)|0;V=I;if(ua){if((v|0)<=536870912){va=pa;wa=ra;xa=ta;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}ua=jo(v|0,V|0,29)|0;Z=ua&7;ua=Jk(pa|0,oa|0,Z|0,0)|0;a=Jk(ra|0,qa|0,Z|0,0)|0;i=Jk(ta|0,sa|0,Z|0,0)|0;va=ua;wa=a;xa=i;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}else{if(!((V|0)>0|(V|0)==0&v>>>0>536870912)){va=pa;wa=ra;xa=ta;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}i=jo(v|0,V|0,29)|0;V=I;v=Jk(pa|0,oa|0,i|0,V|0)|0;oa=Jk(ra|0,qa|0,i|0,V|0)|0;qa=Jk(ta|0,sa|0,i|0,V|0)|0;va=v;wa=oa;xa=qa;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}}function _b(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=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=Ja,M=Ja,N=Ja,O=0,P=0,Q=0,R=0;e=u;u=u+64|0;g=e+40|0;i=e+16|0;j=e;k=Cd(a,c)|0;if(k|0){f[i>>2]=k;f[g>>2]=f[i>>2];hf(a,g)|0}f[j>>2]=0;k=j+4|0;f[k>>2]=0;f[j+8>>2]=0;l=d+11|0;m=b[l>>0]|0;o=d+4|0;p=f[o>>2]|0;q=m<<24>>24<0?p:m&255;if(!q){r=m;s=p;t=0}else{Bi(j,q);r=b[l>>0]|0;s=f[o>>2]|0;t=f[j>>2]|0}o=r<<24>>24<0;eh(t|0,(o?f[d>>2]|0:d)|0,(o?s:r&255)|0)|0;nj(i,c);c=i+12|0;f[c>>2]=0;r=i+16|0;f[r>>2]=0;f[i+20>>2]=0;s=f[k>>2]|0;o=f[j>>2]|0;d=s-o|0;if(!d){v=o;w=s;x=0}else{Bi(c,d);v=f[j>>2]|0;w=f[k>>2]|0;x=f[c>>2]|0}eh(x|0,v|0,w-v|0)|0;v=i+11|0;w=b[v>>0]|0;x=w<<24>>24<0;c=x?f[i>>2]|0:i;d=x?f[i+4>>2]|0:w&255;if(d>>>0>3){w=c;x=d;s=d;while(1){o=X(h[w>>0]|h[w+1>>0]<<8|h[w+2>>0]<<16|h[w+3>>0]<<24,1540483477)|0;x=(X(o>>>24^o,1540483477)|0)^(X(x,1540483477)|0);s=s+-4|0;if(s>>>0<=3)break;else w=w+4|0}w=d+-4|0;s=w&-4;y=c+(s+4)|0;z=x;A=w-s|0}else{y=c;z=d;A=d}switch(A|0){case 3:{B=h[y+2>>0]<<16^z;C=12;break}case 2:{B=z;C=12;break}case 1:{D=z;C=13;break}default:E=z}if((C|0)==12){D=h[y+1>>0]<<8^B;C=13}if((C|0)==13)E=X(h[y>>0]^D,1540483477)|0;D=X(E>>>13^E,1540483477)|0;E=D>>>15^D;D=a+4|0;y=f[D>>2]|0;B=(y|0)==0;a:do if(!B){z=y+-1|0;A=(z&y|0)==0;if(!A)if(E>>>0<y>>>0)F=E;else F=(E>>>0)%(y>>>0)|0;else F=E&z;s=f[(f[a>>2]|0)+(F<<2)>>2]|0;if((s|0)!=0?(w=f[s>>2]|0,(w|0)!=0):0){s=(d|0)==0;if(A){if(s){A=w;while(1){x=f[A+4>>2]|0;if(!((x|0)==(E|0)|(x&z|0)==(F|0))){G=F;C=54;break a}x=b[A+8+11>>0]|0;if(!((x<<24>>24<0?f[A+12>>2]|0:x&255)|0))break a;A=f[A>>2]|0;if(!A){G=F;C=54;break a}}}else H=w;while(1){A=f[H+4>>2]|0;if(!((A|0)==(E|0)|(A&z|0)==(F|0))){G=F;C=54;break a}A=H+8|0;x=b[A+11>>0]|0;o=x<<24>>24<0;t=x&255;do if(((o?f[H+12>>2]|0:t)|0)==(d|0)){x=f[A>>2]|0;if(o)if(!(Yk(x,c,d)|0))break a;else break;if((x&255)<<24>>24==(b[c>>0]|0)){x=t;l=A;q=c;do{x=x+-1|0;l=l+1|0;if(!x)break a;q=q+1|0}while((b[l>>0]|0)==(b[q>>0]|0))}}while(0);H=f[H>>2]|0;if(!H){G=F;C=54;break a}}}if(s){z=w;while(1){A=f[z+4>>2]|0;if((A|0)!=(E|0)){if(A>>>0<y>>>0)I=A;else I=(A>>>0)%(y>>>0)|0;if((I|0)!=(F|0)){G=F;C=54;break a}}A=b[z+8+11>>0]|0;if(!((A<<24>>24<0?f[z+12>>2]|0:A&255)|0))break a;z=f[z>>2]|0;if(!z){G=F;C=54;break a}}}else J=w;while(1){z=f[J+4>>2]|0;if((z|0)!=(E|0)){if(z>>>0<y>>>0)K=z;else K=(z>>>0)%(y>>>0)|0;if((K|0)!=(F|0)){G=F;C=54;break a}}z=J+8|0;s=b[z+11>>0]|0;A=s<<24>>24<0;t=s&255;do if(((A?f[J+12>>2]|0:t)|0)==(d|0)){s=f[z>>2]|0;if(A)if(!(Yk(s,c,d)|0))break a;else break;if((s&255)<<24>>24==(b[c>>0]|0)){s=t;o=z;q=c;do{s=s+-1|0;o=o+1|0;if(!s)break a;q=q+1|0}while((b[o>>0]|0)==(b[q>>0]|0))}}while(0);J=f[J>>2]|0;if(!J){G=F;C=54;break}}}else{G=F;C=54}}else{G=0;C=54}while(0);if((C|0)==54){lh(g,a,E,i);C=a+12|0;L=$(((f[C>>2]|0)+1|0)>>>0);M=$(y>>>0);N=$(n[a+16>>2]);do if(B|L>$(M*N)){F=(y>>>0<3|(y+-1&y|0)!=0)&1|y<<1;J=~~$(W($(L/N)))>>>0;ci(a,F>>>0<J>>>0?J:F);F=f[D>>2]|0;J=F+-1|0;if(!(J&F)){O=F;P=J&E;break}if(E>>>0<F>>>0){O=F;P=E}else{O=F;P=(E>>>0)%(F>>>0)|0}}else{O=y;P=G}while(0);G=f[(f[a>>2]|0)+(P<<2)>>2]|0;if(!G){y=a+8|0;f[f[g>>2]>>2]=f[y>>2];f[y>>2]=f[g>>2];f[(f[a>>2]|0)+(P<<2)>>2]=y;y=f[g>>2]|0;P=f[y>>2]|0;if(!P)Q=g;else{E=f[P+4>>2]|0;P=O+-1|0;if(P&O)if(E>>>0<O>>>0)R=E;else R=(E>>>0)%(O>>>0)|0;else R=E&P;f[(f[a>>2]|0)+(R<<2)>>2]=y;Q=g}}else{f[f[g>>2]>>2]=f[G>>2];f[G>>2]=f[g>>2];Q=g}f[C>>2]=(f[C>>2]|0)+1;f[Q>>2]=0}Q=f[i+12>>2]|0;if(Q|0){if((f[r>>2]|0)!=(Q|0))f[r>>2]=Q;pr(Q)}if((b[v>>0]|0)<0)pr(f[i>>2]|0);i=f[j>>2]|0;if(!i){u=e;return}if((f[k>>2]|0)!=(i|0))f[k>>2]=i;pr(i);u=e;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=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,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=Ja,fa=Ja,ga=Ja,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;g=u;u=u+48|0;i=g+12|0;j=g+32|0;k=g;l=i+16|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[l>>2]=$(1.0);m=a+80|0;o=f[m>>2]|0;f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;if(o){if(o>>>0>1073741823)Cq(k);q=o<<2;r=tn(q)|0;f[k>>2]=r;s=r+(o<<2)|0;f[k+8>>2]=s;pj(r|0,0,q|0)|0;f[p>>2]=s;s=c+48|0;q=c+40|0;o=i+4|0;t=i+12|0;v=i+8|0;w=a+40|0;x=a+64|0;y=f[e>>2]|0;e=0;z=r;A=r;B=r;C=r;r=0;D=0;while(1){E=s;F=f[E>>2]|0;G=f[E+4>>2]|0;E=q;H=En(y+r|0,0,f[E>>2]|0,f[E+4>>2]|0)|0;E=go(H|0,I|0,F|0,G|0)|0;G=(f[f[c>>2]>>2]|0)+E|0;E=h[G>>0]|h[G+1>>0]<<8;d[j>>1]=E;G=(E^318)&65535;a:do if(e){F=e+-1|0;H=(F&e|0)==0;if(!H)if(G>>>0<e>>>0)J=G;else J=(G>>>0)%(e>>>0)|0;else J=F&G;K=f[i>>2]|0;L=f[K+(J<<2)>>2]|0;b:do if(L|0?(M=f[L>>2]|0,M|0):0){c:do if(H){N=M;while(1){O=f[N+4>>2]|0;P=(O|0)==(G|0);if(!(P|(O&F|0)==(J|0)))break b;if(P?(d[N+8>>1]|0)==E<<16>>16:0){Q=N;break c}N=f[N>>2]|0;if(!N)break b}}else{N=M;while(1){P=f[N+4>>2]|0;if((P|0)==(G|0)){if((d[N+8>>1]|0)==E<<16>>16){Q=N;break c}}else{if(P>>>0<e>>>0)R=P;else R=(P>>>0)%(e>>>0)|0;if((R|0)!=(J|0))break b}N=f[N>>2]|0;if(!N)break b}}while(0);f[A+(r<<2)>>2]=f[Q+12>>2];S=z;T=C;U=B;V=A;X=D;break a}while(0);if(!H)if(G>>>0<e>>>0)Y=G;else Y=(G>>>0)%(e>>>0)|0;else Y=F&G;L=f[K+(Y<<2)>>2]|0;if(!L){Z=e;_=Y;aa=0;ba=40}else{if(H){M=L;while(1){M=f[M>>2]|0;if(!M){Z=e;_=Y;aa=0;ba=40;break a}N=f[M+4>>2]|0;if(!((N|0)==(G|0)|(N&F|0)==(Y|0))){Z=e;_=Y;aa=0;ba=40;break a}if((d[M+8>>1]|0)==E<<16>>16){ba=55;break a}}}else ca=L;while(1){ca=f[ca>>2]|0;if(!ca){Z=e;_=Y;aa=0;ba=40;break a}M=f[ca+4>>2]|0;if((M|0)!=(G|0)){if(M>>>0<e>>>0)da=M;else da=(M>>>0)%(e>>>0)|0;if((da|0)!=(Y|0)){Z=e;_=Y;aa=0;ba=40;break a}}if((d[ca+8>>1]|0)==E<<16>>16){ba=55;break}}}}else{Z=0;_=0;aa=1;ba=40}while(0);if((ba|0)==40){ba=0;L=tn(16)|0;d[L+8>>1]=E;f[L+12>>2]=D;f[L+4>>2]=G;f[L>>2]=0;ea=$(((f[t>>2]|0)+1|0)>>>0);fa=$(Z>>>0);ga=$(n[l>>2]);do if(aa|ea>$(fa*ga)){M=(Z>>>0<3|(Z+-1&Z|0)!=0)&1|Z<<1;F=~~$(W($(ea/ga)))>>>0;Uh(i,M>>>0<F>>>0?F:M);M=f[o>>2]|0;F=M+-1|0;if(!(F&M)){ha=M;ia=F&G;break}if(G>>>0<M>>>0){ha=M;ia=G}else{ha=M;ia=(G>>>0)%(M>>>0)|0}}else{ha=Z;ia=_}while(0);G=(f[i>>2]|0)+(ia<<2)|0;E=f[G>>2]|0;if(!E){f[L>>2]=f[v>>2];f[v>>2]=L;f[G>>2]=v;G=f[L>>2]|0;if(G|0){M=f[G+4>>2]|0;G=ha+-1|0;if(G&ha)if(M>>>0<ha>>>0)ja=M;else ja=(M>>>0)%(ha>>>0)|0;else ja=M&G;ka=(f[i>>2]|0)+(ja<<2)|0;ba=53}}else{f[L>>2]=f[E>>2];ka=E;ba=53}if((ba|0)==53){ba=0;f[ka>>2]=L}f[t>>2]=(f[t>>2]|0)+1;ba=55}if((ba|0)==55){ba=0;E=w;G=f[E>>2]|0;M=En(G|0,f[E+4>>2]|0,D|0,0)|0;eh((f[f[x>>2]>>2]|0)+M|0,j|0,G|0)|0;G=f[k>>2]|0;f[G+(r<<2)>>2]=D;S=G;T=G;U=G;V=G;X=D+1|0}G=r+1|0;la=f[m>>2]|0;if(G>>>0>=la>>>0)break;e=f[o>>2]|0;z=S;A=V;B=U;C=T;r=G;D=X}if((X|0)==(la|0))ma=U;else{U=a+84|0;if(!(b[U>>0]|0)){D=f[a+72>>2]|0;r=f[a+68>>2]|0;C=r;if((D|0)==(r|0))na=S;else{B=D-r>>2;r=0;do{D=C+(r<<2)|0;f[D>>2]=f[T+(f[D>>2]<<2)>>2];r=r+1|0}while(r>>>0<B>>>0);na=S}}else{b[U>>0]=0;U=a+68|0;S=a+72|0;B=f[S>>2]|0;r=f[U>>2]|0;T=B-r>>2;C=r;r=B;if(la>>>0<=T>>>0)if(la>>>0<T>>>0?(B=C+(la<<2)|0,(r|0)!=(B|0)):0){f[S>>2]=r+(~((r+-4-B|0)>>>2)<<2);oa=la}else oa=la;else{zh(U,la-T|0,1284);oa=f[m>>2]|0}T=f[k>>2]|0;if(!oa)na=T;else{k=f[a+68>>2]|0;a=0;do{f[k+(a<<2)>>2]=f[T+(a<<2)>>2];a=a+1|0}while(a>>>0<oa>>>0);na=T}}f[m>>2]=X;ma=na}if(!ma)pa=X;else{na=f[p>>2]|0;if((na|0)!=(ma|0))f[p>>2]=na+(~((na+-4-ma|0)>>>2)<<2);pr(ma);pa=X}}else pa=0;X=f[i+8>>2]|0;if(X|0){ma=X;do{X=ma;ma=f[ma>>2]|0;pr(X)}while((ma|0)!=0)}ma=f[i>>2]|0;f[i>>2]=0;if(!ma){u=g;return pa|0}pr(ma);u=g;return pa|0}function ac(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=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=Ja,K=Ja,L=Ja,M=0,N=0,O=0,P=0;e=u;u=u+64|0;g=e+40|0;i=e+16|0;j=e;k=Cd(a,c)|0;if(k|0){f[i>>2]=k;f[g>>2]=f[i>>2];hf(a,g)|0}f[j>>2]=0;k=j+4|0;f[k>>2]=0;f[j+8>>2]=0;Bi(j,4);l=f[j>>2]|0;m=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[l>>0]=m;b[l+1>>0]=m>>8;b[l+2>>0]=m>>16;b[l+3>>0]=m>>24;nj(i,c);c=i+12|0;f[c>>2]=0;m=i+16|0;f[m>>2]=0;f[i+20>>2]=0;l=f[k>>2]|0;d=f[j>>2]|0;o=l-d|0;if(!o){p=d;q=l;r=0}else{Bi(c,o);p=f[j>>2]|0;q=f[k>>2]|0;r=f[c>>2]|0}eh(r|0,p|0,q-p|0)|0;p=i+11|0;q=b[p>>0]|0;r=q<<24>>24<0;c=r?f[i>>2]|0:i;o=r?f[i+4>>2]|0:q&255;if(o>>>0>3){q=c;r=o;l=o;while(1){d=X(h[q>>0]|h[q+1>>0]<<8|h[q+2>>0]<<16|h[q+3>>0]<<24,1540483477)|0;r=(X(d>>>24^d,1540483477)|0)^(X(r,1540483477)|0);l=l+-4|0;if(l>>>0<=3)break;else q=q+4|0}q=o+-4|0;l=q&-4;s=c+(l+4)|0;t=r;v=q-l|0}else{s=c;t=o;v=o}switch(v|0){case 3:{w=h[s+2>>0]<<16^t;x=10;break}case 2:{w=t;x=10;break}case 1:{y=t;x=11;break}default:z=t}if((x|0)==10){y=h[s+1>>0]<<8^w;x=11}if((x|0)==11)z=X(h[s>>0]^y,1540483477)|0;y=X(z>>>13^z,1540483477)|0;z=y>>>15^y;y=a+4|0;s=f[y>>2]|0;w=(s|0)==0;a:do if(!w){t=s+-1|0;v=(t&s|0)==0;if(!v)if(z>>>0<s>>>0)A=z;else A=(z>>>0)%(s>>>0)|0;else A=z&t;l=f[(f[a>>2]|0)+(A<<2)>>2]|0;if((l|0)!=0?(q=f[l>>2]|0,(q|0)!=0):0){l=(o|0)==0;if(v){if(l){v=q;while(1){r=f[v+4>>2]|0;if(!((r|0)==(z|0)|(r&t|0)==(A|0))){B=A;x=52;break a}r=b[v+8+11>>0]|0;if(!((r<<24>>24<0?f[v+12>>2]|0:r&255)|0))break a;v=f[v>>2]|0;if(!v){B=A;x=52;break a}}}else C=q;while(1){v=f[C+4>>2]|0;if(!((v|0)==(z|0)|(v&t|0)==(A|0))){B=A;x=52;break a}v=C+8|0;r=b[v+11>>0]|0;d=r<<24>>24<0;D=r&255;do if(((d?f[C+12>>2]|0:D)|0)==(o|0)){r=f[v>>2]|0;if(d)if(!(Yk(r,c,o)|0))break a;else break;if((r&255)<<24>>24==(b[c>>0]|0)){r=D;E=v;F=c;do{r=r+-1|0;E=E+1|0;if(!r)break a;F=F+1|0}while((b[E>>0]|0)==(b[F>>0]|0))}}while(0);C=f[C>>2]|0;if(!C){B=A;x=52;break a}}}if(l){t=q;while(1){v=f[t+4>>2]|0;if((v|0)!=(z|0)){if(v>>>0<s>>>0)G=v;else G=(v>>>0)%(s>>>0)|0;if((G|0)!=(A|0)){B=A;x=52;break a}}v=b[t+8+11>>0]|0;if(!((v<<24>>24<0?f[t+12>>2]|0:v&255)|0))break a;t=f[t>>2]|0;if(!t){B=A;x=52;break a}}}else H=q;while(1){t=f[H+4>>2]|0;if((t|0)!=(z|0)){if(t>>>0<s>>>0)I=t;else I=(t>>>0)%(s>>>0)|0;if((I|0)!=(A|0)){B=A;x=52;break a}}t=H+8|0;l=b[t+11>>0]|0;v=l<<24>>24<0;D=l&255;do if(((v?f[H+12>>2]|0:D)|0)==(o|0)){l=f[t>>2]|0;if(v)if(!(Yk(l,c,o)|0))break a;else break;if((l&255)<<24>>24==(b[c>>0]|0)){l=D;d=t;F=c;do{l=l+-1|0;d=d+1|0;if(!l)break a;F=F+1|0}while((b[d>>0]|0)==(b[F>>0]|0))}}while(0);H=f[H>>2]|0;if(!H){B=A;x=52;break}}}else{B=A;x=52}}else{B=0;x=52}while(0);if((x|0)==52){lh(g,a,z,i);x=a+12|0;J=$(((f[x>>2]|0)+1|0)>>>0);K=$(s>>>0);L=$(n[a+16>>2]);do if(w|J>$(K*L)){A=(s>>>0<3|(s+-1&s|0)!=0)&1|s<<1;H=~~$(W($(J/L)))>>>0;ci(a,A>>>0<H>>>0?H:A);A=f[y>>2]|0;H=A+-1|0;if(!(H&A)){M=A;N=H&z;break}if(z>>>0<A>>>0){M=A;N=z}else{M=A;N=(z>>>0)%(A>>>0)|0}}else{M=s;N=B}while(0);B=f[(f[a>>2]|0)+(N<<2)>>2]|0;if(!B){s=a+8|0;f[f[g>>2]>>2]=f[s>>2];f[s>>2]=f[g>>2];f[(f[a>>2]|0)+(N<<2)>>2]=s;s=f[g>>2]|0;N=f[s>>2]|0;if(!N)O=g;else{z=f[N+4>>2]|0;N=M+-1|0;if(N&M)if(z>>>0<M>>>0)P=z;else P=(z>>>0)%(M>>>0)|0;else P=z&N;f[(f[a>>2]|0)+(P<<2)>>2]=s;O=g}}else{f[f[g>>2]>>2]=f[B>>2];f[B>>2]=f[g>>2];O=g}f[x>>2]=(f[x>>2]|0)+1;f[O>>2]=0}O=f[i+12>>2]|0;if(O|0){if((f[m>>2]|0)!=(O|0))f[m>>2]=O;pr(O)}if((b[p>>0]|0)<0)pr(f[i>>2]|0);i=f[j>>2]|0;if(!i){u=e;return}if((f[k>>2]|0)!=(i|0))f[k>>2]=i;pr(i);u=e;return}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,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,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=Ja,da=Ja,ea=Ja,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;e=u;u=u+48|0;g=e+12|0;h=e+32|0;i=e;j=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[j>>2]=$(1.0);k=a+80|0;l=f[k>>2]|0;f[i>>2]=0;m=i+4|0;f[m>>2]=0;f[i+8>>2]=0;if(l){if(l>>>0>1073741823)Cq(i);o=l<<2;p=tn(o)|0;f[i>>2]=p;q=p+(l<<2)|0;f[i+8>>2]=q;pj(p|0,0,o|0)|0;f[m>>2]=q;q=c+48|0;o=c+40|0;l=g+4|0;r=g+12|0;s=g+8|0;t=a+40|0;v=a+64|0;w=f[d>>2]|0;d=0;x=p;y=p;z=p;A=p;p=0;B=0;while(1){C=q;D=f[C>>2]|0;E=f[C+4>>2]|0;C=o;F=En(w+p|0,0,f[C>>2]|0,f[C+4>>2]|0)|0;C=go(F|0,I|0,D|0,E|0)|0;E=b[(f[f[c>>2]>>2]|0)+C>>0]|0;b[h>>0]=E;C=E&255^318;a:do if(d){D=d+-1|0;F=(D&d|0)==0;if(!F)if(C>>>0<d>>>0)G=C;else G=(C>>>0)%(d>>>0)|0;else G=D&C;H=f[g>>2]|0;J=f[H+(G<<2)>>2]|0;b:do if(J|0?(K=f[J>>2]|0,K|0):0){c:do if(F){L=K;while(1){M=f[L+4>>2]|0;N=(M|0)==(C|0);if(!(N|(M&D|0)==(G|0)))break b;if(N?(b[L+8>>0]|0)==E<<24>>24:0){O=L;break c}L=f[L>>2]|0;if(!L)break b}}else{L=K;while(1){N=f[L+4>>2]|0;if((N|0)==(C|0)){if((b[L+8>>0]|0)==E<<24>>24){O=L;break c}}else{if(N>>>0<d>>>0)P=N;else P=(N>>>0)%(d>>>0)|0;if((P|0)!=(G|0))break b}L=f[L>>2]|0;if(!L)break b}}while(0);f[y+(p<<2)>>2]=f[O+12>>2];Q=x;R=A;S=z;T=y;U=B;break a}while(0);if(!F)if(C>>>0<d>>>0)V=C;else V=(C>>>0)%(d>>>0)|0;else V=D&C;J=f[H+(V<<2)>>2]|0;if(!J){X=d;Y=V;Z=0;_=40}else{if(F){K=J;while(1){K=f[K>>2]|0;if(!K){X=d;Y=V;Z=0;_=40;break a}L=f[K+4>>2]|0;if(!((L|0)==(C|0)|(L&D|0)==(V|0))){X=d;Y=V;Z=0;_=40;break a}if((b[K+8>>0]|0)==E<<24>>24){_=55;break a}}}else aa=J;while(1){aa=f[aa>>2]|0;if(!aa){X=d;Y=V;Z=0;_=40;break a}K=f[aa+4>>2]|0;if((K|0)!=(C|0)){if(K>>>0<d>>>0)ba=K;else ba=(K>>>0)%(d>>>0)|0;if((ba|0)!=(V|0)){X=d;Y=V;Z=0;_=40;break a}}if((b[aa+8>>0]|0)==E<<24>>24){_=55;break}}}}else{X=0;Y=0;Z=1;_=40}while(0);if((_|0)==40){_=0;J=tn(16)|0;b[J+8>>0]=E;f[J+12>>2]=B;f[J+4>>2]=C;f[J>>2]=0;ca=$(((f[r>>2]|0)+1|0)>>>0);da=$(X>>>0);ea=$(n[j>>2]);do if(Z|ca>$(da*ea)){K=(X>>>0<3|(X+-1&X|0)!=0)&1|X<<1;D=~~$(W($(ca/ea)))>>>0;$h(g,K>>>0<D>>>0?D:K);K=f[l>>2]|0;D=K+-1|0;if(!(D&K)){fa=K;ga=D&C;break}if(C>>>0<K>>>0){fa=K;ga=C}else{fa=K;ga=(C>>>0)%(K>>>0)|0}}else{fa=X;ga=Y}while(0);C=(f[g>>2]|0)+(ga<<2)|0;E=f[C>>2]|0;if(!E){f[J>>2]=f[s>>2];f[s>>2]=J;f[C>>2]=s;C=f[J>>2]|0;if(C|0){K=f[C+4>>2]|0;C=fa+-1|0;if(C&fa)if(K>>>0<fa>>>0)ha=K;else ha=(K>>>0)%(fa>>>0)|0;else ha=K&C;ia=(f[g>>2]|0)+(ha<<2)|0;_=53}}else{f[J>>2]=f[E>>2];ia=E;_=53}if((_|0)==53){_=0;f[ia>>2]=J}f[r>>2]=(f[r>>2]|0)+1;_=55}if((_|0)==55){_=0;E=t;C=f[E>>2]|0;K=En(C|0,f[E+4>>2]|0,B|0,0)|0;eh((f[f[v>>2]>>2]|0)+K|0,h|0,C|0)|0;C=f[i>>2]|0;f[C+(p<<2)>>2]=B;Q=C;R=C;S=C;T=C;U=B+1|0}C=p+1|0;ja=f[k>>2]|0;if(C>>>0>=ja>>>0)break;d=f[l>>2]|0;x=Q;y=T;z=S;A=R;p=C;B=U}if((U|0)==(ja|0))ka=S;else{S=a+84|0;if(!(b[S>>0]|0)){B=f[a+72>>2]|0;p=f[a+68>>2]|0;A=p;if((B|0)==(p|0))la=Q;else{z=B-p>>2;p=0;do{B=A+(p<<2)|0;f[B>>2]=f[R+(f[B>>2]<<2)>>2];p=p+1|0}while(p>>>0<z>>>0);la=Q}}else{b[S>>0]=0;S=a+68|0;Q=a+72|0;z=f[Q>>2]|0;p=f[S>>2]|0;R=z-p>>2;A=p;p=z;if(ja>>>0<=R>>>0)if(ja>>>0<R>>>0?(z=A+(ja<<2)|0,(p|0)!=(z|0)):0){f[Q>>2]=p+(~((p+-4-z|0)>>>2)<<2);ma=ja}else ma=ja;else{zh(S,ja-R|0,1284);ma=f[k>>2]|0}R=f[i>>2]|0;if(!ma)la=R;else{i=f[a+68>>2]|0;a=0;do{f[i+(a<<2)>>2]=f[R+(a<<2)>>2];a=a+1|0}while(a>>>0<ma>>>0);la=R}}f[k>>2]=U;ka=la}if(!ka)na=U;else{la=f[m>>2]|0;if((la|0)!=(ka|0))f[m>>2]=la+(~((la+-4-ka|0)>>>2)<<2);pr(ka);na=U}}else na=0;U=f[g+8>>2]|0;if(U|0){ka=U;do{U=ka;ka=f[ka>>2]|0;pr(U)}while((ka|0)!=0)}ka=f[g>>2]|0;f[g>>2]=0;if(!ka){u=e;return na|0}pr(ka);u=e;return na|0}function cc(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=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,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=Ja,ea=Ja,fa=Ja,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;e=u;u=u+48|0;g=e+16|0;i=e+12|0;j=e;k=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[k>>2]=$(1.0);l=a+80|0;m=f[l>>2]|0;f[j>>2]=0;o=j+4|0;f[o>>2]=0;f[j+8>>2]=0;if(m){if(m>>>0>1073741823)Cq(j);p=m<<2;q=tn(p)|0;f[j>>2]=q;r=q+(m<<2)|0;f[j+8>>2]=r;pj(q|0,0,p|0)|0;f[o>>2]=r;r=c+48|0;p=c+40|0;m=g+4|0;s=g+12|0;t=g+8|0;v=a+40|0;w=a+64|0;x=f[d>>2]|0;d=0;y=q;z=q;A=q;B=q;q=0;C=0;while(1){D=r;E=f[D>>2]|0;F=f[D+4>>2]|0;D=p;G=En(x+q|0,0,f[D>>2]|0,f[D+4>>2]|0)|0;D=go(G|0,I|0,E|0,F|0)|0;F=(f[f[c>>2]>>2]|0)+D|0;D=h[F>>0]|h[F+1>>0]<<8|h[F+2>>0]<<16|h[F+3>>0]<<24;f[i>>2]=D;F=D^318;a:do if(d){E=d+-1|0;G=(E&d|0)==0;if(!G)if(F>>>0<d>>>0)H=F;else H=(F>>>0)%(d>>>0)|0;else H=E&F;J=f[g>>2]|0;K=f[J+(H<<2)>>2]|0;b:do if(K|0?(L=f[K>>2]|0,L|0):0){c:do if(G){M=L;while(1){N=f[M+4>>2]|0;O=(N|0)==(F|0);if(!(O|(N&E|0)==(H|0)))break b;if(O?(f[M+8>>2]|0)==(D|0):0){P=M;break c}M=f[M>>2]|0;if(!M)break b}}else{M=L;while(1){O=f[M+4>>2]|0;if((O|0)==(F|0)){if((f[M+8>>2]|0)==(D|0)){P=M;break c}}else{if(O>>>0<d>>>0)Q=O;else Q=(O>>>0)%(d>>>0)|0;if((Q|0)!=(H|0))break b}M=f[M>>2]|0;if(!M)break b}}while(0);f[z+(q<<2)>>2]=f[P+12>>2];R=y;S=B;T=A;U=z;V=C;break a}while(0);if(!G)if(F>>>0<d>>>0)X=F;else X=(F>>>0)%(d>>>0)|0;else X=E&F;K=f[J+(X<<2)>>2]|0;if(!K){Y=d;Z=X;_=0;aa=40}else{if(G){L=K;while(1){L=f[L>>2]|0;if(!L){Y=d;Z=X;_=0;aa=40;break a}M=f[L+4>>2]|0;if(!((M|0)==(F|0)|(M&E|0)==(X|0))){Y=d;Z=X;_=0;aa=40;break a}if((f[L+8>>2]|0)==(D|0)){aa=55;break a}}}else ba=K;while(1){ba=f[ba>>2]|0;if(!ba){Y=d;Z=X;_=0;aa=40;break a}L=f[ba+4>>2]|0;if((L|0)!=(F|0)){if(L>>>0<d>>>0)ca=L;else ca=(L>>>0)%(d>>>0)|0;if((ca|0)!=(X|0)){Y=d;Z=X;_=0;aa=40;break a}}if((f[ba+8>>2]|0)==(D|0)){aa=55;break}}}}else{Y=0;Z=0;_=1;aa=40}while(0);if((aa|0)==40){aa=0;K=tn(16)|0;f[K+8>>2]=D;f[K+12>>2]=C;f[K+4>>2]=F;f[K>>2]=0;da=$(((f[s>>2]|0)+1|0)>>>0);ea=$(Y>>>0);fa=$(n[k>>2]);do if(_|da>$(ea*fa)){L=(Y>>>0<3|(Y+-1&Y|0)!=0)&1|Y<<1;E=~~$(W($(da/fa)))>>>0;Di(g,L>>>0<E>>>0?E:L);L=f[m>>2]|0;E=L+-1|0;if(!(E&L)){ga=L;ha=E&F;break}if(F>>>0<L>>>0){ga=L;ha=F}else{ga=L;ha=(F>>>0)%(L>>>0)|0}}else{ga=Y;ha=Z}while(0);F=(f[g>>2]|0)+(ha<<2)|0;D=f[F>>2]|0;if(!D){f[K>>2]=f[t>>2];f[t>>2]=K;f[F>>2]=t;F=f[K>>2]|0;if(F|0){L=f[F+4>>2]|0;F=ga+-1|0;if(F&ga)if(L>>>0<ga>>>0)ia=L;else ia=(L>>>0)%(ga>>>0)|0;else ia=L&F;ja=(f[g>>2]|0)+(ia<<2)|0;aa=53}}else{f[K>>2]=f[D>>2];ja=D;aa=53}if((aa|0)==53){aa=0;f[ja>>2]=K}f[s>>2]=(f[s>>2]|0)+1;aa=55}if((aa|0)==55){aa=0;D=v;F=f[D>>2]|0;L=En(F|0,f[D+4>>2]|0,C|0,0)|0;eh((f[f[w>>2]>>2]|0)+L|0,i|0,F|0)|0;F=f[j>>2]|0;f[F+(q<<2)>>2]=C;R=F;S=F;T=F;U=F;V=C+1|0}F=q+1|0;ka=f[l>>2]|0;if(F>>>0>=ka>>>0)break;d=f[m>>2]|0;y=R;z=U;A=T;B=S;q=F;C=V}if((V|0)==(ka|0))la=T;else{T=a+84|0;if(!(b[T>>0]|0)){C=f[a+72>>2]|0;q=f[a+68>>2]|0;B=q;if((C|0)==(q|0))ma=R;else{A=C-q>>2;q=0;do{C=B+(q<<2)|0;f[C>>2]=f[S+(f[C>>2]<<2)>>2];q=q+1|0}while(q>>>0<A>>>0);ma=R}}else{b[T>>0]=0;T=a+68|0;R=a+72|0;A=f[R>>2]|0;q=f[T>>2]|0;S=A-q>>2;B=q;q=A;if(ka>>>0<=S>>>0)if(ka>>>0<S>>>0?(A=B+(ka<<2)|0,(q|0)!=(A|0)):0){f[R>>2]=q+(~((q+-4-A|0)>>>2)<<2);na=ka}else na=ka;else{zh(T,ka-S|0,1284);na=f[l>>2]|0}S=f[j>>2]|0;if(!na)ma=S;else{j=f[a+68>>2]|0;a=0;do{f[j+(a<<2)>>2]=f[S+(a<<2)>>2];a=a+1|0}while(a>>>0<na>>>0);ma=S}}f[l>>2]=V;la=ma}if(!la)oa=V;else{ma=f[o>>2]|0;if((ma|0)!=(la|0))f[o>>2]=ma+(~((ma+-4-la|0)>>>2)<<2);pr(la);oa=V}}else oa=0;V=f[g+8>>2]|0;if(V|0){la=V;do{V=la;la=f[la>>2]|0;pr(V)}while((la|0)!=0)}la=f[g>>2]|0;f[g>>2]=0;if(!la){u=e;return oa|0}pr(la);u=e;return oa|0}function dc(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=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,X=Ja,Y=Ja,Z=Ja,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;g=u;u=u+48|0;i=g+28|0;j=g+8|0;k=g;l=g+16|0;m=i+16|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[m>>2]=$(1.0);o=a+80|0;p=f[o>>2]|0;f[l>>2]=0;q=l+4|0;f[q>>2]=0;f[l+8>>2]=0;if(p){if(p>>>0>1073741823)Cq(l);r=p<<2;s=tn(r)|0;f[l>>2]=s;t=s+(p<<2)|0;f[l+8>>2]=t;pj(s|0,0,r|0)|0;f[q>>2]=t;t=f[e>>2]|0;e=c+48|0;r=c+40|0;s=i+4|0;p=i+12|0;v=i+8|0;w=a+40|0;x=a+64|0;y=0;z=0;while(1){A=e;B=f[A>>2]|0;C=f[A+4>>2]|0;A=r;D=En(t+y|0,0,f[A>>2]|0,f[A+4>>2]|0)|0;A=go(D|0,I|0,B|0,C|0)|0;C=(f[f[c>>2]>>2]|0)+A|0;A=C;B=h[A>>0]|h[A+1>>0]<<8|h[A+2>>0]<<16|h[A+3>>0]<<24;A=C+4|0;C=h[A>>0]|h[A+1>>0]<<8|h[A+2>>0]<<16|h[A+3>>0]<<24;A=j;f[A>>2]=B;f[A+4>>2]=C;A=k;f[A>>2]=B;f[A+4>>2]=C;C=of(i,k)|0;if(!C){A=k;B=f[A>>2]|0;D=f[A+4>>2]|0;A=B&65535;E=jo(B|0,D|0,16)|0;F=E&65535;G=D&65535;H=jo(B|0,D|0,48)|0;J=I;K=H&65535;L=((((A^318)&65535)+239^E&65535)+239^D&65535)+239^H;E=f[s>>2]|0;M=(E|0)==0;a:do if(!M){N=E+-1|0;O=(N&E|0)==0;if(!O)if(L>>>0<E>>>0)P=L;else P=(L>>>0)%(E>>>0)|0;else P=L&N;Q=f[(f[i>>2]|0)+(P<<2)>>2]|0;if((Q|0)!=0?(R=f[Q>>2]|0,(R|0)!=0):0){if(O){O=R;while(1){Q=f[O+4>>2]|0;if(!((Q|0)==(L|0)|(Q&N|0)==(P|0))){S=P;T=31;break a}Q=O+8|0;if((((d[Q>>1]|0)==A<<16>>16?(d[Q+2>>1]|0)==F<<16>>16:0)?(d[O+12>>1]|0)==G<<16>>16:0)?(d[Q+6>>1]|0)==K<<16>>16:0)break a;O=f[O>>2]|0;if(!O){S=P;T=31;break a}}}else U=R;while(1){O=f[U+4>>2]|0;if((O|0)!=(L|0)){if(O>>>0<E>>>0)V=O;else V=(O>>>0)%(E>>>0)|0;if((V|0)!=(P|0)){S=P;T=31;break a}}O=U+8|0;if((((d[O>>1]|0)==A<<16>>16?(d[O+2>>1]|0)==F<<16>>16:0)?(d[U+12>>1]|0)==G<<16>>16:0)?(d[O+6>>1]|0)==K<<16>>16:0)break a;U=f[U>>2]|0;if(!U){S=P;T=31;break}}}else{S=P;T=31}}else{S=0;T=31}while(0);if((T|0)==31){T=0;K=tn(20)|0;G=eo(H|0,J|0,48)|0;F=B|G;G=D&65535|I;A=K+8|0;R=A;d[R>>1]=F;d[R+2>>1]=F>>>16;F=A+4|0;d[F>>1]=G;d[F+2>>1]=G>>>16;f[K+16>>2]=z;f[K+4>>2]=L;f[K>>2]=0;X=$(((f[p>>2]|0)+1|0)>>>0);Y=$(E>>>0);Z=$(n[m>>2]);do if(M|X>$(Y*Z)){G=(E>>>0<3|(E+-1&E|0)!=0)&1|E<<1;F=~~$(W($(X/Z)))>>>0;Rh(i,G>>>0<F>>>0?F:G);G=f[s>>2]|0;F=G+-1|0;if(!(F&G)){_=G;aa=F&L;break}if(L>>>0<G>>>0){_=G;aa=L}else{_=G;aa=(L>>>0)%(G>>>0)|0}}else{_=E;aa=S}while(0);E=(f[i>>2]|0)+(aa<<2)|0;L=f[E>>2]|0;if(!L){f[K>>2]=f[v>>2];f[v>>2]=K;f[E>>2]=v;E=f[K>>2]|0;if(E|0){M=f[E+4>>2]|0;E=_+-1|0;if(E&_)if(M>>>0<_>>>0)ba=M;else ba=(M>>>0)%(_>>>0)|0;else ba=M&E;ca=(f[i>>2]|0)+(ba<<2)|0;T=44}}else{f[K>>2]=f[L>>2];ca=L;T=44}if((T|0)==44){T=0;f[ca>>2]=K}f[p>>2]=(f[p>>2]|0)+1}L=w;E=f[L>>2]|0;M=En(E|0,f[L+4>>2]|0,z|0,0)|0;eh((f[f[x>>2]>>2]|0)+M|0,j|0,E|0)|0;E=f[l>>2]|0;f[E+(y<<2)>>2]=z;da=E;ea=z+1|0}else{E=f[l>>2]|0;f[E+(y<<2)>>2]=f[C+16>>2];da=E;ea=z}y=y+1|0;fa=f[o>>2]|0;if(y>>>0>=fa>>>0)break;else z=ea}if((ea|0)==(fa|0))ga=da;else{z=a+84|0;if(!(b[z>>0]|0)){y=f[a+72>>2]|0;j=f[a+68>>2]|0;x=j;if((y|0)==(j|0))ha=da;else{w=y-j>>2;j=0;do{y=x+(j<<2)|0;f[y>>2]=f[da+(f[y>>2]<<2)>>2];j=j+1|0}while(j>>>0<w>>>0);ha=da}}else{b[z>>0]=0;z=a+68|0;da=a+72|0;w=f[da>>2]|0;j=f[z>>2]|0;x=w-j>>2;y=j;j=w;if(fa>>>0<=x>>>0)if(fa>>>0<x>>>0?(w=y+(fa<<2)|0,(j|0)!=(w|0)):0){f[da>>2]=j+(~((j+-4-w|0)>>>2)<<2);ia=fa}else ia=fa;else{zh(z,fa-x|0,1284);ia=f[o>>2]|0}x=f[l>>2]|0;if(!ia)ha=x;else{l=f[a+68>>2]|0;a=0;do{f[l+(a<<2)>>2]=f[x+(a<<2)>>2];a=a+1|0}while(a>>>0<ia>>>0);ha=x}}f[o>>2]=ea;ga=ha}if(!ga)ja=ea;else{ha=f[q>>2]|0;if((ha|0)!=(ga|0))f[q>>2]=ha+(~((ha+-4-ga|0)>>>2)<<2);pr(ga);ja=ea}}else ja=0;ea=f[i+8>>2]|0;if(ea|0){ga=ea;do{ea=ga;ga=f[ga>>2]|0;pr(ea)}while((ga|0)!=0)}ga=f[i>>2]|0;f[i>>2]=0;if(!ga){u=g;return ja|0}pr(ga);u=g;return ja|0}function ec(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,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0;e=u;u=u+96|0;g=e+92|0;h=e+88|0;i=e+72|0;j=e+48|0;k=e+24|0;l=e;m=a+16|0;n=f[m>>2]|0;o=f[c>>2]|0;f[i>>2]=n;f[i+4>>2]=o;c=i+8|0;f[c>>2]=o;b[i+12>>0]=1;p=f[(f[n+28>>2]|0)+(o<<2)>>2]|0;n=a+20|0;q=f[n>>2]|0;r=f[q>>2]|0;if((f[q+4>>2]|0)-r>>2>>>0<=p>>>0)Cq(q);q=a+8|0;s=f[(f[q>>2]|0)+(f[r+(p<<2)>>2]<<2)>>2]|0;p=a+4|0;r=f[p>>2]|0;if(!(b[r+84>>0]|0))t=f[(f[r+68>>2]|0)+(s<<2)>>2]|0;else t=s;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[h>>2]=t;t=b[r+24>>0]|0;f[g>>2]=f[h>>2];qb(r,g,t,j)|0;t=a+28|0;a=(f[t>>2]|0)==0;a:do if((o|0)!=-1){r=k+8|0;s=j+8|0;v=k+16|0;w=j+16|0;x=l+8|0;y=l+16|0;z=o;A=0;B=0;C=0;D=0;E=0;F=0;G=o;H=a;J=o;while(1){do if(H){K=G+1|0;if((G|0)!=-1){L=((K>>>0)%3|0|0)==0?G+-2|0:K;if((z|0)!=-1)if(!((z>>>0)%3|0)){M=z;N=z;O=L;P=z+2|0;break}else{M=z;N=z;O=L;P=z+-1|0;break}else{M=-1;N=-1;O=L;P=-1}}else{M=z;N=-1;O=-1;P=-1}}else{L=J+1|0;K=((L>>>0)%3|0|0)==0?J+-2|0:L;if(!((J>>>0)%3|0)){M=z;N=G;O=K;P=J+2|0;break}else{M=z;N=G;O=K;P=J+-1|0;break}}while(0);K=f[(f[(f[m>>2]|0)+28>>2]|0)+(O<<2)>>2]|0;Q=f[n>>2]|0;L=f[Q>>2]|0;if((f[Q+4>>2]|0)-L>>2>>>0<=K>>>0){R=17;break}S=f[(f[q>>2]|0)+(f[L+(K<<2)>>2]<<2)>>2]|0;K=f[p>>2]|0;if(!(b[K+84>>0]|0))T=f[(f[K+68>>2]|0)+(S<<2)>>2]|0;else T=S;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;f[h>>2]=T;S=b[K+24>>0]|0;f[g>>2]=f[h>>2];qb(K,g,S,k)|0;S=f[(f[(f[m>>2]|0)+28>>2]|0)+(P<<2)>>2]|0;U=f[n>>2]|0;K=f[U>>2]|0;if((f[U+4>>2]|0)-K>>2>>>0<=S>>>0){R=21;break}L=f[(f[q>>2]|0)+(f[K+(S<<2)>>2]<<2)>>2]|0;S=f[p>>2]|0;if(!(b[S+84>>0]|0))V=f[(f[S+68>>2]|0)+(L<<2)>>2]|0;else V=L;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;f[h>>2]=V;L=b[S+24>>0]|0;f[g>>2]=f[h>>2];qb(S,g,L,l)|0;L=k;S=j;K=f[S>>2]|0;W=f[S+4>>2]|0;S=io(f[L>>2]|0,f[L+4>>2]|0,K|0,W|0)|0;L=I;X=r;Y=s;Z=f[Y>>2]|0;_=f[Y+4>>2]|0;Y=io(f[X>>2]|0,f[X+4>>2]|0,Z|0,_|0)|0;X=I;$=v;aa=w;ba=f[aa>>2]|0;ca=f[aa+4>>2]|0;aa=io(f[$>>2]|0,f[$+4>>2]|0,ba|0,ca|0)|0;$=I;da=l;ea=io(f[da>>2]|0,f[da+4>>2]|0,K|0,W|0)|0;W=I;K=x;da=io(f[K>>2]|0,f[K+4>>2]|0,Z|0,_|0)|0;_=I;Z=y;K=io(f[Z>>2]|0,f[Z+4>>2]|0,ba|0,ca|0)|0;ca=I;ba=En(K|0,ca|0,Y|0,X|0)|0;Z=I;fa=En(da|0,_|0,aa|0,$|0)|0;ga=I;ha=En(ea|0,W|0,aa|0,$|0)|0;$=I;aa=En(K|0,ca|0,S|0,L|0)|0;ca=I;K=En(da|0,_|0,S|0,L|0)|0;L=I;S=En(ea|0,W|0,Y|0,X|0)|0;X=I;Y=io(A|0,B|0,fa|0,ga|0)|0;ga=go(Y|0,I|0,ba|0,Z|0)|0;Z=I;ba=go(ha|0,$|0,C|0,D|0)|0;$=io(ba|0,I|0,aa|0,ca|0)|0;ca=I;aa=io(E|0,F|0,S|0,X|0)|0;X=go(aa|0,I|0,K|0,L|0)|0;L=I;Lg(i);J=f[c>>2]|0;K=(f[t>>2]|0)==0;if((J|0)==-1){ia=Z;ja=ga;ka=ca;la=$;ma=L;na=X;oa=K;break a}else{z=M;A=ga;B=Z;C=$;D=ca;E=X;F=L;G=N;H=K}}if((R|0)==17)Cq(Q);else if((R|0)==21)Cq(U)}else{ia=0;ja=0;ka=0;la=0;ma=0;na=0;oa=a}while(0);a=(ia|0)>-1|(ia|0)==-1&ja>>>0>4294967295;U=io(0,0,ja|0,ia|0)|0;R=a?ia:I;Q=(ka|0)>-1|(ka|0)==-1&la>>>0>4294967295;N=io(0,0,la|0,ka|0)|0;M=Q?ka:I;t=(ma|0)>-1|(ma|0)==-1&na>>>0>4294967295;c=io(0,0,na|0,ma|0)|0;i=go((Q?la:N)|0,M|0,(t?na:c)|0,(t?ma:I)|0)|0;t=go(i|0,I|0,(a?ja:U)|0,R|0)|0;R=I;if(oa){if((t|0)<=536870912){pa=ja;qa=la;ra=na;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}oa=jo(t|0,R|0,29)|0;U=oa&7;oa=Jk(ja|0,ia|0,U|0,0)|0;a=Jk(la|0,ka|0,U|0,0)|0;i=Jk(na|0,ma|0,U|0,0)|0;pa=oa;qa=a;ra=i;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}else{if(!((R|0)>0|(R|0)==0&t>>>0>536870912)){pa=ja;qa=la;ra=na;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}i=jo(t|0,R|0,29)|0;R=I;t=Jk(ja|0,ia|0,i|0,R|0)|0;ia=Jk(la|0,ka|0,i|0,R|0)|0;ka=Jk(na|0,ma|0,i|0,R|0)|0;pa=t;qa=ia;ra=ka;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}}function fc(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,Y=0;c=u;u=u+16|0;d=c+8|0;e=c;g=c+4|0;h=a+16|0;i=f[h>>2]|0;j=a+20|0;k=f[j>>2]|0;if((k|0)==(i|0))l=i;else{m=k+(~((k+-4-i|0)>>>2)<<2)|0;f[j>>2]=m;l=m}m=a+24|0;if((l|0)==(f[m>>2]|0)){Ti(h,b);n=f[h>>2]|0;o=f[j>>2]|0}else{f[l>>2]=f[b>>2];k=l+4|0;f[j>>2]=k;n=i;o=k}k=f[a+8>>2]|0;i=(f[k+100>>2]|0)-(f[k+96>>2]|0)|0;k=(i|0)/12|0;if((n|0)==(o|0)){u=c;return 1}n=a+28|0;l=(i|0)>0;i=a+164|0;p=a+12|0;q=a+76|0;r=a+80|0;s=a+72|0;t=a+152|0;v=a+84|0;w=a+272|0;x=a+276|0;y=a+268|0;z=a+168|0;A=a+140|0;B=a+120|0;C=o;do{o=f[C+-4>>2]|0;f[b>>2]=o;a:do if((o|0)!=-1?(D=(o>>>0)/3|0,E=f[n>>2]|0,(f[E+(D>>>5<<2)>>2]&1<<(D&31)|0)==0):0){if(l){D=E;E=0;b:while(1){F=E+1|0;f[i>>2]=(f[i>>2]|0)+1;G=f[b>>2]|0;H=(G|0)==-1?-1:(G>>>0)/3|0;G=D+(H>>>5<<2)|0;f[G>>2]=1<<(H&31)|f[G>>2];G=f[q>>2]|0;if((G|0)==(f[r>>2]|0))Ti(s,b);else{f[G>>2]=f[b>>2];f[q>>2]=G+4}G=f[b>>2]|0;if((G|0)==-1)I=-1;else I=f[(f[f[p>>2]>>2]|0)+(G<<2)>>2]|0;J=(f[(f[t>>2]|0)+(I<<2)>>2]|0)!=-1;K=(f[v>>2]|0)+(I>>>5<<2)|0;L=1<<(I&31);M=f[K>>2]|0;do if(!(M&L)){f[K>>2]=M|L;if(J){N=f[b>>2]|0;O=30;break}f[d>>2]=0;P=f[w>>2]|0;if((P|0)==(f[x>>2]|0))Ti(y,d);else{f[P>>2]=0;f[w>>2]=P+4}P=f[b>>2]|0;Q=P+1|0;if((P|0)!=-1?(R=((Q>>>0)%3|0|0)==0?P+-2|0:Q,(R|0)!=-1):0)S=f[(f[(f[p>>2]|0)+12>>2]|0)+(R<<2)>>2]|0;else S=-1;f[b>>2]=S}else{N=G;O=30}while(0);if((O|0)==30){O=0;G=N+1|0;if((N|0)==-1){O=35;break}L=((G>>>0)%3|0|0)==0?N+-2|0:G;if((L|0)==-1)T=-1;else T=f[(f[(f[p>>2]|0)+12>>2]|0)+(L<<2)>>2]|0;f[e>>2]=T;L=(((N>>>0)%3|0|0)==0?2:-1)+N|0;if((L|0)==-1)U=-1;else U=f[(f[(f[p>>2]|0)+12>>2]|0)+(L<<2)>>2]|0;L=(T|0)==-1;M=(T>>>0)/3|0;V=(U|0)==-1;W=V?-1:(U>>>0)/3|0;K=((G>>>0)%3|0|0)==0?N+-2|0:G;if(((K|0)!=-1?(G=f[(f[p>>2]|0)+12>>2]|0,R=f[G+(K<<2)>>2]|0,(R|0)!=-1):0)?(K=(R>>>0)/3|0,R=f[n>>2]|0,(f[R+(K>>>5<<2)>>2]&1<<(K&31)|0)==0):0){K=(((N>>>0)%3|0|0)==0?2:-1)+N|0;do if((K|0)!=-1){Q=f[G+(K<<2)>>2]|0;if((Q|0)==-1)break;P=(Q>>>0)/3|0;if(!(f[R+(P>>>5<<2)>>2]&1<<(P&31))){O=63;break b}}while(0);if(!V)sf(a,f[i>>2]|0,H,0,W);f[d>>2]=3;R=f[w>>2]|0;if((R|0)==(f[x>>2]|0))Ti(y,d);else{f[R>>2]=3;f[w>>2]=R+4}X=f[e>>2]|0}else{if(!L){sf(a,f[i>>2]|0,H,1,M);R=f[b>>2]|0;if((R|0)==-1){O=44;break}else Y=R}else Y=N;R=(((Y>>>0)%3|0|0)==0?2:-1)+Y|0;if((R|0)==-1){O=44;break}K=f[(f[(f[p>>2]|0)+12>>2]|0)+(R<<2)>>2]|0;if((K|0)==-1){O=44;break}R=(K>>>0)/3|0;if(f[(f[n>>2]|0)+(R>>>5<<2)>>2]&1<<(R&31)|0){O=44;break}f[d>>2]=5;R=f[w>>2]|0;if((R|0)==(f[x>>2]|0))Ti(y,d);else{f[R>>2]=5;f[w>>2]=R+4}X=U}f[b>>2]=X}if((F|0)>=(k|0))break a;D=f[n>>2]|0;E=F}do if((O|0)==35){O=0;f[e>>2]=-1;O=46}else if((O|0)==44){O=0;if(V)O=46;else{sf(a,f[i>>2]|0,H,0,W);O=46}}else if((O|0)==63){O=0;f[d>>2]=1;E=f[w>>2]|0;if((E|0)==(f[x>>2]|0))Ti(y,d);else{f[E>>2]=1;f[w>>2]=E+4}f[z>>2]=(f[z>>2]|0)+1;if(J?(E=f[(f[t>>2]|0)+(I<<2)>>2]|0,(1<<(E&31)&f[(f[A>>2]|0)+(E>>>5<<2)>>2]|0)==0):0){f[g>>2]=f[b>>2];f[d>>2]=f[g>>2];Je(a,d,0)|0}E=f[i>>2]|0;f[d>>2]=H;D=Yd(B,d)|0;f[D>>2]=E;E=f[j>>2]|0;f[E+-4>>2]=U;if((E|0)==(f[m>>2]|0)){Ti(h,e);break}else{f[E>>2]=f[e>>2];f[j>>2]=E+4;break}}while(0);if((O|0)==46){O=0;f[d>>2]=7;E=f[w>>2]|0;if((E|0)==(f[x>>2]|0))Ti(y,d);else{f[E>>2]=7;f[w>>2]=E+4}f[j>>2]=(f[j>>2]|0)+-4}}}else O=11;while(0);if((O|0)==11){O=0;f[j>>2]=C+-4}C=f[j>>2]|0}while((f[h>>2]|0)!=(C|0));u=c;return 1}function gc(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=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=Ja,X=Ja,Y=Ja,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;e=u;u=u+48|0;g=e+20|0;i=e+16|0;j=e+12|0;k=e;l=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[l>>2]=$(1.0);m=a+80|0;o=f[m>>2]|0;f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;if(o){if(o>>>0>1073741823)Cq(k);q=o<<2;r=tn(q)|0;f[k>>2]=r;s=r+(o<<2)|0;f[k+8>>2]=s;pj(r|0,0,q|0)|0;f[p>>2]=s;s=f[d>>2]|0;d=c+48|0;q=c+40|0;r=g+4|0;o=g+12|0;t=g+8|0;v=a+40|0;w=a+64|0;x=0;y=0;while(1){z=d;A=f[z>>2]|0;B=f[z+4>>2]|0;z=q;C=En(s+x|0,0,f[z>>2]|0,f[z+4>>2]|0)|0;z=go(C|0,I|0,A|0,B|0)|0;B=(f[f[c>>2]>>2]|0)+z|0;z=h[B>>0]|h[B+1>>0]<<8|h[B+2>>0]<<16|h[B+3>>0]<<24;f[i>>2]=z;f[j>>2]=z;z=pf(g,j)|0;if(!z){B=f[j>>2]|0;A=B&255;C=B>>>8;D=C&255;E=B>>>16;F=E&255;G=B>>>24;H=G&255;J=B&255;B=C&255;C=E&255;E=(((J^318)+239^B)+239^C)+239^G;K=f[r>>2]|0;L=(K|0)==0;a:do if(!L){M=K+-1|0;N=(M&K|0)==0;if(!N)if(E>>>0<K>>>0)O=E;else O=(E>>>0)%(K>>>0)|0;else O=E&M;P=f[(f[g>>2]|0)+(O<<2)>>2]|0;if((P|0)!=0?(Q=f[P>>2]|0,(Q|0)!=0):0){if(N){N=Q;while(1){P=f[N+4>>2]|0;if(!((P|0)==(E|0)|(P&M|0)==(O|0))){R=O;S=31;break a}P=N+8|0;if((((b[P>>0]|0)==A<<24>>24?(b[P+1>>0]|0)==D<<24>>24:0)?(b[P+2>>0]|0)==F<<24>>24:0)?(b[P+3>>0]|0)==H<<24>>24:0)break a;N=f[N>>2]|0;if(!N){R=O;S=31;break a}}}else T=Q;while(1){N=f[T+4>>2]|0;if((N|0)!=(E|0)){if(N>>>0<K>>>0)U=N;else U=(N>>>0)%(K>>>0)|0;if((U|0)!=(O|0)){R=O;S=31;break a}}N=T+8|0;if((((b[N>>0]|0)==A<<24>>24?(b[N+1>>0]|0)==D<<24>>24:0)?(b[N+2>>0]|0)==F<<24>>24:0)?(b[N+3>>0]|0)==H<<24>>24:0)break a;T=f[T>>2]|0;if(!T){R=O;S=31;break}}}else{R=O;S=31}}else{R=0;S=31}while(0);if((S|0)==31){S=0;H=tn(16)|0;F=H+8|0;D=G<<24|J|C<<16|B<<8;b[F>>0]=D;b[F+1>>0]=D>>8;b[F+2>>0]=D>>16;b[F+3>>0]=D>>24;f[H+12>>2]=y;f[H+4>>2]=E;f[H>>2]=0;V=$(((f[o>>2]|0)+1|0)>>>0);X=$(K>>>0);Y=$(n[l>>2]);do if(L|V>$(X*Y)){D=(K>>>0<3|(K+-1&K|0)!=0)&1|K<<1;F=~~$(W($(V/Y)))>>>0;Yh(g,D>>>0<F>>>0?F:D);D=f[r>>2]|0;F=D+-1|0;if(!(F&D)){Z=D;_=F&E;break}if(E>>>0<D>>>0){Z=D;_=E}else{Z=D;_=(E>>>0)%(D>>>0)|0}}else{Z=K;_=R}while(0);K=(f[g>>2]|0)+(_<<2)|0;E=f[K>>2]|0;if(!E){f[H>>2]=f[t>>2];f[t>>2]=H;f[K>>2]=t;K=f[H>>2]|0;if(K|0){L=f[K+4>>2]|0;K=Z+-1|0;if(K&Z)if(L>>>0<Z>>>0)aa=L;else aa=(L>>>0)%(Z>>>0)|0;else aa=L&K;ba=(f[g>>2]|0)+(aa<<2)|0;S=44}}else{f[H>>2]=f[E>>2];ba=E;S=44}if((S|0)==44){S=0;f[ba>>2]=H}f[o>>2]=(f[o>>2]|0)+1}E=v;K=f[E>>2]|0;L=En(K|0,f[E+4>>2]|0,y|0,0)|0;eh((f[f[w>>2]>>2]|0)+L|0,i|0,K|0)|0;K=f[k>>2]|0;f[K+(x<<2)>>2]=y;ca=K;da=y+1|0}else{K=f[k>>2]|0;f[K+(x<<2)>>2]=f[z+12>>2];ca=K;da=y}x=x+1|0;ea=f[m>>2]|0;if(x>>>0>=ea>>>0)break;else y=da}if((da|0)==(ea|0))fa=ca;else{y=a+84|0;if(!(b[y>>0]|0)){x=f[a+72>>2]|0;i=f[a+68>>2]|0;w=i;if((x|0)==(i|0))ga=ca;else{v=x-i>>2;i=0;do{x=w+(i<<2)|0;f[x>>2]=f[ca+(f[x>>2]<<2)>>2];i=i+1|0}while(i>>>0<v>>>0);ga=ca}}else{b[y>>0]=0;y=a+68|0;ca=a+72|0;v=f[ca>>2]|0;i=f[y>>2]|0;w=v-i>>2;x=i;i=v;if(ea>>>0<=w>>>0)if(ea>>>0<w>>>0?(v=x+(ea<<2)|0,(i|0)!=(v|0)):0){f[ca>>2]=i+(~((i+-4-v|0)>>>2)<<2);ha=ea}else ha=ea;else{zh(y,ea-w|0,1284);ha=f[m>>2]|0}w=f[k>>2]|0;if(!ha)ga=w;else{k=f[a+68>>2]|0;a=0;do{f[k+(a<<2)>>2]=f[w+(a<<2)>>2];a=a+1|0}while(a>>>0<ha>>>0);ga=w}}f[m>>2]=da;fa=ga}if(!fa)ia=da;else{ga=f[p>>2]|0;if((ga|0)!=(fa|0))f[p>>2]=ga+(~((ga+-4-fa|0)>>>2)<<2);pr(fa);ia=da}}else ia=0;da=f[g+8>>2]|0;if(da|0){fa=da;do{da=fa;fa=f[fa>>2]|0;pr(da)}while((fa|0)!=0)}fa=f[g>>2]|0;f[g>>2]=0;if(!fa){u=e;return ia|0}pr(fa);u=e;return ia|0}function hc(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,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=Ja,V=Ja,X=Ja,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;e=u;u=u+80|0;g=e+48|0;h=e+32|0;i=e+16|0;j=e;k=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[k>>2]=$(1.0);l=a+80|0;m=f[l>>2]|0;f[j>>2]=0;o=j+4|0;f[o>>2]=0;f[j+8>>2]=0;if(m){if(m>>>0>1073741823)Cq(j);p=m<<2;q=tn(p)|0;f[j>>2]=q;r=q+(m<<2)|0;f[j+8>>2]=r;pj(q|0,0,p|0)|0;f[o>>2]=r;r=f[d>>2]|0;d=c+48|0;p=c+40|0;q=i+4|0;m=i+8|0;s=i+12|0;t=g+4|0;v=g+12|0;w=g+8|0;x=a+40|0;y=a+64|0;z=0;A=0;while(1){B=d;C=f[B>>2]|0;D=f[B+4>>2]|0;B=p;E=En(f[B>>2]|0,f[B+4>>2]|0,r+z|0,0)|0;B=go(E|0,I|0,C|0,D|0)|0;D=(f[f[c>>2]>>2]|0)+B|0;B=h;C=D;E=B+16|0;do{b[B>>0]=b[C>>0]|0;B=B+1|0;C=C+1|0}while((B|0)<(E|0));qm(i|0,D|0,16)|0;C=yf(g,i)|0;if(!C){B=f[i>>2]|0;E=f[q>>2]|0;F=f[m>>2]|0;G=f[s>>2]|0;H=(((B^318)+239^E)+239^F)+239^G;J=f[t>>2]|0;K=(J|0)==0;a:do if(!K){L=J+-1|0;M=(L&J|0)==0;if(!M)if(H>>>0<J>>>0)N=H;else N=(H>>>0)%(J>>>0)|0;else N=H&L;O=f[(f[g>>2]|0)+(N<<2)>>2]|0;if((O|0)!=0?(P=f[O>>2]|0,(P|0)!=0):0){if(M){M=P;while(1){O=f[M+4>>2]|0;if(!((O|0)==(H|0)|(O&L|0)==(N|0))){Q=N;R=31;break a}if((((f[M+8>>2]|0)==(B|0)?(f[M+12>>2]|0)==(E|0):0)?(f[M+16>>2]|0)==(F|0):0)?(f[M+20>>2]|0)==(G|0):0)break a;M=f[M>>2]|0;if(!M){Q=N;R=31;break a}}}else S=P;while(1){M=f[S+4>>2]|0;if((M|0)!=(H|0)){if(M>>>0<J>>>0)T=M;else T=(M>>>0)%(J>>>0)|0;if((T|0)!=(N|0)){Q=N;R=31;break a}}if((((f[S+8>>2]|0)==(B|0)?(f[S+12>>2]|0)==(E|0):0)?(f[S+16>>2]|0)==(F|0):0)?(f[S+20>>2]|0)==(G|0):0)break a;S=f[S>>2]|0;if(!S){Q=N;R=31;break}}}else{Q=N;R=31}}else{Q=0;R=31}while(0);if((R|0)==31){R=0;D=tn(28)|0;f[D+8>>2]=B;f[D+12>>2]=E;f[D+16>>2]=F;f[D+20>>2]=G;f[D+24>>2]=A;f[D+4>>2]=H;f[D>>2]=0;U=$(((f[v>>2]|0)+1|0)>>>0);V=$(J>>>0);X=$(n[k>>2]);do if(K|U>$(V*X)){P=(J>>>0<3|(J+-1&J|0)!=0)&1|J<<1;M=~~$(W($(U/X)))>>>0;Vh(g,P>>>0<M>>>0?M:P);P=f[t>>2]|0;M=P+-1|0;if(!(M&P)){Y=P;Z=M&H;break}if(H>>>0<P>>>0){Y=P;Z=H}else{Y=P;Z=(H>>>0)%(P>>>0)|0}}else{Y=J;Z=Q}while(0);J=(f[g>>2]|0)+(Z<<2)|0;H=f[J>>2]|0;if(!H){f[D>>2]=f[w>>2];f[w>>2]=D;f[J>>2]=w;J=f[D>>2]|0;if(J|0){K=f[J+4>>2]|0;J=Y+-1|0;if(J&Y)if(K>>>0<Y>>>0)_=K;else _=(K>>>0)%(Y>>>0)|0;else _=K&J;aa=(f[g>>2]|0)+(_<<2)|0;R=44}}else{f[D>>2]=f[H>>2];aa=H;R=44}if((R|0)==44){R=0;f[aa>>2]=D}f[v>>2]=(f[v>>2]|0)+1}H=x;J=f[H>>2]|0;K=En(J|0,f[H+4>>2]|0,A|0,0)|0;eh((f[f[y>>2]>>2]|0)+K|0,h|0,J|0)|0;J=f[j>>2]|0;f[J+(z<<2)>>2]=A;ba=J;ca=A+1|0}else{J=f[j>>2]|0;f[J+(z<<2)>>2]=f[C+24>>2];ba=J;ca=A}z=z+1|0;da=f[l>>2]|0;if(z>>>0>=da>>>0)break;else A=ca}if((ca|0)==(da|0))ea=ba;else{A=a+84|0;if(!(b[A>>0]|0)){z=f[a+72>>2]|0;h=f[a+68>>2]|0;y=h;if((z|0)==(h|0))fa=ba;else{x=z-h>>2;h=0;do{z=y+(h<<2)|0;f[z>>2]=f[ba+(f[z>>2]<<2)>>2];h=h+1|0}while(h>>>0<x>>>0);fa=ba}}else{b[A>>0]=0;A=a+68|0;ba=a+72|0;x=f[ba>>2]|0;h=f[A>>2]|0;y=x-h>>2;z=h;h=x;if(da>>>0<=y>>>0)if(da>>>0<y>>>0?(x=z+(da<<2)|0,(h|0)!=(x|0)):0){f[ba>>2]=h+(~((h+-4-x|0)>>>2)<<2);ga=da}else ga=da;else{zh(A,da-y|0,1284);ga=f[l>>2]|0}y=f[j>>2]|0;if(!ga)fa=y;else{j=f[a+68>>2]|0;a=0;do{f[j+(a<<2)>>2]=f[y+(a<<2)>>2];a=a+1|0}while(a>>>0<ga>>>0);fa=y}}f[l>>2]=ca;ea=fa}if(!ea)ha=ca;else{fa=f[o>>2]|0;if((fa|0)!=(ea|0))f[o>>2]=fa+(~((fa+-4-ea|0)>>>2)<<2);pr(ea);ha=ca}}else ha=0;ca=f[g+8>>2]|0;if(ca|0){ea=ca;do{ca=ea;ea=f[ea>>2]|0;pr(ca)}while((ea|0)!=0)}ea=f[g>>2]|0;f[g>>2]=0;if(!ea){u=e;return ha|0}pr(ea);u=e;return ha|0}function ic(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=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=Ja,T=Ja,U=Ja,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;g=u;u=u+48|0;h=g+12|0;i=g+38|0;j=g+32|0;k=g;l=h+16|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;n[l>>2]=$(1.0);m=a+80|0;o=f[m>>2]|0;f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;if(o){if(o>>>0>1073741823)Cq(k);q=o<<2;r=tn(q)|0;f[k>>2]=r;s=r+(o<<2)|0;f[k+8>>2]=s;pj(r|0,0,q|0)|0;f[p>>2]=s;s=f[e>>2]|0;e=c+48|0;q=c+40|0;r=j+2|0;o=j+4|0;t=h+4|0;v=h+12|0;w=h+8|0;x=a+40|0;y=a+64|0;z=0;A=0;while(1){B=e;C=f[B>>2]|0;D=f[B+4>>2]|0;B=q;E=En(f[B>>2]|0,f[B+4>>2]|0,s+z|0,0)|0;B=go(E|0,I|0,C|0,D|0)|0;D=(f[f[c>>2]>>2]|0)+B|0;b[i>>0]=b[D>>0]|0;b[i+1>>0]=b[D+1>>0]|0;b[i+2>>0]=b[D+2>>0]|0;b[i+3>>0]=b[D+3>>0]|0;b[i+4>>0]=b[D+4>>0]|0;b[i+5>>0]=b[D+5>>0]|0;qm(j|0,D|0,6)|0;D=Of(h,j)|0;if(!D){B=d[j>>1]|0;C=d[r>>1]|0;E=d[o>>1]|0;F=(((B^318)&65535)+239^C&65535)+239^E&65535;G=f[t>>2]|0;H=(G|0)==0;a:do if(!H){J=G+-1|0;K=(J&G|0)==0;if(!K)if(F>>>0<G>>>0)L=F;else L=(F>>>0)%(G>>>0)|0;else L=F&J;M=f[(f[h>>2]|0)+(L<<2)>>2]|0;if((M|0)!=0?(N=f[M>>2]|0,(N|0)!=0):0){if(K){K=N;while(1){M=f[K+4>>2]|0;if(!((M|0)==(F|0)|(M&J|0)==(L|0))){O=L;P=29;break a}M=K+8|0;if(((d[M>>1]|0)==B<<16>>16?(d[M+2>>1]|0)==C<<16>>16:0)?(d[K+12>>1]|0)==E<<16>>16:0)break a;K=f[K>>2]|0;if(!K){O=L;P=29;break a}}}else Q=N;while(1){K=f[Q+4>>2]|0;if((K|0)!=(F|0)){if(K>>>0<G>>>0)R=K;else R=(K>>>0)%(G>>>0)|0;if((R|0)!=(L|0)){O=L;P=29;break a}}K=Q+8|0;if(((d[K>>1]|0)==B<<16>>16?(d[K+2>>1]|0)==C<<16>>16:0)?(d[Q+12>>1]|0)==E<<16>>16:0)break a;Q=f[Q>>2]|0;if(!Q){O=L;P=29;break}}}else{O=L;P=29}}else{O=0;P=29}while(0);if((P|0)==29){P=0;N=tn(20)|0;d[N+8>>1]=B;d[N+10>>1]=C;d[N+12>>1]=E;f[N+16>>2]=A;f[N+4>>2]=F;f[N>>2]=0;S=$(((f[v>>2]|0)+1|0)>>>0);T=$(G>>>0);U=$(n[l>>2]);do if(H|S>$(T*U)){K=(G>>>0<3|(G+-1&G|0)!=0)&1|G<<1;J=~~$(W($(S/U)))>>>0;Sh(h,K>>>0<J>>>0?J:K);K=f[t>>2]|0;J=K+-1|0;if(!(J&K)){V=K;X=J&F;break}if(F>>>0<K>>>0){V=K;X=F}else{V=K;X=(F>>>0)%(K>>>0)|0}}else{V=G;X=O}while(0);G=(f[h>>2]|0)+(X<<2)|0;F=f[G>>2]|0;if(!F){f[N>>2]=f[w>>2];f[w>>2]=N;f[G>>2]=w;G=f[N>>2]|0;if(G|0){H=f[G+4>>2]|0;G=V+-1|0;if(G&V)if(H>>>0<V>>>0)Y=H;else Y=(H>>>0)%(V>>>0)|0;else Y=H&G;Z=(f[h>>2]|0)+(Y<<2)|0;P=42}}else{f[N>>2]=f[F>>2];Z=F;P=42}if((P|0)==42){P=0;f[Z>>2]=N}f[v>>2]=(f[v>>2]|0)+1}F=x;G=f[F>>2]|0;H=En(G|0,f[F+4>>2]|0,A|0,0)|0;eh((f[f[y>>2]>>2]|0)+H|0,i|0,G|0)|0;G=f[k>>2]|0;f[G+(z<<2)>>2]=A;_=G;aa=A+1|0}else{G=f[k>>2]|0;f[G+(z<<2)>>2]=f[D+16>>2];_=G;aa=A}z=z+1|0;ba=f[m>>2]|0;if(z>>>0>=ba>>>0)break;else A=aa}if((aa|0)==(ba|0))ca=_;else{A=a+84|0;if(!(b[A>>0]|0)){z=f[a+72>>2]|0;i=f[a+68>>2]|0;y=i;if((z|0)==(i|0))da=_;else{x=z-i>>2;i=0;do{z=y+(i<<2)|0;f[z>>2]=f[_+(f[z>>2]<<2)>>2];i=i+1|0}while(i>>>0<x>>>0);da=_}}else{b[A>>0]=0;A=a+68|0;_=a+72|0;x=f[_>>2]|0;i=f[A>>2]|0;y=x-i>>2;z=i;i=x;if(ba>>>0<=y>>>0)if(ba>>>0<y>>>0?(x=z+(ba<<2)|0,(i|0)!=(x|0)):0){f[_>>2]=i+(~((i+-4-x|0)>>>2)<<2);ea=ba}else ea=ba;else{zh(A,ba-y|0,1284);ea=f[m>>2]|0}y=f[k>>2]|0;if(!ea)da=y;else{k=f[a+68>>2]|0;a=0;do{f[k+(a<<2)>>2]=f[y+(a<<2)>>2];a=a+1|0}while(a>>>0<ea>>>0);da=y}}f[m>>2]=aa;ca=da}if(!ca)fa=aa;else{da=f[p>>2]|0;if((da|0)!=(ca|0))f[p>>2]=da+(~((da+-4-ca|0)>>>2)<<2);pr(ca);fa=aa}}else fa=0;aa=f[h+8>>2]|0;if(aa|0){ca=aa;do{aa=ca;ca=f[ca>>2]|0;pr(aa)}while((ca|0)!=0)}ca=f[h>>2]|0;f[h>>2]=0;if(!ca){u=g;return fa|0}pr(ca);u=g;return fa|0}function jc(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,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0;g=a+8|0;Mh(g,b,d,e);d=f[a+48>>2]|0;h=f[a+52>>2]|0;i=e>>>0>1073741823?-1:e<<2;j=mr(i)|0;pj(j|0,0,i|0)|0;k=mr(i)|0;pj(k|0,0,i|0)|0;i=f[a+56>>2]|0;l=i+4|0;m=f[l>>2]|0;n=f[i>>2]|0;o=m-n|0;a:do if((o|0)>4){p=o>>2;q=(e|0)>0;r=a+16|0;s=a+32|0;t=a+12|0;u=a+28|0;v=a+20|0;w=a+24|0;x=d+12|0;y=e<<2;z=p+-1|0;if(m-n>>2>>>0>z>>>0){A=n;B=p;C=z}else Cq(i);while(1){z=f[A+(C<<2)>>2]|0;if(q)pj(j|0,0,y|0)|0;if((z|0)!=-1){p=f[x>>2]|0;D=z;E=0;while(1){F=f[p+(D<<2)>>2]|0;if((F|0)!=-1){G=f[d>>2]|0;H=f[h>>2]|0;I=f[H+(f[G+(F<<2)>>2]<<2)>>2]|0;J=F+1|0;K=((J>>>0)%3|0|0)==0?F+-2|0:J;if((K|0)==-1)L=-1;else L=f[G+(K<<2)>>2]|0;K=f[H+(L<<2)>>2]|0;J=(((F>>>0)%3|0|0)==0?2:-1)+F|0;if((J|0)==-1)M=-1;else M=f[G+(J<<2)>>2]|0;J=f[H+(M<<2)>>2]|0;if((I|0)<(C|0)&(K|0)<(C|0)&(J|0)<(C|0)){H=X(I,e)|0;I=X(K,e)|0;K=X(J,e)|0;if(q){J=0;do{f[k+(J<<2)>>2]=(f[b+(J+K<<2)>>2]|0)+(f[b+(J+I<<2)>>2]|0)-(f[b+(J+H<<2)>>2]|0);J=J+1|0}while((J|0)!=(e|0));if(q){J=0;do{H=j+(J<<2)|0;f[H>>2]=(f[H>>2]|0)+(f[k+(J<<2)>>2]|0);J=J+1|0}while((J|0)!=(e|0))}}N=E+1|0}else N=E}else N=E;J=(((D>>>0)%3|0|0)==0?2:-1)+D|0;do if((J|0)!=-1?(H=f[p+(J<<2)>>2]|0,(H|0)!=-1):0)if(!((H>>>0)%3|0)){O=H+2|0;break}else{O=H+-1|0;break}else O=-1;while(0);D=(O|0)==(z|0)?-1:O;if((D|0)==-1)break;else E=N}E=X(C,e)|0;if(N){if(q){D=0;do{z=j+(D<<2)|0;f[z>>2]=(f[z>>2]|0)/(N|0)|0;D=D+1|0}while((D|0)!=(e|0))}D=b+(E<<2)|0;z=c+(E<<2)|0;p=f[g>>2]|0;if((p|0)>0){J=p;p=0;H=j;while(1){if((J|0)>0){I=0;do{K=f[H+(I<<2)>>2]|0;G=f[r>>2]|0;if((K|0)>(G|0)){F=f[s>>2]|0;f[F+(I<<2)>>2]=G;P=F}else{F=f[t>>2]|0;G=f[s>>2]|0;f[G+(I<<2)>>2]=(K|0)<(F|0)?F:K;P=G}I=I+1|0}while((I|0)<(f[g>>2]|0));Q=P}else Q=f[s>>2]|0;I=(f[D+(p<<2)>>2]|0)-(f[Q+(p<<2)>>2]|0)|0;G=z+(p<<2)|0;f[G>>2]=I;if((I|0)>=(f[u>>2]|0)){if((I|0)>(f[w>>2]|0)){R=I-(f[v>>2]|0)|0;S=57}}else{R=(f[v>>2]|0)+I|0;S=57}if((S|0)==57){S=0;f[G>>2]=R}p=p+1|0;J=f[g>>2]|0;if((p|0)>=(J|0))break;else H=Q}}}else{T=E;S=30}}else{T=X(C,e)|0;S=30}if((S|0)==30?(S=0,H=b+(T<<2)|0,J=c+(T<<2)|0,p=f[g>>2]|0,(p|0)>0):0){z=p;p=0;D=b+((X(B+-2|0,e)|0)<<2)|0;while(1){if((z|0)>0){G=0;do{I=f[D+(G<<2)>>2]|0;K=f[r>>2]|0;if((I|0)>(K|0)){F=f[s>>2]|0;f[F+(G<<2)>>2]=K;U=F}else{F=f[t>>2]|0;K=f[s>>2]|0;f[K+(G<<2)>>2]=(I|0)<(F|0)?F:I;U=K}G=G+1|0}while((G|0)<(f[g>>2]|0));V=U}else V=f[s>>2]|0;G=(f[H+(p<<2)>>2]|0)-(f[V+(p<<2)>>2]|0)|0;K=J+(p<<2)|0;f[K>>2]=G;if((G|0)>=(f[u>>2]|0)){if((G|0)>(f[w>>2]|0)){W=G-(f[v>>2]|0)|0;S=42}}else{W=(f[v>>2]|0)+G|0;S=42}if((S|0)==42){S=0;f[K>>2]=W}p=p+1|0;z=f[g>>2]|0;if((p|0)>=(z|0))break;else D=V}}if((C|0)<=1)break a;A=f[i>>2]|0;D=C+-1|0;if((f[l>>2]|0)-A>>2>>>0<=D>>>0)break;else{z=C;C=D;B=z}}Cq(i)}while(0);if((e|0)>0)pj(j|0,0,e<<2|0)|0;e=f[g>>2]|0;if((e|0)<=0){nr(k);nr(j);return 1}i=a+16|0;B=a+32|0;C=a+12|0;A=a+28|0;l=a+20|0;V=a+24|0;a=e;e=0;W=j;while(1){if((a|0)>0){U=0;do{T=f[W+(U<<2)>>2]|0;Q=f[i>>2]|0;if((T|0)>(Q|0)){R=f[B>>2]|0;f[R+(U<<2)>>2]=Q;Y=R}else{R=f[C>>2]|0;Q=f[B>>2]|0;f[Q+(U<<2)>>2]=(T|0)<(R|0)?R:T;Y=Q}U=U+1|0}while((U|0)<(f[g>>2]|0));Z=Y}else Z=f[B>>2]|0;U=(f[b+(e<<2)>>2]|0)-(f[Z+(e<<2)>>2]|0)|0;Q=c+(e<<2)|0;f[Q>>2]=U;if((U|0)>=(f[A>>2]|0)){if((U|0)>(f[V>>2]|0)){_=U-(f[l>>2]|0)|0;S=72}}else{_=(f[l>>2]|0)+U|0;S=72}if((S|0)==72){S=0;f[Q>>2]=_}e=e+1|0;a=f[g>>2]|0;if((e|0)>=(a|0))break;else W=Z}nr(k);nr(j);return 1}function kc(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,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0;g=a+8|0;Mh(g,b,d,e);d=f[a+48>>2]|0;h=f[a+52>>2]|0;i=e>>>0>1073741823?-1:e<<2;j=mr(i)|0;pj(j|0,0,i|0)|0;k=mr(i)|0;pj(k|0,0,i|0)|0;i=f[a+56>>2]|0;l=i+4|0;m=f[l>>2]|0;n=f[i>>2]|0;o=m-n|0;a:do if((o|0)>4){p=o>>2;q=(e|0)>0;r=a+16|0;s=a+32|0;t=a+12|0;u=a+28|0;v=a+20|0;w=a+24|0;x=d+64|0;y=d+28|0;z=e<<2;A=p+-1|0;if(m-n>>2>>>0>A>>>0){B=n;C=p;D=A}else Cq(i);while(1){A=f[B+(D<<2)>>2]|0;if(q)pj(j|0,0,z|0)|0;if((A|0)!=-1){p=f[d>>2]|0;E=A;F=0;while(1){if(((f[p+(E>>>5<<2)>>2]&1<<(E&31)|0)==0?(G=f[(f[(f[x>>2]|0)+12>>2]|0)+(E<<2)>>2]|0,(G|0)!=-1):0)?(H=f[y>>2]|0,I=f[h>>2]|0,J=f[I+(f[H+(G<<2)>>2]<<2)>>2]|0,K=G+1|0,L=f[I+(f[H+((((K>>>0)%3|0|0)==0?G+-2|0:K)<<2)>>2]<<2)>>2]|0,K=f[I+(f[H+((((G>>>0)%3|0|0)==0?2:-1)+G<<2)>>2]<<2)>>2]|0,(J|0)<(D|0)&(L|0)<(D|0)&(K|0)<(D|0)):0){G=X(J,e)|0;J=X(L,e)|0;L=X(K,e)|0;if(q){K=0;do{f[k+(K<<2)>>2]=(f[b+(K+L<<2)>>2]|0)+(f[b+(K+J<<2)>>2]|0)-(f[b+(K+G<<2)>>2]|0);K=K+1|0}while((K|0)!=(e|0));if(q){K=0;do{G=j+(K<<2)|0;f[G>>2]=(f[G>>2]|0)+(f[k+(K<<2)>>2]|0);K=K+1|0}while((K|0)!=(e|0))}}M=F+1|0}else M=F;K=(((E>>>0)%3|0|0)==0?2:-1)+E|0;do if(((K|0)!=-1?(f[p+(K>>>5<<2)>>2]&1<<(K&31)|0)==0:0)?(G=f[(f[(f[x>>2]|0)+12>>2]|0)+(K<<2)>>2]|0,(G|0)!=-1):0)if(!((G>>>0)%3|0)){N=G+2|0;break}else{N=G+-1|0;break}else N=-1;while(0);E=(N|0)==(A|0)?-1:N;if((E|0)==-1)break;else F=M}F=X(D,e)|0;if(M){if(q){E=0;do{A=j+(E<<2)|0;f[A>>2]=(f[A>>2]|0)/(M|0)|0;E=E+1|0}while((E|0)!=(e|0))}E=b+(F<<2)|0;A=c+(F<<2)|0;p=f[g>>2]|0;if((p|0)>0){K=p;p=0;G=j;while(1){if((K|0)>0){J=0;do{L=f[G+(J<<2)>>2]|0;H=f[r>>2]|0;if((L|0)>(H|0)){I=f[s>>2]|0;f[I+(J<<2)>>2]=H;O=I}else{I=f[t>>2]|0;H=f[s>>2]|0;f[H+(J<<2)>>2]=(L|0)<(I|0)?I:L;O=H}J=J+1|0}while((J|0)<(f[g>>2]|0));P=O}else P=f[s>>2]|0;J=(f[E+(p<<2)>>2]|0)-(f[P+(p<<2)>>2]|0)|0;H=A+(p<<2)|0;f[H>>2]=J;if((J|0)>=(f[u>>2]|0)){if((J|0)>(f[w>>2]|0)){Q=J-(f[v>>2]|0)|0;R=55}}else{Q=(f[v>>2]|0)+J|0;R=55}if((R|0)==55){R=0;f[H>>2]=Q}p=p+1|0;K=f[g>>2]|0;if((p|0)>=(K|0))break;else G=P}}}else{S=F;R=28}}else{S=X(D,e)|0;R=28}if((R|0)==28?(R=0,G=b+(S<<2)|0,K=c+(S<<2)|0,p=f[g>>2]|0,(p|0)>0):0){A=p;p=0;E=b+((X(C+-2|0,e)|0)<<2)|0;while(1){if((A|0)>0){H=0;do{J=f[E+(H<<2)>>2]|0;L=f[r>>2]|0;if((J|0)>(L|0)){I=f[s>>2]|0;f[I+(H<<2)>>2]=L;T=I}else{I=f[t>>2]|0;L=f[s>>2]|0;f[L+(H<<2)>>2]=(J|0)<(I|0)?I:J;T=L}H=H+1|0}while((H|0)<(f[g>>2]|0));U=T}else U=f[s>>2]|0;H=(f[G+(p<<2)>>2]|0)-(f[U+(p<<2)>>2]|0)|0;L=K+(p<<2)|0;f[L>>2]=H;if((H|0)>=(f[u>>2]|0)){if((H|0)>(f[w>>2]|0)){V=H-(f[v>>2]|0)|0;R=40}}else{V=(f[v>>2]|0)+H|0;R=40}if((R|0)==40){R=0;f[L>>2]=V}p=p+1|0;A=f[g>>2]|0;if((p|0)>=(A|0))break;else E=U}}if((D|0)<=1)break a;B=f[i>>2]|0;E=D+-1|0;if((f[l>>2]|0)-B>>2>>>0<=E>>>0)break;else{A=D;D=E;C=A}}Cq(i)}while(0);if((e|0)>0)pj(j|0,0,e<<2|0)|0;e=f[g>>2]|0;if((e|0)<=0){nr(k);nr(j);return 1}i=a+16|0;C=a+32|0;D=a+12|0;B=a+28|0;l=a+20|0;U=a+24|0;a=e;e=0;V=j;while(1){if((a|0)>0){T=0;do{S=f[V+(T<<2)>>2]|0;P=f[i>>2]|0;if((S|0)>(P|0)){Q=f[C>>2]|0;f[Q+(T<<2)>>2]=P;W=Q}else{Q=f[D>>2]|0;P=f[C>>2]|0;f[P+(T<<2)>>2]=(S|0)<(Q|0)?Q:S;W=P}T=T+1|0}while((T|0)<(f[g>>2]|0));Y=W}else Y=f[C>>2]|0;T=(f[b+(e<<2)>>2]|0)-(f[Y+(e<<2)>>2]|0)|0;P=c+(e<<2)|0;f[P>>2]=T;if((T|0)>=(f[B>>2]|0)){if((T|0)>(f[U>>2]|0)){Z=T-(f[l>>2]|0)|0;R=70}}else{Z=(f[l>>2]|0)+T|0;R=70}if((R|0)==70){R=0;f[P>>2]=Z}e=e+1|0;a=f[g>>2]|0;if((e|0)>=(a|0))break;else V=Y}nr(k);nr(j);return 1}function lc(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,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=Ja,S=Ja,T=Ja,U=0,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0;e=u;u=u+48|0;g=e+12|0;h=e+35|0;i=e+32|0;j=e;k=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[k>>2]=$(1.0);l=a+80|0;m=f[l>>2]|0;f[j>>2]=0;o=j+4|0;f[o>>2]=0;f[j+8>>2]=0;if(m){if(m>>>0>1073741823)Cq(j);p=m<<2;q=tn(p)|0;f[j>>2]=q;r=q+(m<<2)|0;f[j+8>>2]=r;pj(q|0,0,p|0)|0;f[o>>2]=r;r=f[d>>2]|0;d=c+48|0;p=c+40|0;q=i+1|0;m=i+2|0;s=g+4|0;t=g+12|0;v=g+8|0;w=a+40|0;x=a+64|0;y=0;z=0;while(1){A=d;B=f[A>>2]|0;C=f[A+4>>2]|0;A=p;D=En(f[A>>2]|0,f[A+4>>2]|0,r+y|0,0)|0;A=go(D|0,I|0,B|0,C|0)|0;C=(f[f[c>>2]>>2]|0)+A|0;b[h>>0]=b[C>>0]|0;b[h+1>>0]=b[C+1>>0]|0;b[h+2>>0]=b[C+2>>0]|0;qm(i|0,C|0,3)|0;C=Uf(g,i)|0;if(!C){A=b[i>>0]|0;B=b[q>>0]|0;D=b[m>>0]|0;E=((A&255^318)+239^B&255)+239^D&255;F=f[s>>2]|0;G=(F|0)==0;a:do if(!G){H=F+-1|0;J=(H&F|0)==0;if(!J)if(E>>>0<F>>>0)K=E;else K=(E>>>0)%(F>>>0)|0;else K=E&H;L=f[(f[g>>2]|0)+(K<<2)>>2]|0;if((L|0)!=0?(M=f[L>>2]|0,(M|0)!=0):0){if(J){J=M;while(1){L=f[J+4>>2]|0;if(!((L|0)==(E|0)|(L&H|0)==(K|0))){N=K;O=29;break a}L=J+8|0;if(((b[L>>0]|0)==A<<24>>24?(b[L+1>>0]|0)==B<<24>>24:0)?(b[L+2>>0]|0)==D<<24>>24:0)break a;J=f[J>>2]|0;if(!J){N=K;O=29;break a}}}else P=M;while(1){J=f[P+4>>2]|0;if((J|0)!=(E|0)){if(J>>>0<F>>>0)Q=J;else Q=(J>>>0)%(F>>>0)|0;if((Q|0)!=(K|0)){N=K;O=29;break a}}J=P+8|0;if(((b[J>>0]|0)==A<<24>>24?(b[J+1>>0]|0)==B<<24>>24:0)?(b[J+2>>0]|0)==D<<24>>24:0)break a;P=f[P>>2]|0;if(!P){N=K;O=29;break}}}else{N=K;O=29}}else{N=0;O=29}while(0);if((O|0)==29){O=0;M=tn(16)|0;b[M+8>>0]=A;b[M+9>>0]=B;b[M+10>>0]=D;f[M+12>>2]=z;f[M+4>>2]=E;f[M>>2]=0;R=$(((f[t>>2]|0)+1|0)>>>0);S=$(F>>>0);T=$(n[k>>2]);do if(G|R>$(S*T)){J=(F>>>0<3|(F+-1&F|0)!=0)&1|F<<1;H=~~$(W($(R/T)))>>>0;Zh(g,J>>>0<H>>>0?H:J);J=f[s>>2]|0;H=J+-1|0;if(!(H&J)){U=J;V=H&E;break}if(E>>>0<J>>>0){U=J;V=E}else{U=J;V=(E>>>0)%(J>>>0)|0}}else{U=F;V=N}while(0);F=(f[g>>2]|0)+(V<<2)|0;E=f[F>>2]|0;if(!E){f[M>>2]=f[v>>2];f[v>>2]=M;f[F>>2]=v;F=f[M>>2]|0;if(F|0){G=f[F+4>>2]|0;F=U+-1|0;if(F&U)if(G>>>0<U>>>0)X=G;else X=(G>>>0)%(U>>>0)|0;else X=G&F;Y=(f[g>>2]|0)+(X<<2)|0;O=42}}else{f[M>>2]=f[E>>2];Y=E;O=42}if((O|0)==42){O=0;f[Y>>2]=M}f[t>>2]=(f[t>>2]|0)+1}E=w;F=f[E>>2]|0;G=En(F|0,f[E+4>>2]|0,z|0,0)|0;eh((f[f[x>>2]>>2]|0)+G|0,h|0,F|0)|0;F=f[j>>2]|0;f[F+(y<<2)>>2]=z;Z=F;_=z+1|0}else{F=f[j>>2]|0;f[F+(y<<2)>>2]=f[C+12>>2];Z=F;_=z}y=y+1|0;aa=f[l>>2]|0;if(y>>>0>=aa>>>0)break;else z=_}if((_|0)==(aa|0))ba=Z;else{z=a+84|0;if(!(b[z>>0]|0)){y=f[a+72>>2]|0;h=f[a+68>>2]|0;x=h;if((y|0)==(h|0))ca=Z;else{w=y-h>>2;h=0;do{y=x+(h<<2)|0;f[y>>2]=f[Z+(f[y>>2]<<2)>>2];h=h+1|0}while(h>>>0<w>>>0);ca=Z}}else{b[z>>0]=0;z=a+68|0;Z=a+72|0;w=f[Z>>2]|0;h=f[z>>2]|0;x=w-h>>2;y=h;h=w;if(aa>>>0<=x>>>0)if(aa>>>0<x>>>0?(w=y+(aa<<2)|0,(h|0)!=(w|0)):0){f[Z>>2]=h+(~((h+-4-w|0)>>>2)<<2);da=aa}else da=aa;else{zh(z,aa-x|0,1284);da=f[l>>2]|0}x=f[j>>2]|0;if(!da)ca=x;else{j=f[a+68>>2]|0;a=0;do{f[j+(a<<2)>>2]=f[x+(a<<2)>>2];a=a+1|0}while(a>>>0<da>>>0);ca=x}}f[l>>2]=_;ba=ca}if(!ba)ea=_;else{ca=f[o>>2]|0;if((ca|0)!=(ba|0))f[o>>2]=ca+(~((ca+-4-ba|0)>>>2)<<2);pr(ba);ea=_}}else ea=0;_=f[g+8>>2]|0;if(_|0){ba=_;do{_=ba;ba=f[ba>>2]|0;pr(_)}while((ba|0)!=0)}ba=f[g>>2]|0;f[g>>2]=0;if(!ba){u=e;return ea|0}pr(ba);u=e;return ea|0}function mc(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,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;c=u;u=u+48|0;d=c+24|0;e=c+12|0;g=c;if(!b){h=0;u=c;return h|0}i=a+12|0;j=a+4|0;k=f[j>>2]|0;l=f[a>>2]|0;m=k-l>>2;n=a+16|0;o=f[n>>2]|0;p=f[i>>2]|0;q=o-p>>2;r=p;p=o;if(m>>>0<=q>>>0)if(m>>>0<q>>>0?(o=r+(m<<2)|0,(p|0)!=(o|0)):0){f[n>>2]=p+(~((p+-4-o|0)>>>2)<<2);s=l;t=k}else{s=l;t=k}else{zh(i,m-q|0,6296);s=f[a>>2]|0;t=f[j>>2]|0}f[d>>2]=0;q=d+4|0;f[q>>2]=0;f[d+8>>2]=0;Xj(d,t-s>>2);s=f[j>>2]|0;t=f[a>>2]|0;if((s|0)==(t|0)){v=s;w=s}else{m=f[d>>2]|0;k=m;l=k;o=t;t=m;m=s;s=k;k=0;while(1){p=f[o+(k<<2)>>2]|0;n=f[q>>2]|0;if(p>>>0<n-t>>2>>>0){x=l;y=s;z=o;A=m}else{r=p+1|0;f[e>>2]=0;B=n-t>>2;C=t;D=n;if(r>>>0<=B>>>0)if(r>>>0<B>>>0?(n=C+(r<<2)|0,(D|0)!=(n|0)):0){f[q>>2]=D+(~((D+-4-n|0)>>>2)<<2);E=l;F=m;G=o}else{E=l;F=m;G=o}else{zh(d,r-B|0,e);E=f[d>>2]|0;F=f[j>>2]|0;G=f[a>>2]|0}x=E;y=E;z=G;A=F}B=y+(p<<2)|0;f[B>>2]=(f[B>>2]|0)+1;k=k+1|0;if(k>>>0>=A-z>>2>>>0){v=z;w=A;break}else{l=x;o=z;t=y;m=A;s=y}}}y=w-v|0;v=y>>2;f[e>>2]=0;w=e+4|0;f[w>>2]=0;f[e+8>>2]=0;if(!v){H=0;I=0}else{if(v>>>0>536870911)Cq(e);s=tn(y<<1)|0;f[w>>2]=s;f[e>>2]=s;f[e+8>>2]=s+(v<<3);y=s;A=v;m=s;while(1){t=y;f[t>>2]=-1;f[t+4>>2]=-1;t=m+8|0;z=A+-1|0;if(!z)break;else{y=t;A=z;m=t}}f[w>>2]=s+(v<<3);H=s;I=s}s=f[q>>2]|0;v=f[d>>2]|0;m=s-v|0;A=m>>2;f[g>>2]=0;y=g+4|0;f[y>>2]=0;f[g+8>>2]=0;t=v;do if(A)if(A>>>0>1073741823)Cq(g);else{z=tn(m)|0;f[g>>2]=z;o=z+(A<<2)|0;f[g+8>>2]=o;pj(z|0,0,m|0)|0;f[y>>2]=o;J=z;K=o;L=z;break}else{J=0;K=0;L=0}while(0);if((s|0)!=(v|0)){v=0;s=0;do{f[J+(v<<2)>>2]=s;s=(f[t+(v<<2)>>2]|0)+s|0;v=v+1|0}while(v>>>0<A>>>0)}v=f[j>>2]|0;j=f[a>>2]|0;s=j;if((v|0)!=(j|0)){m=a+40|0;a=v-j>>2;j=J;v=0;g=H;z=H;o=H;x=H;l=H;k=H;while(1){F=f[s+(v<<2)>>2]|0;G=v+1|0;E=((G>>>0)%3|0|0)==0?v+-2|0:G;if((E|0)==-1)M=-1;else M=f[s+(E<<2)>>2]|0;E=((v>>>0)%3|0|0)==0;G=(E?2:-1)+v|0;if((G|0)==-1)N=-1;else N=f[s+(G<<2)>>2]|0;if(E?(M|0)==(N|0)|((F|0)==(M|0)|(F|0)==(N|0)):0){f[m>>2]=(f[m>>2]|0)+1;O=j;P=v+2|0;Q=g;R=z;S=o;T=x;U=l;V=k}else W=51;a:do if((W|0)==51){W=0;E=f[t+(N<<2)>>2]|0;b:do if((E|0)>0){G=0;B=f[j+(N<<2)>>2]|0;while(1){p=f[l+(B<<3)>>2]|0;if((p|0)==-1){X=g;Y=z;Z=x;_=l;break b}if((p|0)==(M|0)){p=f[l+(B<<3)+4>>2]|0;if((p|0)==-1)$=-1;else $=f[s+(p<<2)>>2]|0;if((F|0)!=($|0))break}p=G+1|0;if((p|0)<(E|0)){G=p;B=B+1|0}else{X=g;Y=z;Z=x;_=l;break b}}p=f[x+(B<<3)+4>>2]|0;r=G;n=B;D=z;while(1){r=r+1|0;if((r|0)>=(E|0))break;C=n+1|0;f[D+(n<<3)>>2]=f[D+(C<<3)>>2];f[D+(n<<3)+4>>2]=f[D+(C<<3)+4>>2];if((f[g+(n<<3)>>2]|0)==-1)break;else{n=C;D=g}}f[o+(n<<3)>>2]=-1;if((p|0)==-1){X=o;Y=o;Z=o;_=o}else{D=f[i>>2]|0;f[D+(v<<2)>>2]=p;f[D+(p<<2)>>2]=v;O=j;P=v;Q=o;R=o;S=o;T=o;U=o;V=k;break a}}else{X=g;Y=z;Z=x;_=l}while(0);E=f[t+(M<<2)>>2]|0;if((E|0)>0){D=0;r=f[J+(M<<2)>>2]|0;while(1){aa=k+(r<<3)|0;if((f[aa>>2]|0)==-1)break;D=D+1|0;if((D|0)>=(E|0)){O=J;P=v;Q=k;R=k;S=k;T=k;U=k;V=k;break a}else r=r+1|0}f[aa>>2]=N;f[H+(r<<3)+4>>2]=v;O=J;P=v;Q=H;R=H;S=H;T=H;U=H;V=H}else{O=j;P=v;Q=X;R=Y;S=o;T=Z;U=_;V=k}}while(0);v=P+1|0;if(v>>>0>=a>>>0)break;else{j=O;g=Q;z=R;o=S;x=T;l=U;k=V}}}f[b>>2]=A;if(!J){ba=H;ca=I}else{if((K|0)!=(J|0))f[y>>2]=K+(~((K+-4-J|0)>>>2)<<2);pr(L);L=f[e>>2]|0;ba=L;ca=L}if(ba|0){L=f[w>>2]|0;if((L|0)!=(ba|0))f[w>>2]=L+(~((L+-8-ba|0)>>>3)<<3);pr(ca)}ca=f[d>>2]|0;if(ca|0){d=f[q>>2]|0;if((d|0)!=(ca|0))f[q>>2]=d+(~((d+-4-ca|0)>>>2)<<2);pr(ca)}h=1;u=c;return h|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,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=Ja,T=Ja,U=Ja,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;e=u;u=u+64|0;g=e+36|0;h=e+24|0;i=e+12|0;j=e;k=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[k>>2]=$(1.0);l=a+80|0;m=f[l>>2]|0;f[j>>2]=0;o=j+4|0;f[o>>2]=0;f[j+8>>2]=0;if(m){if(m>>>0>1073741823)Cq(j);p=m<<2;q=tn(p)|0;f[j>>2]=q;r=q+(m<<2)|0;f[j+8>>2]=r;pj(q|0,0,p|0)|0;f[o>>2]=r;r=f[d>>2]|0;d=c+48|0;p=c+40|0;q=i+4|0;m=i+8|0;s=g+4|0;t=g+12|0;v=g+8|0;w=a+40|0;x=a+64|0;y=0;z=0;while(1){A=d;B=f[A>>2]|0;C=f[A+4>>2]|0;A=p;D=En(f[A>>2]|0,f[A+4>>2]|0,r+y|0,0)|0;A=go(D|0,I|0,B|0,C|0)|0;C=(f[f[c>>2]>>2]|0)+A|0;A=h;B=C;D=A+12|0;do{b[A>>0]=b[B>>0]|0;A=A+1|0;B=B+1|0}while((A|0)<(D|0));qm(i|0,C|0,12)|0;B=cg(g,i)|0;if(!B){A=f[i>>2]|0;D=f[q>>2]|0;E=f[m>>2]|0;F=((A^318)+239^D)+239^E;G=f[s>>2]|0;H=(G|0)==0;a:do if(!H){J=G+-1|0;K=(J&G|0)==0;if(!K)if(F>>>0<G>>>0)L=F;else L=(F>>>0)%(G>>>0)|0;else L=F&J;M=f[(f[g>>2]|0)+(L<<2)>>2]|0;if((M|0)!=0?(N=f[M>>2]|0,(N|0)!=0):0){if(K){K=N;while(1){M=f[K+4>>2]|0;if(!((M|0)==(F|0)|(M&J|0)==(L|0))){O=L;P=29;break a}if(((f[K+8>>2]|0)==(A|0)?(f[K+12>>2]|0)==(D|0):0)?(f[K+16>>2]|0)==(E|0):0)break a;K=f[K>>2]|0;if(!K){O=L;P=29;break a}}}else Q=N;while(1){K=f[Q+4>>2]|0;if((K|0)!=(F|0)){if(K>>>0<G>>>0)R=K;else R=(K>>>0)%(G>>>0)|0;if((R|0)!=(L|0)){O=L;P=29;break a}}if(((f[Q+8>>2]|0)==(A|0)?(f[Q+12>>2]|0)==(D|0):0)?(f[Q+16>>2]|0)==(E|0):0)break a;Q=f[Q>>2]|0;if(!Q){O=L;P=29;break}}}else{O=L;P=29}}else{O=0;P=29}while(0);if((P|0)==29){P=0;C=tn(24)|0;f[C+8>>2]=A;f[C+12>>2]=D;f[C+16>>2]=E;f[C+20>>2]=z;f[C+4>>2]=F;f[C>>2]=0;S=$(((f[t>>2]|0)+1|0)>>>0);T=$(G>>>0);U=$(n[k>>2]);do if(H|S>$(T*U)){N=(G>>>0<3|(G+-1&G|0)!=0)&1|G<<1;K=~~$(W($(S/U)))>>>0;Wh(g,N>>>0<K>>>0?K:N);N=f[s>>2]|0;K=N+-1|0;if(!(K&N)){V=N;X=K&F;break}if(F>>>0<N>>>0){V=N;X=F}else{V=N;X=(F>>>0)%(N>>>0)|0}}else{V=G;X=O}while(0);G=(f[g>>2]|0)+(X<<2)|0;F=f[G>>2]|0;if(!F){f[C>>2]=f[v>>2];f[v>>2]=C;f[G>>2]=v;G=f[C>>2]|0;if(G|0){H=f[G+4>>2]|0;G=V+-1|0;if(G&V)if(H>>>0<V>>>0)Y=H;else Y=(H>>>0)%(V>>>0)|0;else Y=H&G;Z=(f[g>>2]|0)+(Y<<2)|0;P=42}}else{f[C>>2]=f[F>>2];Z=F;P=42}if((P|0)==42){P=0;f[Z>>2]=C}f[t>>2]=(f[t>>2]|0)+1}F=w;G=f[F>>2]|0;H=En(G|0,f[F+4>>2]|0,z|0,0)|0;eh((f[f[x>>2]>>2]|0)+H|0,h|0,G|0)|0;G=f[j>>2]|0;f[G+(y<<2)>>2]=z;_=G;aa=z+1|0}else{G=f[j>>2]|0;f[G+(y<<2)>>2]=f[B+20>>2];_=G;aa=z}y=y+1|0;ba=f[l>>2]|0;if(y>>>0>=ba>>>0)break;else z=aa}if((aa|0)==(ba|0))ca=_;else{z=a+84|0;if(!(b[z>>0]|0)){y=f[a+72>>2]|0;h=f[a+68>>2]|0;x=h;if((y|0)==(h|0))da=_;else{w=y-h>>2;h=0;do{y=x+(h<<2)|0;f[y>>2]=f[_+(f[y>>2]<<2)>>2];h=h+1|0}while(h>>>0<w>>>0);da=_}}else{b[z>>0]=0;z=a+68|0;_=a+72|0;w=f[_>>2]|0;h=f[z>>2]|0;x=w-h>>2;y=h;h=w;if(ba>>>0<=x>>>0)if(ba>>>0<x>>>0?(w=y+(ba<<2)|0,(h|0)!=(w|0)):0){f[_>>2]=h+(~((h+-4-w|0)>>>2)<<2);ea=ba}else ea=ba;else{zh(z,ba-x|0,1284);ea=f[l>>2]|0}x=f[j>>2]|0;if(!ea)da=x;else{j=f[a+68>>2]|0;a=0;do{f[j+(a<<2)>>2]=f[x+(a<<2)>>2];a=a+1|0}while(a>>>0<ea>>>0);da=x}}f[l>>2]=aa;ca=da}if(!ca)fa=aa;else{da=f[o>>2]|0;if((da|0)!=(ca|0))f[o>>2]=da+(~((da+-4-ca|0)>>>2)<<2);pr(ca);fa=aa}}else fa=0;aa=f[g+8>>2]|0;if(aa|0){ca=aa;do{aa=ca;ca=f[ca>>2]|0;pr(aa)}while((ca|0)!=0)}ca=f[g>>2]|0;f[g>>2]=0;if(!ca){u=e;return fa|0}pr(ca);u=e;return fa|0}function oc(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;e=u;u=u+32|0;g=e+16|0;h=e+12|0;i=e+8|0;j=e+4|0;k=e;switch(f[c+28>>2]|0){case 9:{l=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=l;f[g>>2]=f[h>>2];m=cc(a,c,g)|0;break}case 2:{f[i>>2]=l;f[g>>2]=f[i>>2];m=Tb(a,c,g)|0;break}case 3:{f[j>>2]=l;f[g>>2]=f[j>>2];m=nc(a,c,g)|0;break}case 4:{f[k>>2]=l;f[g>>2]=f[k>>2];m=hc(a,c,g)|0;break}default:m=0}n=m;break}case 1:{m=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=m;f[g>>2]=f[h>>2];o=bc(a,c,g)|0;break}case 2:{f[i>>2]=m;f[g>>2]=f[i>>2];o=Ub(a,c,g)|0;break}case 3:{f[j>>2]=m;f[g>>2]=f[j>>2];o=lc(a,c,g)|0;break}case 4:{f[k>>2]=m;f[g>>2]=f[k>>2];o=gc(a,c,g)|0;break}default:o=0}n=o;break}case 11:case 2:{o=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=o;f[g>>2]=f[h>>2];p=bc(a,c,g)|0;break}case 2:{f[i>>2]=o;f[g>>2]=f[i>>2];p=Ub(a,c,g)|0;break}case 3:{f[j>>2]=o;f[g>>2]=f[j>>2];p=lc(a,c,g)|0;break}case 4:{f[k>>2]=o;f[g>>2]=f[k>>2];p=gc(a,c,g)|0;break}default:p=0}n=p;break}case 4:{p=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=p;f[g>>2]=f[h>>2];q=$b(a,c,g)|0;break}case 2:{f[i>>2]=p;f[g>>2]=f[i>>2];q=Qb(a,c,g)|0;break}case 3:{f[j>>2]=p;f[g>>2]=f[j>>2];q=ic(a,c,g)|0;break}case 4:{f[k>>2]=p;f[g>>2]=f[k>>2];q=dc(a,c,g)|0;break}default:q=0}n=q;break}case 3:{q=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=q;f[g>>2]=f[h>>2];r=$b(a,c,g)|0;break}case 2:{f[i>>2]=q;f[g>>2]=f[i>>2];r=Qb(a,c,g)|0;break}case 3:{f[j>>2]=q;f[g>>2]=f[j>>2];r=ic(a,c,g)|0;break}case 4:{f[k>>2]=q;f[g>>2]=f[k>>2];r=dc(a,c,g)|0;break}default:r=0}n=r;break}case 6:{r=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=r;f[g>>2]=f[h>>2];s=cc(a,c,g)|0;break}case 2:{f[i>>2]=r;f[g>>2]=f[i>>2];s=Tb(a,c,g)|0;break}case 3:{f[j>>2]=r;f[g>>2]=f[j>>2];s=nc(a,c,g)|0;break}case 4:{f[k>>2]=r;f[g>>2]=f[k>>2];s=hc(a,c,g)|0;break}default:s=0}n=s;break}case 5:{s=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=s;f[g>>2]=f[h>>2];t=cc(a,c,g)|0;break}case 2:{f[i>>2]=s;f[g>>2]=f[i>>2];t=Tb(a,c,g)|0;break}case 3:{f[j>>2]=s;f[g>>2]=f[j>>2];t=nc(a,c,g)|0;break}case 4:{f[k>>2]=s;f[g>>2]=f[k>>2];t=hc(a,c,g)|0;break}default:t=0}n=t;break}default:{v=-1;u=e;return v|0}}v=(n|0)==0?-1:n;u=e;return v|0}function pc(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;e=u;u=u+32|0;g=e+16|0;h=e+12|0;i=e+29|0;j=e;k=e+28|0;if(!(f[(f[a+8>>2]|0)+80>>2]|0)){l=1;u=e;return l|0}b[i>>0]=-2;m=a+36|0;n=f[m>>2]|0;if(n)if(Ma[f[(f[a>>2]|0)+40>>2]&127](a,n)|0){n=f[m>>2]|0;o=(La[f[(f[n>>2]|0)+8>>2]&127](n)|0)&255;b[i>>0]=o;p=5}else q=0;else p=5;if((p|0)==5){o=d+16|0;n=o;r=f[n+4>>2]|0;if(!((r|0)>0|(r|0)==0&(f[n>>2]|0)>>>0>0)){f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Fe(d,g,i,i+1|0)|0}i=f[m>>2]|0;if(i|0?(n=(La[f[(f[i>>2]|0)+36>>2]&127](i)|0)&255,b[j>>0]=n,n=o,i=f[n+4>>2]|0,!((i|0)>0|(i|0)==0&(f[n>>2]|0)>>>0>0)):0){f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Fe(d,g,j,j+1|0)|0}n=f[a+32>>2]|0;i=b[n+24>>0]|0;r=X(i,f[n+80>>2]|0)|0;s=(f[f[n>>2]>>2]|0)+(f[n+48>>2]|0)|0;f[j>>2]=0;n=j+4|0;f[n>>2]=0;f[j+8>>2]=0;t=(r|0)==0;do if(!t)if(r>>>0>1073741823)Cq(j);else{v=r<<2;w=tn(v)|0;f[j>>2]=w;x=w+(r<<2)|0;f[j+8>>2]=x;pj(w|0,0,v|0)|0;f[n>>2]=x;y=w;break}else y=0;while(0);w=f[m>>2]|0;do if(w){Oa[f[(f[w>>2]|0)+44>>2]&31](w,s,y,r,i,f[c>>2]|0)|0;x=f[m>>2]|0;if(!x){z=f[j>>2]|0;A=s;p=20;break}if(!(La[f[(f[x>>2]|0)+32>>2]&127](x)|0)){x=f[j>>2]|0;z=x;A=f[m>>2]|0?x:s;p=20}}else{z=y;A=s;p=20}while(0);if((p|0)==20)Fm(A,r,z);z=a+4|0;a=f[z>>2]|0;do if(a){A=f[a+48>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;s=tn(48)|0;f[g>>2]=s;f[g+8>>2]=-2147483600;f[g+4>>2]=34;y=s;w=10935;x=y+34|0;do{b[y>>0]=b[w>>0]|0;y=y+1|0;w=w+1|0}while((y|0)<(x|0));b[s+34>>0]=0;w=Yj(A,g,1)|0;if((b[g+11>>0]|0)<0)pr(f[g>>2]|0);if(!w){if(!t){w=f[j>>2]|0;y=0;x=0;do{x=f[w+(y<<2)>>2]|x;y=y+1|0}while((y|0)!=(r|0));if(x)B=((_(x|0)|0)>>>3^3)+1|0;else B=1}else B=1;b[k>>0]=0;y=o;w=f[y>>2]|0;A=f[y+4>>2]|0;if((A|0)>0|(A|0)==0&w>>>0>0){C=A;D=w}else{f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Fe(d,g,k,k+1|0)|0;w=o;C=f[w+4>>2]|0;D=f[w>>2]|0}b[k>>0]=B;if(!((C|0)>0|(C|0)==0&D>>>0>0)){f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Fe(d,g,k,k+1|0)|0}if((B|0)==($l(5)|0)){w=f[j>>2]|0;A=o;y=f[A+4>>2]|0;if(!((y|0)>0|(y|0)==0&(f[A>>2]|0)>>>0>0)){f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Fe(d,g,w,w+(r<<2)|0)|0}p=48;break}if(t)p=48;else{w=d+4|0;A=0;do{y=(f[j>>2]|0)+(A<<2)|0;s=o;v=f[s+4>>2]|0;if(!((v|0)>0|(v|0)==0&(f[s>>2]|0)>>>0>0)){f[h>>2]=f[w>>2];f[g>>2]=f[h>>2];Fe(d,g,y,y+B|0)|0}A=A+1|0}while(A>>>0<r>>>0);p=48}}else p=27}else p=27;while(0);if((p|0)==27){b[k>>0]=1;r=o;o=f[r+4>>2]|0;if(!((o|0)>0|(o|0)==0&(f[r>>2]|0)>>>0>0)){f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Fe(d,g,k,k+1|0)|0}Kp(g);k=f[z>>2]|0;if(k|0)Zj(g,10-(ki(f[k+48>>2]|0)|0)|0)|0;k=Hc(f[j>>2]|0,X((f[c+4>>2]|0)-(f[c>>2]|0)>>2,i)|0,i,g,d)|0;Cj(g,f[g+4>>2]|0);if(k)p=48;else E=0}if((p|0)==48){p=f[m>>2]|0;if(!p)E=1;else{Ma[f[(f[p>>2]|0)+40>>2]&127](p,d)|0;E=1}}d=f[j>>2]|0;if(d|0){j=f[n>>2]|0;if((j|0)!=(d|0))f[n>>2]=j+(~((j+-4-d|0)>>>2)<<2);pr(d)}q=E}l=q;u=e;return l|0}function qc(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,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;e=u;u=u+64|0;d=e+48|0;h=e+40|0;i=e+32|0;j=e+16|0;k=e+8|0;l=e;m=e+28|0;n=a+8|0;o=f[n>>2]|0;if((o+-2|0)>>>0<=28){f[a+72>>2]=o;p=1<<o;f[a+76>>2]=p+-1;o=p+-2|0;f[a+80>>2]=o;f[a+84>>2]=(o|0)/2|0}o=a+40|0;f[a+48>>2]=g;g=a+88|0;gl(g);p=a+36|0;q=f[p>>2]|0;r=(f[q+4>>2]|0)-(f[q>>2]|0)|0;s=r>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;t=k;f[t>>2]=0;f[t+4>>2]=0;t=l;f[t>>2]=0;f[t+4>>2]=0;if((r|0)<=0){u=e;return 1}r=j+4|0;t=j+8|0;v=a+84|0;w=a+80|0;x=h+4|0;y=i+4|0;z=d+4|0;A=k+4|0;B=h+4|0;C=i+4|0;D=d+4|0;E=l+4|0;F=a+76|0;a=k+4|0;G=l+4|0;H=f[q>>2]|0;if((f[q+4>>2]|0)==(H|0)){J=q;Cq(J)}else{K=H;L=0}while(1){f[m>>2]=f[K+(L<<2)>>2];f[d>>2]=f[m>>2];ec(o,d,j);H=f[j>>2]|0;q=(H|0)>-1?H:0-H|0;M=f[r>>2]|0;N=(M|0)>-1?M:0-M|0;O=go(N|0,((N|0)<0)<<31>>31|0,q|0,((q|0)<0)<<31>>31|0)|0;q=f[t>>2]|0;N=(q|0)>-1;P=N?q:0-q|0;q=go(O|0,I|0,P|0,((P|0)<0)<<31>>31|0)|0;P=I;O=f[v>>2]|0;if((q|0)==0&(P|0)==0){Q=j;R=O}else{S=((O|0)<0)<<31>>31;T=En(O|0,S|0,H|0,((H|0)<0)<<31>>31|0)|0;H=Jk(T|0,I|0,q|0,P|0)|0;f[j>>2]=H;T=En(O|0,S|0,M|0,((M|0)<0)<<31>>31|0)|0;M=Jk(T|0,I|0,q|0,P|0)|0;f[r>>2]=M;P=O-((H|0)>-1?H:0-H|0)-((M|0)>-1?M:0-M|0)|0;Q=t;R=N?P:0-P|0}f[Q>>2]=R;P=f[j>>2]|0;N=f[r>>2]|0;M=f[t>>2]|0;if((P|0)<=-1){H=(M|0)>-1?M:0-M|0;if((N|0)<0)U=H;else U=(f[w>>2]|0)-H|0;H=(N|0)>-1?N:0-N|0;if((M|0)<0){V=U;W=H}else{V=U;W=(f[w>>2]|0)-H|0}}else{V=O+N|0;W=O+M|0}H=(V|0)==0;q=(W|0)==0;T=f[w>>2]|0;do if((W|V|0)!=0?(S=(T|0)==(W|0),X=(T|0)==(V|0),!(H&S|q&X)):0){if(H&(O|0)<(W|0)){Y=0;Z=(O<<1)-W|0;break}if(X&(O|0)>(W|0)){Y=V;Z=(O<<1)-W|0;break}if(S&(O|0)>(V|0)){Y=(O<<1)-V|0;Z=W;break}if(q){Y=(O|0)<(V|0)?(O<<1)-V|0:V;Z=0}else{Y=V;Z=W}}else{Y=T;Z=T}while(0);q=0-N|0;H=0-M|0;f[j>>2]=0-P;f[r>>2]=q;f[t>>2]=H;if((P|0)<1){_=O-N|0;$=O-M|0}else{S=(M|0)<1?H:M;H=(N|0)<1?q:N;_=(N|0)>0?S:T-S|0;$=(M|0)>0?H:T-H|0}H=(_|0)==0;S=($|0)==0;do if(($|_|0)!=0?(q=(T|0)==($|0),X=(T|0)==(_|0),!(H&q|S&X)):0){if(H&(O|0)<($|0)){aa=0;ba=(O<<1)-$|0;break}if(X&(O|0)>($|0)){aa=T;ba=(O<<1)-$|0;break}if(q&(O|0)>(_|0)){aa=(O<<1)-_|0;ba=T;break}if(S){aa=(O|0)<(_|0)?(O<<1)-_|0:_;ba=0}else{aa=_;ba=$}}else{aa=T;ba=T}while(0);T=L<<1;O=b+(T<<2)|0;S=O+4|0;H=f[S>>2]|0;f[h>>2]=f[O>>2];f[x>>2]=H;f[i>>2]=Y;f[y>>2]=Z;Nd(d,n,h,i);H=f[d>>2]|0;f[k>>2]=H;M=f[z>>2]|0;f[A>>2]=M;N=f[S>>2]|0;f[h>>2]=f[O>>2];f[B>>2]=N;f[i>>2]=aa;f[C>>2]=ba;Nd(d,n,h,i);N=f[d>>2]|0;f[l>>2]=N;O=f[D>>2]|0;f[E>>2]=O;S=f[v>>2]|0;if((S|0)>=(H|0))if((H|0)<(0-S|0))ca=(f[F>>2]|0)+H|0;else ca=H;else ca=H-(f[F>>2]|0)|0;f[k>>2]=ca;if((S|0)>=(M|0))if((M|0)<(0-S|0))da=(f[F>>2]|0)+M|0;else da=M;else da=M-(f[F>>2]|0)|0;f[a>>2]=da;if((S|0)>=(N|0))if((N|0)<(0-S|0))ea=(f[F>>2]|0)+N|0;else ea=N;else ea=N-(f[F>>2]|0)|0;f[l>>2]=ea;if((S|0)>=(O|0))if((O|0)<(0-S|0))fa=(f[F>>2]|0)+O|0;else fa=O;else fa=O-(f[F>>2]|0)|0;f[G>>2]=fa;if((((da|0)>-1?da:0-da|0)+((ca|0)>-1?ca:0-ca|0)|0)<(((ea|0)>-1?ea:0-ea|0)+((fa|0)>-1?fa:0-fa|0)|0)){dj(g,0);ga=k}else{dj(g,1);ga=l}O=f[ga>>2]|0;if((O|0)<0)ha=(f[F>>2]|0)+O|0;else ha=O;O=c+(T<<2)|0;f[O>>2]=ha;T=f[ga+4>>2]|0;if((T|0)<0)ia=(f[F>>2]|0)+T|0;else ia=T;f[O+4>>2]=ia;L=L+1|0;if((L|0)>=(s|0)){ja=5;break}O=f[p>>2]|0;K=f[O>>2]|0;if((f[O+4>>2]|0)-K>>2>>>0<=L>>>0){J=O;ja=6;break}}if((ja|0)==5){u=e;return 1}else if((ja|0)==6)Cq(J);return 0}function rc(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,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;e=u;u=u+64|0;d=e+48|0;h=e+40|0;i=e+32|0;j=e+16|0;k=e+8|0;l=e;m=e+28|0;n=a+8|0;o=f[n>>2]|0;if((o+-2|0)>>>0<=28){f[a+72>>2]=o;p=1<<o;f[a+76>>2]=p+-1;o=p+-2|0;f[a+80>>2]=o;f[a+84>>2]=(o|0)/2|0}o=a+40|0;f[a+48>>2]=g;g=a+88|0;gl(g);p=a+36|0;q=f[p>>2]|0;r=(f[q+4>>2]|0)-(f[q>>2]|0)|0;s=r>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;t=k;f[t>>2]=0;f[t+4>>2]=0;t=l;f[t>>2]=0;f[t+4>>2]=0;if((r|0)<=0){u=e;return 1}r=j+4|0;t=j+8|0;v=a+84|0;w=a+80|0;x=h+4|0;y=i+4|0;z=d+4|0;A=k+4|0;B=h+4|0;C=i+4|0;D=d+4|0;E=l+4|0;F=a+76|0;a=k+4|0;G=l+4|0;H=f[q>>2]|0;if((f[q+4>>2]|0)==(H|0)){J=q;Cq(J)}else{K=H;L=0}while(1){f[m>>2]=f[K+(L<<2)>>2];f[d>>2]=f[m>>2];Zb(o,d,j);H=f[j>>2]|0;q=(H|0)>-1?H:0-H|0;M=f[r>>2]|0;N=(M|0)>-1?M:0-M|0;O=go(N|0,((N|0)<0)<<31>>31|0,q|0,((q|0)<0)<<31>>31|0)|0;q=f[t>>2]|0;N=(q|0)>-1;P=N?q:0-q|0;q=go(O|0,I|0,P|0,((P|0)<0)<<31>>31|0)|0;P=I;O=f[v>>2]|0;if((q|0)==0&(P|0)==0){Q=j;R=O}else{S=((O|0)<0)<<31>>31;T=En(O|0,S|0,H|0,((H|0)<0)<<31>>31|0)|0;H=Jk(T|0,I|0,q|0,P|0)|0;f[j>>2]=H;T=En(O|0,S|0,M|0,((M|0)<0)<<31>>31|0)|0;M=Jk(T|0,I|0,q|0,P|0)|0;f[r>>2]=M;P=O-((H|0)>-1?H:0-H|0)-((M|0)>-1?M:0-M|0)|0;Q=t;R=N?P:0-P|0}f[Q>>2]=R;P=f[j>>2]|0;N=f[r>>2]|0;M=f[t>>2]|0;if((P|0)<=-1){H=(M|0)>-1?M:0-M|0;if((N|0)<0)U=H;else U=(f[w>>2]|0)-H|0;H=(N|0)>-1?N:0-N|0;if((M|0)<0){V=U;W=H}else{V=U;W=(f[w>>2]|0)-H|0}}else{V=O+N|0;W=O+M|0}H=(V|0)==0;q=(W|0)==0;T=f[w>>2]|0;do if((W|V|0)!=0?(S=(T|0)==(W|0),X=(T|0)==(V|0),!(H&S|q&X)):0){if(H&(O|0)<(W|0)){Y=0;Z=(O<<1)-W|0;break}if(X&(O|0)>(W|0)){Y=V;Z=(O<<1)-W|0;break}if(S&(O|0)>(V|0)){Y=(O<<1)-V|0;Z=W;break}if(q){Y=(O|0)<(V|0)?(O<<1)-V|0:V;Z=0}else{Y=V;Z=W}}else{Y=T;Z=T}while(0);q=0-N|0;H=0-M|0;f[j>>2]=0-P;f[r>>2]=q;f[t>>2]=H;if((P|0)<1){_=O-N|0;$=O-M|0}else{S=(M|0)<1?H:M;H=(N|0)<1?q:N;_=(N|0)>0?S:T-S|0;$=(M|0)>0?H:T-H|0}H=(_|0)==0;S=($|0)==0;do if(($|_|0)!=0?(q=(T|0)==($|0),X=(T|0)==(_|0),!(H&q|S&X)):0){if(H&(O|0)<($|0)){aa=0;ba=(O<<1)-$|0;break}if(X&(O|0)>($|0)){aa=T;ba=(O<<1)-$|0;break}if(q&(O|0)>(_|0)){aa=(O<<1)-_|0;ba=T;break}if(S){aa=(O|0)<(_|0)?(O<<1)-_|0:_;ba=0}else{aa=_;ba=$}}else{aa=T;ba=T}while(0);T=L<<1;O=b+(T<<2)|0;S=O+4|0;H=f[S>>2]|0;f[h>>2]=f[O>>2];f[x>>2]=H;f[i>>2]=Y;f[y>>2]=Z;Nd(d,n,h,i);H=f[d>>2]|0;f[k>>2]=H;M=f[z>>2]|0;f[A>>2]=M;N=f[S>>2]|0;f[h>>2]=f[O>>2];f[B>>2]=N;f[i>>2]=aa;f[C>>2]=ba;Nd(d,n,h,i);N=f[d>>2]|0;f[l>>2]=N;O=f[D>>2]|0;f[E>>2]=O;S=f[v>>2]|0;if((S|0)>=(H|0))if((H|0)<(0-S|0))ca=(f[F>>2]|0)+H|0;else ca=H;else ca=H-(f[F>>2]|0)|0;f[k>>2]=ca;if((S|0)>=(M|0))if((M|0)<(0-S|0))da=(f[F>>2]|0)+M|0;else da=M;else da=M-(f[F>>2]|0)|0;f[a>>2]=da;if((S|0)>=(N|0))if((N|0)<(0-S|0))ea=(f[F>>2]|0)+N|0;else ea=N;else ea=N-(f[F>>2]|0)|0;f[l>>2]=ea;if((S|0)>=(O|0))if((O|0)<(0-S|0))fa=(f[F>>2]|0)+O|0;else fa=O;else fa=O-(f[F>>2]|0)|0;f[G>>2]=fa;if((((da|0)>-1?da:0-da|0)+((ca|0)>-1?ca:0-ca|0)|0)<(((ea|0)>-1?ea:0-ea|0)+((fa|0)>-1?fa:0-fa|0)|0)){dj(g,0);ga=k}else{dj(g,1);ga=l}O=f[ga>>2]|0;if((O|0)<0)ha=(f[F>>2]|0)+O|0;else ha=O;O=c+(T<<2)|0;f[O>>2]=ha;T=f[ga+4>>2]|0;if((T|0)<0)ia=(f[F>>2]|0)+T|0;else ia=T;f[O+4>>2]=ia;L=L+1|0;if((L|0)>=(s|0)){ja=5;break}O=f[p>>2]|0;K=f[O>>2]|0;if((f[O+4>>2]|0)-K>>2>>>0<=L>>>0){J=O;ja=6;break}}if((ja|0)==5){u=e;return 1}else if((ja|0)==6)Cq(J);return 0}function sc(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,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;b=u;u=u+48|0;c=b+24|0;d=b+12|0;e=b;g=a+32|0;h=a+8|0;i=a+12|0;j=f[i>>2]|0;k=f[h>>2]|0;l=j-k>>2;m=a+36|0;n=f[m>>2]|0;o=f[g>>2]|0;p=n-o>>2;q=o;o=n;n=k;if(l>>>0<=p>>>0)if(l>>>0<p>>>0?(r=q+(l<<2)|0,(o|0)!=(r|0)):0){f[m>>2]=o+(~((o+-4-r|0)>>>2)<<2);s=k;t=j;v=n}else{s=k;t=j;v=n}else{zi(g,l-p|0);p=f[h>>2]|0;s=p;t=f[i>>2]|0;v=p}p=t-s|0;l=p>>2;f[c>>2]=0;n=c+4|0;f[n>>2]=0;j=c+8|0;f[j>>2]=0;if(l|0){if((p|0)<0)Cq(c);p=((l+-1|0)>>>5)+1|0;k=tn(p<<2)|0;f[c>>2]=k;f[j>>2]=p;f[n>>2]=l;n=l>>>5;pj(k|0,0,n<<2|0)|0;p=l-(n<<5)|0;l=k+(n<<2)|0;if(p|0)f[l>>2]=f[l>>2]&~(-1>>>(32-p|0))}p=a+20|0;l=s;s=t;t=v;v=0;while(1){if(v>>>0<s-l>>2>>>0){w=t;x=l;y=0;z=0;A=v}else{B=25;break}while(1){n=z>>>5;k=1<<(z&31);do if(!(f[(f[c>>2]|0)+(n<<2)>>2]&k)){j=f[w+(z<<2)>>2]|0;if((f[j+8>>2]|0)!=(f[j+4>>2]|0)){r=j;j=w;o=1;m=0;while(1){q=f[(f[r+4>>2]|0)+(m<<2)>>2]|0;C=j;D=0;while(1){E=f[C+(z<<2)>>2]|0;if((D|0)>=(Ma[f[(f[E>>2]|0)+24>>2]&127](E,q)|0)){F=o;break}E=f[(f[h>>2]|0)+(z<<2)>>2]|0;G=Na[f[(f[E>>2]|0)+28>>2]&31](E,q,D)|0;if((G|0)!=(z|0)?(E=f[(f[p>>2]|0)+(G<<2)>>2]|0,(1<<(E&31)&f[(f[c>>2]|0)+(E>>>5<<2)>>2]|0)==0):0){F=0;break}C=f[h>>2]|0;D=D+1|0}m=m+1|0;j=f[h>>2]|0;r=f[j+(z<<2)>>2]|0;if(m>>>0>=(f[r+8>>2]|0)-(f[r+4>>2]|0)>>2>>>0)break;else o=F}o=j;if(F)H=o;else{I=o;J=y;K=A;break}}else H=x;f[(f[g>>2]|0)+(A<<2)>>2]=z;o=(f[c>>2]|0)+(n<<2)|0;f[o>>2]=f[o>>2]|k;I=H;J=1;K=A+1|0}else{I=x;J=y;K=A}while(0);z=z+1|0;L=f[i>>2]|0;M=L-I>>2;w=I;if(z>>>0>=M>>>0)break;else{x=I;y=J;A=K}}if(K>>>0<M>>>0&(J^1)){N=0;break}else{l=I;s=L;t=w;v=K}}if((B|0)==25){f[d>>2]=0;B=d+4|0;f[B>>2]=0;f[d+8>>2]=0;K=f[a+4>>2]|0;a=(f[K+12>>2]|0)-(f[K+8>>2]|0)|0;K=a>>2;f[e>>2]=0;v=e+4|0;f[v>>2]=0;w=e+8|0;f[w>>2]=0;if(K|0){if((a|0)<0)Cq(e);a=((K+-1|0)>>>5)+1|0;L=tn(a<<2)|0;f[e>>2]=L;f[w>>2]=a;f[v>>2]=K;v=K>>>5;pj(L|0,0,v<<2|0)|0;a=K-(v<<5)|0;K=L+(v<<2)|0;if(a|0)f[K>>2]=f[K>>2]&~(-1>>>(32-a|0))}a:do if((s|0)==(l|0))O=1;else{a=l;K=s;v=t;L=0;while(1){w=f[(f[g>>2]|0)+(L<<2)>>2]|0;I=f[v+(w<<2)>>2]|0;J=(f[I+8>>2]|0)-(f[I+4>>2]|0)|0;I=J>>2;if((J|0)<8){P=a;Q=K}else{J=f[B>>2]|0;M=f[d>>2]|0;A=J-M>>2;y=M;M=J;if(I>>>0<=A>>>0)if(I>>>0<A>>>0?(J=y+(I<<2)|0,(M|0)!=(J|0)):0){f[B>>2]=M+(~((M+-4-J|0)>>>2)<<2);R=0}else R=0;else{zi(d,I-A|0);R=0}while(1){if((R|0)<(I|0)){S=0;T=0;U=R}else break;while(1){A=f[(f[h>>2]|0)+(w<<2)>>2]|0;J=f[(f[A+4>>2]|0)+(T<<2)>>2]|0;M=T>>>5;y=1<<(T&31);if(!(f[(f[e>>2]|0)+(M<<2)>>2]&y)){x=A;A=1;z=0;while(1){if((z|0)>=(Ma[f[(f[x>>2]|0)+24>>2]&127](x,J)|0)){V=A;break}H=f[(f[h>>2]|0)+(w<<2)>>2]|0;F=Na[f[(f[H>>2]|0)+28>>2]&31](H,J,z)|0;H=(f[(f[e>>2]|0)+(F>>>5<<2)>>2]&1<<(F&31)|0)!=0;F=A&H;if(!H){V=F;break}x=f[(f[h>>2]|0)+(w<<2)>>2]|0;A=F;z=z+1|0}if(V){f[(f[d>>2]|0)+(U<<2)>>2]=T;z=(f[e>>2]|0)+(M<<2)|0;f[z>>2]=f[z>>2]|y;W=1;X=U+1|0}else{W=S;X=U}}else{W=S;X=U}T=T+1|0;if((T|0)>=(I|0))break;else{S=W;U=X}}if(W|(X|0)>=(I|0))R=X;else{O=0;break a}}$f(f[(f[h>>2]|0)+(w<<2)>>2]|0,d);P=f[h>>2]|0;Q=f[i>>2]|0}L=L+1|0;if(L>>>0>=Q-P>>2>>>0){O=1;break}else{a=P;K=Q;v=P}}}while(0);P=f[e>>2]|0;if(P|0)pr(P);P=f[d>>2]|0;if(P|0){d=f[B>>2]|0;if((d|0)!=(P|0))f[B>>2]=d+(~((d+-4-P|0)>>>2)<<2);pr(P)}N=O}O=f[c>>2]|0;if(!O){u=b;return N|0}pr(O);u=b;return N|0}
function ri(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=1356;fi(a+60|0);b=f[a+48>>2]|0;if(b|0){c=a+52|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=a+36|0;d=f[b>>2]|0;if(d|0){c=a+40|0;e=f[c>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-24|0;f[c>>2]=e;Qa[f[f[e>>2]>>2]&127](e);h=f[c>>2]|0}while((h|0)!=(d|0));g=f[b>>2]|0}pr(g)}f[a>>2]=1296;g=f[a+16>>2]|0;if(g|0){b=a+20|0;d=f[b>>2]|0;if((d|0)!=(g|0))f[b>>2]=d+(~((d+-4-g|0)>>>2)<<2);pr(g)}g=f[a+4>>2]|0;if(!g)return;d=a+8|0;a=f[d>>2]|0;if((a|0)!=(g|0))f[d>>2]=a+(~((a+-4-g|0)>>>2)<<2);pr(g);return}function si(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;c=u;u=u+32|0;d=c+16|0;e=c+8|0;g=c;h=a+8|0;if(f[h>>2]<<5>>>0>=b>>>0){u=c;return}f[d>>2]=0;i=d+4|0;f[i>>2]=0;j=d+8|0;f[j>>2]=0;if((b|0)<0)Cq(d);k=((b+-1|0)>>>5)+1|0;b=tn(k<<2)|0;f[d>>2]=b;f[i>>2]=0;f[j>>2]=k;k=f[a>>2]|0;f[e>>2]=k;f[e+4>>2]=0;b=a+4|0;l=f[b>>2]|0;f[g>>2]=k+(l>>>5<<2);f[g+4>>2]=l&31;zg(d,e,g);g=f[a>>2]|0;f[a>>2]=f[d>>2];f[d>>2]=g;d=f[b>>2]|0;f[b>>2]=f[i>>2];f[i>>2]=d;d=f[h>>2]|0;f[h>>2]=f[j>>2];f[j>>2]=d;if(g|0)pr(g);u=c;return}function ti(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=a+136|0;c=f[b>>2]|0;if(c|0){d=a+140|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);pr(i);j=f[d>>2]|0}if((j|0)==(c|0))break;else h=j}g=f[b>>2]|0}pr(g)}g=f[a+104>>2]|0;if(g|0){b=a+108|0;j=f[b>>2]|0;if((j|0)!=(g|0))f[b>>2]=j+(~((j+-4-g|0)>>>2)<<2);pr(g)}g=f[a+92>>2]|0;if(!g){sj(a);return}j=a+96|0;b=f[j>>2]|0;if((b|0)!=(g|0))f[j>>2]=b+(~((b+-4-g|0)>>>2)<<2);pr(g);sj(a);return}function ui(a){a=a|0;var c=0,d=0,e=0,g=0;f[a>>2]=3808;c=a+72|0;d=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=c;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));n[d>>2]=$(1.0);d=a+140|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;f[a+164>>2]=-1;d=a+168|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;f[d+24>>2]=0;Gn(a+200|0);Rn(a+232|0);d=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[d>>2]=-1;f[a+320>>2]=-1;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 vi(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;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=(e|0)/12|0;h=g+1|0;if(h>>>0>357913941)Cq(a);i=a+8|0;j=((f[i>>2]|0)-d|0)/12|0;k=j<<1;l=j>>>0<178956970?(k>>>0<h>>>0?h:k):357913941;do if(l)if(l>>>0>357913941){k=ra(8)|0;jp(k,16426);f[k>>2]=7416;va(k|0,1160,122)}else{m=tn(l*12|0)|0;break}else m=0;while(0);k=m+(g*12|0)|0;f[k>>2]=f[b>>2];f[k+4>>2]=f[b+4>>2];f[k+8>>2]=f[b+8>>2];b=k+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)eh(b|0,d|0,e|0)|0;f[a>>2]=b;f[c>>2]=k+12;f[i>>2]=m+(l*12|0);if(!d)return;pr(d);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,m=0,n=0;g=a+16|0;h=g;i=f[h+4>>2]|0;if((d|0)<0|(d|0)==0&c>>>0<1|((i|0)>0|(i|0)==0&(f[h>>2]|0)>>>0>0)){j=0;return j|0}b[a+24>>0]=e&1;h=go(c|0,d|0,7,0)|0;d=Jk(h|0,I|0,8,0)|0;h=I;c=g;f[c>>2]=d;f[c+4>>2]=h;c=a+4|0;g=f[c>>2]|0;i=f[a>>2]|0;k=g-i|0;l=go(k|0,0,8,0)|0;m=e?l:k;l=go(m|0,(e?I:0)|0,d|0,h|0)|0;h=i;i=g;if(l>>>0<=k>>>0)if(l>>>0<k>>>0?(g=h+l|0,(i|0)!=(g|0)):0){f[c>>2]=g;n=h}else n=h;else{Bi(a,l-k|0);n=f[a>>2]|0}k=tn(8)|0;f[k>>2]=n+m;f[k+4>>2]=0;m=a+12|0;a=f[m>>2]|0;f[m>>2]=k;if(!a){j=1;return j|0}pr(a);j=1;return j|0}function xi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=u;u=u+16|0;d=c;e=xg(a,d,b)|0;g=f[e>>2]|0;if(g|0){h=g;i=h+28|0;u=c;return i|0}g=tn(40)|0;nj(g+16|0,b);b=g+28|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;b=f[d>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=b;f[e>>2]=g;b=f[f[a>>2]>>2]|0;if(!b)j=g;else{f[a>>2]=b;j=f[e>>2]|0}He(f[a+4>>2]|0,j);j=a+8|0;f[j>>2]=(f[j>>2]|0)+1;h=g;i=h+28|0;u=c;return i|0}function yi(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,p=0;k=u;u=u+16|0;l=k;if((-18-c|0)>>>0<d>>>0)Cq(a);if((b[a+11>>0]|0)<0)m=f[a>>2]|0;else m=a;if(c>>>0<2147483623){n=d+c|0;d=c<<1;o=n>>>0<d>>>0?d:n;p=o>>>0<11?11:o+16&-16}else p=-17;o=tn(p)|0;if(g|0)Yo(o,m,g)|0;if(i|0)Yo(o+g|0,j,i)|0;j=e-h|0;e=j-g|0;if(e|0)Yo(o+g+i|0,m+g+h|0,e)|0;if((c|0)!=10)pr(m);f[a>>2]=o;f[a+8>>2]=p|-2147483648;p=j+i|0;f[a+4>>2]=p;b[l>>0]=0;Vp(o+p|0,l);u=k;return}function zi(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;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>2>>>0>=b>>>0){pj(g|0,0,b<<2|0)|0;f[e>>2]=g+(b<<2);return}h=f[a>>2]|0;i=g-h|0;g=i>>2;j=g+b|0;if(j>>>0>1073741823)Cq(a);k=d-h|0;d=k>>1;l=k>>2>>>0<536870911?(d>>>0<j>>>0?j:d):1073741823;do if(l)if(l>>>0>1073741823){d=ra(8)|0;jp(d,16426);f[d>>2]=7416;va(d|0,1160,122)}else{m=tn(l<<2)|0;break}else m=0;while(0);d=m+(g<<2)|0;pj(d|0,0,b<<2|0)|0;j=d+(0-g<<2)|0;if((i|0)>0)eh(j|0,h|0,i|0)|0;f[a>>2]=j;f[e>>2]=d+(b<<2);f[c>>2]=m+(l<<2);if(!h)return;pr(h);return}function Ai(a,c,d){a=a|0;c=c|0;d=$(d);var e=0,g=0,h=0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0;e=u;u=u+16|0;g=e;h=c+11|0;i=b[h>>0]|0;if(i<<24>>24<0)j=f[c+4>>2]|0;else j=i&255;k=+d;l=i;i=j;while(1){if(l<<24>>24<0)m=f[c>>2]|0;else m=c;p[g>>3]=k;n=Ln(m,i+1|0,18953,g)|0;if((n|0)>-1)if(n>>>0>i>>>0)o=n;else break;else o=i<<1|1;Fj(c,o,0);l=b[h>>0]|0;i=o}Fj(c,n,0);f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];a=0;while(1){if((a|0)==3)break;f[c+(a<<2)>>2]=0;a=a+1|0}u=e;return}function Bi(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;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if((e-h|0)>>>0>=c>>>0){i=h;j=c;do{b[i>>0]=0;i=(f[g>>2]|0)+1|0;f[g>>2]=i;j=j+-1|0}while((j|0)!=0);return}j=f[a>>2]|0;i=h-j|0;h=i+c|0;if((h|0)<0)Cq(a);k=e-j|0;j=k<<1;e=k>>>0<1073741823?(j>>>0<h>>>0?h:j):2147483647;if(!e)l=0;else l=tn(e)|0;j=l+i|0;i=l+e|0;e=j;l=c;c=j;do{b[e>>0]=0;e=c+1|0;c=e;l=l+-1|0}while((l|0)!=0);l=f[a>>2]|0;e=(f[g>>2]|0)-l|0;h=j+(0-e)|0;if((e|0)>0)eh(h|0,l|0,e|0)|0;f[a>>2]=h;f[g>>2]=c;f[d>>2]=i;if(!l)return;pr(l);return}function Ci(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=(d-e|0)/136|0;h=d;if(g>>>0<b>>>0){Ae(a,b-g|0);return}if(g>>>0<=b>>>0)return;g=e+(b*136|0)|0;if((h|0)==(g|0))return;else i=h;do{f[c>>2]=i+-136;h=f[i+-20>>2]|0;if(h|0){b=i+-16|0;e=f[b>>2]|0;if((e|0)!=(h|0))f[b>>2]=e+(~((e+-4-h|0)>>>2)<<2);pr(h)}h=f[i+-32>>2]|0;if(h|0){e=i+-28|0;b=f[e>>2]|0;if((b|0)!=(h|0))f[e>>2]=b+(~((b+-4-h|0)>>>2)<<2);pr(h)}Ki(i+-132|0);i=f[c>>2]|0}while((i|0)!=(g|0));return}function Di(a,b){a=a|0;b=b|0;var c=0,d=Ja,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Ld(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=Za(e)|0;e=c>>>0<g>>>0?g:c;if(e>>>0>=b>>>0)return;Ld(a,e);return}function Ei(a){a=a|0;var b=0,c=0,d=0;b=f[a+76>>2]|0;if(b|0){c=a+80|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+64>>2]|0;if(b|0){d=a+68|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;pr(b)}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);pr(b)}b=f[a+24>>2]|0;if(b|0){c=a+28|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(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);pr(b)}b=f[a>>2]|0;if(!b)return;c=a+4|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);pr(b);return}function Fi(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;e=u;u=u+16|0;g=e;h=c+11|0;i=b[h>>0]|0;if(i<<24>>24<0)j=f[c+4>>2]|0;else j=i&255;k=i;i=j;while(1){if(k<<24>>24<0)l=f[c>>2]|0;else l=c;f[g>>2]=d;m=Ln(l,i+1|0,18950,g)|0;if((m|0)>-1)if(m>>>0>i>>>0)n=m;else break;else n=i<<1|1;Fj(c,n,0);k=b[h>>0]|0;i=n}Fj(c,m,0);f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];a=0;while(1){if((a|0)==3)break;f[c+(a<<2)>>2]=0;a=a+1|0}u=e;return}function Gi(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;b=a+8|0;c=f[b>>2]|0;if((c|0)<0){d=0;return d|0}e=a+4|0;a=f[e>>2]|0;g=a+4|0;h=f[g>>2]|0;i=f[a>>2]|0;j=h-i>>2;k=i;i=h;if(c>>>0<=j>>>0)if(c>>>0<j>>>0?(h=k+(c<<2)|0,(i|0)!=(h|0)):0){f[g>>2]=i+(~((i+-4-h|0)>>>2)<<2);l=c}else l=c;else{zi(a,c-j|0);l=f[b>>2]|0}if((l|0)<=0){d=1;return d|0}b=f[e>>2]|0;e=f[b>>2]|0;j=(f[b+4>>2]|0)-e>>2;c=e;e=0;while(1){if(j>>>0<=e>>>0){m=10;break}f[c+(e<<2)>>2]=e;e=e+1|0;if((e|0)>=(l|0)){d=1;m=12;break}}if((m|0)==10)Cq(b);else if((m|0)==12)return d|0;return 0}function Hi(){var a=0,b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;a=u;u=u+48|0;b=a+32|0;c=a+24|0;d=a+16|0;e=a;g=a+36|0;a=Bn()|0;if(a|0?(h=f[a>>2]|0,h|0):0){a=h+48|0;i=f[a>>2]|0;j=f[a+4>>2]|0;if(!((i&-256|0)==1126902528&(j|0)==1129074247)){f[c>>2]=f[1826];Sn(19042,c)}if((i|0)==1126902529&(j|0)==1129074247)k=f[h+44>>2]|0;else k=h+80|0;f[g>>2]=k;k=f[h>>2]|0;h=f[k+4>>2]|0;j=Na[f[(f[270]|0)+16>>2]&31](1080,k,g)|0;k=f[1826]|0;if(j){j=f[g>>2]|0;g=La[f[(f[j>>2]|0)+8>>2]&127](j)|0;f[e>>2]=k;f[e+4>>2]=h;f[e+8>>2]=g;Sn(18956,e)}else{f[d>>2]=k;f[d+4>>2]=h;Sn(19001,d)}}Sn(19080,b)}function Ii(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d;g=tn(32)|0;f[e>>2]=g;f[e+8>>2]=-2147483616;f[e+4>>2]=30;h=g;i=16219;j=h+30|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[g+30>>0]=0;g=a+4|0;Vj(g,e,c);if((b[e+11>>0]|0)<0)pr(f[e>>2]|0);a=tn(32)|0;f[e>>2]=a;f[e+8>>2]=-2147483616;f[e+4>>2]=29;h=a;i=15906;j=h+29|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[a+29>>0]=0;Vj(g,e,c);if((b[e+11>>0]|0)>=0){u=d;return}pr(f[e>>2]|0);u=d;return}function Ji(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;c=a+104|0;d=f[c>>2]|0;if((d|0)!=0?(f[a+108>>2]|0)>=(d|0):0)e=4;else{d=bn(a)|0;if((d|0)>=0){g=f[c>>2]|0;c=a+8|0;if(g){i=f[c>>2]|0;j=f[a+4>>2]|0;k=a+108|0;l=g-(f[k>>2]|0)|0;g=i;if((i-j|0)<(l|0)){m=g;n=g;o=j;p=k}else{m=j+(l+-1)|0;n=g;o=j;p=k}}else{k=f[c>>2]|0;m=k;n=k;o=f[a+4>>2]|0;p=a+108|0}f[a+100>>2]=m;if(n|0)f[p>>2]=n+1-o+(f[p>>2]|0);p=o+-1|0;if((h[p>>0]|0|0)==(d|0))q=d;else{b[p>>0]=d;q=d}}else e=4}if((e|0)==4){f[a+100>>2]=0;q=-1}return q|0}function Ki(a){a=a|0;var b=0,c=0,d=0;b=f[a+84>>2]|0;if(b|0){c=a+88|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+72>>2]|0;if(b|0){d=a+76|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;pr(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);pr(b)}b=f[a+40>>2]|0;if(b|0){c=a+44|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(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);pr(b)}b=f[a+12>>2]|0;if(b|0)pr(b);b=f[a>>2]|0;if(!b)return;pr(b);return}function Li(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=1416;b=a+32|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=c+88|0;d=f[b>>2]|0;f[b>>2]=0;if(d|0){b=f[d+8>>2]|0;if(b|0){e=d+12|0;if((f[e>>2]|0)!=(b|0))f[e>>2]=b;pr(b)}pr(d)}d=f[c+68>>2]|0;if(d|0){b=c+72|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2);pr(d)}d=c+64|0;e=f[d>>2]|0;f[d>>2]=0;if(e|0){d=f[e>>2]|0;if(d|0){b=e+4|0;if((f[b>>2]|0)!=(d|0))f[b>>2]=d;pr(d)}pr(e)}pr(c)}c=f[a+16>>2]|0;if(!c)return;e=a+20|0;a=f[e>>2]|0;if((a|0)!=(c|0))f[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);pr(c);return}function Mi(a){a=a|0;var b=0,c=0,d=0;b=f[a+92>>2]|0;if(b|0){c=a+96|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(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);pr(b)}b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(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);pr(b)}f[a+4>>2]=3764;b=f[a+24>>2]|0;if(b|0)pr(b);b=f[a+12>>2]|0;if(!b)return;pr(b);return}function Ni(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;do if(a){if(c>>>0<128){b[a>>0]=c;e=1;break}d=(lr()|0)+188|0;if(!(f[f[d>>2]>>2]|0))if((c&-128|0)==57216){b[a>>0]=c;e=1;break}else{d=er()|0;f[d>>2]=84;e=-1;break}if(c>>>0<2048){b[a>>0]=c>>>6|192;b[a+1>>0]=c&63|128;e=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;e=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;e=4;break}else{d=er()|0;f[d>>2]=84;e=-1;break}}else e=1;while(0);return e|0}function Oi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;f[a>>2]=1608;f[a+4>>2]=b;b=a+8|0;f[b>>2]=f[c>>2];f[b+4>>2]=f[c+4>>2];f[b+8>>2]=f[c+8>>2];f[b+12>>2]=f[c+12>>2];f[b+16>>2]=f[c+16>>2];f[b+20>>2]=f[c+20>>2];ik(a+32|0,c+24|0);f[a>>2]=2448;c=a+44|0;f[c>>2]=f[d>>2];f[c+4>>2]=f[d+4>>2];f[c+8>>2]=f[d+8>>2];f[c+12>>2]=f[d+12>>2];f[a>>2]=2504;d=a+112|0;c=a+60|0;b=c+52|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(b|0));en(d);f[a+152>>2]=0;f[a+156>>2]=0;f[a+160>>2]=0;return}function Pi(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;e=u;u=u+16|0;g=e;h=tn(16)|0;f[g>>2]=h;f[g+8>>2]=-2147483632;f[g+4>>2]=14;i=h;j=14799;k=i+14|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[h+14>>0]=0;Wj(a,g,c);if((b[g+11>>0]|0)<0)pr(f[g>>2]|0);c=tn(16)|0;f[g>>2]=c;f[g+8>>2]=-2147483632;f[g+4>>2]=14;i=c;j=14814;k=i+14|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[c+14>>0]=0;Wj(a,g,d);if((b[g+11>>0]|0)>=0){u=e;return}pr(f[g>>2]|0);u=e;return}function Qi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;f[a>>2]=1608;f[a+4>>2]=b;b=a+8|0;f[b>>2]=f[c>>2];f[b+4>>2]=f[c+4>>2];f[b+8>>2]=f[c+8>>2];f[b+12>>2]=f[c+12>>2];f[b+16>>2]=f[c+16>>2];f[b+20>>2]=f[c+20>>2];ik(a+32|0,c+24|0);f[a>>2]=2028;c=a+44|0;f[c>>2]=f[d>>2];f[c+4>>2]=f[d+4>>2];f[c+8>>2]=f[d+8>>2];f[c+12>>2]=f[d+12>>2];f[a>>2]=2084;d=a+112|0;c=a+60|0;b=c+52|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(b|0));en(d);f[a+152>>2]=0;f[a+156>>2]=0;f[a+160>>2]=0;return}function Ri(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2504;b=f[a+152>>2]|0;if(b|0){c=a+156|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+112>>2]|0;if(b|0){d=a+116|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=f[a+96>>2]|0;if(b|0)pr(b);b=f[a+84>>2]|0;if(b|0)pr(b);b=f[a+72>>2]|0;if(b|0)pr(b);b=f[a+60>>2]|0;if(b|0)pr(b);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);pr(b);return}function Si(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=u;u=u+16|0;e=d;g=f[(f[c+4>>2]|0)+4>>2]|0;if(!g){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=d;return}if(!(Bj(d+12|0,f[c+44>>2]|0,g)|0)){g=tn(32)|0;f[e>>2]=g;f[e+8>>2]=-2147483616;f[e+4>>2]=26;c=g;h=16250;i=c+26|0;do{b[c>>0]=b[h>>0]|0;c=c+1|0;h=h+1|0}while((c|0)<(i|0));b[g+26>>0]=0;f[a>>2]=-1;nj(a+4|0,e);if((b[e+11>>0]|0)<0)pr(f[e>>2]|0)}else{f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}u=d;return}function Ti(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;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=e>>2;h=g+1|0;if(h>>>0>1073741823)Cq(a);i=a+8|0;j=(f[i>>2]|0)-d|0;k=j>>1;l=j>>2>>>0<536870911?(k>>>0<h>>>0?h:k):1073741823;do if(l)if(l>>>0>1073741823){k=ra(8)|0;jp(k,16426);f[k>>2]=7416;va(k|0,1160,122)}else{m=tn(l<<2)|0;break}else m=0;while(0);k=m+(g<<2)|0;f[k>>2]=f[b>>2];b=k+(0-g<<2)|0;if((e|0)>0)eh(b|0,d|0,e|0)|0;f[a>>2]=b;f[c>>2]=k+4;f[i>>2]=m+(l<<2);if(!d)return;pr(d);return}function Ui(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=b+48|0;if((ki(f[c>>2]|0)|0)>9){d=0;return d|0}if((La[f[(f[b>>2]|0)+8>>2]&127](b)|0)!=1){d=0;return d|0}e=b+4|0;b=(f[(f[(f[e>>2]|0)+8>>2]|0)+(a<<2)>>2]|0)+56|0;a=f[b>>2]|0;do if((a|0)==3)if((ki(f[c>>2]|0)|0)<4){d=5;return d|0}else{g=f[b>>2]|0;break}else g=a;while(0);a=ki(f[c>>2]|0)|0;if((g|0)==1){d=(a|0)<4?6:0;return d|0}if((a|0)>7){d=0;return d|0}if((ki(f[c>>2]|0)|0)>1){d=1;return d|0}else return ((f[(f[e>>2]|0)+80>>2]|0)>>>0<40?1:4)|0;return 0}function Vi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2084;b=f[a+152>>2]|0;if(b|0){c=a+156|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+112>>2]|0;if(b|0){d=a+116|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pr(b)}b=f[a+96>>2]|0;if(b|0)pr(b);b=f[a+84>>2]|0;if(b|0)pr(b);b=f[a+72>>2]|0;if(b|0)pr(b);b=f[a+60>>2]|0;if(b|0)pr(b);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);pr(b);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,m=0,n=0,o=0,p=0;g=u;u=u+128|0;h=g+124|0;i=g;j=i;k=6752;l=j+124|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));if((c+-1|0)>>>0>2147483646)if(!c){m=1;n=h;o=4}else{h=er()|0;f[h>>2]=75;p=-1}else{m=c;n=a;o=4}if((o|0)==4){o=-2-n|0;a=m>>>0>o>>>0?o:m;f[i+48>>2]=a;m=i+20|0;f[m>>2]=n;f[i+44>>2]=n;o=n+a|0;n=i+16|0;f[n>>2]=o;f[i+28>>2]=o;o=wh(i,d,e)|0;if(!a)p=o;else{a=f[m>>2]|0;b[a+(((a|0)==(f[n>>2]|0))<<31>>31)>>0]=0;p=o}}u=g;return p|0}function Xi(a){a=a|0;var c=0,d=0,e=0,g=0;f[a>>2]=3608;c=a+72|0;d=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=c;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));n[d>>2]=$(1.0);d=a+140|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;f[a+164>>2]=-1;d=a+168|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;f[d+24>>2]=0;Gn(a+200|0);Rn(a+232|0);d=a+264|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;b[d+24>>0]=0;return}function Yi(a,c,d,e){a=a|0;c=c|0;d=d|0;e=+e;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a=u;u=u+16|0;g=a;if(!c){h=0;u=a;return h|0}f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;i=Ej(d)|0;if(i>>>0>4294967279)Cq(g);if(i>>>0<11){b[g+11>>0]=i;if(!i)j=g;else{k=g;l=7}}else{m=i+16&-16;n=tn(m)|0;f[g>>2]=n;f[g+8>>2]=m|-2147483648;f[g+4>>2]=i;k=n;l=7}if((l|0)==7){eh(k|0,d|0,i|0)|0;j=k}b[j+i>>0]=0;dm(c,g,e);if((b[g+11>>0]|0)<0)pr(f[g>>2]|0);h=1;u=a;return h|0}function Zi(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;a=u;u=u+16|0;g=a;if(!c){h=0;u=a;return h|0}f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;i=Ej(d)|0;if(i>>>0>4294967279)Cq(g);if(i>>>0<11){b[g+11>>0]=i;if(!i)j=g;else{k=g;l=7}}else{m=i+16&-16;n=tn(m)|0;f[g>>2]=n;f[g+8>>2]=m|-2147483648;f[g+4>>2]=i;k=n;l=7}if((l|0)==7){eh(k|0,d|0,i|0)|0;j=k}b[j+i>>0]=0;fm(c,g,e);if((b[g+11>>0]|0)<0)pr(f[g>>2]|0);h=1;u=a;return h|0}function _i(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=f[a+28>>2]|0;if(c|0){d=c;do{c=d;d=f[d>>2]|0;e=c+8|0;g=c+20|0;h=f[g>>2]|0;f[g>>2]=0;if(h|0){_i(h);pr(h)}if((b[e+11>>0]|0)<0)pr(f[e>>2]|0);pr(c)}while((d|0)!=0)}d=a+20|0;c=f[d>>2]|0;f[d>>2]=0;if(c|0)pr(c);c=f[a+8>>2]|0;if(c|0){d=c;do{c=d;d=f[d>>2]|0;e=c+8|0;h=f[c+20>>2]|0;if(h|0){g=c+24|0;if((f[g>>2]|0)!=(h|0))f[g>>2]=h;pr(h)}if((b[e+11>>0]|0)<0)pr(f[e>>2]|0);pr(c)}while((d|0)!=0)}d=f[a>>2]|0;f[a>>2]=0;if(!d)return;pr(d);return}function $i(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;e=u;u=u+16|0;g=e;h=f[c+48>>2]|0;if(!h){i=tn(32)|0;f[g>>2]=i;f[g+8>>2]=-2147483616;f[g+4>>2]=23;j=i;k=16066;l=j+23|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));b[i+23>>0]=0;f[a>>2]=-1;nj(a+4|0,g);if((b[g+11>>0]|0)<0)pr(f[g>>2]|0);u=e;return}g=f[c+52>>2]|0;if(!g){Lc(a,c,h,d);u=e;return}else{yg(a,c,g,d);u=e;return}}function aj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;gl(a);b=a+84|0;c=f[b>>2]|0;if((c|0)<=0)return;d=c<<5;e=mr(c>>>0>134217727|d>>>0>4294967291?-1:d+4|0)|0;f[e>>2]=c;d=e+4|0;e=d+(c<<5)|0;c=d;do{Gn(c);c=c+32|0}while((c|0)!=(e|0));e=a+80|0;a=f[e>>2]|0;f[e>>2]=d;if(a|0){d=a+-4|0;c=f[d>>2]|0;if(c|0){g=a+(c<<5)|0;do{g=g+-32|0;Dj(g)}while((g|0)!=(a|0))}nr(d)}if((f[b>>2]|0)>0)h=0;else return;do{gl((f[e>>2]|0)+(h<<5)|0);h=h+1|0}while((h|0)<(f[b>>2]|0));return}function bj(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){d=0;return d|0}if(f[b+4>>2]|0){d=0;return d|0}a=tn(52)|0;Ob(a,c);f[a+40>>2]=0;f[a+44>>2]=0;f[a+48>>2]=0;c=b+4|0;b=f[c>>2]|0;f[c>>2]=a;if(!b){d=1;return d|0}a=b+40|0;c=f[a>>2]|0;if(c|0){e=b+44|0;g=f[e>>2]|0;if((g|0)==(c|0))h=c;else{i=g;do{g=i+-4|0;f[e>>2]=g;j=f[g>>2]|0;f[g>>2]=0;if(j|0){_i(j);pr(j)}i=f[e>>2]|0}while((i|0)!=(c|0));h=f[a>>2]|0}pr(h)}_i(b);pr(b);d=1;return d|0}function cj(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;e=u;u=u+16|0;g=e;if(c|0){h=a+11|0;i=b[h>>0]|0;if(i<<24>>24<0){j=f[a+4>>2]|0;k=(f[a+8>>2]&2147483647)+-1|0}else{j=i&255;k=10}l=j+c|0;if((k-j|0)>>>0<c>>>0){vj(a,k,l-k|0,j,j,0,0);m=b[h>>0]|0}else m=i;if(m<<24>>24<0)n=f[a>>2]|0;else n=a;ao(n+j|0,c,d)|0;if((b[h>>0]|0)<0)f[a+4>>2]=l;else b[h>>0]=l;b[g>>0]=0;Vp(n+l|0,g)}u=e;return a|0}function dj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=f[a>>2]|0;if(b){b=c+8|0;d=b;e=go(f[d>>2]|0,f[d+4>>2]|0,1,0)|0;d=b;f[d>>2]=e;f[d+4>>2]=I;d=a+28|0;e=f[d>>2]|0;b=a+24|0;f[b>>2]=f[b>>2]|1<<e;g=e;h=d}else{d=c;e=go(f[d>>2]|0,f[d+4>>2]|0,1,0)|0;d=c;f[d>>2]=e;f[d+4>>2]=I;d=a+28|0;g=f[d>>2]|0;h=d}d=g+1|0;f[h>>2]=d;if((d|0)!=32)return;d=a+24|0;g=a+16|0;e=f[g>>2]|0;if((e|0)==(f[a+20>>2]|0))Ti(a+12|0,d);else{f[e>>2]=f[d>>2];f[g>>2]=e+4}f[h>>2]=0;f[d>>2]=0;return}function ej(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;b=f[c>>2]|0;f[c>>2]=a;if(!b)return;a=b+88|0;c=f[a>>2]|0;f[a>>2]=0;if(c|0){a=f[c+8>>2]|0;if(a|0){d=c+12|0;if((f[d>>2]|0)!=(a|0))f[d>>2]=a;pr(a)}pr(c)}c=f[b+68>>2]|0;if(c|0){a=b+72|0;d=f[a>>2]|0;if((d|0)!=(c|0))f[a>>2]=d+(~((d+-4-c|0)>>>2)<<2);pr(c)}c=b+64|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d>>2]|0;if(c|0){a=d+4|0;if((f[a>>2]|0)!=(c|0))f[a>>2]=c;pr(c)}pr(d)}pr(b);return}function fj(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;d=u;u=u+48|0;e=d+4|0;g=d;h=f[b+12>>2]|0;i=f[b+4>>2]|0;b=e;j=b+36|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(j|0));vh(g,c,h,i,e);i=f[e+24>>2]|0;if(!i){k=f[g>>2]|0;f[a>>2]=k;u=d;return}h=e+28|0;e=f[h>>2]|0;if((e|0)!=(i|0))f[h>>2]=e+(~((e+-4-i|0)>>>2)<<2);pr(i);k=f[g>>2]|0;f[a>>2]=k;u=d;return}function gj(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;e=u;u=u+16|0;g=e;h=a+11|0;i=b[h>>0]|0;j=i<<24>>24<0;if(j)k=(f[a+8>>2]&2147483647)+-1|0;else k=10;do if(k>>>0>=d>>>0){if(j)l=f[a>>2]|0;else l=a;Wo(l,c,d)|0;b[g>>0]=0;Vp(l+d|0,g);if((b[h>>0]|0)<0){f[a+4>>2]=d;break}else{b[h>>0]=d;break}}else{if(j)m=f[a+4>>2]|0;else m=i&255;yi(a,k,d-k|0,m,0,m,d,c)}while(0);u=e;return a|0}function hj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;d=f[c>>2]|0;if((d|0)==(b|0))e=b;else{g=d;do{f[c>>2]=g+-136;d=f[g+-20>>2]|0;if(d|0){h=g+-16|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);pr(d)}d=f[g+-32>>2]|0;if(d|0){i=g+-28|0;h=f[i>>2]|0;if((h|0)!=(d|0))f[i>>2]=h+(~((h+-4-d|0)>>>2)<<2);pr(d)}Ki(g+-132|0);g=f[c>>2]|0}while((g|0)!=(b|0));e=f[a>>2]|0}pr(e);return}function ij(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=4076;b=f[a+32>>2]|0;if(b|0){c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(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);pr(b)}b=a+8|0;c=f[b>>2]|0;if(!c)return;d=a+12|0;a=f[d>>2]|0;if((a|0)==(c|0))e=c;else{g=a;do{a=g+-4|0;f[d>>2]=a;h=f[a>>2]|0;f[a>>2]=0;if(h|0)Qa[f[(f[h>>2]|0)+4>>2]&127](h);g=f[d>>2]|0}while((g|0)!=(c|0));e=f[b>>2]|0}pr(e);return}function jj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+4|0;if((La[f[(f[b>>2]|0)+20>>2]&127](b)|0)<=0){d=1;return d|0}a=0;while(1){e=f[(f[c>>2]|0)+4>>2]|0;g=lm(e,Ma[f[(f[b>>2]|0)+24>>2]&127](b,a)|0)|0;if((g|0)==-1){d=0;h=6;break}e=f[(f[b>>2]|0)+28>>2]|0;i=jl(f[c>>2]|0,g)|0;a=a+1|0;if(!(Ma[e&127](b,i)|0)){d=0;h=6;break}if((a|0)>=(La[f[(f[b>>2]|0)+20>>2]&127](b)|0)){d=1;h=6;break}}if((h|0)==6)return d|0;return 0}function kj(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;e=u;u=u+16|0;g=e;h=a+11|0;i=b[h>>0]|0;j=i<<24>>24<0;if(j){k=f[a+4>>2]|0;l=(f[a+8>>2]&2147483647)+-1|0}else{k=i&255;l=10}i=k+d|0;if((l-k|0)>>>0>=d>>>0){if(d|0){if(j)m=f[a>>2]|0;else m=a;Yo(m+k|0,c,d)|0;if((b[h>>0]|0)<0)f[a+4>>2]=i;else b[h>>0]=i;b[g>>0]=0;Vp(m+i|0,g)}}else yi(a,l,i-l|0,k,k,0,d,c);u=e;return a|0}function lj(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(!(ro(a,b,c)|0)){d=0;return d|0}if(!(La[f[(f[a>>2]|0)+52>>2]&127](a)|0)){d=0;return d|0}c=a+4|0;e=a+8|0;g=f[c>>2]|0;if((f[e>>2]|0)==(g|0)){d=1;return d|0}h=a+36|0;a=g;g=0;while(1){i=f[(f[h>>2]|0)+(g<<2)>>2]|0;if(!(Na[f[(f[i>>2]|0)+8>>2]&31](i,b,f[a+(g<<2)>>2]|0)|0)){d=0;j=7;break}g=g+1|0;a=f[c>>2]|0;if(g>>>0>=(f[e>>2]|0)-a>>2>>>0){d=1;j=7;break}}if((j|0)==7)return d|0;return 0}function mj(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;b[c+53>>0]=1;do if((f[c+4>>2]|0)==(e|0)){b[c+52>>0]=1;a=c+16|0;h=f[a>>2]|0;i=c+54|0;j=c+48|0;k=c+24|0;l=c+36|0;if(!h){f[a>>2]=d;f[k>>2]=g;f[l>>2]=1;if(!((f[j>>2]|0)==1&(g|0)==1))break;b[i>>0]=1;break}if((h|0)!=(d|0)){f[l>>2]=(f[l>>2]|0)+1;b[i>>0]=1;break}l=f[k>>2]|0;if((l|0)==2){f[k>>2]=g;m=g}else m=l;if((f[j>>2]|0)==1&(m|0)==1)b[i>>0]=1}while(0);return}function nj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;if((b[c+11>>0]|0)<0){g=f[c>>2]|0;h=f[c+4>>2]|0;if(h>>>0>4294967279)Cq(a);if(h>>>0<11){b[a+11>>0]=h;i=a}else{j=h+16&-16;k=tn(j)|0;f[a>>2]=k;f[a+8>>2]=j|-2147483648;f[a+4>>2]=h;i=k}Yo(i,g,h)|0;b[e>>0]=0;Vp(i+h|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=d;return}function oj(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;do if(!(Ep(a,f[c+8>>2]|0,g)|0)){if(Ep(a,f[c>>2]|0,g)|0){h=c+32|0;if((f[c+16>>2]|0)!=(d|0)?(i=c+20|0,(f[i>>2]|0)!=(d|0)):0){f[h>>2]=e;f[i>>2]=d;i=c+40|0;f[i>>2]=(f[i>>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[h>>2]=1}}else $m(0,c,d,e);while(0);return}function pj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;e=a+d|0;c=c&255;if((d|0)>=67){while(a&3){b[a>>0]=c;a=a+1|0}g=e&-4|0;h=g-64|0;i=c|c<<8|c<<16|c<<24;while((a|0)<=(h|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)<(g|0)){f[a>>2]=i;a=a+4|0}}while((a|0)<(e|0)){b[a>>0]=c;a=a+1|0}return e-d|0}function qj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+36|0;d=a+40|0;e=f[c>>2]|0;if((f[d>>2]|0)!=(e|0)){g=e;e=0;do{vg(g+(e*24|0)|0,b)|0;e=e+1|0;g=f[c>>2]|0}while(e>>>0<(((f[d>>2]|0)-g|0)/24|0)>>>0)}g=a+48|0;d=a+52|0;a=f[g>>2]|0;if((f[d>>2]|0)==(a|0))return 1;else{h=a;i=0}do{a=f[h+(i<<2)>>2]|0;ai(a<<1^a>>31,b)|0;i=i+1|0;h=f[g>>2]|0}while(i>>>0<(f[d>>2]|0)-h>>2>>>0);return 1}function rj(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=u;u=u+16|0;d=c;if(!(La[f[(f[a>>2]|0)+64>>2]&127](a)|0)){e=0;u=c;return e|0}g=f[a+48>>2]|0;h=tn(32)|0;f[d>>2]=h;f[d+8>>2]=-2147483616;f[d+4>>2]=29;i=h;j=15906;k=i+29|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[h+29>>0]=0;h=Yj(g,d,0)|0;if((b[d+11>>0]|0)<0)pr(f[d>>2]|0);if(!h){e=1;u=c;return e|0}Qa[f[(f[a>>2]|0)+68>>2]&127](a);e=1;u=c;return e|0}function sj(a){a=a|0;var b=0,c=0,d=0,e=0;b=a+80|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=c+-4|0;d=f[b>>2]|0;if(d|0){e=c+(d<<5)|0;do{e=e+-32|0;Dj(e)}while((e|0)!=(c|0))}nr(b)}b=f[a+68>>2]|0;if(b|0){c=a+72|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);pr(b)}b=a+44|0;e=f[b>>2]|0;f[b>>2]=0;if(e|0)pr(e);e=f[a+32>>2]|0;if(!e){Dj(a);return}b=a+36|0;if((f[b>>2]|0)!=(e|0))f[b>>2]=e;pr(e);Dj(a);return}function tj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3156;b=f[a+136>>2]|0;if(b|0){c=a+140|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(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);pr(b)}b=f[a+76>>2]|0;if(b|0)pr(b);b=f[a+64>>2]|0;if(b|0)pr(b);b=f[a+52>>2]|0;if(b|0)pr(b);b=f[a+40>>2]|0;if(!b)return;pr(b);return}function uj(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;if((d|0)<0){e=0;return e|0}do if(!b){d=a+4|0;g=f[d>>2]|0;h=f[a>>2]|0;i=g-h|0;if(c>>>0>i>>>0){Bi(a,c-i|0);break}if(c>>>0<i>>>0?(i=h+c|0,(g|0)!=(i|0)):0)f[d>>2]=i}else Bg(a,b,b+c|0);while(0);c=a+24|0;a=c;b=go(f[a>>2]|0,f[a+4>>2]|0,1,0)|0;a=c;f[a>>2]=b;f[a+4>>2]=I;e=1;return e|0}function vj(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;if((-17-c|0)>>>0<d>>>0)Cq(a);if((b[a+11>>0]|0)<0)j=f[a>>2]|0;else j=a;if(c>>>0<2147483623){k=d+c|0;d=c<<1;l=k>>>0<d>>>0?d:k;m=l>>>0<11?11:l+16&-16}else m=-17;l=tn(m)|0;if(g|0)Yo(l,j,g)|0;k=e-h-g|0;if(k|0)Yo(l+g+i|0,j+g+h|0,k)|0;if((c|0)!=10)pr(j);f[a>>2]=l;f[a+8>>2]=m|-2147483648;return}function wj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2792;b=f[a+136>>2]|0;if(b|0){c=a+140|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(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);pr(b)}b=f[a+76>>2]|0;if(b|0)pr(b);b=f[a+64>>2]|0;if(b|0)pr(b);b=f[a+52>>2]|0;if(b|0)pr(b);b=f[a+40>>2]|0;if(!b)return;pr(b);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);Cj(b+20|0,f[b+24>>2]|0);pr(b);return}}function yj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;Xf(a,b,c);c=f[a+100>>2]|0;d=f[a+96>>2]|0;a=d;if((c|0)==(d|0))return;e=f[b>>2]|0;b=(c-d|0)/12|0;d=0;do{c=a+(d*12|0)|0;f[c>>2]=f[e+(f[c>>2]<<2)>>2];c=a+(d*12|0)+4|0;f[c>>2]=f[e+(f[c>>2]<<2)>>2];c=a+(d*12|0)+8|0;f[c>>2]=f[e+(f[c>>2]<<2)>>2];d=d+1|0}while(d>>>0<b>>>0);return}function zj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=a+64|0;if((f[d>>2]|0)==0?(e=tn(32)|0,In(e),g=f[d>>2]|0,f[d>>2]=e,g|0):0){e=f[g>>2]|0;if(e|0){h=g+4|0;if((f[h>>2]|0)!=(e|0))f[h>>2]=e;pr(e)}pr(g)}g=$l(f[a+28>>2]|0)|0;e=X(b[a+24>>0]|0,g)|0;g=((e|0)<0)<<31>>31;h=f[d>>2]|0;i=En(e|0,g|0,c|0,0)|0;if(!(uj(h,0,i,I)|0)){j=0;return j|0}Mk(a,f[d>>2]|0,e,g,0,0);f[a+80>>2]=c;j=1;return j|0}function Aj(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;d=u;u=u+64|0;e=d;if(!(Ep(a,b,0)|0))if((b|0)!=0?(g=Bh(b,1104,1088,0)|0,(g|0)!=0):0){b=e+4|0;h=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(h|0));f[e>>2]=g;f[e+8>>2]=a;f[e+12>>2]=-1;f[e+48>>2]=1;Ta[f[(f[g>>2]|0)+28>>2]&7](g,e,f[c>>2]|0,1);if((f[e+24>>2]|0)==1){f[c>>2]=f[e+16>>2];i=1}else i=0;j=i}else j=0;else j=1;u=d;return j|0}function Bj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;if(!c){d=0;return d|0}e=c+40|0;g=c+44|0;ai((f[g>>2]|0)-(f[e>>2]|0)>>2,b)|0;h=f[e>>2]|0;e=f[g>>2]|0;if((h|0)!=(e|0)){g=h;do{h=f[g>>2]|0;if(h|0){ai(f[h+40>>2]|0,b)|0;jg(a,b,h)|0}g=g+4|0}while((g|0)!=(e|0))}jg(a,b,c)|0;d=1;return d|0}function Cj(a,c){a=a|0;c=c|0;var d=0;if(!c)return;Cj(a,f[c>>2]|0);Cj(a,f[c+4>>2]|0);a=c+16|0;d=c+28|0;if((b[d+11>>0]|0)<0)pr(f[d>>2]|0);if((b[a+11>>0]|0)<0)pr(f[a>>2]|0);pr(c);return}function Dj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=u;u=u+16|0;c=b;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;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e+(~((e+-4-c|0)>>>2)<<2)|0;f[d>>2]=h;g=h}f[a+24>>2]=0;f[a+28>>2]=0;if(c|0){if((g|0)!=(c|0))f[d>>2]=g+(~((g+-4-c|0)>>>2)<<2);pr(c)}c=f[a>>2]|0;if(!c){u=b;return}g=a+4|0;a=f[g>>2]|0;if((a|0)!=(c|0))f[g>>2]=a+(~((a+-8-c|0)>>>3)<<3);pr(c);u=b;return}function Ej(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a;a:do if(!(c&3)){d=a;e=4}else{g=c;h=a;while(1){if(!(b[h>>0]|0)){i=g;break a}j=h+1|0;g=j;if(!(g&3)){d=j;e=4;break}else h=j}}while(0);if((e|0)==4){e=d;while(1){k=f[e>>2]|0;if(!((k&-2139062144^-2139062144)&k+-16843009))e=e+4|0;else break}if(!((k&255)<<24>>24))l=e;else{k=e;while(1){e=k+1|0;if(!(b[e>>0]|0)){l=e;break}else k=e}}i=l}return i-c|0}function Fj(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;e=u;u=u+16|0;g=e;h=a+11|0;i=b[h>>0]|0;j=i<<24>>24<0;if(j)k=f[a+4>>2]|0;else k=i&255;do if(k>>>0>=c>>>0)if(j){i=(f[a>>2]|0)+c|0;b[g>>0]=0;Vp(i,g);f[a+4>>2]=c;break}else{b[g>>0]=0;Vp(a+c|0,g);b[h>>0]=c;break}else cj(a,c-k|0,d)|0;while(0);u=e;return}function Gj(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=a+88|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=f[c+8>>2]|0;if(b|0){d=c+12|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;pr(b)}pr(c)}c=f[a+68>>2]|0;if(c|0){b=a+72|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);pr(c)}c=a+64|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d>>2]|0;if(c|0){b=d+4|0;if((f[b>>2]|0)!=(c|0))f[b>>2]=c;pr(c)}pr(d)}pr(a);return}function Hj(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){m=d+16|0;n=f[m+4>>2]|0;o=a+8|0;f[o>>2]=f[m>>2];f[o+4>>2]=n;n=d+24|0;d=f[n+4>>2]|0;o=a+16|0;f[o>>2]=f[n>>2];f[o+4>>2]=d}b[a+24>>0]=e;f[a+28>>2]=g;b[a+32>>0]=h&1;h=a+40|0;f[h>>2]=i;f[h+4>>2]=j;j=a+48|0;f[j>>2]=k;f[j+4>>2]=l;f[a+56>>2]=c;return}function Ij(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=tn(88)|0;d=c+60|0;e=c;g=e+60|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[d>>2]=c;d=c+64|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;d=bg(c,b)|0;f[a>>2]=d?c:0;a=d?0:c;if(d)return;Ei(a);pr(a);return}function Jj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+8|0;i=f[a+4>>2]|0;if((i|0)==-1){j=0;u=d;return j|0}b[h>>0]=i;i=c+16|0;a=f[i+4>>2]|0;if(!((a|0)>0|(a|0)==0&(f[i>>2]|0)>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Fe(c,e,h,h+1|0)|0}j=1;u=d;return j|0}function Kj(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;d=u;u=u+16|0;e=d;g=c&255;b[e>>0]=g;i=a+16|0;j=f[i>>2]|0;if(!j)if(!(zl(a)|0)){k=f[i>>2]|0;l=4}else m=-1;else{k=j;l=4}do if((l|0)==4){j=a+20|0;i=f[j>>2]|0;if(i>>>0<k>>>0?(n=c&255,(n|0)!=(b[a+75>>0]|0)):0){f[j>>2]=i+1;b[i>>0]=g;m=n;break}if((Na[f[a+36>>2]&31](a,e,1)|0)==1)m=h[e>>0]|0;else m=-1}while(0);u=d;return m|0}function Lj(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a;while(1){d=b[c>>0]|0;e=d<<24>>24;f=c+1|0;if(!(Hq(e)|0))break;else c=f}switch(e|0){case 45:{g=1;h=5;break}case 43:{g=0;h=5;break}default:{i=d;j=0;k=c}}if((h|0)==5){i=b[f>>0]|0;j=g;k=f}f=(i<<24>>24)+-48|0;if(f>>>0<10){i=f;f=0;g=k;while(1){g=g+1|0;k=(f*10|0)-i|0;i=(b[g>>0]|0)+-48|0;if(i>>>0>=10){l=k;break}else f=k}}else l=0;return (j|0?l:0-l|0)|0}function Mj(a,b){a=a|0;b=b|0;if(!b)return;else{Mj(a,f[b>>2]|0);Mj(a,f[b+4>>2]|0);Cj(b+20|0,f[b+24>>2]|0);pr(b);return}}function Nj(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;e=u;u=u+16|0;g=e;h=e+4|0;f[g>>2]=c;c=a+4|0;a=tn(32)|0;f[h>>2]=a;f[h+8>>2]=-2147483616;f[h+4>>2]=17;i=a;j=14756;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[a+17>>0]=0;Wj(Bd(c,g)|0,h,d);if((b[h+11>>0]|0)>=0){u=e;return}pr(f[h>>2]|0);u=e;return}function Oj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){d=0;return d|0}e=f[c+(b<<2)>>2]|0;if((e|0)<0){d=0;return d|0}b=a+48|0;if((f[a+52>>2]|0)>>>0<=e>>>0)ue(b,e+1|0,0);c=(f[b>>2]|0)+(e>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(e&31);c=f[a+36>>2]|0;if((f[a+40>>2]|0)-c>>2>>>0<=e>>>0){d=1;return d|0}cq(f[c+(e<<2)>>2]|0);d=1;return d|0}function Pj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=a&255;e=a&255;if((f[c+76>>2]|0)>=0?(vr(c)|0)!=0:0){if((e|0)!=(b[c+75>>0]|0)?(g=c+20|0,h=f[g>>2]|0,h>>>0<(f[c+16>>2]|0)>>>0):0){f[g>>2]=h+1;b[h>>0]=d;i=e}else i=Kj(c,a)|0;ur(c);j=i}else k=3;do if((k|0)==3){if((e|0)!=(b[c+75>>0]|0)?(i=c+20|0,h=f[i>>2]|0,h>>>0<(f[c+16>>2]|0)>>>0):0){f[i>>2]=h+1;b[h>>0]=d;j=e;break}j=Kj(c,a)|0}while(0);return j|0}function Qj(a){a=a|0;if(!a)return;f[a>>2]=1216;Cj(a+28|0,f[a+32>>2]|0);xj(a+16|0,f[a+20>>2]|0);Cj(a+4|0,f[a+8>>2]|0);pr(a);return}function Rj(a){a=a|0;f[a>>2]=1216;Cj(a+28|0,f[a+32>>2]|0);xj(a+16|0,f[a+20>>2]|0);Cj(a+4|0,f[a+8>>2]|0);return}function Sj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(c>>>0>0|(c|0)==0&a>>>0>4294967295){e=a;f=c;c=d;while(1){g=qn(e|0,f|0,10,0)|0;c=c+-1|0;b[c>>0]=g&255|48;g=e;e=Ip(e|0,f|0,10,0)|0;if(!(f>>>0>9|(f|0)==9&g>>>0>4294967295))break;else f=I}h=c;i=e}else{h=d;i=a}if(!i)j=h;else{a=h;h=i;while(1){i=a+-1|0;b[i>>0]=(h>>>0)%10|0|48;if(h>>>0<10){j=i;break}else{a=i;h=(h>>>0)/10|0}}}return j|0}function Tj(a,c,d){a=a|0;c=c|0;d=$(d);var e=0,g=0,h=0;e=u;u=u+16|0;g=e;ml(g,d);h=xi(a,c)|0;c=h+11|0;if((b[c>>0]|0)<0){b[f[h>>2]>>0]=0;f[h+4>>2]=0}else{b[h>>0]=0;b[c>>0]=0}mh(h,0);f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];u=e;return}function Uj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=u;u=u+16|0;c=b+8|0;d=b+4|0;e=b;f[e>>2]=f[(f[a+4>>2]|0)+80>>2];g=f[a+44>>2]|0;a=g+16|0;h=f[a+4>>2]|0;if((h|0)>0|(h|0)==0&(f[a>>2]|0)>>>0>0){u=b;return 1}f[d>>2]=f[g+4>>2];f[c>>2]=f[d>>2];Fe(g,c,e,e+4|0)|0;u=b;return 1}function Vj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;pl(g,d&1);d=xi(a,c)|0;c=d+11|0;if((b[c>>0]|0)<0){b[f[d>>2]>>0]=0;f[d+4>>2]=0}else{b[d>>0]=0;b[c>>0]=0}mh(d,0);f[d>>2]=f[g>>2];f[d+4>>2]=f[g+4>>2];f[d+8>>2]=f[g+8>>2];u=e;return}function Wj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;pl(g,d);d=xi(a,c)|0;c=d+11|0;if((b[c>>0]|0)<0){b[f[d>>2]>>0]=0;f[d+4>>2]=0}else{b[d>>0]=0;b[c>>0]=0}mh(d,0);f[d>>2]=f[g>>2];f[d+4>>2]=f[g+4>>2];f[d+8>>2]=f[g+8>>2];u=e;return}function Xj(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;c=a+8|0;d=f[a>>2]|0;if((f[c>>2]|0)-d>>2>>>0>=b>>>0)return;e=a+4|0;if(b>>>0>1073741823){g=ra(8)|0;jp(g,16426);f[g>>2]=7416;va(g|0,1160,122)}g=(f[e>>2]|0)-d|0;h=g>>2;i=tn(b<<2)|0;j=i+(h<<2)|0;k=j+(0-h<<2)|0;if((g|0)>0)eh(k|0,d|0,g|0)|0;f[a>>2]=k;f[e>>2]=j;f[c>>2]=i+(b<<2);if(!d)return;pr(d);return}function Yj(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;e=Og(a,c)|0;if((e|0)==(a+4|0)){g=-1;h=(g|0)==-1;i=(g|0)!=0;j=h?d:i;return j|0}a=e+28|0;if((b[a+11>>0]|0)<0)k=f[a>>2]|0;else k=a;g=Lj(k)|0;h=(g|0)==-1;i=(g|0)!=0;j=h?d:i;return j|0}function Zj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;if(c>>>0>10){g=0;u=d;return g|0}h=tn(48)|0;f[e>>2]=h;f[e+8>>2]=-2147483600;f[e+4>>2]=33;i=h;j=16378;k=i+33|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[h+33>>0]=0;Wj(a,e,c);if((b[e+11>>0]|0)<0)pr(f[e>>2]|0);g=1;u=d;return g|0}function _j(a){a=a|0;f[a>>2]=1216;Cj(a+28|0,f[a+32>>2]|0);xj(a+16|0,f[a+20>>2]|0);Cj(a+4|0,f[a+8>>2]|0);pr(a);return}function $j(a,b){a=+a;b=b|0;var c=0.0,d=0,e=0,g=0,h=0,i=0.0;if((b|0)<=1023)if((b|0)<-1022){c=a*2.2250738585072014e-308;d=b+1022|0;e=(d|0)<-1022;g=b+2044|0;h=e?((g|0)>-1022?g:-1022):d;i=e?c*2.2250738585072014e-308:c}else{h=b;i=a}else{c=a*8988465674311579538646525.0e283;e=b+-1023|0;d=(e|0)>1023;g=b+-2046|0;h=d?((g|0)<1023?g:1023):e;i=d?c*8988465674311579538646525.0e283:c}d=eo(h+1023|0,0,52)|0;h=I;f[s>>2]=d;f[s+4>>2]=h;return +(i*+p[s>>3])}function ak(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=f[b>>2]|0;if((c|0)==-1)return 1;b=c*3|0;if((b|0)==-1)return 1;c=f[a>>2]|0;a=f[c+(b<<2)>>2]|0;d=b+1|0;e=((d>>>0)%3|0|0)==0?b+-2|0:d;if((e|0)==-1)g=-1;else g=f[c+(e<<2)>>2]|0;e=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((e|0)==-1)h=-1;else h=f[c+(e<<2)>>2]|0;if((a|0)==(g|0))return 1;else return (a|0)==(h|0)|(g|0)==(h|0)|0;return 0}function bk(a){a=a|0;f[a>>2]=3496;Cj(a+28|0,f[a+32>>2]|0);Mj(a+16|0,f[a+20>>2]|0);Cj(a+4|0,f[a+8>>2]|0);return}function ck(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0;d=0;while(1){if((h[17045+d>>0]|0)==(a|0)){e=2;break}g=d+1|0;if((g|0)==87){i=87;j=17133;e=5;break}else d=g}if((e|0)==2)if(!d)k=17133;else{i=d;j=17133;e=5}if((e|0)==5)while(1){e=0;d=j;do{a=d;d=d+1|0}while((b[a>>0]|0)!=0);i=i+-1|0;if(!i){k=d;break}else{j=d;e=5}}return Nq(k,f[c+20>>2]|0)|0}function dk(a,b){a=+a;b=b|0;var c=0,d=0,e=0,g=0.0,h=0,i=0.0,j=0.0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;e=jo(c|0,d|0,52)|0;switch(e&2047){case 0:{if(a!=0.0){g=+dk(a*18446744073709551616.0,b);h=(f[b>>2]|0)+-64|0;i=g}else{h=0;i=a}f[b>>2]=h;j=i;break}case 2047:{j=a;break}default:{f[b>>2]=(e&2047)+-1022;f[s>>2]=c;f[s+4>>2]=d&-2146435073|1071644672;j=+p[s>>3]}}return +j}function ek(a){a=a|0;f[a>>2]=3496;Cj(a+28|0,f[a+32>>2]|0);Mj(a+16|0,f[a+20>>2]|0);Cj(a+4|0,f[a+8>>2]|0);pr(a);return}function fk(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;if(!(f[a+80>>2]|0)){b=0;return b|0}c=a+8|0;d=a+12|0;a=f[c>>2]|0;if(((f[d>>2]|0)-a|0)>0){e=a;g=0}else{b=1;return b|0}while(1){a=f[e+(g<<2)>>2]|0;g=g+1|0;if(!(Ll(a,a)|0)){b=0;h=5;break}e=f[c>>2]|0;if((g|0)>=((f[d>>2]|0)-e>>2|0)){b=1;h=5;break}}if((h|0)==5)return b|0;return 0}function gk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=a+36|0;d=a+40|0;e=f[c>>2]|0;if((f[d>>2]|0)==(e|0)){g=1;return g|0}h=a+60|0;a=e;e=0;while(1){i=f[a+(e<<2)>>2]|0;e=e+1|0;if(!(Na[f[(f[i>>2]|0)+20>>2]&31](i,h,b)|0)){g=0;j=5;break}a=f[c>>2]|0;if(e>>>0>=(f[d>>2]|0)-a>>2>>>0){g=1;j=5;break}}if((j|0)==5)return g|0;return 0}function hk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+36|0;d=a+40|0;a=f[c>>2]|0;if((f[d>>2]|0)==(a|0)){e=1;return e|0}else{g=a;h=0}while(1){a=f[g+(h<<2)>>2]|0;h=h+1|0;if(!(Ma[f[(f[a>>2]|0)+24>>2]&127](a,b)|0)){e=0;i=4;break}g=f[c>>2]|0;if(h>>>0>=(f[d>>2]|0)-g>>2>>>0){e=1;i=4;break}}if((i|0)==4)return e|0;return 0}function ik(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;c=a+4|0;f[c>>2]=0;f[a+8>>2]=0;d=b+4|0;e=(f[d>>2]|0)-(f[b>>2]|0)|0;g=e>>2;if(!g)return;if(g>>>0>1073741823)Cq(a);h=tn(e)|0;f[c>>2]=h;f[a>>2]=h;f[a+8>>2]=h+(g<<2);g=f[b>>2]|0;b=(f[d>>2]|0)-g|0;if((b|0)<=0)return;eh(h|0,g|0,b|0)|0;f[c>>2]=h+(b>>>2<<2);return}function jk(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=a+36|0;c=a+40|0;d=f[b>>2]|0;if((f[c>>2]|0)==(d|0)){e=1;return e|0}g=a+60|0;a=d;d=0;while(1){h=f[a+(d<<2)>>2]|0;d=d+1|0;if(!(Ma[f[(f[h>>2]|0)+16>>2]&127](h,g)|0)){e=0;i=5;break}a=f[b>>2]|0;if(d>>>0>=(f[c>>2]|0)-a>>2>>>0){e=1;i=5;break}}if((i|0)==5)return e|0;return 0}function kk(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d;g=tn(16)|0;f[e>>2]=g;f[e+8>>2]=-2147483632;f[e+4>>2]=15;h=g;i=14740;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;Wj(a+4|0,e,c);if((b[e+11>>0]|0)>=0){u=d;return}pr(f[e>>2]|0);u=d;return}function lk(a,b){a=a|0;b=b|0;var c=0,d=0;f[a>>2]=0;f[a+4>>2]=b;if(b|0?(c=Bh(b,1072,1056,0)|0,c|0):0){d=tn(56)|0;Um(d,c);c=f[a>>2]|0;f[a>>2]=d;if(!c)return;Qa[f[(f[c>>2]|0)+4>>2]&127](c);return}c=tn(56)|0;Qm(c,b);b=f[a>>2]|0;f[a>>2]=c;if(!b)return;Qa[f[(f[b>>2]|0)+4>>2]&127](b);return}function mk(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;d=f[a+176>>2]|0;e=f[a+172>>2]|0;a=e;if((d|0)==(e|0))return 0;g=(d-e|0)/136|0;e=0;while(1){if((f[a+(e*136|0)>>2]|0)==(c|0)){h=4;break}d=e+1|0;if(d>>>0<g>>>0)e=d;else{h=6;break}}if((h|0)==4)return ((b[a+(e*136|0)+100>>0]|0)==0?0:a+(e*136|0)+4|0)|0;else if((h|0)==6)return 0;return 0}function nk(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[a+72>>2]|0;if(!c){d=0;return d|0}f[c+4>>2]=a+60;if(!(La[f[(f[c>>2]|0)+12>>2]&127](c)|0)){d=0;return d|0}if(!(La[f[(f[a>>2]|0)+40>>2]&127](a)|0)){d=0;return d|0}if(!(Ma[f[(f[a>>2]|0)+44>>2]&127](a,b)|0)){d=0;return d|0}d=Ma[f[(f[a>>2]|0)+48>>2]&127](a,b)|0;return d|0}function ok(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)Cq(a);e=tn(b*12|0)|0;f[d>>2]=e;f[a>>2]=e;f[a+8>>2]=e+(b*12|0);a=e;e=b;do{ik(a,c);a=(f[d>>2]|0)+12|0;f[d>>2]=a;e=e+-1|0}while((e|0)!=0);return}function pk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=f[b>>2]|0;if(!c){d=0;return d|0}e=a+44|0;g=f[e>>2]|0;if(g>>>0<(f[a+48>>2]|0)>>>0){f[b>>2]=0;f[g>>2]=c;f[e>>2]=(f[e>>2]|0)+4;d=1;return d|0}else{Rg(a+40|0,b);d=1;return d|0}return 0}function qk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3692;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}f[a+12>>2]=3716;b=f[a+32>>2]|0;if(b|0)pr(b);b=f[a+20>>2]|0;if(!b){pr(a);return}pr(b);pr(a);return}function rk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3408;f[a+40>>2]=1260;b=f[a+48>>2]|0;if(b|0){c=a+52|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}f[a>>2]=1540;b=a+36|0;d=f[b>>2]|0;f[b>>2]=0;if(!d){Li(a);pr(a);return}Qa[f[(f[d>>2]|0)+4>>2]&127](d);Li(a);pr(a);return}function sk(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0;f[c>>2]=2;d=a+4|0;a=c+8|0;e=f[a>>2]|0;g=(f[c+12>>2]|0)-e|0;if(g>>>0<4294967292){Nk(a,g+4|0,0);i=f[a>>2]|0}else i=e;e=i+g|0;g=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[e>>0]=g;b[e+1>>0]=g>>8;b[e+2>>0]=g>>16;b[e+3>>0]=g>>24;return}function tk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3740;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}f[a+12>>2]=3764;b=f[a+32>>2]|0;if(b|0)pr(b);b=f[a+20>>2]|0;if(!b){pr(a);return}pr(b);pr(a);return}function uk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2252;b=f[a+76>>2]|0;if(b|0)pr(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)nr(c);f[a>>2]=1608;c=f[a+32>>2]|0;if(!c){pr(a);return}b=a+36|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);pr(c);pr(a);return}function vk(a,c,d){a=a|0;c=c|0;d=$(d);var e=0,g=Ja,h=0;e=Og(a,c)|0;if((e|0)==(a+4|0)){g=d;return $(g)}a=e+28|0;if((b[a+11>>0]|0)<0)h=f[a>>2]|0;else h=a;g=$(+jr(h));return $(g)}function wk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=f[a+176>>2]|0;d=f[a+172>>2]|0;e=d;a:do if((c|0)!=(d|0)){g=(c-d|0)/136|0;h=0;while(1){if((f[e+(h*136|0)>>2]|0)==(b|0))break;i=h+1|0;if(i>>>0<g>>>0)h=i;else break a}j=e+(h*136|0)+104|0;return j|0}while(0);j=a+40|0;return j|0}function xk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3692;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}f[a+12>>2]=3716;b=f[a+32>>2]|0;if(b|0)pr(b);b=f[a+20>>2]|0;if(!b)return;pr(b);return}function yk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1832;b=f[a+76>>2]|0;if(b|0)pr(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)nr(c);f[a>>2]=1608;c=f[a+32>>2]|0;if(!c){pr(a);return}b=a+36|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);pr(c);pr(a);return}function zk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3408;f[a+40>>2]=1260;b=f[a+48>>2]|0;if(b|0){c=a+52|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}f[a>>2]=1540;b=a+36|0;d=f[b>>2]|0;f[b>>2]=0;if(!d){Li(a);return}Qa[f[(f[d>>2]|0)+4>>2]&127](d);Li(a);return}function Ak(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;Ic(a,b);if((b|0)<=-1)return;c=a+88|0;d=f[c>>2]|0;e=f[a+84>>2]|0;if((d-e>>2|0)<=(b|0))return;a=e+(b<<2)|0;b=a+4|0;e=d-b|0;g=e>>2;if(!g)h=d;else{qm(a|0,b|0,e|0)|0;h=f[c>>2]|0}e=a+(g<<2)|0;if((h|0)==(e|0))return;f[c>>2]=h+(~((h+-4-e|0)>>>2)<<2);return}function Bk(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a+32>>2]|0;c=f[a+36>>2]|0;if((b|0)==(c|0)){d=1;return d|0}e=a+8|0;g=a+44|0;a=b;while(1){b=f[(f[e>>2]|0)+(f[a>>2]<<2)>>2]|0;a=a+4|0;if(!(Ma[f[(f[b>>2]|0)+20>>2]&127](b,f[g>>2]|0)|0)){d=0;h=5;break}if((a|0)==(c|0)){d=1;h=5;break}}if((h|0)==5)return d|0;return 0}function Ck(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3740;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}f[a+12>>2]=3764;b=f[a+32>>2]|0;if(b|0)pr(b);b=f[a+20>>2]|0;if(!b)return;pr(b);return}function Dk(a){a=a|0;var b=0,c=0;f[a>>2]=2252;b=f[a+76>>2]|0;if(b|0)pr(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)nr(c);f[a>>2]=1608;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);pr(c);return}function Ek(a){a=a|0;var c=0,d=0,e=0;c=a+74|0;d=b[c>>0]|0;b[c>>0]=d+255|d;d=a+20|0;c=a+28|0;if((f[d>>2]|0)>>>0>(f[c>>2]|0)>>>0)Na[f[a+36>>2]&31](a,0,0)|0;f[a+16>>2]=0;f[c>>2]=0;f[d>>2]=0;d=f[a>>2]|0;if(!(d&4)){c=(f[a+44>>2]|0)+(f[a+48>>2]|0)|0;f[a+8>>2]=c;f[a+4>>2]=c;e=d<<27>>31}else{f[a>>2]=d|32;e=-1}return e|0}function Fk(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;d=Og(a,c)|0;if((d|0)==(a+4|0)){e=0;return e|0}a=d+28|0;if((b[a+11>>0]|0)<0)g=f[a>>2]|0;else g=a;e=((Lj(g)|0)+1|0)>>>0>1;return e|0}function Gk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0.0;d=u;u=u+128|0;e=d;g=e;h=g+124|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));g=e+4|0;f[g>>2]=a;h=e+8|0;f[h>>2]=-1;f[e+44>>2]=a;f[e+76>>2]=-1;dn(e,0);i=+Nc(e,c,1);c=(f[g>>2]|0)-(f[h>>2]|0)+(f[e+108>>2]|0)|0;if(b|0)f[b>>2]=c|0?a+c|0:a;u=d;return +i}function Hk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=6308;b=f[a+96>>2]|0;if(b|0){c=a+100|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);pr(b)}b=f[a+84>>2]|0;if(!b){Kg(a);pr(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);pr(b);Kg(a);pr(a);return}function Ik(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=Og(a,c)|0;if((e|0)==(a+4|0)){g=d;return g|0}d=e+28|0;if((b[d+11>>0]|0)<0)h=f[d>>2]|0;else h=d;g=Lj(h)|0;return g|0}function Jk(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;e=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;g=d>>31|((d|0)<0?-1:0)<<1;h=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;i=io(e^a|0,f^b|0,e|0,f|0)|0;b=I;a=g^e;e=h^f;return io((Fd(i,b,io(g^c|0,h^d|0,g|0,h|0)|0,I,0)|0)^a|0,I^e|0,a|0,e|0)|0}function Kk(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;a=c+16|0;g=f[a>>2]|0;h=c+36|0;i=c+24|0;do if(g){if((g|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[a>>2]=d;f[i>>2]=e;f[h>>2]=1}while(0);return}function Lk(a){a=a|0;var b=0,c=0;f[a>>2]=1832;b=f[a+76>>2]|0;if(b|0)pr(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)nr(c);f[a>>2]=1608;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);pr(c);return}function Mk(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;h=b+16|0;i=f[h+4>>2]|0;j=a+8|0;f[j>>2]=f[h>>2];f[j+4>>2]=i;i=b+24|0;b=f[i+4>>2]|0;j=a+16|0;f[j>>2]=f[i>>2];f[j+4>>2]=b;b=a+40|0;f[b>>2]=c;f[b+4>>2]=d;d=a+48|0;f[d>>2]=e;f[d+4>>2]=g;return}function Nk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e|0;h=e;e=d;if(b>>>0<=g>>>0){if(b>>>0<g>>>0?(d=h+b|0,(e|0)!=(d|0)):0)f[c>>2]=d}else Bi(a,b-g|0);g=a+24|0;a=g;b=go(f[a>>2]|0,f[a+4>>2]|0,1,0)|0;a=g;f[a>>2]=b;f[a+4>>2]=I;return}function Ok(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;d=Og(a,c)|0;if((d|0)==(a+4|0)){e=-1;return e|0}a=d+28|0;if((b[a+11>>0]|0)<0)g=f[a>>2]|0;else g=a;e=Lj(g)|0;return e|0}function Pk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=6308;b=f[a+96>>2]|0;if(b|0){c=a+100|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);pr(b)}b=f[a+84>>2]|0;if(!b){Kg(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);pr(b);Kg(a);return}function Qk(a){a=a|0;var c=0,d=0,e=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;c=a+68|0;d=a+28|0;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));f[c>>2]=a;c=a+72|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;return}function Rk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2308;b=f[a+76>>2]|0;if(b|0)pr(b);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b){pr(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b);pr(a);return}function Sk(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,h=0;f=u;u=u+256|0;g=f;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;pj(g|0,b|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;d=e;do{sp(a,g,256);d=d+-256|0}while(d>>>0>255);h=b&255}else h=e;sp(a,g,h)}u=f;return}function Tk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1888;b=f[a+76>>2]|0;if(b|0)pr(b);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b){pr(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b);pr(a);return}function Uk(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;if(Ep(a,f[b+8>>2]|0,g)|0)mj(0,b,c,d,e);else{h=f[a+8>>2]|0;Va[f[(f[h>>2]|0)+20>>2]&3](h,b,c,d,e,g)}return}function Vk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2364;Dj(a+108|0);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b){pr(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b);pr(a);return}function Wk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1296;b=f[a+16>>2]|0;if(b|0){c=a+20|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+4>>2]|0;if(!b){pr(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);pr(b);pr(a);return}function Xk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1944;Dj(a+108|0);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b){pr(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b);pr(a);return}function Yk(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;a:do if(!d)e=0;else{f=a;g=d;h=c;while(1){i=b[f>>0]|0;j=b[h>>0]|0;if(i<<24>>24!=j<<24>>24)break;g=g+-1|0;if(!g){e=0;break a}else{f=f+1|0;h=h+1|0}}e=(i&255)-(j&255)|0}while(0);return e|0}function Zk(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 _k(a){a=a|0;var b=0,c=0;f[a>>2]=2308;b=f[a+76>>2]|0;if(b|0)pr(b);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);pr(b);return}function $k(a){a=a|0;var c=0,d=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)d=(f[a+8>>2]&2147483647)+-1|0;else d=10;Fj(a,d,0);return}function al(a){a=a|0;var b=0,c=0,d=0,e=0.0,g=0.0;b=f[a+8>>2]|0;if((b|0)<2){c=0;d=0;I=c;return d|0}e=+(b|0);g=e*+Ug(e);e=+W(+(g-+p[a>>3]));c=+K(e)>=1.0?(e>0.0?~~+Y(+J(e/4294967296.0),4294967295.0)>>>0:~~+W((e-+(~~e>>>0))/4294967296.0)>>>0):0;d=~~e>>>0;I=c;return d|0}function bl(a){a=a|0;var b=0,c=0;f[a>>2]=1888;b=f[a+76>>2]|0;if(b|0)pr(b);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);pr(b);return}function cl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){d=0;return d|0}e=f[c+(b<<2)>>2]|0;if((e|0)<0){d=0;return d|0}b=f[(f[a+36>>2]|0)+(e<<2)>>2]|0;e=f[b+32>>2]|0;if(e|0){d=e;return d|0}d=f[b+8>>2]|0;return d|0}function dl(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1296;b=f[a+16>>2]|0;if(b|0){c=a+20|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b)}b=f[a+4>>2]|0;if(!b)return;d=a+8|0;a=f[d>>2]|0;if((a|0)!=(b|0))f[d>>2]=a+(~((a+-4-b|0)>>>2)<<2);pr(b);return}function el(a){a=a|0;var b=0,c=0;f[a>>2]=2364;Dj(a+108|0);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);pr(b);return}function fl(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 gl(a){a=a|0;var b=0,c=0,d=0,e=0;b=u;u=u+16|0;c=b;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;e=f[d>>2]|0;if((e|0)!=(c|0))f[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);f[a+24>>2]=0;f[a+28>>2]=0;u=b;return}function hl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if(Ep(a,f[b+8>>2]|0,0)|0)Kk(0,b,c,d);else{e=f[a+8>>2]|0;Ta[f[(f[e>>2]|0)+28>>2]&7](e,b,c,d)}return}function il(a){a=a|0;var b=0,c=0;f[a>>2]=1944;Dj(a+108|0);f[a>>2]=1608;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);pr(b);return}function jl(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)<0){c=0;return c|0}d=f[a+4>>2]|0;if(((f[d+12>>2]|0)-(f[d+8>>2]|0)>>2|0)<=(b|0)){c=0;return c|0}d=f[(f[a+8>>2]|0)+(f[(f[a+20>>2]|0)+(b<<2)>>2]<<2)>>2]|0;c=Ma[f[(f[d>>2]|0)+36>>2]&127](d,b)|0;return c|0}function kl(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)<0){c=0;return c|0}d=f[a+4>>2]|0;if(((f[d+12>>2]|0)-(f[d+8>>2]|0)>>2|0)<=(b|0)){c=0;return c|0}d=f[(f[a+8>>2]|0)+(f[(f[a+20>>2]|0)+(b<<2)>>2]<<2)>>2]|0;c=Ma[f[(f[d>>2]|0)+32>>2]&127](d,b)|0;return c|0}function ll(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0;d=b[a>>0]|0;e=b[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24){f=e;g=d}else{d=a;a=c;do{d=d+1|0;a=a+1|0;c=b[d>>0]|0;e=b[a>>0]|0}while(!(c<<24>>24==0?1:c<<24>>24!=e<<24>>24));f=e;g=c}return (g&255)-(f&255)|0}function ml(a,b){a=a|0;b=$(b);var c=0,d=0;c=u;u=u+16|0;d=c;$k(d);Ai(a,d,b);To(d);u=c;return}function nl(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;b=f[a>>2]|0;c=a+4|0;d=f[c>>2]|0;if((d|0)==(b|0))e=b;else{g=d+(~((d+-4-b|0)>>>2)<<2)|0;f[c>>2]=g;e=g}f[a+12>>2]=0;f[a+16>>2]=0;if(!b)return;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);pr(b);return}function ol(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=f[a+16>>2]|0;if(((f[a+20>>2]|0)-d>>2|0)<=(b|0)){e=-1;return e|0}g=f[d+(b<<2)>>2]|0;if((g|0)<0){e=-1;return e|0}e=f[(f[(f[(f[a+36>>2]|0)+(g<<2)>>2]|0)+16>>2]|0)+(c<<2)>>2]|0;return e|0}function pl(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;$k(d);Fi(a,d,b);To(d);u=c;return}function ql(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+32|0;e=d;g=d+20|0;f[e>>2]=f[a+60>>2];f[e+4>>2]=0;f[e+8>>2]=b;f[e+12>>2]=g;f[e+16>>2]=c;if((Fo(za(140,e|0)|0)|0)<0){f[g>>2]=-1;h=-1}else h=f[g>>2]|0;u=d;return h|0}function rl(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)==-1|(b|0)>4){c=0;return c|0}d=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-d|0)<=0){c=0;return c|0}b=f[d>>2]|0;if((b|0)==-1){c=0;return c|0}c=f[(f[a+8>>2]|0)+(b<<2)>>2]|0;return c|0}function sl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){d=0;return d|0}e=f[c+(b<<2)>>2]|0;if((e|0)<0){d=0;return d|0}b=f[(f[a+36>>2]|0)+(e<<2)>>2]|0;d=(f[b+20>>2]|0)-(f[b+16>>2]|0)>>2;return d|0}function tl(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 ul(a){a=a|0;var b=0;if(!(f[a+24>>2]|0)){b=0;return b|0}if(!(f[a+28>>2]|0)){b=0;return b|0}if(!(f[a+32>>2]|0)){b=0;return b|0}b=(f[a+36>>2]|0)!=0;return b|0}function vl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;fh(a,c);f[a>>2]=1472;c=a+72|0;d=a+36|0;a=d+36|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(a|0));d=f[b>>2]|0;f[b>>2]=0;f[c>>2]=d;return}function wl(a){a=a|0;var b=0,c=0;f[a>>2]=3212;b=f[a+56>>2]|0;if(b|0)pr(b);b=a+48|0;c=f[b>>2]|0;f[b>>2]=0;if(!c){pr(a);return}nr(c);pr(a);return}function xl(a,c){a=a|0;c=c|0;var d=0,e=0;d=a;e=c;c=d+64|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(c|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 yl(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if((a|0)==0&(c|0)==0)f=d;else{g=a;a=c;c=d;while(1){d=c+-1|0;b[d>>0]=h[17027+(g&15)>>0]|0|e;g=jo(g|0,a|0,4)|0;a=I;if((g|0)==0&(a|0)==0){f=d;break}else c=d}}return f|0}function zl(a){a=a|0;var c=0,d=0,e=0;c=a+74|0;d=b[c>>0]|0;b[c>>0]=d+255|d;d=f[a>>2]|0;if(!(d&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);e=0}else{f[a>>2]=d|32;e=-1}return e|0}function Al(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 Bl(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[b+88>>2]|0;if(!c){d=0;return d|0}if((f[c>>2]|0)!=2){d=0;return d|0}b=f[c+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;d=1;return d|0}function Cl(a){a=a|0;var b=0;if(!(f[a+44>>2]|0)){b=0;return b|0}if(!(f[a+48>>2]|0)){b=0;return b|0}if(!(f[a+52>>2]|0)){b=0;return b|0}b=(f[a+56>>2]|0)!=0;return b|0}function Dl(a){a=a|0;tj(a);pr(a);return}function El(a){a=a|0;var b=0,c=0;f[a>>2]=2848;b=f[a+56>>2]|0;if(b|0)pr(b);b=a+48|0;c=f[b>>2]|0;f[b>>2]=0;if(!c){pr(a);return}nr(c);pr(a);return}function Fl(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+44>>2]=c;d=1;return d|0}function Gl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e|0;if(b>>>0>g>>>0){Bi(a,b-g|0);return}if(b>>>0>=g>>>0)return;g=e+b|0;if((d|0)==(g|0))return;f[c>>2]=g;return}function Hl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=$(e);f[a+4>>2]=b;Yf(a+8|0,c,c+(d<<2)|0);n[a+20>>2]=e;return}function Il(a,b){a=a|0;b=b|0;var c=0;if(!(La[f[(f[a>>2]|0)+40>>2]&127](a)|0)){c=0;return c|0}if(!(Ma[f[(f[a>>2]|0)+44>>2]&127](a,b)|0)){c=0;return c|0}c=Ma[f[(f[a>>2]|0)+48>>2]&127](a,b)|0;return c|0}function Jl(a){a=a|0;var b=0,c=0;a=a+15&-16|0;b=f[r>>2]|0;c=b+a|0;if((a|0)>0&(c|0)<(b|0)|(c|0)<0){ea()|0;ya(12);return -1}f[r>>2]=c;if((c|0)>(da()|0)?(ca()|0)==0:0){f[r>>2]=b;ya(12);return -1}return b|0}function Kl(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+40>>2]=c;d=1;return d|0}function Ll(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];e=oc(a,b,d)|0;u=c;return e|0}function Ml(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;d=f[c>>2]|0;c=a;e=b-a>>2;while(1){if(!e)break;a=(e|0)/2|0;b=c+(a<<2)|0;g=(f[b>>2]|0)>>>0<d>>>0;c=g?b+4|0:c;e=g?e+-1-a|0:a}return c|0}function Nl(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=f[a>>2]|0;d=(b[c>>0]|0)+-48|0;if(d>>>0<10){e=c;c=0;g=d;while(1){d=g+(c*10|0)|0;e=e+1|0;f[a>>2]=e;g=(b[e>>0]|0)+-48|0;if(g>>>0>=10){h=d;break}else c=d}}else h=0;return h|0}function Ol(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 Pl(a){a=a|0;wj(a);pr(a);return}function Ql(a){a=a|0;var b=0;f[a>>2]=3212;b=f[a+56>>2]|0;if(b|0)pr(b);b=a+48|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;nr(a);return}function Rl(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+64>>2]=c;d=1;return d|0}function Sl(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;if((a|0)==0&(c|0)==0)e=d;else{f=a;a=c;c=d;while(1){d=c+-1|0;b[d>>0]=f&7|48;f=jo(f|0,a|0,3)|0;a=I;if((f|0)==0&(a|0)==0){e=d;break}else c=d}}return e|0}function Tl(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+60>>2]=c;d=1;return d|0}function Ul(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(Ep(a,f[b+8>>2]|0,g)|0)mj(0,b,c,d,e);return}function Vl(a){a=a|0;var b=0,c=0;b=f[a+64>>2]|0;if(!b)return;c=La[f[(f[b>>2]|0)+32>>2]&127](b)|0;if(!c)return;f[a+60>>2]=(((f[c+4>>2]|0)-(f[c>>2]|0)>>2>>>0)/3|0)-(f[c+40>>2]|0);return}function Wl(a){a=a|0;var b=0;f[a>>2]=2848;b=f[a+56>>2]|0;if(b|0)pr(b);b=a+48|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;nr(a);return}function Xl(a){a=a|0;var b=0,c=0;f[a>>2]=1540;b=a+36|0;c=f[b>>2]|0;f[b>>2]=0;if(!c){Li(a);pr(a);return}Qa[f[(f[c>>2]|0)+4>>2]&127](c);Li(a);pr(a);return}function Yl(a){a=a|0;var c=0,d=0,e=0,g=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;g=(f[e+56>>2]|0)-(f[e+52>>2]|0)>>2;b[d>>0]=0;hh(a+20|0,g,d);u=c;return}function Zl(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1608;b=f[a+32>>2]|0;if(!b){pr(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b);pr(a);return}function _l(a){a=a|0;Ri(a);pr(a);return}function $l(a){a=a|0;var b=0;switch(a|0){case 11:case 2:case 1:{b=1;break}case 4:case 3:{b=2;break}case 6:case 5:{b=4;break}case 8:case 7:{b=8;break}case 9:{b=4;break}case 10:{b=8;break}default:b=-1}return b|0}function am(a){a=a|0;var c=0,d=0,e=0,g=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;g=(f[e+28>>2]|0)-(f[e+24>>2]|0)>>2;b[d>>0]=0;hh(a+20|0,g,d);u=c;return}function bm(){var a=0,b=0;a=tn(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 cm(a,b){a=+a;b=+b;var c=0,d=0,e=0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;p[s>>3]=b;e=f[s+4>>2]&-2147483648|d&2147483647;f[s>>2]=c;f[s+4>>2]=e;return +(+p[s>>3])}function dm(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;Yb(a,b,e);u=d;return}function em(a){a=a|0;f[a>>2]=3784;Mi(a+8|0);pr(a);return}function fm(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;ac(a,b,e);u=d;return}function gm(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;gj(a,e?f[c>>2]|0:c,e?f[c+4>>2]|0:d&255)|0}return a|0}function hm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=a&65535;d=b&65535;e=X(d,c)|0;f=a>>>16;a=(e>>>16)+(X(d,f)|0)|0;d=b>>>16;b=X(d,c)|0;return (I=(a>>>16)+(X(d,f)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|e&65535|0)|0}function im(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=Ej(b)|0;d=tn(c+13|0)|0;f[d>>2]=c;f[d+4>>2]=c;f[d+8>>2]=0;e=fq(d)|0;eh(e|0,b|0,c+1|0)|0;f[a>>2]=e;return}function jm(a){a=a|0;var b=0,c=0;f[a>>2]=3528;b=a+64|0;c=f[b>>2]|0;f[b>>2]=0;if(!c){ij(a);pr(a);return}Qa[f[(f[c>>2]|0)+4>>2]&127](c);ij(a);pr(a);return}function km(a){a=a|0;var b=0,c=0;f[a>>2]=1540;b=a+36|0;c=f[b>>2]|0;f[b>>2]=0;if(!c){Li(a);return}Qa[f[(f[c>>2]|0)+4>>2]&127](c);Li(a);return}function lm(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)==-1|(b|0)>4){c=-1;return c|0}d=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-d|0)<=0){c=-1;return c|0}c=f[d>>2]|0;return c|0}function mm(a){a=a|0;Vi(a);pr(a);return}function nm(a){a=a|0;f[a>>2]=3784;Mi(a+8|0);return}function om(a){a=a|0;var b=0,c=0;f[a>>2]=1608;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);pr(b);return}function pm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Ep(a,f[b+8>>2]|0,0)|0)Kk(0,b,c,d);return}function qm(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 eh(a,c,d)|0;return a|0}function rm(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1260;b=f[a+8>>2]|0;if(!b){pr(a);return}c=a+12|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);pr(b);pr(a);return}function sm(a){a=a|0;var b=0;f[a>>2]=3268;b=f[a+56>>2]|0;if(!b){pr(a);return}pr(b);pr(a);return}function tm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+16|0;e=d;f[e>>2]=f[c>>2];g=Na[f[(f[a>>2]|0)+16>>2]&31](a,b,e)|0;if(g)f[c>>2]=f[e>>2];u=d;return g&1|0}function um(a,b){a=a|0;b=b|0;var c=0;if(b>>>0>=2){c=0;return c|0}f[a+28>>2]=b;c=1;return c|0}function vm(a){a=a|0;var b=0,c=0;f[a>>2]=3528;b=a+64|0;c=f[b>>2]|0;f[b>>2]=0;if(!c){ij(a);return}Qa[f[(f[c>>2]|0)+4>>2]&127](c);ij(a);return}function wm(){var a=0,b=0;a=Bn()|0;if((a|0?(b=f[a>>2]|0,b|0):0)?(a=b+48|0,(f[a>>2]&-256|0)==1126902528?(f[a+4>>2]|0)==1129074247:0):0)bp(f[b+12>>2]|0);bp(rq()|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 Rf(a,b,c,d,e,f,6)|0}function ym(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 Qf(a,b,c,d,e,f,4)|0}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|0;return Sf(a,b,c,d,e,f,2)|0}function Am(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 Qf(a,b,c,d,e,f,3)|0}function Bm(a){a=a|0;var b=0;f[a>>2]=2904;b=f[a+56>>2]|0;if(!b){pr(a);return}pr(b);pr(a);return}function Cm(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 Sf(a,b,c,d,e,f,1)|0}function Dm(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 Em(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0.0;if(!a){c=0.0;return +c}if((b|0)==0|(a|0)==(b|0)){c=0.0;return +c}d=+(b>>>0)/+(a>>>0);e=1.0-d;f=d*+Ug(d);c=-(f+e*+Ug(e));return +c}function Fm(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 Gm(a){a=a|0;var b=0;No(a);f[a>>2]=3408;f[a+40>>2]=1260;f[a+44>>2]=-1;b=a+48|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return}function Hm(a,c){a=a|0;c=c|0;var d=0;b[c+84>>0]=1;a=f[c+68>>2]|0;d=c+72|0;c=f[d>>2]|0;if((c|0)==(a|0))return 1;f[d>>2]=c+(~((c+-4-a|0)>>>2)<<2);return 1}function Im(a){a=a|0;var b=0,c=0;if(Uq(a)|0?(b=nq(f[a>>2]|0)|0,a=b+8|0,c=f[a>>2]|0,f[a>>2]=c+-1,(c+-1|0)<0):0)pr(b);return}function Jm(a){a=a|0;var b=0,c=0;b=f[a+16>>2]|0;c=(((f[a+12>>2]|0)+1-b|0)/64|0)+b<<3;a=b<<3;b=go(c|0,((c|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;return b|0}function Km(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 Rf(a,b,c,d,e,f,5)|0}function Lm(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 Rf(a,b,c,d,e,f,9)|0}function Mm(a){a=a|0;var b=0;f[a>>2]=3268;b=f[a+56>>2]|0;if(!b)return;pr(b);return}function Nm(a){a=a|0;var b=0,c=0;f[a>>2]=1260;b=f[a+8>>2]|0;if(!b)return;c=a+12|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);pr(b);return}function Om(a){a=a|0;var c=0;f[a>>2]=1416;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 Pm(a){a=a|0;var b=0;f[a>>2]=2904;b=f[a+56>>2]|0;if(!b)return;pr(b);return}function Qm(a,b){a=a|0;b=b|0;f[a>>2]=3496;hi(a+4|0);f[a+40>>2]=0;f[a+44>>2]=0;f[a>>2]=3512;f[a+48>>2]=b;f[a+52>>2]=0;return}function Rm(a){a=a|0;var b=0,c=0,d=0;b=f[a>>2]|0;c=a+4|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);f[a+12>>2]=0;f[a+16>>2]=0;return}function Sm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=a+20|0;e=f[d>>2]|0;g=(f[a+16>>2]|0)-e|0;a=g>>>0>c>>>0?c:g;eh(e|0,b|0,a|0)|0;f[d>>2]=(f[d>>2]|0)+a;return c|0}function Tm(a){a=a|0;var b=0;f[a>>2]=3716;b=f[a+20>>2]|0;if(b|0)pr(b);b=f[a+8>>2]|0;if(!b){pr(a);return}pr(b);pr(a);return}function Um(a,b){a=a|0;b=b|0;f[a>>2]=3496;hi(a+4|0);f[a+40>>2]=0;f[a+44>>2]=0;f[a>>2]=3512;f[a+48>>2]=b;f[a+52>>2]=b;return}function Vm(a){a=a|0;var b=0,c=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-8-b|0)>>>3)<<3);pr(b);return}function Wm(a){a=a|0;var b=0,c=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);pr(b);return}function Xm(a,b){a=a|0;b=b|0;var c=0;c=f[b>>2]|0;return (1<<(c&31)&f[(f[a+28>>2]|0)+(c>>>5<<2)>>2]|0)!=0|0}function Ym(a,b,c){a=a|0;b=b|0;c=c|0;return Na[f[(f[a>>2]|0)+44>>2]&31](a,b,c)|0}function Zm(a){a=a|0;var c=0;Ol(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 _m(a){a=a|0;f[a>>2]=3324;Dj(a+88|0);pr(a);return}function $m(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((f[b+4>>2]|0)==(c|0)?(c=b+28|0,(f[c>>2]|0)!=1):0)f[c>>2]=d;return}function an(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=$(f);Eg(a,b,c,d,e,f);return}function bn(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b;if((Ek(a)|0)==0?(Na[f[a+32>>2]&31](a,c,1)|0)==1:0)d=h[c>>0]|0;else d=-1;u=b;return d|0}function cn(a){a=a|0;var b=0;f[a>>2]=3764;b=f[a+20>>2]|0;if(b|0)pr(b);b=f[a+8>>2]|0;if(!b){pr(a);return}pr(b);pr(a);return}function dn(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 en(a){a=a|0;var b=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=a+16|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;return}function fn(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=$(g);Eg(f[a>>2]|0,b,c,d,e,g);return}function gn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=$(f);an(a,b,c,d,e,f);return}function hn(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 xm(a,b,c,d,e,f)|0}function jn(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 ym(a,b,c,d,e,f)|0}function kn(a,b,c){a=a|0;b=b|0;c=c|0;f[a+4>>2]=b;f[a+8>>2]=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(c<<2)>>2];f[a+12>>2]=c;return 1}function ln(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;pr(b)}pr(a);return}function mn(a){a=a|0;f[a>>2]=2960;Dj(a+88|0);pr(a);return}function nn(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 zm(a,b,c,d,e,f)|0}function on(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 Am(a,b,c,d,e,f)|0}function pn(a){a=a|0;f[a>>2]=3324;Dj(a+88|0);return}function qn(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|0;Fd(a,b,c,d,g)|0;u=e;return (I=f[g+4>>2]|0,f[g>>2]|0)|0}function rn(a){a=a|0;var b=0;oo(a);f[a>>2]=6308;b=a+84|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;return}function sn(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 Cm(a,b,c,d,e,f)|0}function tn(a){a=a|0;var b=0,c=0;b=(a|0)==0?1:a;while(1){a=Wa(b)|0;if(a|0){c=a;break}a=pq()|0;if(!a){c=0;break}Pa[a&3]()}return c|0}function un(a,b,c){a=a|0;b=b|0;c=c|0;_b(a,b,c);return}function vn(a){a=a|0;var b=0;f[a>>2]=3716;b=f[a+20>>2]|0;if(b|0)pr(b);b=f[a+8>>2]|0;if(!b)return;pr(b);return}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;return Km(a,b,c,d,e,f)|0}function xn(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 Lm(a,b,c,d,e,f)|0}function yn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=$(f);fn(a,b,c,d,e,f);return}function zn(a){a=a|0;f[a>>2]=2960;Dj(a+88|0);return}function An(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b;d=sr(f[a+60>>2]|0)|0;f[c>>2]=d;d=Fo(Ba(6,c|0)|0)|0;u=b;return d|0}function Bn(){var a=0,b=0;a=u;u=u+16|0;if(!(Ga(20088,3)|0)){b=Ea(f[5023]|0)|0;u=a;return b|0}else Sn(19231,a);return 0}function Cn(a){a=a|0;var b=0;f[a>>2]=3764;b=f[a+20>>2]|0;if(b|0)pr(b);b=f[a+8>>2]|0;if(!b)return;pr(b);return}function Dn(a){a=a|0;var b=0;if(!a)return;b=f[a>>2]|0;f[a>>2]=0;if(b|0)Qa[f[(f[b>>2]|0)+4>>2]&127](b);pr(a);return}function En(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;a=c;c=hm(e,a)|0;f=I;return (I=(X(b,a)|0)+(X(d,e)|0)+f|f&0,c|0|0)|0}function Fn(a,b){a=a|0;b=b|0;fh(a,b);f[a>>2]=1356;b=a+36|0;a=b+40|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}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;tc(a);if(!(Ha(f[5023]|0,0)|0)){u=b;return}else Sn(19330,b)}function In(a){a=a|0;var b=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=a+16|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return}function Jn(a,b){a=a|0;b=b|0;return vg(a+40|0,b)|0}function Kn(a,b){a=a|0;b=b|0;return kj(a,b,Pq(b)|0)|0}function Ln(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=Wi(a,b,c,g)|0;u=e;return d|0}function Mn(a,b){a=a|0;b=b|0;return Jj(a+40|0,b)|0}function Nn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ph(a,b,c,d)|0}function On(a){a=a|0;var b=0;f[a>>2]=4076;f[a+52>>2]=0;b=a+4|0;a=b+44|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function Pn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ph(a,b,c,d)|0}function Qn(a,b){a=a|0;b=b|0;var c=0;c=f[a+64>>2]|0;return Ma[f[(f[c>>2]|0)+24>>2]&127](c,b)|0}function Rn(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 Sn(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;f[d>>2]=b;b=f[1595]|0;wh(b,a,d)|0;Pj(10,b)|0;Ca()}function Tn(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 Oa[a&31](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Un(a){a=a|0;var b=0;b=f[a+56>>2]|0;f[a+60>>2]=((f[b+100>>2]|0)-(f[b+96>>2]|0)|0)/12|0;return}function Vn(a,b){a=a|0;b=b|0;var c=0;c=f[a+64>>2]|0;return Ma[f[(f[c>>2]|0)+16>>2]&127](c,b)|0}function Wn(a,b){a=a|0;b=b|0;var c=0;c=f[a+64>>2]|0;return Ma[f[(f[c>>2]|0)+20>>2]&127](c,b)|0}function Xn(a,b){a=a|0;b=b|0;var c=0;c=f[a+64>>2]|0;return Ma[f[(f[c>>2]|0)+12>>2]&127](c,b)|0}function Yn(){var a=0;a=u;u=u+16|0;if(!(Fa(20092,125)|0)){u=a;return}else Sn(19280,a)}function Zn(a){a=a|0;f[a>>2]=1216;hi(a+4|0);f[a+40>>2]=0;f[a+44>>2]=0;f[a>>2]=3472;return}function _n(a){a=a|0;We(a);pr(a);return}function $n(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;Va[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function ao(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)pj(a|0,(Oq(c)|0)&255|0,b|0)|0;return a|0}function bo(a){a=a|0;return 4}function co(a,b,c){a=a|0;b=b|0;c=c|0;return bj(0,b,c)|0}function eo(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}I=a<<c-32;return 0}function fo(){}function go(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=a+c>>>0;return (I=b+d+(e>>>0<a>>>0|0)>>>0,e|0)|0}function ho(a,b){a=a|0;b=b|0;var c=0;if(!b)c=0;else c=Ah(f[b>>2]|0,f[b+4>>2]|0,a)|0;return (c|0?c:a)|0}function io(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=b-d>>>0;e=b-d-(c>>>0>a>>>0|0)>>>0;return (I=e,a-c>>>0|0)|0}function jo(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)-1)<<32-c}I=0;return b>>>c-32|0}function ko(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return xe(a,b,c,d)|0}function lo(a){a=a|0;$e(a);pr(a);return}function mo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return Yi(a,b,c,d)|0}function no(a){a=a|0;return 5}function oo(a){a=a|0;var b=0;f[a>>2]=6348;b=a+4|0;a=b+80|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function po(a){a=a|0;return 6}function qo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Zi(a,b,c,d)|0}function ro(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 so(a,b,c){a=a|0;b=b|0;c=c|0;Nj(a,b,c);return}function to(a,b){a=a|0;b=b|0;Ii(f[a>>2]|0,b);return}function uo(a,b,c){a=a|0;b=b|0;c=c|0;so(a,b,c);return}function vo(a){a=a|0;var b=0;b=f[a+64>>2]|0;return La[f[(f[b>>2]|0)+28>>2]&127](b)|0}function wo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Oe(a,b,c,d,1);return}function xo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Oe(a,b,c,d,0);return}function yo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ag(a,b,c,d)|0}function zo(a,b,c){a=a|0;b=b|0;c=c|0;return di(a,b,c)|0}function Ao(a){a=a|0;var b=0;b=f[a+64>>2]|0;return La[f[(f[b>>2]|0)+32>>2]&127](b)|0}function Bo(a,b,c){a=a|0;b=b|0;c=c|0;Nj(f[a>>2]|0,b,c);return}function Co(a,b,c){a=a|0;b=b|0;c=c|0;return bj(a,b,c)|0}function Do(a,b,c){a=a|0;b=b|0;c=c|0;return co(a,b,c)|0}function Eo(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Ua[a&3](b|0,c|0,d|0,e|0,f|0)}function Fo(a){a=a|0;var b=0,c=0;if(a>>>0>4294963200){b=er()|0;f[b>>2]=0-a;c=-1}else c=a;return c|0}function Go(a,b,c){a=a|0;b=b|0;c=c|0;return Gh(a,b,c)|0}function Ho(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 Io(a,b){a=a|0;b=b|0;f[a+8>>2]=b;f[a+12>>2]=-1;return 1}function Jo(a,b){a=a|0;b=b|0;f[a+56>>2]=b;Hp(a,b);return}function Ko(a,b,c){a=a|0;b=b|0;c=c|0;Bo(a,b,c);return}function Lo(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 Mo(a,b){a=a|0;b=b|0;Ii(a,b);return}function No(a){a=a|0;Om(a);f[a>>2]=1540;f[a+36>>2]=0;return}function Oo(a){a=a|0;On(a);f[a>>2]=3892;f[a+56>>2]=0;f[a+60>>2]=0;return}function Po(a){a=a|0;var b=0;if(!a)b=0;else b=(Bh(a,1104,1192,0)|0)!=0;return b&1|0}function Qo(a,b,c){a=a|0;b=b|0;c=c|0;Ro(f[a>>2]|0,b,c);return}function Ro(a,b,c){a=a|0;b=b|0;c=c|0;Pi(a+4|0,b,c);return}function So(a){a=a|0;var b=0;b=tn(8)|0;lk(b,a);return b|0}function To(a){a=a|0;if((b[a+11>>0]|0)<0)pr(f[a>>2]|0);return}function Uo(a){a=a|0;if(!a)return;Qa[f[(f[a>>2]|0)+4>>2]&127](a);return}function Vo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Ta[a&7](b|0,c|0,d|0,e|0)}function Wo(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)qm(a|0,b|0,c|0)|0;return a|0}function Xo(a,b,c){a=a|0;b=b|0;c=c|0;Qo(a,b,c);return}function Yo(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)eh(a|0,b|0,c|0)|0;return a|0}function Zo(a){a=a|0;f[a+52>>2]=f[(f[a+4>>2]|0)+80>>2];return}function _o(a,b){a=a|0;b=b|0;to(a,b);return}function $o(a){a=a|0;f[a+52>>2]=f[(f[a+56>>2]|0)+80>>2];return}function ap(a,b){a=a|0;b=b|0;return -1}function bp(a){a=a|0;var b=0;b=u;u=u+16|0;Pa[a&3]();Sn(19383,b)}function cp(a){a=a|0;Lh(a);pr(a);return}function dp(a,b,c){a=a|0;b=b|0;c=c|0;np(a,b,c);return}function ep(a,b){a=a|0;b=b|0;kk(f[a>>2]|0,b);return}function fp(a,b,c){a=a|0;b=$(b);c=c|0;f[a+4>>2]=c;n[a>>2]=b;return}function gp(a){a=a|0;Oo(a);f[a>>2]=3528;f[a+64>>2]=0;return}function hp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Na[a&31](b|0,c|0,d|0)|0}function ip(a,b){a=a|0;b=b|0;return (Xp(a,b)|0)<<24>>24|0}function jp(a,b){a=a|0;b=b|0;f[a>>2]=7396;im(a+4|0,b);return}function kp(a,b){a=a|0;b=b|0;var c=0;if(!a)c=0;else c=Ni(a,b,0)|0;return c|0}function lp(a,b){a=a|0;b=b|0;Mo(a,b);return}function mp(a){a=a|0;return f[a+12>>2]|0}function np(a,b,c){a=a|0;b=b|0;c=c|0;Ro(a,b,c);return}function op(){var a=0;a=tn(64)|0;Ol(a);return a|0}function pp(a,b){a=a|0;b=b|0;ep(a,b);return}function qp(a){a=a|0;if(!a)return;_i(a);pr(a);return}function rp(a){a=a|0;return f[a+4>>2]|0}function sp(a,b,c){a=a|0;b=b|0;c=c|0;if(!(f[a>>2]&32))ni(b,c,a)|0;return}function tp(a){a=a|0;return Zp(a)|0}function up(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Sa[a&15](b|0,c|0,d|0)}function vp(){var a=0;a=tn(96)|0;Zm(a);return a|0}function wp(a){a=a|0;return _p(a)|0}function xp(a){a=a|0;var b=0;b=u;u=u+a|0;u=u+15&-16;return b|0}function yp(a){a=a|0;return ((f[a+100>>2]|0)-(f[a+96>>2]|0)|0)/12|0|0}function zp(a){a=a|0;var b=0;b=(lr()|0)+188|0;return ck(a,f[b>>2]|0)|0}function Ap(a,b){a=a|0;b=b|0;Jp(a,b);return}function Bp(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 Cp(){var a=0;a=tn(12)|0;Pp(a);return a|0}function Dp(a){a=a|0;Li(a);pr(a);return}function Ep(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function Fp(a,b){a=a|0;b=b|0;var c=0;c=Tp(a|0)|0;return ((b|0)==0?a:c)|0}function Gp(a){a=a|0;return (f[a+12>>2]|0)-(f[a+8>>2]|0)>>2|0}function Hp(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return}function Ip(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Fd(a,b,c,d,0)|0}function Jp(a,b){a=a|0;b=b|0;kk(a,b);return}function Kp(a){a=a|0;f[a+4>>2]=0;f[a+8>>2]=0;f[a>>2]=a+4;return}function Lp(a){a=a|0;return Dq(a)|0}function Mp(){var a=0;a=tn(84)|0;oo(a);return a|0}function Np(a){a=a|0;ri(a);pr(a);return}function Op(a){a=a|0;return Eq(a)|0}function Pp(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;return}function Qp(a){a=a|0;f[a>>2]=7396;Im(a+4|0);return}function Rp(a,b,c){a=a|0;b=b|0;c=c|0;return Ma[a&127](b|0,c|0)|0}function Sp(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 Tp(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Up(a){a=a|0;Oo(a);f[a>>2]=3972;return}function Vp(a,c){a=a|0;c=c|0;b[a>>0]=b[c>>0]|0;return}function Wp(a,b,c){a=a|0;b=b|0;c=c|0;return -1}function Xp(a,c){a=a|0;c=c|0;return b[(f[a>>2]|0)+c>>0]|0}function Yp(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)|0}function Zp(a){a=a|0;return f[(f[a>>2]|0)+40>>2]|0}function _p(a){a=a|0;return f[(f[a>>2]|0)+44>>2]|0}function $p(a){a=a|0;if(!a)return;pr(a);return}function aq(){var a=0;a=tn(1)|0;ur(a);return a|0}function bq(a){a=a|0;n[a>>2]=$(1.0);f[a+4>>2]=1;return}function cq(a){a=a|0;b[a+28>>0]=1;return}function dq(a,b){a=a|0;b=b|0;if(!x){x=a;y=b}}function eq(a,b){a=a|0;b=b|0;return 1}function fq(a){a=a|0;return a+12|0}function gq(a,b){a=a|0;b=b|0;f[a+80>>2]=b;return}function hq(a,b,c){a=a|0;b=b|0;c=c|0;Ra[a&7](b|0,c|0)}function iq(){var a=0;a=tn(48)|0;Vq(a);return a|0}function jq(a){a=a|0;return Jq(a+4|0)|0}function kq(){var a=0;a=tn(108)|0;rn(a);return a|0}function lq(a){a=a|0;ij(a);pr(a);return}function mq(a){a=a|0;return (b[a+32>>0]|0)!=0|0}function nq(a){a=a|0;return a+-12|0}function oq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;aa(9)}function pq(){var a=0;a=f[5024]|0;f[5024]=a+0;return a|0}function qq(a){a=a|0;return f[a+56>>2]|0}function rq(){var a=0;a=f[1825]|0;f[1825]=a+0;return a|0}function sq(a){a=a|0;Kg(a);pr(a);return}function tq(a){a=a|0;ur(a);pr(a);return}function uq(a){a=a|0;return b[a+24>>0]|0}function vq(a,b){a=a|0;b=b|0;return 0}function wq(a){a=a|0;return f[a+48>>2]|0}function xq(a,b){a=a|0;b=b|0;return La[a&127](b|0)|0}function yq(a){a=a|0;return f[a+60>>2]|0}function zq(a){a=a|0;return f[a+28>>2]|0}function Aq(a){a=a|0;sa(a|0)|0;wm()}function Bq(a){a=a|0;Qp(a);pr(a);return}function Cq(a){a=a|0;Ca()}function Dq(a){a=a|0;return f[a+40>>2]|0}function Eq(a){a=a|0;return f[a+44>>2]|0}function Fq(a){a=a|0;return 3}function Gq(a,b){a=a|0;b=b|0;u=a;v=b}function Hq(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Iq(a){a=a|0;return f[a+80>>2]|0}function Jq(a){a=a|0;return f[a>>2]|0}function Kq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;aa(8)}function Lq(a,b){a=a|0;b=b|0;return $(+Gk(a,b,0))}function Mq(a,b){a=a|0;b=b|0;Qa[a&127](b|0)}function Nq(a,b){a=a|0;b=b|0;return ho(a,b)|0}function Oq(a){a=a|0;return a&255|0}function Pq(a){a=a|0;return Ej(a)|0}function Qq(){return tn(1)|0}function Rq(a,b,c){a=a|0;b=b|0;c=c|0;aa(2);return 0}function Sq(a){a=a|0;return 2}function Tq(a,b){a=a|0;b=b|0;return +(+Gk(a,b,1))}function Uq(a){a=a|0;return 1}function Vq(a){a=a|0;Zn(a);return}function Wq(a,b){a=+a;b=+b;return +(+cm(a,b))}function Xq(a,b){a=+a;b=b|0;return +(+$j(a,b))}function Yq(a,b){a=+a;b=b|0;return +(+dk(a,b))}function Zq(){return 3}function _q(a,b,c){a=a|0;b=b|0;c=c|0;aa(7)}function $q(){return 0}function ar(){return -1}function br(){return 4}function cr(){return 1}function dr(){return 2}function er(){return (lr()|0)+64|0}function fr(a,b){a=+a;b=+b;return +(+td(a,b))}function gr(a,b){a=a|0;b=b|0;aa(1);return 0}function hr(a){a=a|0;Pa[a&3]()}function ir(){ua()}function jr(a){a=a|0;return +(+Tq(a,0))}function kr(a,b){a=a|0;b=b|0;aa(6)}function lr(){return zr()|0}function mr(a){a=a|0;return tn(a)|0}function nr(a){a=a|0;pr(a);return}function or(a){a=a|0;u=a}function pr(a){a=a|0;tc(a);return}function qr(a){a=a|0;I=a}function rr(){return 20024}function sr(a){a=a|0;return a|0}function tr(a){a=a|0;aa(0);return 0}function ur(a){a=a|0;return}function vr(a){a=a|0;return 0}function wr(){return I|0}function xr(){return u|0}function yr(a){a=a|0;aa(5)}function zr(){return 6508}function Ar(){aa(4)}
// EMSCRIPTEN_END_FUNCS
var La=[tr,Sq,Uq,Uq,Sq,ab,vr,vr,vr,jk,ig,Uq,rp,vr,vr,Uq,vr,Uq,Uq,Cl,Sq,Cl,Fq,Al,Uq,no,Al,Uq,po,fl,Uq,zq,bo,Cl,Uq,Cl,Sq,Cl,Fq,Al,Uq,no,Al,Uq,po,fl,Uq,zq,bo,Cl,Uq,Fq,vr,rp,Uq,vr,Uq,Fq,Uq,ul,Sq,ul,bo,ul,Fq,tl,Uq,no,tl,Uq,po,Zk,Uq,zq,Uq,ul,Sq,ul,bo,ul,Fq,tl,Uq,no,tl,Uq,po,Zk,Uq,zq,Uq,Sq,Uq,Uq,Hd,Uq,rj,Qe,jh,Bk,Ao,vo,jb,mp,rp,kg,rg,Ye,lb,mp,rp,Uq,vr,vr,uc,Gi,vr,Uq,Uq,Uj,vr,Uj,fk,An,jq,tr,tr,tr];var Ma=[gr,Bl,gh,Be,Il,vq,vq,vq,eq,db,qj,Io,eq,eq,qi,jj,gi,nk,sl,Oj,cl,gk,hk,Me,ap,vq,li,vq,Tl,Vd,vq,Tl,kf,vq,Rl,nh,um,rf,vq,Tl,Vd,vq,Tl,kf,vq,Rl,nh,um,rf,Mn,ap,vq,ji,qf,vq,Kl,Td,vq,Kl,ef,vq,Fl,kh,um,qf,vq,Kl,Td,vq,Kl,ef,vq,Fl,kh,um,Jn,Wn,Qn,Xn,Vn,Zg,mk,wk,Sb,re,Xm,tf,_e,bf,Xg,mk,wk,Rb,re,Xm,eq,vq,vq,lf,Hm,lg,lf,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr,gr];var Na=[Rq,ro,Wp,kn,Ym,ug,lj,ol,yh,pc,Kh,og,ei,Mb,bi,Mg,ql,Sm,Aj,Rq,Rq,Rq,Rq,Rq,Rq,Rq,Rq,Rq,Rq,Rq,Rq,Rq];var Oa=[Bp,Rd,Ec,jc,Xd,te,Wb,Ya,Gc,kc,Wd,se,Vb,Xa,_g,gd,Dc,$a,mf,Kf,rc,kd,Fc,_a,gf,Ff,qc,Bp,Bp,Bp,Bp,Bp];var Pa=[Ar,ir,Hi,Yn];var Qa=[yr,Rj,_j,ur,nr,Nm,rm,dl,Wk,ri,Np,Li,Dp,Lh,cp,km,Xl,om,Zl,Zl,Zl,Zl,Lk,yk,bl,Tk,il,Xk,ur,nr,Zl,Vi,mm,Zl,Zl,Dk,uk,_k,Rk,el,Vk,ur,nr,Zl,Ri,_l,km,Xl,ur,nr,nr,nr,wj,Pl,Wl,El,Pm,Bm,zn,mn,ur,nr,nr,nr,tj,Dl,Ql,wl,Mm,sm,pn,_m,ur,nr,zk,rk,_j,bk,ek,ek,vm,jm,Oc,Vl,$e,lo,xk,qk,vn,Tm,Yl,Ck,tk,Cn,cn,am,nm,em,We,_n,ij,lq,lq,$o,Un,ur,nr,lq,lq,Zo,lq,Zo,Pk,Hk,mb,Kg,sq,ur,tq,ur,ur,tq,Qp,Bq,Bq,Hn,yr,yr];var Ra=[kr,sk,gg,Ak,Ic,kr,kr,kr];var Sa=[_q,Ge,fj,Zb,ec,Gd,Zb,ec,Wg,yj,Jg,Xf,_q,_q,_q,_q];var Ta=[Kq,Tg,ng,pm,hl,Kq,Kq,Kq];var Ua=[oq,oj,ch,oq];var Va=[Sp,Ul,Uk,Sp];return{___cxa_can_catch:tm,___cxa_is_pointer_type:Po,___divdi3:Jk,___muldi3:En,___udivdi3:Ip,___uremdi3:qn,_bitshift64Lshr:jo,_bitshift64Shl:eo,_emscripten_bind_DracoInt8Array_DracoInt8Array_0:Cp,_emscripten_bind_DracoInt8Array_GetValue_1:ip,_emscripten_bind_DracoInt8Array___destroy___0:ln,_emscripten_bind_DracoInt8Array_size_0:Yp,_emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2:zo,_emscripten_bind_Encoder_EncodePointCloudToDracoBuffer_3:Pn,_emscripten_bind_Encoder_Encoder_0:iq,_emscripten_bind_Encoder_GetNumberOfEncodedFaces_0:Op,_emscripten_bind_Encoder_GetNumberOfEncodedPoints_0:Lp,_emscripten_bind_Encoder_SetAttributeExplicitQuantization_5:gn,_emscripten_bind_Encoder_SetAttributeQuantization_2:uo,_emscripten_bind_Encoder_SetEncodingMethod_1:Ap,_emscripten_bind_Encoder_SetSpeedOptions_2:dp,_emscripten_bind_Encoder_SetTrackEncodedProperties_1:lp,_emscripten_bind_Encoder___destroy___0:Qj,_emscripten_bind_ExpertEncoder_EncodeToDracoBuffer_2:Go,_emscripten_bind_ExpertEncoder_ExpertEncoder_1:So,_emscripten_bind_ExpertEncoder_GetNumberOfEncodedFaces_0:wp,_emscripten_bind_ExpertEncoder_GetNumberOfEncodedPoints_0:tp,_emscripten_bind_ExpertEncoder_SetAttributeExplicitQuantization_5:yn,_emscripten_bind_ExpertEncoder_SetAttributeQuantization_2:Ko,_emscripten_bind_ExpertEncoder_SetEncodingMethod_1:pp,_emscripten_bind_ExpertEncoder_SetSpeedOptions_2:Xo,_emscripten_bind_ExpertEncoder_SetTrackEncodedProperties_1:_o,_emscripten_bind_ExpertEncoder___destroy___0:Dn,_emscripten_bind_GeometryAttribute_GeometryAttribute_0:op,_emscripten_bind_GeometryAttribute___destroy___0:$p,_emscripten_bind_MeshBuilder_AddFacesToMesh_3:yo,_emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5:xn,_emscripten_bind_MeshBuilder_AddFloatAttribute_5:xn,_emscripten_bind_MeshBuilder_AddInt16Attribute_5:on,_emscripten_bind_MeshBuilder_AddInt32AttributeToMesh_5:wn,_emscripten_bind_MeshBuilder_AddInt32Attribute_5:wn,_emscripten_bind_MeshBuilder_AddInt8Attribute_5:sn,_emscripten_bind_MeshBuilder_AddMetadataToMesh_2:Do,_emscripten_bind_MeshBuilder_AddMetadata_2:Co,_emscripten_bind_MeshBuilder_AddUInt16Attribute_5:jn,_emscripten_bind_MeshBuilder_AddUInt32Attribute_5:hn,_emscripten_bind_MeshBuilder_AddUInt8Attribute_5:nn,_emscripten_bind_MeshBuilder_MeshBuilder_0:aq,_emscripten_bind_MeshBuilder_SetMetadataForAttribute_3:Nn,_emscripten_bind_MeshBuilder___destroy___0:$p,_emscripten_bind_Mesh_Mesh_0:kq,_emscripten_bind_Mesh___destroy___0:Uo,_emscripten_bind_Mesh_num_attributes_0:Gp,_emscripten_bind_Mesh_num_faces_0:yp,_emscripten_bind_Mesh_num_points_0:Iq,_emscripten_bind_Mesh_set_num_points_1:gq,_emscripten_bind_MetadataBuilder_AddDoubleEntry_3:mo,_emscripten_bind_MetadataBuilder_AddIntEntry_3:qo,_emscripten_bind_MetadataBuilder_AddStringEntry_3:ko,_emscripten_bind_MetadataBuilder_MetadataBuilder_0:aq,_emscripten_bind_MetadataBuilder___destroy___0:$p,_emscripten_bind_Metadata_Metadata_0:bm,_emscripten_bind_Metadata___destroy___0:qp,_emscripten_bind_PointAttribute_PointAttribute_0:vp,_emscripten_bind_PointAttribute___destroy___0:Gj,_emscripten_bind_PointAttribute_attribute_type_0:qq,_emscripten_bind_PointAttribute_byte_offset_0:wq,_emscripten_bind_PointAttribute_byte_stride_0:Dq,_emscripten_bind_PointAttribute_data_type_0:zq,_emscripten_bind_PointAttribute_normalized_0:mq,_emscripten_bind_PointAttribute_num_components_0:uq,_emscripten_bind_PointAttribute_size_0:Iq,_emscripten_bind_PointAttribute_unique_id_0:yq,_emscripten_bind_PointCloudBuilder_AddFloatAttribute_5:xn,_emscripten_bind_PointCloudBuilder_AddInt16Attribute_5:on,_emscripten_bind_PointCloudBuilder_AddInt32Attribute_5:wn,_emscripten_bind_PointCloudBuilder_AddInt8Attribute_5:sn,_emscripten_bind_PointCloudBuilder_AddMetadata_2:Co,_emscripten_bind_PointCloudBuilder_AddUInt16Attribute_5:jn,_emscripten_bind_PointCloudBuilder_AddUInt32Attribute_5:hn,_emscripten_bind_PointCloudBuilder_AddUInt8Attribute_5:nn,_emscripten_bind_PointCloudBuilder_PointCloudBuilder_0:Qq,_emscripten_bind_PointCloudBuilder_SetMetadataForAttribute_3:Nn,_emscripten_bind_PointCloudBuilder___destroy___0:$p,_emscripten_bind_PointCloud_PointCloud_0:Mp,_emscripten_bind_PointCloud___destroy___0:Uo,_emscripten_bind_PointCloud_num_attributes_0:Gp,_emscripten_bind_PointCloud_num_points_0:Iq,_emscripten_bind_VoidPtr___destroy___0:$p,_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE:ar,_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD:$q,_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH:cr,_emscripten_enum_draco_GeometryAttribute_Type_COLOR:dr,_emscripten_enum_draco_GeometryAttribute_Type_GENERIC:br,_emscripten_enum_draco_GeometryAttribute_Type_INVALID:ar,_emscripten_enum_draco_GeometryAttribute_Type_NORMAL:cr,_emscripten_enum_draco_GeometryAttribute_Type_POSITION:$q,_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD:Zq,_emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING:cr,_emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING:$q,_emscripten_get_global_libc:rr,_emscripten_replace_memory:Ka,_free:tc,_i64Add:go,_i64Subtract:io,_llvm_bswap_i32:Tp,_malloc:Wa,_memcpy:eh,_memmove:qm,_memset:pj,_sbrk:Jl,dynCall_ii:xq,dynCall_iii:Rp,dynCall_iiii:hp,dynCall_iiiiiii:Tn,dynCall_v:hr,dynCall_vi:Mq,dynCall_vii:hq,dynCall_viii:up,dynCall_viiii:Vo,dynCall_viiiii:Eo,dynCall_viiiiii:$n,establishStackSpace:Gq,getTempRet0:wr,runPostSets:fo,setTempRet0:qr,setThrew:dq,stackAlloc:xp,stackRestore:or,stackSave:xr}})
// 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_EncodePointCloudToDracoBuffer_3=Module["_emscripten_bind_Encoder_EncodePointCloudToDracoBuffer_3"]=asm["_emscripten_bind_Encoder_EncodePointCloudToDracoBuffer_3"];var _emscripten_bind_Encoder_Encoder_0=Module["_emscripten_bind_Encoder_Encoder_0"]=asm["_emscripten_bind_Encoder_Encoder_0"];var _emscripten_bind_Encoder_GetNumberOfEncodedFaces_0=Module["_emscripten_bind_Encoder_GetNumberOfEncodedFaces_0"]=asm["_emscripten_bind_Encoder_GetNumberOfEncodedFaces_0"];var _emscripten_bind_Encoder_GetNumberOfEncodedPoints_0=Module["_emscripten_bind_Encoder_GetNumberOfEncodedPoints_0"]=asm["_emscripten_bind_Encoder_GetNumberOfEncodedPoints_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_SetTrackEncodedProperties_1=Module["_emscripten_bind_Encoder_SetTrackEncodedProperties_1"]=asm["_emscripten_bind_Encoder_SetTrackEncodedProperties_1"];var _emscripten_bind_Encoder___destroy___0=Module["_emscripten_bind_Encoder___destroy___0"]=asm["_emscripten_bind_Encoder___destroy___0"];var _emscripten_bind_ExpertEncoder_EncodeToDracoBuffer_2=Module["_emscripten_bind_ExpertEncoder_EncodeToDracoBuffer_2"]=asm["_emscripten_bind_ExpertEncoder_EncodeToDracoBuffer_2"];var _emscripten_bind_ExpertEncoder_ExpertEncoder_1=Module["_emscripten_bind_ExpertEncoder_ExpertEncoder_1"]=asm["_emscripten_bind_ExpertEncoder_ExpertEncoder_1"];var _emscripten_bind_ExpertEncoder_GetNumberOfEncodedFaces_0=Module["_emscripten_bind_ExpertEncoder_GetNumberOfEncodedFaces_0"]=asm["_emscripten_bind_ExpertEncoder_GetNumberOfEncodedFaces_0"];var _emscripten_bind_ExpertEncoder_GetNumberOfEncodedPoints_0=Module["_emscripten_bind_ExpertEncoder_GetNumberOfEncodedPoints_0"]=asm["_emscripten_bind_ExpertEncoder_GetNumberOfEncodedPoints_0"];var _emscripten_bind_ExpertEncoder_SetAttributeExplicitQuantization_5=Module["_emscripten_bind_ExpertEncoder_SetAttributeExplicitQuantization_5"]=asm["_emscripten_bind_ExpertEncoder_SetAttributeExplicitQuantization_5"];var _emscripten_bind_ExpertEncoder_SetAttributeQuantization_2=Module["_emscripten_bind_ExpertEncoder_SetAttributeQuantization_2"]=asm["_emscripten_bind_ExpertEncoder_SetAttributeQuantization_2"];var _emscripten_bind_ExpertEncoder_SetEncodingMethod_1=Module["_emscripten_bind_ExpertEncoder_SetEncodingMethod_1"]=asm["_emscripten_bind_ExpertEncoder_SetEncodingMethod_1"];var _emscripten_bind_ExpertEncoder_SetSpeedOptions_2=Module["_emscripten_bind_ExpertEncoder_SetSpeedOptions_2"]=asm["_emscripten_bind_ExpertEncoder_SetSpeedOptions_2"];var _emscripten_bind_ExpertEncoder_SetTrackEncodedProperties_1=Module["_emscripten_bind_ExpertEncoder_SetTrackEncodedProperties_1"]=asm["_emscripten_bind_ExpertEncoder_SetTrackEncodedProperties_1"];var _emscripten_bind_ExpertEncoder___destroy___0=Module["_emscripten_bind_ExpertEncoder___destroy___0"]=asm["_emscripten_bind_ExpertEncoder___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_AddFloatAttribute_5=Module["_emscripten_bind_MeshBuilder_AddFloatAttribute_5"]=asm["_emscripten_bind_MeshBuilder_AddFloatAttribute_5"];var _emscripten_bind_MeshBuilder_AddInt16Attribute_5=Module["_emscripten_bind_MeshBuilder_AddInt16Attribute_5"]=asm["_emscripten_bind_MeshBuilder_AddInt16Attribute_5"];var _emscripten_bind_MeshBuilder_AddInt32AttributeToMesh_5=Module["_emscripten_bind_MeshBuilder_AddInt32AttributeToMesh_5"]=asm["_emscripten_bind_MeshBuilder_AddInt32AttributeToMesh_5"];var _emscripten_bind_MeshBuilder_AddInt32Attribute_5=Module["_emscripten_bind_MeshBuilder_AddInt32Attribute_5"]=asm["_emscripten_bind_MeshBuilder_AddInt32Attribute_5"];var _emscripten_bind_MeshBuilder_AddInt8Attribute_5=Module["_emscripten_bind_MeshBuilder_AddInt8Attribute_5"]=asm["_emscripten_bind_MeshBuilder_AddInt8Attribute_5"];var _emscripten_bind_MeshBuilder_AddMetadataToMesh_2=Module["_emscripten_bind_MeshBuilder_AddMetadataToMesh_2"]=asm["_emscripten_bind_MeshBuilder_AddMetadataToMesh_2"];var _emscripten_bind_MeshBuilder_AddMetadata_2=Module["_emscripten_bind_MeshBuilder_AddMetadata_2"]=asm["_emscripten_bind_MeshBuilder_AddMetadata_2"];var _emscripten_bind_MeshBuilder_AddUInt16Attribute_5=Module["_emscripten_bind_MeshBuilder_AddUInt16Attribute_5"]=asm["_emscripten_bind_MeshBuilder_AddUInt16Attribute_5"];var _emscripten_bind_MeshBuilder_AddUInt32Attribute_5=Module["_emscripten_bind_MeshBuilder_AddUInt32Attribute_5"]=asm["_emscripten_bind_MeshBuilder_AddUInt32Attribute_5"];var _emscripten_bind_MeshBuilder_AddUInt8Attribute_5=Module["_emscripten_bind_MeshBuilder_AddUInt8Attribute_5"]=asm["_emscripten_bind_MeshBuilder_AddUInt8Attribute_5"];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_PointCloudBuilder_AddFloatAttribute_5=Module["_emscripten_bind_PointCloudBuilder_AddFloatAttribute_5"]=asm["_emscripten_bind_PointCloudBuilder_AddFloatAttribute_5"];var _emscripten_bind_PointCloudBuilder_AddInt16Attribute_5=Module["_emscripten_bind_PointCloudBuilder_AddInt16Attribute_5"]=asm["_emscripten_bind_PointCloudBuilder_AddInt16Attribute_5"];var _emscripten_bind_PointCloudBuilder_AddInt32Attribute_5=Module["_emscripten_bind_PointCloudBuilder_AddInt32Attribute_5"]=asm["_emscripten_bind_PointCloudBuilder_AddInt32Attribute_5"];var _emscripten_bind_PointCloudBuilder_AddInt8Attribute_5=Module["_emscripten_bind_PointCloudBuilder_AddInt8Attribute_5"]=asm["_emscripten_bind_PointCloudBuilder_AddInt8Attribute_5"];var _emscripten_bind_PointCloudBuilder_AddMetadata_2=Module["_emscripten_bind_PointCloudBuilder_AddMetadata_2"]=asm["_emscripten_bind_PointCloudBuilder_AddMetadata_2"];var _emscripten_bind_PointCloudBuilder_AddUInt16Attribute_5=Module["_emscripten_bind_PointCloudBuilder_AddUInt16Attribute_5"]=asm["_emscripten_bind_PointCloudBuilder_AddUInt16Attribute_5"];var _emscripten_bind_PointCloudBuilder_AddUInt32Attribute_5=Module["_emscripten_bind_PointCloudBuilder_AddUInt32Attribute_5"]=asm["_emscripten_bind_PointCloudBuilder_AddUInt32Attribute_5"];var _emscripten_bind_PointCloudBuilder_AddUInt8Attribute_5=Module["_emscripten_bind_PointCloudBuilder_AddUInt8Attribute_5"]=asm["_emscripten_bind_PointCloudBuilder_AddUInt8Attribute_5"];var _emscripten_bind_PointCloudBuilder_PointCloudBuilder_0=Module["_emscripten_bind_PointCloudBuilder_PointCloudBuilder_0"]=asm["_emscripten_bind_PointCloudBuilder_PointCloudBuilder_0"];var _emscripten_bind_PointCloudBuilder_SetMetadataForAttribute_3=Module["_emscripten_bind_PointCloudBuilder_SetMetadataForAttribute_3"]=asm["_emscripten_bind_PointCloudBuilder_SetMetadataForAttribute_3"];var _emscripten_bind_PointCloudBuilder___destroy___0=Module["_emscripten_bind_PointCloudBuilder___destroy___0"]=asm["_emscripten_bind_PointCloudBuilder___destroy___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.temps.length;i++){Module["_free"](ensureCache.temps[i])}ensureCache.temps.length=0;Module["_free"](ensureCache.buffer);ensureCache.buffer=0;ensureCache.size+=ensureCache.needed;ensureCache.needed=0}if(!ensureCache.buffer){ensureCache.size+=128;ensureCache.buffer=Module["_malloc"](ensureCache.size);assert(ensureCache.buffer)}ensureCache.pos=0}),alloc:(function(array,view){assert(ensureCache.buffer);var bytes=view.BYTES_PER_ELEMENT;var len=array.length*bytes;len=len+7&-8;var ret;if(ensureCache.pos+len>=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<array.length;i++){view[offsetShifted+i]=array[i]}})};function ensureString(value){if(typeof value==="string"){var intArray=intArrayFromString(value);var offset=ensureCache.alloc(intArray,HEAP8);ensureCache.copy(intArray,HEAP8,offset);return offset}return value}function ensureInt8(value){if(typeof value==="object"){var offset=ensureCache.alloc(value,HEAP8);ensureCache.copy(value,HEAP8,offset);return offset}return value}function ensureInt16(value){if(typeof value==="object"){var offset=ensureCache.alloc(value,HEAP16);ensureCache.copy(value,HEAP16,offset);return offset}return value}function ensureInt32(value){if(typeof value==="object"){var offset=ensureCache.alloc(value,HEAP32);ensureCache.copy(value,HEAP32,offset);return offset}return value}function ensureFloat32(value){if(typeof value==="object"){var offset=ensureCache.alloc(value,HEAPF32);ensureCache.copy(value,HEAPF32,offset);return offset}return value}function PointCloud(){this.ptr=_emscripten_bind_PointCloud_PointCloud_0();getCache(PointCloud)[this.ptr]=this}PointCloud.prototype=Object.create(WrapperObject.prototype);PointCloud.prototype.constructor=PointCloud;PointCloud.prototype.__class__=PointCloud;PointCloud.__cache__={};Module["PointCloud"]=PointCloud;PointCloud.prototype["num_attributes"]=PointCloud.prototype.num_attributes=(function(){var self=this.ptr;return _emscripten_bind_PointCloud_num_attributes_0(self)});PointCloud.prototype["num_points"]=PointCloud.prototype.num_points=(function(){var self=this.ptr;return _emscripten_bind_PointCloud_num_points_0(self)});PointCloud.prototype["__destroy__"]=PointCloud.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_PointCloud___destroy___0(self)});function ExpertEncoder(arg0){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;this.ptr=_emscripten_bind_ExpertEncoder_ExpertEncoder_1(arg0);getCache(ExpertEncoder)[this.ptr]=this}ExpertEncoder.prototype=Object.create(WrapperObject.prototype);ExpertEncoder.prototype.constructor=ExpertEncoder;ExpertEncoder.prototype.__class__=ExpertEncoder;ExpertEncoder.__cache__={};Module["ExpertEncoder"]=ExpertEncoder;ExpertEncoder.prototype["SetEncodingMethod"]=ExpertEncoder.prototype.SetEncodingMethod=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_ExpertEncoder_SetEncodingMethod_1(self,arg0)});ExpertEncoder.prototype["SetAttributeQuantization"]=ExpertEncoder.prototype.SetAttributeQuantization=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_ExpertEncoder_SetAttributeQuantization_2(self,arg0,arg1)});ExpertEncoder.prototype["SetAttributeExplicitQuantization"]=ExpertEncoder.prototype.SetAttributeExplicitQuantization=(function(arg0,arg1,arg2,arg3,arg4){var self=this.ptr;ensureCache.prepare();if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(typeof arg3=="object"){arg3=ensureFloat32(arg3)}if(arg4&&typeof arg4==="object")arg4=arg4.ptr;_emscripten_bind_ExpertEncoder_SetAttributeExplicitQuantization_5(self,arg0,arg1,arg2,arg3,arg4)});ExpertEncoder.prototype["SetSpeedOptions"]=ExpertEncoder.prototype.SetSpeedOptions=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_ExpertEncoder_SetSpeedOptions_2(self,arg0,arg1)});ExpertEncoder.prototype["SetTrackEncodedProperties"]=ExpertEncoder.prototype.SetTrackEncodedProperties=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_ExpertEncoder_SetTrackEncodedProperties_1(self,arg0)});ExpertEncoder.prototype["EncodeToDracoBuffer"]=ExpertEncoder.prototype.EncodeToDracoBuffer=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;return _emscripten_bind_ExpertEncoder_EncodeToDracoBuffer_2(self,arg0,arg1)});ExpertEncoder.prototype["GetNumberOfEncodedPoints"]=ExpertEncoder.prototype.GetNumberOfEncodedPoints=(function(){var self=this.ptr;return _emscripten_bind_ExpertEncoder_GetNumberOfEncodedPoints_0(self)});ExpertEncoder.prototype["GetNumberOfEncodedFaces"]=ExpertEncoder.prototype.GetNumberOfEncodedFaces=(function(){var self=this.ptr;return _emscripten_bind_ExpertEncoder_GetNumberOfEncodedFaces_0(self)});ExpertEncoder.prototype["__destroy__"]=ExpertEncoder.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_ExpertEncoder___destroy___0(self)});function PointAttribute(){this.ptr=_emscripten_bind_PointAttribute_PointAttribute_0();getCache(PointAttribute)[this.ptr]=this}PointAttribute.prototype=Object.create(WrapperObject.prototype);PointAttribute.prototype.constructor=PointAttribute;PointAttribute.prototype.__class__=PointAttribute;PointAttribute.__cache__={};Module["PointAttribute"]=PointAttribute;PointAttribute.prototype["size"]=PointAttribute.prototype.size=(function(){var self=this.ptr;return _emscripten_bind_PointAttribute_size_0(self)});PointAttribute.prototype["attribute_type"]=PointAttribute.prototype.attribute_type=(function(){var self=this.ptr;return _emscripten_bind_PointAttribute_attribute_type_0(self)});PointAttribute.prototype["data_type"]=PointAttribute.prototype.data_type=(function(){var self=this.ptr;return _emscripten_bind_PointAttribute_data_type_0(self)});PointAttribute.prototype["num_components"]=PointAttribute.prototype.num_components=(function(){var self=this.ptr;return _emscripten_bind_PointAttribute_num_components_0(self)});PointAttribute.prototype["normalized"]=PointAttribute.prototype.normalized=(function(){var self=this.ptr;return!!_emscripten_bind_PointAttribute_normalized_0(self)});PointAttribute.prototype["byte_stride"]=PointAttribute.prototype.byte_stride=(function(){var self=this.ptr;return _emscripten_bind_PointAttribute_byte_stride_0(self)});PointAttribute.prototype["byte_offset"]=PointAttribute.prototype.byte_offset=(function(){var self=this.ptr;return _emscripten_bind_PointAttribute_byte_offset_0(self)});PointAttribute.prototype["unique_id"]=PointAttribute.prototype.unique_id=(function(){var self=this.ptr;return _emscripten_bind_PointAttribute_unique_id_0(self)});PointAttribute.prototype["__destroy__"]=PointAttribute.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_PointAttribute___destroy___0(self)});function Encoder(){this.ptr=_emscripten_bind_Encoder_Encoder_0();getCache(Encoder)[this.ptr]=this}Encoder.prototype=Object.create(WrapperObject.prototype);Encoder.prototype.constructor=Encoder;Encoder.prototype.__class__=Encoder;Encoder.__cache__={};Module["Encoder"]=Encoder;Encoder.prototype["SetEncodingMethod"]=Encoder.prototype.SetEncodingMethod=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_Encoder_SetEncodingMethod_1(self,arg0)});Encoder.prototype["SetAttributeQuantization"]=Encoder.prototype.SetAttributeQuantization=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_Encoder_SetAttributeQuantization_2(self,arg0,arg1)});Encoder.prototype["SetAttributeExplicitQuantization"]=Encoder.prototype.SetAttributeExplicitQuantization=(function(arg0,arg1,arg2,arg3,arg4){var self=this.ptr;ensureCache.prepare();if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(typeof arg3=="object"){arg3=ensureFloat32(arg3)}if(arg4&&typeof arg4==="object")arg4=arg4.ptr;_emscripten_bind_Encoder_SetAttributeExplicitQuantization_5(self,arg0,arg1,arg2,arg3,arg4)});Encoder.prototype["SetSpeedOptions"]=Encoder.prototype.SetSpeedOptions=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_Encoder_SetSpeedOptions_2(self,arg0,arg1)});Encoder.prototype["SetTrackEncodedProperties"]=Encoder.prototype.SetTrackEncodedProperties=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_Encoder_SetTrackEncodedProperties_1(self,arg0)});Encoder.prototype["EncodeMeshToDracoBuffer"]=Encoder.prototype.EncodeMeshToDracoBuffer=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;return _emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2(self,arg0,arg1)});Encoder.prototype["EncodePointCloudToDracoBuffer"]=Encoder.prototype.EncodePointCloudToDracoBuffer=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;return _emscripten_bind_Encoder_EncodePointCloudToDracoBuffer_3(self,arg0,arg1,arg2)});Encoder.prototype["GetNumberOfEncodedPoints"]=Encoder.prototype.GetNumberOfEncodedPoints=(function(){var self=this.ptr;return _emscripten_bind_Encoder_GetNumberOfEncodedPoints_0(self)});Encoder.prototype["GetNumberOfEncodedFaces"]=Encoder.prototype.GetNumberOfEncodedFaces=(function(){var self=this.ptr;return _emscripten_bind_Encoder_GetNumberOfEncodedFaces_0(self)});Encoder.prototype["__destroy__"]=Encoder.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_Encoder___destroy___0(self)});function MeshBuilder(){this.ptr=_emscripten_bind_MeshBuilder_MeshBuilder_0();getCache(MeshBuilder)[this.ptr]=this}MeshBuilder.prototype=Object.create(WrapperObject.prototype);MeshBuilder.prototype.constructor=MeshBuilder;MeshBuilder.prototype.__class__=MeshBuilder;MeshBuilder.__cache__={};Module["MeshBuilder"]=MeshBuilder;MeshBuilder.prototype["AddFacesToMesh"]=MeshBuilder.prototype.AddFacesToMesh=(function(arg0,arg1,arg2){var self=this.ptr;ensureCache.prepare();if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(typeof arg2=="object"){arg2=ensureInt32(arg2)}return!!_emscripten_bind_MeshBuilder_AddFacesToMesh_3(self,arg0,arg1,arg2)});MeshBuilder.prototype["AddFloatAttributeToMesh"]=MeshBuilder.prototype.AddFloatAttributeToMesh=(function(arg0,arg1,arg2,arg3,arg4){var self=this.ptr;ensureCache.prepare();if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg3&&typeof arg3==="object")arg3=arg3.ptr;if(typeof arg4=="object"){arg4=ensureFloat32(arg4)}return _emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5(self,arg0,arg1,arg2,arg3,arg4)});MeshBuilder.prototype["AddInt32AttributeToMesh"]=MeshBuilder.prototype.AddInt32AttributeToMesh=(function(arg0,arg1,arg2,arg3,arg4){var self=this.ptr;ensureCache.prepare();if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg3&&typeof arg3==="object")arg3=arg3.ptr;if(typeof arg4=="object"){arg4=ensureInt32(arg4)}return _emscripten_bind_MeshBuilder_AddInt32AttributeToMesh_5(self,arg0,arg1,arg2,arg3,arg4)});MeshBuilder.prototype["AddMetadataToMesh"]=MeshBuilder.prototype.AddMetadataToMesh=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;return!!_emscripten_bind_MeshBuilder_AddMetadataToMesh_2(self,arg0,arg1)});MeshBuilder.prototype["AddFloatAttribute"]=MeshBuilder.prototype.AddFloatAttribute=(function(arg0,arg1,arg2,arg3,arg4){var self=this.ptr;ensureCache.prepare();if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg3&&typeof arg3==="object")arg3=arg3.ptr;if(typeof arg4=="object"){arg4=ensureFloat32(arg4)}return _emscripten_bind_MeshBuilder_AddFloatAttribute_5(self,arg0,arg1,arg2,arg3,arg4)});MeshBuilder.prototype["AddInt8Attribute"]=MeshBuilder.prototype.AddInt8Attribute=(function(arg0,arg1,arg2,arg3,arg4){var self=this.ptr;ensureCache.prepare();if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg3&&typeof arg3==="object")arg3=arg3.ptr;if(typeof arg4=="object"){arg4=ensureInt8(arg4)}return _emscripten_bind_MeshBuilder_AddInt8Attribute_5(self,arg0,arg1,arg2,arg3,arg4)});MeshBuilder.prototype["AddUInt8Attribute"]=MeshBuilder.prototype.AddUInt8Attribute=(function(arg0,arg1,arg2,arg3,arg4){var self=this.ptr;ensureCache.prepare();if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg3&&typeof arg3==="object")arg3=arg3.ptr;if(typeof arg4=="object"){arg4=ensureInt8(arg4)}return _emscripten_bind_MeshBuilder_AddUInt8Attribute_5(self,arg0,arg1,arg2,arg3,arg4)});MeshBuilder.prototype["AddInt16Attribute"]=MeshBuilder.prototype.AddInt16Attribute=(function(arg0,arg1,arg2,arg3,arg4){var self=this.ptr;ensureCache.prepare();if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg3&&typeof arg3==="object")arg3=arg3.ptr;if(typeof arg4=="object"){arg4=ensureInt16(arg4)}return _emscripten_bind_MeshBuilder_AddInt16Attribute_5(self,arg0,arg1,arg2,arg3,arg4)});MeshBuilder.prototype["AddUInt16Attribute"]=MeshBuilder.prototype.AddUInt16Attribute=(function(arg0,arg1,arg2,arg3,arg4){var self=this.ptr;ensureCache.prepare();if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg3&&typeof arg3==="object")arg3=arg3.ptr;if(typeof arg4=="object"){arg4=ensureInt16(arg4)}return _emscripten_bind_MeshBuilder_AddUInt16Attribute_5(self,arg0,arg1,arg2,arg3,arg4)});MeshBuilder.prototype["AddInt32Attribute"]=MeshBuilder.prototype.AddInt32Attribute=(function(arg0,arg1,arg2,arg3,arg4){var self=this.ptr;ensureCache.prepare();if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg3&&typeof arg3==="object")arg3=arg3.ptr;if(typeof arg4=="object"){arg4=ensureInt32(arg4)}return _emscripten_bind_MeshBuilder_AddInt32Attribute_5(self,arg0,arg1,arg2,arg3,arg4)});MeshBuilder.prototype["AddUInt32Attribute"]=MeshBuilder.prototype.AddUInt32Attribute=(function(arg0,arg1,arg2,arg3,arg4){var self=this.ptr;ensureCache.prepare();if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg3&&typeof arg3==="object")arg3=arg3.ptr;if(typeof arg4=="object"){arg4=ensureInt32(arg4)}return _emscripten_bind_MeshBuilder_AddUInt32Attribute_5(self,arg0,arg1,arg2,arg3,arg4)});MeshBuilder.prototype["AddMetadata"]=MeshBuilder.prototype.AddMetadata=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;return!!_emscripten_bind_MeshBuilder_AddMetadata_2(self,arg0,arg1)});MeshBuilder.prototype["SetMetadataForAttribute"]=MeshBuilder.prototype.SetMetadataForAttribute=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;return!!_emscripten_bind_MeshBuilder_SetMetadataForAttribute_3(self,arg0,arg1,arg2)});MeshBuilder.prototype["__destroy__"]=MeshBuilder.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_MeshBuilder___destroy___0(self)});function DracoInt8Array(){this.ptr=_emscripten_bind_DracoInt8Array_DracoInt8Array_0();getCache(DracoInt8Array)[this.ptr]=this}DracoInt8Array.prototype=Object.create(WrapperObject.prototype);DracoInt8Array.prototype.constructor=DracoInt8Array;DracoInt8Array.prototype.__class__=DracoInt8Array;DracoInt8Array.__cache__={};Module["DracoInt8Array"]=DracoInt8Array;DracoInt8Array.prototype["GetValue"]=DracoInt8Array.prototype.GetValue=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return _emscripten_bind_DracoInt8Array_GetValue_1(self,arg0)});DracoInt8Array.prototype["size"]=DracoInt8Array.prototype.size=(function(){var self=this.ptr;return _emscripten_bind_DracoInt8Array_size_0(self)});DracoInt8Array.prototype["__destroy__"]=DracoInt8Array.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_DracoInt8Array___destroy___0(self)});function MetadataBuilder(){this.ptr=_emscripten_bind_MetadataBuilder_MetadataBuilder_0();getCache(MetadataBuilder)[this.ptr]=this}MetadataBuilder.prototype=Object.create(WrapperObject.prototype);MetadataBuilder.prototype.constructor=MetadataBuilder;MetadataBuilder.prototype.__class__=MetadataBuilder;MetadataBuilder.__cache__={};Module["MetadataBuilder"]=MetadataBuilder;MetadataBuilder.prototype["AddStringEntry"]=MetadataBuilder.prototype.AddStringEntry=(function(arg0,arg1,arg2){var self=this.ptr;ensureCache.prepare();if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);return!!_emscripten_bind_MetadataBuilder_AddStringEntry_3(self,arg0,arg1,arg2)});MetadataBuilder.prototype["AddIntEntry"]=MetadataBuilder.prototype.AddIntEntry=(function(arg0,arg1,arg2){var self=this.ptr;ensureCache.prepare();if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;return!!_emscripten_bind_MetadataBuilder_AddIntEntry_3(self,arg0,arg1,arg2)});MetadataBuilder.prototype["AddDoubleEntry"]=MetadataBuilder.prototype.AddDoubleEntry=(function(arg0,arg1,arg2){var self=this.ptr;ensureCache.prepare();if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;return!!_emscripten_bind_MetadataBuilder_AddDoubleEntry_3(self,arg0,arg1,arg2)});MetadataBuilder.prototype["__destroy__"]=MetadataBuilder.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_MetadataBuilder___destroy___0(self)});function GeometryAttribute(){this.ptr=_emscripten_bind_GeometryAttribute_GeometryAttribute_0();getCache(GeometryAttribute)[this.ptr]=this}GeometryAttribute.prototype=Object.create(WrapperObject.prototype);GeometryAttribute.prototype.constructor=GeometryAttribute;GeometryAttribute.prototype.__class__=GeometryAttribute;GeometryAttribute.__cache__={};Module["GeometryAttribute"]=GeometryAttribute;GeometryAttribute.prototype["__destroy__"]=GeometryAttribute.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_GeometryAttribute___destroy___0(self)});function Mesh(){this.ptr=_emscripten_bind_Mesh_Mesh_0();getCache(Mesh)[this.ptr]=this}Mesh.prototype=Object.create(WrapperObject.prototype);Mesh.prototype.constructor=Mesh;Mesh.prototype.__class__=Mesh;Mesh.__cache__={};Module["Mesh"]=Mesh;Mesh.prototype["num_faces"]=Mesh.prototype.num_faces=(function(){var self=this.ptr;return _emscripten_bind_Mesh_num_faces_0(self)});Mesh.prototype["num_attributes"]=Mesh.prototype.num_attributes=(function(){var self=this.ptr;return _emscripten_bind_Mesh_num_attributes_0(self)});Mesh.prototype["num_points"]=Mesh.prototype.num_points=(function(){var self=this.ptr;return _emscripten_bind_Mesh_num_points_0(self)});Mesh.prototype["set_num_points"]=Mesh.prototype.set_num_points=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_Mesh_set_num_points_1(self,arg0)});Mesh.prototype["__destroy__"]=Mesh.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_Mesh___destroy___0(self)});function PointCloudBuilder(){this.ptr=_emscripten_bind_PointCloudBuilder_PointCloudBuilder_0();getCache(PointCloudBuilder)[this.ptr]=this}PointCloudBuilder.prototype=Object.create(WrapperObject.prototype);PointCloudBuilder.prototype.constructor=PointCloudBuilder;PointCloudBuilder.prototype.__class__=PointCloudBuilder;PointCloudBuilder.__cache__={};Module["PointCloudBuilder"]=PointCloudBuilder;PointCloudBuilder.prototype["AddFloatAttribute"]=PointCloudBuilder.prototype.AddFloatAttribute=(function(arg0,arg1,arg2,arg3,arg4){var self=this.ptr;ensureCache.prepare();if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg3&&typeof arg3==="object")arg3=arg3.ptr;if(typeof arg4=="object"){arg4=ensureFloat32(arg4)}return _emscripten_bind_PointCloudBuilder_AddFloatAttribute_5(self,arg0,arg1,arg2,arg3,arg4)});PointCloudBuilder.prototype["AddInt8Attribute"]=PointCloudBuilder.prototype.AddInt8Attribute=(function(arg0,arg1,arg2,arg3,arg4){var self=this.ptr;ensureCache.prepare();if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg3&&typeof arg3==="object")arg3=arg3.ptr;if(typeof arg4=="object"){arg4=ensureInt8(arg4)}return _emscripten_bind_PointCloudBuilder_AddInt8Attribute_5(self,arg0,arg1,arg2,arg3,arg4)});PointCloudBuilder.prototype["AddUInt8Attribute"]=PointCloudBuilder.prototype.AddUInt8Attribute=(function(arg0,arg1,arg2,arg3,arg4){var self=this.ptr;ensureCache.prepare();if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg3&&typeof arg3==="object")arg3=arg3.ptr;if(typeof arg4=="object"){arg4=ensureInt8(arg4)}return _emscripten_bind_PointCloudBuilder_AddUInt8Attribute_5(self,arg0,arg1,arg2,arg3,arg4)});PointCloudBuilder.prototype["AddInt16Attribute"]=PointCloudBuilder.prototype.AddInt16Attribute=(function(arg0,arg1,arg2,arg3,arg4){var self=this.ptr;ensureCache.prepare();if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg3&&typeof arg3==="object")arg3=arg3.ptr;if(typeof arg4=="object"){arg4=ensureInt16(arg4)}return _emscripten_bind_PointCloudBuilder_AddInt16Attribute_5(self,arg0,arg1,arg2,arg3,arg4)});PointCloudBuilder.prototype["AddUInt16Attribute"]=PointCloudBuilder.prototype.AddUInt16Attribute=(function(arg0,arg1,arg2,arg3,arg4){var self=this.ptr;ensureCache.prepare();if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg3&&typeof arg3==="object")arg3=arg3.ptr;if(typeof arg4=="object"){arg4=ensureInt16(arg4)}return _emscripten_bind_PointCloudBuilder_AddUInt16Attribute_5(self,arg0,arg1,arg2,arg3,arg4)});PointCloudBuilder.prototype["AddInt32Attribute"]=PointCloudBuilder.prototype.AddInt32Attribute=(function(arg0,arg1,arg2,arg3,arg4){var self=this.ptr;ensureCache.prepare();if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg3&&typeof arg3==="object")arg3=arg3.ptr;if(typeof arg4=="object"){arg4=ensureInt32(arg4)}return _emscripten_bind_PointCloudBuilder_AddInt32Attribute_5(self,arg0,arg1,arg2,arg3,arg4)});PointCloudBuilder.prototype["AddUInt32Attribute"]=PointCloudBuilder.prototype.AddUInt32Attribute=(function(arg0,arg1,arg2,arg3,arg4){var self=this.ptr;ensureCache.prepare();if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;if(arg3&&typeof arg3==="object")arg3=arg3.ptr;if(typeof arg4=="object"){arg4=ensureInt32(arg4)}return _emscripten_bind_PointCloudBuilder_AddUInt32Attribute_5(self,arg0,arg1,arg2,arg3,arg4)});PointCloudBuilder.prototype["AddMetadata"]=PointCloudBuilder.prototype.AddMetadata=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;return!!_emscripten_bind_PointCloudBuilder_AddMetadata_2(self,arg0,arg1)});PointCloudBuilder.prototype["SetMetadataForAttribute"]=PointCloudBuilder.prototype.SetMetadataForAttribute=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;if(arg2&&typeof arg2==="object")arg2=arg2.ptr;return!!_emscripten_bind_PointCloudBuilder_SetMetadataForAttribute_3(self,arg0,arg1,arg2)});PointCloudBuilder.prototype["__destroy__"]=PointCloudBuilder.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_PointCloudBuilder___destroy___0(self)});function VoidPtr(){throw"cannot construct a VoidPtr, no constructor in IDL"}VoidPtr.prototype=Object.create(WrapperObject.prototype);VoidPtr.prototype.constructor=VoidPtr;VoidPtr.prototype.__class__=VoidPtr;VoidPtr.__cache__={};Module["VoidPtr"]=VoidPtr;VoidPtr.prototype["__destroy__"]=VoidPtr.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_VoidPtr___destroy___0(self)});function Metadata(){this.ptr=_emscripten_bind_Metadata_Metadata_0();getCache(Metadata)[this.ptr]=this}Metadata.prototype=Object.create(WrapperObject.prototype);Metadata.prototype.constructor=Metadata;Metadata.prototype.__class__=Metadata;Metadata.__cache__={};Module["Metadata"]=Metadata;Metadata.prototype["__destroy__"]=Metadata.prototype.__destroy__=(function(){var self=this.ptr;_emscripten_bind_Metadata___destroy___0(self)});((function(){function setupEnums(){Module["MESH_SEQUENTIAL_ENCODING"]=_emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING();Module["MESH_EDGEBREAKER_ENCODING"]=_emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING();Module["INVALID_GEOMETRY_TYPE"]=_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE();Module["POINT_CLOUD"]=_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD();Module["TRIANGULAR_MESH"]=_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH();Module["INVALID"]=_emscripten_enum_draco_GeometryAttribute_Type_INVALID();Module["POSITION"]=_emscripten_enum_draco_GeometryAttribute_Type_POSITION();Module["NORMAL"]=_emscripten_enum_draco_GeometryAttribute_Type_NORMAL();Module["COLOR"]=_emscripten_enum_draco_GeometryAttribute_Type_COLOR();Module["TEX_COORD"]=_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD();Module["GENERIC"]=_emscripten_enum_draco_GeometryAttribute_Type_GENERIC()}if(Module["calledRun"])setupEnums();else addOnPreMain(setupEnums)}))();if(typeof Module["onModuleParsed"]==="function"){Module["onModuleParsed"]()}
return DracoEncoderModule;
};
// Export the function if this is for Node (or similar UMD-style exporting), otherwise it is lost.
if (typeof module === "object" && module.exports) {
module['exports'] = DracoEncoderModule;
};