var DracoDecoderModule = function(DracoDecoderModule) { DracoDecoderModule = DracoDecoderModule || {}; var Module = DracoDecoderModule; 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)return true;if(version[0]!=0||version[1]>10)return false;return true}Module["isVersionSupported"]=isVersionSupported;var Module;if(!Module)Module=(typeof DracoDecoderModule!=="undefined"?DracoDecoderModule:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};Module["load"]=function load(f){globalEval(read(f))};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function read(){throw"no read() available"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return xhr.response}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}if(!Module["quit"]){Module["quit"]=(function(status,toThrow){throw toThrow})}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value;return value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i>2];var end=(ret+size+15|0)&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=ret;return 0}}return ret}),alignMemory:(function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret}),makeBigInt:(function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret}),GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=Runtime.stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}var ALLOC_NORMAL=0;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 ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function demangle(func){var __cxa_demangle_func=Module["___cxa_demangle"]||Module["__cxa_demangle"];if(__cxa_demangle_func){try{var s=func.substr(1);var len=lengthBytesUTF8(s)+1;var buf=_malloc(len);stringToUTF8(s,buf,len);var status=_malloc(4);var ret=__cxa_demangle_func(buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}return func}Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");return func}function demangleAll(text){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;var buffer;var 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 adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}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}TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPreMain(cb){__ATMAIN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function 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 writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["fround"]){var froundBuffer=new Float32Array(1);Math["fround"]=(function(x){froundBuffer[0]=x;return froundBuffer[0]})}Math.fround=Math["fround"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;Module["preloadedImages"]={};Module["preloadedAudios"]={};var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+25424;__ATINIT__.push();allocate([252,22,0,0,127,23,0,0,36,23,0,0,88,23,0,0,8,0,0,0,0,0,0,0,36,23,0,0,156,23,0,0,8,0,0,0,0,0,0,0,36,23,0,0,197,23,0,0,64,0,0,0,0,0,0,0,252,22,0,0,225,23,0,0,36,23,0,0,193,25,0,0,48,0,0,0,0,0,0,0,252,22,0,0,227,25,0,0,36,23,0,0,8,26,0,0,48,0,0,0,0,0,0,0,36,23,0,0,190,36,0,0,88,0,0,0,0,0,0,0,36,23,0,0,56,26,0,0,144,0,0,0,0,0,0,0,36,23,0,0,145,26,0,0,160,0,0,0,0,0,0,0,36,23,0,0,229,26,0,0,176,0,0,0,0,0,0,0,36,23,0,0,25,27,0,0,192,0,0,0,0,0,0,0,252,22,0,0,68,27,0,0,36,23,0,0,27,28,0,0,216,0,0,0,0,0,0,0,36,23,0,0,179,28,0,0,144,0,0,0,0,0,0,0,36,23,0,0,60,29,0,0,216,0,0,0,0,0,0,0,36,23,0,0,214,29,0,0,216,0,0,0,0,0,0,0,36,23,0,0,104,30,0,0,216,0,0,0,0,0,0,0,36,23,0,0,14,31,0,0,216,0,0,0,0,0,0,0,36,23,0,0,169,31,0,0,216,0,0,0,0,0,0,0,36,23,0,0,63,32,0,0,72,1,0,0,0,0,0,0,36,23,0,0,228,32,0,0,144,0,0,0,0,0,0,0,36,23,0,0,122,33,0,0,72,1,0,0,0,0,0,0,36,23,0,0,33,34,0,0,72,1,0,0,0,0,0,0,36,23,0,0,192,34,0,0,72,1,0,0,0,0,0,0,36,23,0,0,115,35,0,0,72,1,0,0,0,0,0,0,36,23,0,0,27,36,0,0,72,1,0,0,0,0,0,0,36,23,0,0,37,68,0,0,112,0,0,0,0,0,0,0,36,23,0,0,123,41,0,0,200,1,0,0,0,0,0,0,36,23,0,0,236,41,0,0,160,0,0,0,0,0,0,0,36,23,0,0,49,45,0,0,232,1,0,0,0,0,0,0,36,23,0,0,225,45,0,0,200,1,0,0,0,0,0,0,36,23,0,0,42,47,0,0,232,1,0,0,0,0,0,0,36,23,0,0,123,48,0,0,232,1,0,0,0,0,0,0,36,23,0,0,37,49,0,0,232,1,0,0,0,0,0,0,36,23,0,0,227,49,0,0,232,1,0,0,0,0,0,0,36,23,0,0,150,50,0,0,232,1,0,0,0,0,0,0,36,23,0,0,68,51,0,0,88,2,0,0,0,0,0,0,36,23,0,0,1,52,0,0,200,1,0,0,0,0,0,0,36,23,0,0,175,52,0,0,88,2,0,0,0,0,0,0,36,23,0,0,110,53,0,0,88,2,0,0,0,0,0,0,36,23,0,0,37,54,0,0,88,2,0,0,0,0,0,0,36,23,0,0,240,54,0,0,88,2,0,0,0,0,0,0,36,23,0,0,176,55,0,0,88,2,0,0,0,0,0,0,36,23,0,0,107,56,0,0,200,2,0,0,0,0,0,0,36,23,0,0,183,56,0,0,216,2,0,0,0,0,0,0,252,22,0,0,255,56,0,0,36,23,0,0,230,57,0,0,240,2,0,0,0,0,0,0,36,23,0,0,74,58,0,0,160,0,0,0,0,0,0,0,36,23,0,0,169,58,0,0,16,3,0,0,0,0,0,0,36,23,0,0,76,59,0,0,240,2,0,0,0,0,0,0,36,23,0,0,224,59,0,0,16,3,0,0,0,0,0,0,36,23,0,0,133,60,0,0,16,3,0,0,0,0,0,0,36,23,0,0,34,61,0,0,16,3,0,0,0,0,0,0,36,23,0,0,211,61,0,0,16,3,0,0,0,0,0,0,36,23,0,0,121,62,0,0,16,3,0,0,0,0,0,0,36,23,0,0,26,63,0,0,128,3,0,0,0,0,0,0,36,23,0,0,202,63,0,0,240,2,0,0,0,0,0,0,36,23,0,0,107,64,0,0,128,3,0,0,0,0,0,0,36,23,0,0,29,65,0,0,128,3,0,0,0,0,0,0,36,23,0,0,199,65,0,0,128,3,0,0,0,0,0,0,36,23,0,0,133,66,0,0,128,3,0,0,0,0,0,0,36,23,0,0,56,67,0,0,128,3,0,0,0,0,0,0,36,23,0,0,230,67,0,0,216,2,0,0,0,0,0,0,36,23,0,0,80,68,0,0,112,0,0,0,0,0,0,0,36,23,0,0,232,68,0,0,192,4,0,0,0,0,0,0,36,23,0,0,254,68,0,0,0,4,0,0,0,0,0,0,36,23,0,0,236,71,0,0,120,4,0,0,0,0,0,0,252,22,0,0,31,69,0,0,36,23,0,0,103,69,0,0,72,4,0,0,0,0,0,0,252,22,0,0,49,70,0,0,252,22,0,0,75,70,0,0,36,23,0,0,134,70,0,0,72,4,0,0,0,0,0,0,36,23,0,0,47,71,0,0,72,4,0,0,0,0,0,0,252,22,0,0,56,72,0,0,36,23,0,0,102,72,0,0,120,4,0,0,0,0,0,0,36,23,0,0,188,72,0,0,120,4,0,0,0,0,0,0,36,23,0,0,41,73,0,0,0,4,0,0,0,0,0,0,36,23,0,0,15,73,0,0,72,4,0,0,0,0,0,0,252,22,0,0,73,73,0,0,36,23,0,0,124,74,0,0,192,4,0,0,0,0,0,0,36,23,0,0,158,74,0,0,192,4,0,0,0,0,0,0,36,23,0,0,186,75,0,0,248,4,0,0,0,0,0,0,252,22,0,0,207,76,0,0,252,22,0,0,92,91,0,0,36,23,0,0,188,91,0,0,24,5,0,0,0,0,0,0,36,23,0,0,105,91,0,0,40,5,0,0,0,0,0,0,252,22,0,0,138,91,0,0,36,23,0,0,151,91,0,0,8,5,0,0,0,0,0,0,36,23,0,0,173,92,0,0,0,5,0,0,0,0,0,0,36,23,0,0,222,92,0,0,24,5,0,0,0,0,0,0,36,23,0,0,186,92,0,0,80,5,0,0,0,0,0,0,0,0,0,0,16,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,32,0,0,0,3,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,192,0,0,0,0,48,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,3,0,0,0,4,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,0,0,0,0,72,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,3,0,0,0,4,0,0,0,6,0,0,0,8,0,0,0,9,0,0,0,5,0,0,0,0,0,0,0,88,0,0,0,8,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,3,0,0,0,4,0,0,0,11,0,0,0,12,0,0,0,5,0,0,0,0,0,0,192,0,0,0,0,96,0,0,0,10,0,0,0,11,0,0,0,1,0,0,0,13,0,0,0,14,0,0,0,5,0,0,0,3,0,0,0,4,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,0,0,0,0,112,0,0,0,12,0,0,0,13,0,0,0,6,0,0,0,10,0,0,0,3,0,0,0,4,0,0,0,19,0,0,0,12,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,7,0,0,0,20,0,0,0,0,0,0,0,144,0,0,0,14,0,0,0,15,0,0,0,1,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,21,0,0,0,22,0,0,0,10,0,0,0,11,0,0,0,23,0,0,0,1,0,0,0,0,0,0,0,128,0,0,0,14,0,0,0,16,0,0,0,12,0,0,0,8,0,0,0,13,0,0,0,9,0,0,0,21,0,0,0,22,0,0,0,10,0,0,0,11,0,0,0,23,0,0,0,1,0,0,0,0,0,0,0,40,1,0,0,14,0,0,0,17,0,0,0,14,0,0,0,8,0,0,0,15,0,0,0,9,0,0,0,21,0,0,0,22,0,0,0,10,0,0,0,11,0,0,0,23,0,0,0,2,0,0,0,0,0,0,0,24,1,0,0,14,0,0,0,18,0,0,0,16,0,0,0,8,0,0,0,17,0,0,0,9,0,0,0,21,0,0,0,22,0,0,0,10,0,0,0,11,0,0,0,23,0,0,0,3,0,0,0,0,0,0,0,8,1,0,0,19,0,0,0,20,0,0,0,18,0,0,0,8,0,0,0,19,0,0,0,9,0,0,0,21,0,0,0,22,0,0,0,10,0,0,0,11,0,0,0,24,0,0,0,4,0,0,0,0,0,0,0,248,0,0,0,21,0,0,0,22,0,0,0,20,0,0,0,8,0,0,0,21,0,0,0,22,0,0,0,25,0,0,0,26,0,0,0,10,0,0,0,11,0,0,0,27,0,0,0,5,0,0,0,0,0,0,0,232,0,0,0,23,0,0,0,24,0,0,0,23,0,0,0,8,0,0,0,24,0,0,0,25,0,0,0,28,0,0,0,29,0,0,0,10,0,0,0,11,0,0,0,30,0,0,0,6,0,0,0,0,0,0,0,200,0,0,0,25,0,0,0,26,0,0,0,26,0,0,0,8,0,0,0,27,0,0,0,28,0,0,0,31,0,0,0,32,0,0,0,10,0,0,0,11,0,0,0,33,0,0,0,7,0,0,0,0,0,0,0,152,1,0,0,14,0,0,0,27,0,0,0,29,0,0,0,8,0,0,0,30,0,0,0,9,0,0,0,21,0,0,0,22,0,0,0,10,0,0,0,11,0,0,0,23,0,0,0,8,0,0,0,0,0,0,0,136,1,0,0,14,0,0,0,28,0,0,0,31,0,0,0,8,0,0,0,32,0,0,0,9,0,0,0,21,0,0,0,22,0,0,0,10,0,0,0,11,0,0,0,23,0,0,0,9,0,0,0,0,0,0,0,120,1,0,0,29,0,0,0,30,0,0,0,33,0,0,0,8,0,0,0,34,0,0,0,9,0,0,0,21,0,0,0,22,0,0,0,10,0,0,0,11,0,0,0,34,0,0,0,10,0,0,0,0,0,0,0,104,1,0,0,31,0,0,0,32,0,0,0,35,0,0,0,8,0,0,0,36,0,0,0,37,0,0,0,35,0,0,0,36,0,0,0,10,0,0,0,11,0,0,0,37,0,0,0,11,0,0,0,0,0,0,0,88,1,0,0,33,0,0,0,34,0,0,0,38,0,0,0,8,0,0,0,39,0,0,0,40,0,0,0,38,0,0,0,39,0,0,0,10,0,0,0,11,0,0,0,40,0,0,0,12,0,0,0,0,0,0,0,56,1,0,0,35,0,0,0,36,0,0,0,41,0,0,0,8,0,0,0,42,0,0,0,43,0,0,0,41,0,0,0,42,0,0,0,10,0,0,0,11,0,0,0,43,0,0,0,13,0,0,0,0,0,0,0,168,1,0,0,12,0,0,0,37,0,0,0,10,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,19,0,0,0,12,0,0,0,7,0,0,0,12,0,0,0,13,0,0,0,44,0,0,0,44,0,0,0,0,0,0,0,224,3,0,0,38,0,0,0,39,0,0,0,45,0,0,0,0,0,0,0,184,2,0,0,38,0,0,0,40,0,0,0,46,0,0,0,0,0,0,0,184,1,0,0,41,0,0,0,42,0,0,0,47,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,45,0,0,0,46,0,0,0,51,0,0,0,52,0,0,0,47,0,0,0,14,0,0,0,0,0,0,0,56,2,0,0,41,0,0,0,43,0,0,0,53,0,0,0,48,0,0,0,54,0,0,0,50,0,0,0,45,0,0,0,46,0,0,0,51,0,0,0,52,0,0,0,47,0,0,0,15,0,0,0,0,0,0,0,40,2,0,0,41,0,0,0,44,0,0,0,55,0,0,0,48,0,0,0,56,0,0,0,50,0,0,0,45,0,0,0,46,0,0,0,51,0,0,0,52,0,0,0,47,0,0,0,16,0,0,0,0,0,0,0,24,2,0,0,45,0,0,0,46,0,0,0,57,0,0,0,48,0,0,0,58,0,0,0,50,0,0,0,45,0,0,0,46,0,0,0,51,0,0,0,52,0,0,0,48,0,0,0,17,0,0,0,0,0,0,0,8,2,0,0,47,0,0,0,48,0,0,0,59,0,0,0,48,0,0,0,60,0,0,0,61,0,0,0,49,0,0,0,50,0,0,0,51,0,0,0,52,0,0,0,51,0,0,0,18,0,0,0,0,0,0,0,248,1,0,0,49,0,0,0,50,0,0,0,62,0,0,0,48,0,0,0,63,0,0,0,64,0,0,0,52,0,0,0,53,0,0,0,51,0,0,0,52,0,0,0,54,0,0,0,19,0,0,0,0,0,0,0,216,1,0,0,51,0,0,0,52,0,0,0,65,0,0,0,48,0,0,0,66,0,0,0,67,0,0,0,55,0,0,0,56,0,0,0,51,0,0,0,52,0,0,0,57,0,0,0,20,0,0,0,0,0,0,0,168,2,0,0,41,0,0,0,53,0,0,0,68,0,0,0,48,0,0,0,69,0,0,0,50,0,0,0,45,0,0,0,46,0,0,0,51,0,0,0,52,0,0,0,47,0,0,0,21,0,0,0,0,0,0,0,152,2,0,0,41,0,0,0,54,0,0,0,70,0,0,0,48,0,0,0,71,0,0,0,50,0,0,0,45,0,0,0,46,0,0,0,51,0,0,0,52,0,0,0,47,0,0,0,22,0,0,0,0,0,0,0,136,2,0,0,55,0,0,0,56,0,0,0,72,0,0,0,48,0,0,0,73,0,0,0,50,0,0,0,45,0,0,0,46,0,0,0,51,0,0,0,52,0,0,0,58,0,0,0,23,0,0,0,0,0,0,0,120,2,0,0,57,0,0,0,58,0,0,0,74,0,0,0,48,0,0,0,75,0,0,0,76,0,0,0,59,0,0,0,60,0,0,0,51,0,0,0,52,0,0,0,61,0,0,0,24,0,0,0,0,0,0,0,104,2,0,0,59,0,0,0,60,0,0,0,77,0,0,0,48,0,0,0,78,0,0,0,79,0,0,0,62,0,0,0,63,0,0,0,51,0,0,0,52,0,0,0,64,0,0,0,25,0,0,0,0,0,0,0,72,2,0,0,61,0,0,0,62,0,0,0,80,0,0,0,48,0,0,0,81,0,0,0,82,0,0,0,65,0,0,0,66,0,0,0,51,0,0,0,52,0,0,0,67,0,0,0,26,0,0,0,0,0,0,0,224,2,0,0,63,0,0,0,64,0,0,0,83,0,0,0,84,0,0,0,85,0,0,0,86,0,0,0,68,0,0,0,69,0,0,0,87,0,0,0,88,0,0,0,70,0,0,0,27,0,0,0,0,0,0,0,96,3,0,0,63,0,0,0,65,0,0,0,89,0,0,0,84,0,0,0,90,0,0,0,86,0,0,0,68,0,0,0,69,0,0,0,87,0,0,0,88,0,0,0,70,0,0,0,28,0,0,0,0,0,0,0,80,3,0,0,63,0,0,0,66,0,0,0,91,0,0,0,84,0,0,0,92,0,0,0,86,0,0,0,68,0,0,0,69,0,0,0,87,0,0,0,88,0,0,0,70,0,0,0,29,0,0,0,0,0,0,0,64,3,0,0,67,0,0,0,68,0,0,0,93,0,0,0,84,0,0,0,94,0,0,0,86,0,0,0,68,0,0,0,69,0,0,0,87,0,0,0,88,0,0,0,71,0,0,0,30,0,0,0,0,0,0,0,48,3,0,0,69,0,0,0,70,0,0,0,95,0,0,0,84,0,0,0,96,0,0,0,97,0,0,0,72,0,0,0,73,0,0,0,87,0,0,0,88,0,0,0,74,0,0,0,31,0,0,0,0,0,0,0,32,3,0,0,71,0,0,0,72,0,0,0,98,0,0,0,84,0,0,0,99,0,0,0,100,0,0,0,75,0,0,0,76,0,0,0,87,0,0,0,88,0,0,0,77,0,0,0,32,0,0,0,0,0,0,0,0,3,0,0,73,0,0,0,74,0,0,0,101,0,0,0,84,0,0,0,102,0,0,0,103,0,0,0,78,0,0,0,79,0,0,0,87,0,0,0,88,0,0,0,80,0,0,0,33,0,0,0,0,0,0,0,208,3,0,0,63,0,0,0,75,0,0,0,104,0,0,0,84,0,0,0,105,0,0,0,86,0,0,0,68,0,0,0,69,0,0,0,87,0,0,0,88,0,0,0,70,0,0,0,34,0,0,0,0,0,0,0,192,3,0,0,63,0,0,0,76,0,0,0,106,0,0,0,84,0,0,0,107,0,0,0,86,0,0,0,68,0,0,0,69,0,0,0,87,0,0,0,88,0,0,0,70,0,0,0,35,0,0,0,0,0,0,0,176,3,0,0,77,0,0,0,78,0,0,0,108,0,0,0,84,0,0,0,109,0,0,0,86,0,0,0,68,0,0,0,69,0,0,0,87,0,0,0,88,0,0,0,81,0,0,0,36,0,0,0,0,0,0,0,160,3,0,0,79,0,0,0,80,0,0,0,110,0,0,0,84,0,0,0,111,0,0,0,112,0,0,0,82,0,0,0,83,0,0,0,87,0,0,0,88,0,0,0,84,0,0,0,37,0,0,0,0,0,0,0,144,3,0,0,81,0,0,0,82,0,0,0,113,0,0,0,84,0,0,0,114,0,0,0,115,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,88,0,0,0,87,0,0,0,38,0,0,0,0,0,0,0,112,3,0,0,83,0,0,0,84,0,0,0,116,0,0,0,84,0,0,0,117,0,0,0,118,0,0,0,88,0,0,0,89,0,0,0,87,0,0,0,88,0,0,0,90,0,0,0,39,0,0,0,0,0,0,0,240,3,0,0,85,0,0,0,86,0,0,0,14,0,0,0,10,0,0,0,3,0,0,0,15,0,0,0,19,0,0,0,12,0,0,0,7,0,0,0,16,0,0,0,9,0,0,0,7,0,0,0,91,0,0,0,119,0,0,0,92,0,0,0,0,0,0,0,0,4,0,0,87,0,0,0,88,0,0,0,120,0,0,0,121,0,0,0,1,0,0,0,122,0,0,0,123,0,0,0,124,0,0,0,125,0,0,0,126,0,0,0,93,0,0,0,94,0,0,0,1,0,0,0,0,0,0,0,16,4,0,0,89,0,0,0,90,0,0,0,120,0,0,0,127,0,0,0,95,0,0,0,122,0,0,0,123,0,0,0,124,0,0,0,128,0,0,0,129,0,0,0,96,0,0,0,97,0,0,0,130,0,0,0,0,0,0,0,32,4,0,0,91,0,0,0,92,0,0,0,98,0,0,0,99,0,0,0,100,0,0,0,101,0,0,0,131,0,0,0,132,0,0,0,133,0,0,0,134,0,0,0,0,0,0,0,56,4,0,0,93,0,0,0,94,0,0,0,102,0,0,0,135,0,0,0,0,0,0,0,48,4,0,0,95,0,0,0,96,0,0,0,97,0,0,0,0,0,0,192,0,0,0,0,88,4,0,0,98,0,0,0,99,0,0,0,103,0,0,0,136,0,0,0,0,0,0,0,80,4,0,0,100,0,0,0,101,0,0,0,102,0,0,0,0,0,0,0,104,4,0,0,103,0,0,0,104,0,0,0,104,0,0,0,137,0,0,0,0,0,0,0,128,4,0,0,105,0,0,0,106,0,0,0,105,0,0,0,106,0,0,0,107,0,0,0,108,0,0,0,138,0,0,0,139,0,0,0,140,0,0,0,141,0,0,0,0,0,0,0,144,4,0,0,107,0,0,0,108,0,0,0,109,0,0,0,110,0,0,0,111,0,0,0,112,0,0,0,142,0,0,0,143,0,0,0,144,0,0,0,145,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,5,0,0,0,7,0,0,0,0,0,0,0,160,4,0,0,87,0,0,0,109,0,0,0,120,0,0,0,121,0,0,0,113,0,0,0,122,0,0,0,123,0,0,0,124,0,0,0,125,0,0,0,126,0,0,0,93,0,0,0,94,0,0,0,146,0,0,0,0,0,0,0,176,4,0,0,110,0,0,0,111,0,0,0,114,0,0,0,147,0,0,0,0,0,0,0,192,4,0,0,87,0,0,0,112,0,0,0,148,0,0,0,121,0,0,0,1,0,0,0,149,0,0,0,123,0,0,0,124,0,0,0,125,0,0,0,0,0,0,0,200,4,0,0,87,0,0,0,113,0,0,0,148,0,0,0,121,0,0,0,115,0,0,0,150,0,0,0,123,0,0,0,124,0,0,0,125,0,0,0,0,0,0,0,216,4,0,0,87,0,0,0,114,0,0,0,148,0,0,0,121,0,0,0,116,0,0,0,151,0,0,0,123,0,0,0,124,0,0,0,125,0,0,0,0,0,0,192,0,0,0,192,0,0,0,0,232,4,0,0,115,0,0,0,116,0,0,0,1,0,0,0,3,0,0,0,152,0,0,0,117,0,0,0,2,0,0,0,0,0,0,192,0,0,0,0,248,4,0,0,118,0,0,0,119,0,0,0,3,0,0,0,4,0,0,0,152,0,0,0,117,0,0,0,4,0,0,0,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,244,19,0,0,5,0,0,0,0,0,0,0,0,0,0,0,153,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,18,0,0,0,68,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,20,0,0,5,0,0,0,0,0,0,0,0,0,0,0,153,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,0,0,0,18,0,0,0,76,95,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,7,0,0,0,11,0,0,0,13,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,29,0,0,0,31,0,0,0,37,0,0,0,41,0,0,0,43,0,0,0,47,0,0,0,53,0,0,0,59,0,0,0,61,0,0,0,67,0,0,0,71,0,0,0,73,0,0,0,79,0,0,0,83,0,0,0,89,0,0,0,97,0,0,0,101,0,0,0,103,0,0,0,107,0,0,0,109,0,0,0,113,0,0,0,127,0,0,0,131,0,0,0,137,0,0,0,139,0,0,0,149,0,0,0,151,0,0,0,157,0,0,0,163,0,0,0,167,0,0,0,173,0,0,0,179,0,0,0,181,0,0,0,191,0,0,0,193,0,0,0,197,0,0,0,199,0,0,0,211,0,0,0,1,0,0,0,11,0,0,0,13,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,29,0,0,0,31,0,0,0,37,0,0,0,41,0,0,0,43,0,0,0,47,0,0,0,53,0,0,0,59,0,0,0,61,0,0,0,67,0,0,0,71,0,0,0,73,0,0,0,79,0,0,0,83,0,0,0,89,0,0,0,97,0,0,0,101,0,0,0,103,0,0,0,107,0,0,0,109,0,0,0,113,0,0,0,121,0,0,0,127,0,0,0,131,0,0,0,137,0,0,0,139,0,0,0,143,0,0,0,149,0,0,0,151,0,0,0,157,0,0,0,163,0,0,0,167,0,0,0,169,0,0,0,173,0,0,0,179,0,0,0,181,0,0,0,187,0,0,0,191,0,0,0,193,0,0,0,197,0,0,0,199,0,0,0,209,0,0,0,2,0,0,0,83,91,0,0,0,0,0,0,8,5,0,0,120,0,0,0,121,0,0,0,122,0,0,0,123,0,0,0,21,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,48,5,0,0,120,0,0,0,124,0,0,0,122,0,0,0,123,0,0,0,21,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,64,5,0,0,125,0,0,0,126,0,0,0,154,0,0,0,78,53,100,114,97,99,111,50,56,65,116,116,114,105,98,117,116,101,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,69,0,78,53,100,114,97,99,111,49,56,65,116,116,114,105,98,117,116,101,84,114,97,110,115,102,111,114,109,69,0,78,53,100,114,97,99,111,51,48,65,116,116,114,105,98,117,116,101,81,117,97,110,116,105,122,97,116,105,111,110,84,114,97,110,115,102,111,114,109,69,0,78,53,100,114,97,99,111,49,55,65,116,116,114,105,98,117,116,101,115,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,50,54,65,116,116,114,105,98,117,116,101,115,68,101,99,111,100,101,114,73,110,116,101,114,102,97,99,101,69,0,75,100,84,114,101,101,65,116,116,114,105,98,117,116,101,115,68,101,99,111,100,101,114,58,32,99,111,109,112,114,101,115,115,105,111,110,32,108,101,118,101,108,32,37,105,32,110,111,116,32,115,117,112,112,111,114,116,101,100,46,10,0,40,118,97,108,46,115,105,122,101,40,41,41,32,61,61,32,40,100,105,109,101,110,115,105,111,110,95,116,41,0,47,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,122,104,97,102,97,110,103,47,100,114,97,99,111,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,107,100,95,116,114,101,101,95,97,116,116,114,105,98,117,116,101,115,95,100,101,99,111,100,101,114,46,99,99,0,111,112,101,114,97,116,111,114,61,0,77,101,116,104,111,100,32,110,111,116,32,115,117,112,112,111,114,116,101,100,46,32,10,0,86,101,114,115,105,111,110,32,110,111,116,32,115,117,112,112,111,114,116,101,100,46,32,10,0,40,105,110,102,111,46,114,97,110,103,101,41,32,62,61,32,40,48,41,0,47,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,122,104,97,102,97,110,103,47,100,114,97,99,111,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,109,112,114,101,115,115,105,111,110,47,112,111,105,110,116,95,99,108,111,117,100,47,97,108,103,111,114,105,116,104,109,115,47,113,117,97,110,116,105,122,101,95,112,111,105,110,116,115,95,51,46,104,0,68,101,113,117,97,110,116,105,122,101,80,111,105,110,116,115,51,0,78,53,100,114,97,99,111,50,51,75,100,84,114,101,101,65,116,116,114,105,98,117,116,101,115,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,50,54,83,101,113,117,101,110,116,105,97,108,65,116,116,114,105,98,117,116,101,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,51,55,83,101,113,117,101,110,116,105,97,108,65,116,116,114,105,98,117,116,101,68,101,99,111,100,101,114,115,67,111,110,116,114,111,108,108,101,114,69,0,78,53,100,114,97,99,111,50,56,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,108,116,97,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,105,69,69,69,69,0,78,53,100,114,97,99,111,50,51,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,105,69,69,69,69,0,78,53,100,114,97,99,111,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,121,112,101,100,68,101,99,111,100,101,114,73,110,116,101,114,102,97,99,101,73,105,105,69,69,0,78,53,100,114,97,99,111,51,50,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,99,111,100,101,114,73,110,116,101,114,102,97,99,101,69,0,78,53,100,114,97,99,111,50,53,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,110,116,101,114,102,97,99,101,69,0,102,97,108,115,101,0,47,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,122,104,97,102,97,110,103,47,100,114,97,99,111,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,115,47,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,95,119,114,97,112,95,116,114,97,110,115,102,111,114,109,95,98,97,115,101,46,104,0,113,117,97,110,116,105,122,97,116,105,111,110,95,98,105,116,115,0,78,53,100,114,97,99,111,52,50,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,55,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,80,111,114,116,97,98,108,101,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,54,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,53,54,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,67,111,110,115,116,114,97,105,110,101,100,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,53,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,48,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,80,97,114,97,108,108,101,108,111,103,114,97,109,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,50,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,55,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,80,111,114,116,97,98,108,101,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,54,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,53,54,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,67,111,110,115,116,114,97,105,110,101,100,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,53,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,48,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,80,97,114,97,108,108,101,108,111,103,114,97,109,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,51,83,101,113,117,101,110,116,105,97,108,73,110,116,101,103,101,114,65,116,116,114,105,98,117,116,101,68,101,99,111,100,101,114,69,0,40,113,41,32,62,61,32,40,50,41,0,47,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,122,104,97,102,97,110,103,47,100,114,97,99,111,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,110,111,114,109,97,108,95,99,111,109,112,114,101,115,115,105,111,110,95,117,116,105,108,115,46,104,0,83,101,116,81,117,97,110,116,105,122,97,116,105,111,110,66,105,116,115,0,40,113,41,32,60,61,32,40,51,48,41,0,40,105,110,95,115,41,32,62,61,32,40,48,41,0,79,99,116,97,104,101,114,100,97,108,67,111,111,114,100,115,84,111,85,110,105,116,86,101,99,116,111,114,0,40,105,110,95,116,41,32,62,61,32,40,48,41,0,40,105,110,95,115,41,32,60,61,32,40,49,41,0,40,105,110,95,116,41,32,60,61,32,40,49,41,0,40,112,114,101,100,95,118,97,108,115,91,48,93,41,32,60,61,32,40,50,32,42,32,116,104,105,115,45,62,99,101,110,116,101,114,95,118,97,108,117,101,40,41,41,0,47,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,122,104,97,102,97,110,103,47,100,114,97,99,111,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,115,47,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,95,110,111,114,109,97,108,95,111,99,116,97,104,101,100,114,111,110,95,99,97,110,111,110,105,99,97,108,105,122,101,100,95,100,101,99,111,100,105,110,103,95,116,114,97,110,115,102,111,114,109,46,104,0,67,111,109,112,117,116,101,79,114,105,103,105,110,97,108,86,97,108,117,101,0,40,112,114,101,100,95,118,97,108,115,91,49,93,41,32,60,61,32,40,50,32,42,32,116,104,105,115,45,62,99,101,110,116,101,114,95,118,97,108,117,101,40,41,41,0,40,99,111,114,114,95,118,97,108,115,91,48,93,41,32,60,61,32,40,50,32,42,32,116,104,105,115,45,62,99,101,110,116,101,114,95,118,97,108,117,101,40,41,41,0,40,99,111,114,114,95,118,97,108,115,91,49,93,41,32,60,61,32,40,50,32,42,32,116,104,105,115,45,62,99,101,110,116,101,114,95,118,97,108,117,101,40,41,41,0,40,48,41,32,60,61,32,40,112,114,101,100,95,118,97,108,115,91,48,93,41,0,40,48,41,32,60,61,32,40,112,114,101,100,95,118,97,108,115,91,49,93,41,0,40,48,41,32,60,61,32,40,99,111,114,114,95,118,97,108,115,91,48,93,41,0,40,48,41,32,60,61,32,40,99,111,114,114,95,118,97,108,115,91,49,93,41,0,40,115,41,32,60,61,32,40,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,73,115,73,110,68,105,97,109,111,110,100,0,40,116,41,32,60,61,32,40,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,40,115,41,32,62,61,32,40,45,99,101,110,116,101],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([114,95,118,97,108,117,101,95,41,0,40,116,41,32,62,61,32,40,45,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,40,42,115,41,32,60,61,32,40,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,73,110,118,101,114,116,68,105,97,109,111,110,100,0,40,42,116,41,32,60,61,32,40,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,40,42,115,41,32,62,61,32,40,45,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,40,42,116,41,32,62,61,32,40,45,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,40,109,97,120,95,113,117,97,110,116,105,122,101,100,95,118,97,108,117,101,32,37,32,50,41,32,61,61,32,40,49,41,0,47,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,122,104,97,102,97,110,103,47,100,114,97,99,111,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,115,47,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,95,110,111,114,109,97,108,95,111,99,116,97,104,101,100,114,111,110,95,116,114,97,110,115,102,111,114,109,95,98,97,115,101,46,104,0,115,101,116,95,109,97,120,95,113,117,97,110,116,105,122,101,100,95,118,97,108,117,101,0,78,53,100,114,97,99,111,50,56,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,108,116,97,68,101,99,111,100,101,114,73,105,78,83,95,54,50,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,69,69,0,78,53,100,114,97,99,111,50,51,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,99,111,100,101,114,73,105,78,83,95,54,50,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,69,69,0,116,104,105,115,45,62,73,115,73,110,105,116,105,97,108,105,122,101,100,40,41,0,47,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,122,104,97,102,97,110,103,47,100,114,97,99,111,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,115,47,109,101,115,104,95,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,95,103,101,111,109,101,116,114,105,99,95,110,111,114,109,97,108,95,100,101,99,111,100,101,114,46,104,0,67,111,109,112,117,116,101,79,114,105,103,105,110,97,108,86,97,108,117,101,115,0,40,110,117,109,95,99,111,109,112,111,110,101,110,116,115,41,32,61,61,32,40,50,41,0,40,112,114,101,100,95,110,111,114,109,97,108,95,51,100,46,65,98,115,83,117,109,40,41,41,32,61,61,32,40,111,99,116,97,104,101,100,114,111,110,95,116,111,111,108,95,98,111,120,95,46,99,101,110,116,101,114,95,118,97,108,117,101,40,41,41,0,40,115,116,100,58,58,97,98,115,40,105,110,116,95,118,101,99,91,48,93,41,32,43,32,115,116,100,58,58,97,98,115,40,105,110,116,95,118,101,99,91,49,93,41,32,43,32,115,116,100,58,58,97,98,115,40,105,110,116,95,118,101,99,91,50,93,41,41,32,61,61,32,40,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,73,110,116,101,103,101,114,86,101,99,116,111,114,84,111,81,117,97,110,116,105,122,101,100,79,99,116,97,104,101,100,114,97,108,67,111,111,114,100,115,0,47,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,122,104,97,102,97,110,103,47,100,114,97,99,111,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,115,47,109,101,115,104,95,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,95,103,101,111,109,101,116,114,105,99,95,110,111,114,109,97,108,95,112,114,101,100,105,99,116,111,114,46,104,0,67,111,109,112,117,116,101,80,114,101,100,105,99,116,101,100,86,97,108,117,101,0,71,101,116,80,111,115,105,116,105,111,110,70,111,114,67,111,114,110,101,114,0,40,110,111,114,109,97,108,46,65,98,115,83,117,109,40,41,41,32,60,61,32,40,117,112,112,101,114,95,98,111,117,110,100,41,0,71,101,116,80,111,115,105,116,105,111,110,70,111,114,68,97,116,97,73,100,0,40,105,41,32,61,61,32,40,48,41,0,71,101,116,80,97,114,101,110,116,65,116,116,114,105,98,117,116,101,84,121,112,101,0,78,53,100,114,97,99,111,52,50,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,68,101,99,111,100,101,114,73,105,78,83,95,54,50,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,55,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,99,111,100,101,114,73,105,78,83,95,54,50,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,47,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,122,104,97,102,97,110,103,47,100,114,97,99,111,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,115,47,109,101,115,104,95,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,95,116,101,120,95,99,111,111,114,100,115,95,112,111,114,116,97,98,108,101,95,100,101,99,111,100,101,114,46,104,0,78,53,100,114,97,99,111,52,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,80,111,114,116,97,98,108,101,68,101,99,111,100,101,114,73,105,78,83,95,54,50,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,47,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,122,104,97,102,97,110,103,47,100,114,97,99,111,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,115,47,109,101,115,104,95,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,95,116,101,120,95,99,111,111,114,100,115,95,100,101,99,111,100,101,114,46,104,0,78,53,100,114,97,99,111,51,54,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,68,101,99,111,100,101,114,73,105,78,83,95,54,50,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,53,54,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,67,111,110,115,116,114,97,105,110,101,100,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,68,101,99,111,100,101,114,73,105,78,83,95,54,50,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,53,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,68,101,99,111,100,101,114,73,105,78,83,95,54,50,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,48,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,80,97,114,97,108,108,101,108,111,103,114,97,109,68,101,99,111,100,101,114,73,105,78,83,95,54,50,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,50,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,68,101,99,111,100,101,114,73,105,78,83,95,54,50,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,55,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,99,111,100,101,114,73,105,78,83,95,54,50,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,80,111,114,116,97,98,108,101,68,101,99,111,100,101,114,73,105,78,83,95,54,50,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,54,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,68,101,99,111,100,101,114,73,105,78,83,95,54,50,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,53,54,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,67,111,110,115,116,114,97,105,110,101,100,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,68,101,99,111,100,101,114,73,105,78,83,95,54,50,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,53,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,68,101,99,111,100,101,114,73,105,78,83,95,54,50,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,48,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,80,97,114,97,108,108,101,108,111,103,114,97,109,68,101,99,111,100,101,114,73,105,78,83,95,54,50,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,54,50,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,0,78,53,100,114,97,99,111,53,56,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,84,114,97,110,115,102,111,114,109,66,97,115,101,73,105,69,69,0,78,53,100,114,97,99,111,52,53,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,66,97,115,101,73,105,69,69,0,47,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,122,104,97,102,97,110,103,47,100,114,97,99,111,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,115,47,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,95,110,111,114,109,97,108,95,111,99,116,97,104,101,100,114,111,110,95,100,101,99,111,100,105,110,103,95,116,114,97,110,115,102,111,114,109,46,104,0,78,53,100,114,97,99,111,50,56,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,108,116,97,68,101,99,111,100,101,114,73,105,78,83,95,52,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,69,69,0,78,53,100,114,97,99,111,50,51,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,99,111,100,101,114,73,105,78,83,95,52,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,69,69,0,78,53,100,114,97,99,111,52,50,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,68,101,99,111,100,101,114,73,105,78,83,95,52,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,55,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,99,111,100,101,114,73,105,78,83,95,52,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,80,111,114,116,97,98,108,101,68,101,99,111,100,101,114,73,105,78,83,95,52,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,54,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,68,101,99,111,100,101,114,73,105,78,83,95,52,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,53,54,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,67,111,110,115,116,114,97,105,110,101,100,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,68,101,99,111,100,101,114,73,105,78,83,95,52,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,53,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,68,101,99,111,100,101,114,73,105,78,83,95,52,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,48,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,80,97,114,97,108,108,101,108,111,103,114,97,109,68,101,99,111,100,101,114,73,105,78,83,95,52,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,50,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,68,101,99,111,100,101,114,73,105,78,83,95,52,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,55,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,99,111,100,101,114,73,105,78,83,95,52,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,80,111,114,116,97,98,108,101,68,101,99,111,100,101,114,73,105,78,83,95,52,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,54,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,68,101,99,111,100,101,114,73,105,78,83,95,52,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,53,54,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,67,111,110,115,116,114,97,105,110,101,100,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,68,101,99,111,100,101,114,73,105,78,83,95,52,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,53,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,68,101,99,111,100,101,114,73,105,78,83,95,52,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,48,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,80,97,114,97,108,108,101,108,111,103,114,97,109,68,101,99,111,100,101,114,73,105,78,83,95,52,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,0,78,53,100,114,97,99,111,51,50,83,101,113,117,101,110,116,105,97,108,78,111,114,109,97,108,65,116,116,114,105,98,117,116,101,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,51,56,83,101,113,117,101,110,116,105,97,108,81,117,97,110,116,105,122,97,116,105,111,110,65,116,116,114,105,98,117,116,101,68,101,99,111,100,101,114,69,0,85,110,115,117,112,112,111,114,116,101,100,32,101,110,99,111,100,105,110,103,32,109,101,116,104,111,100,46,0,73,110,112,117,116,32,105,115,32,110,111,116,32,97,32,109,101,115,104,46,0,73,110,112,117,116,32,105,115,32,110,111,116,32,97,32,112,111,105,110,116,32,99,108,111,117,100,46,0,115,107,105,112,95,97,116,116,114,105,98,117,116,101,95,116,114,97,110,115,102,111,114,109,0,78,53,100,114,97,99,111,49,49,77,101,115,104,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,50,50,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,50,57,67,111,114,110,101,114,84,97,98,108,101,84,114,97,118,101,114,115,97,108,80,114,111,99,101,115,115,111,114,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,0,78,53,100,114,97,99,111,50,50,77,101,115,104,84,114,97,118,101,114,115,97,108,83,101,113,117,101,110,99,101,114,73,78,83,95,50,48,69,100,103,101,66,114,101,97,107,101,114,84,114,97,118,101,114,115,101,114,73,78,83,95,50,57,67,111,114,110,101,114,84,97,98,108,101,84,114,97,118,101,114,115,97,108,80,114,111,99,101,115,115,111,114,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,78,83,95,51,54,77,101,115,104,65,116,116,114,105,98,117,116,101,73,110,100,105,99,101,115,69,110,99,111,100,105,110,103,79,98,115,101,114,118,101,114,73,83,51,95,69,69,78,83,95,49,57,69,100,103,101,66,114,101,97,107,101,114,79,98,115,101,114,118,101,114,69,69,69,69,69,0,78,53,100,114,97,99,111,49,53,80,111,105,110,116,115,83,101,113,117,101,110,99,101,114,69,0,78,53,100,114,97,99,111,50,57,67,111,114,110,101,114,84,97,98,108,101,84,114,97,118,101,114,115,97,108,80,114,111,99,101,115,115,111,114,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,0,78,53,100,114,97,99,111,50,50,77,101,115,104,84,114,97,118,101,114,115,97,108,83,101,113,117,101,110,99,101,114,73,78,83,95,50,53,80,114,101,100,105,99,116,105,111,110,68,101,103,114,101,101,84,114,97,118,101,114,115,101,114,73,78,83,95,50,57,67,111,114,110,101,114,84,97,98,108,101,84,114,97,118,101,114,115,97,108,80,114,111,99,101,115,115,111,114,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,78,83,95,51,54,77,101,115,104,65,116,116,114,105,98,117,116,101,73,110,100,105,99,101,115,69,110,99,111,100,105,110,103,79,98,115,101,114,118,101,114,73,83,51,95,69,69,69,69,69,69,0,78,53,100,114,97,99,111,50,50,77,101,115,104,84,114,97,118,101,114,115,97,108,83,101,113,117,101,110,99,101,114,73,78,83,95,50,48,69,100,103,101,66,114,101,97,107,101,114,84,114,97,118,101,114,115,101,114,73,78,83,95,50,57,67,111,114,110,101,114,84,97,98,108,101,84,114,97,118,101,114,115,97,108,80,114,111,99,101,115,115,111,114,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,78,83,95,51,54,77,101,115,104,65,116,116,114,105,98,117,116,101,73,110,100,105,99,101,115,69,110,99,111,100,105,110,103,79,98,115,101,114,118,101,114,73,83,51,95,69,69,78,83,95,49,57,69,100,103,101,66,114,101,97,107,101,114,79,98,115,101,114,118,101,114,69,69,69,69,69,0,78,53,100,114,97,99,111,50,54,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,68,101,99,111,100,101,114,73,109,112,108,73,78,83,95,51,49,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,84,114,97,118,101,114,115,97,108,68,101,99,111,100,101,114,69,69,69,0,78,53,100,114,97,99,111,51,53,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,68,101,99,111,100,101,114,73,109,112,108,73,110,116,101,114,102,97,99,101,69,0,78,53,100,114,97,99,111,50,54,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,68,101,99,111,100,101,114,73,109,112,108,73,78,83,95,52,49,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,84,114,97,118,101,114,115,97,108,80,114,101,100,105,99,116,105,118,101,68,101,99,111,100,101,114,69,69,69,0,78,53,100,114,97,99,111,50,54,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,68,101,99,111,100,101,114,73,109,112,108,73,78,83,95,51,56,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,84,114,97,118,101,114,115,97,108,86,97,108,101,110,99,101,68,101,99,111,100,101,114,69,69,69,0,78,53,100,114,97,99,111,49,53,76,105,110,101,97,114,83,101,113,117,101,110,99,101,114,69,0,78,53,100,114,97,99,111,50,49,77,101,115,104,83,101,113,117,101,110,116,105,97,108,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,49,55,80,111,105,110,116,67,108,111,117,100,68,101,99,111,100,101,114,69,0,70,97,105,108,101,100,32,116,111,32,112,97,114,115,101,32,68,114,97,99,111,32,104,101,97,100,101,114,46,0,68,82,65,67,79,0,78,111,116,32,97,32,68,114,97,99,111,32,102,105,108,101,46,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,109,101,116,97,100,97,116,97,46,0,85,115,105,110,103,32,105,110,99,111,109,112,97,116,105,98,108,101,32,100,101,99,111,100,101,114,32,102,111,114,32,116,104,101,32,105,110,112,117,116,32,103,101,111,109,101,116,114,121,46,0,85,110,107,110,111,119,110,32,109,97,106,111,114,32,118,101,114,115,105,111,110,46,0,85,110,107,110,111,119,110,32,109,105,110,111,114,32,118,101,114,115,105,111,110,46,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,116,104,101,32,100,101,99,111,100,101,114,46,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,103,101,111,109,101,116,114,121,32,100,97,116,97,46,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,112,111,105,110,116,32,97,116,116,114,105,98,117,116,101,115,46,0,78,53,100,114,97,99,111,50,51,80,111,105,110,116,67,108,111,117,100,75,100,84,114,101,101,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,50,55,80,111,105,110,116,67,108,111,117,100,83,101,113,117,101,110,116,105,97,108,68,101,99,111,100,101,114,69,0,37,100,0,40,110,98,105,116,115,41,32,62,61,32,40,48,41,0,47,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,122,104,97,102,97,110,103,47,100,114,97,99,111,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,114,101,47,100,101,99,111,100,101,114,95,98,117,102,102,101,114,46,104,0,71,101,116,66,105,116,115,0,40,110,98,105,116,115,41,32,60,61,32,40,51,50,41,0,47,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,122,104,97,102,97,110,103,47,100,114,97,99,111,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,114,101,47,98,105,116,95,99,111,100,101,114,115,47,114,97,110,115,95,98,105,116,95,100,101,99,111,100,101,114,46,99,99,0,78,53,100,114,97,99,111,52,77,101,115,104,69,0,33,105,100,101,110,116,105,116,121,95,109,97,112,112,105,110,103,95,0,47,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,122,104,97,102,97,110,103,47,100,114,97,99,111,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,97,116,116,114,105,98,117,116,101,115,47,112,111,105,110,116,95,97,116,116,114,105,98,117,116,101,46,104,0,83,101,116,80,111,105,110,116,77,97,112,69,110,116,114,121,0,97,116,116,95,105,100,32,62,61,32,48,0,47,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,122,104,97,102,97,110,103,47,100,114,97,99,111,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,112,111,105,110,116,95,99,108,111,117,100,47,112,111,105,110,116,95,99,108,111,117,100,46,99,99,0,83,101,116,65,116,116,114,105,98,117,116,101,0,78,53,100,114,97,99,111,49,48,80,111,105,110,116,67,108,111,117,100,69,0,70,108,111,97,116,80,111,105,110,116,115,84,114,101,101,68,101,99,111,100,101,114,58,32,99,111,109,112,114,101,115,115,105,111,110,32,108,101,118,101,108,32,37,105,32,110,111,116,32,115,117,112,112,111,114,116,101,100,46,10,0,40,116,114,117,101,41,32,61,61,32,40,110,117,109,95,114,101,109,97,105,110,105,110,103,95,112,111,105,110,116,115,32,33,61,32,48,41,0,47,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,122,104,97,102,97,110,103,47,100,114,97,99,111,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,109,112,114,101,115,115,105,111,110,47,112,111,105,110,116,95,99,108,111,117,100,47,97,108,103,111,114,105,116,104,109,115,47,100,121,110,97,109,105,99,95,105,110,116,101,103,101,114,95,112,111,105,110,116,115,95,107,100,95,116,114,101,101,95,100,101,99,111,100,101,114,46,104,0,68,101,99,111,100,101,73,110,116,101,114,110,97,108,0,40,116,114,117,101,41,32,61,61,32,40,110,98,105,116,115,32,60,61,32,51,50,41,0,47,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,122,104,97,102,97,110,103,47,100,114,97,99,111,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,114,101,47,98,105,116,95,99,111,100,101,114,115,47,100,105,114,101,99,116,95,98,105,116,95,100,101,99,111,100,101,114,46,104,0,68,101,99,111,100,101,76,101,97,115,116,83,105,103,110,105,102,105,99,97,110,116,66,105,116,115,51,50,0,40,116,114,117,101,41,32,61,61,32,40,110,98,105,116,115,32,62,32,48,41,0,40,48,41,32,60,61,32,40,97,116,116,95,105,100,41,0,47,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,122,104,97,102,97,110,103,47,100,114,97,99,111,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,112,111,105,110,116,95,99,108,111,117,100,47,112,111,105,110,116,95,99,108,111,117,100,46,104,0,97,116,116,114,105,98,117,116,101,0,40,97,116,116,95,105,100,41,32,60,32,40,115,116,97,116,105,99,95,99,97,115,116,60,105,110,116,51,50,95,116,62,40,97,116,116,114,105,98,117,116,101,115,95,46,115,105,122,101,40,41,41,41,0,110,97,109,101,0,40,48,41,32,60,61,32,40,102,97,99,101,95,105,100,46,118,97,108,117,101,40,41,41,0,47,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,122,104,97,102,97,110,103,47,100,114,97,99,111,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,109,101,115,104,47,109,101,115,104,46,104,0,102,97,99,101,0,40,102,97,99,101,95,105,100,46,118,97,108,117,101,40,41,41,32,60,32,40,115,116,97,116,105,99,95,99,97,115,116,60,105,110,116,62,40,102,97,99,101,115,95,46,115,105,122,101,40,41,41,41,0,17,0,10],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240);allocate([0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,33,34,118,101,99,116,111,114,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,122,104,97,102,97,110,103,47,101,109,115,100,107,45,112,111,114,116,97,98,108,101,47,101,109,115,99,114,105,112,116,101,110,47,49,46,51,55,46,57,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,118,101,99,116,111,114,0,33,34,118,101,99,116,111,114,32,111,117,116,95,111,102,95,114,97,110,103,101,34,0,33,34,98,97,115,105,99,95,115,116,114,105,110,103,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,122,104,97,102,97,110,103,47,101,109,115,100,107,45,112,111,114,116,97,98,108,101,47,101,109,115,99,114,105,112,116,101,110,47,49,46,51,55,46,57,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,115,116,114,105,110,103,0,95,95,116,104,114,111,119,95,108,101,110,103,116,104,95,101,114,114,111,114,0,33,34,98,97,115,105,99,95,115,116,114,105,110,103,32,111,117,116,95,111,102,95,114,97,110,103,101,34,0,95,95,116,104,114,111,119,95,111,117,116,95,111,102,95,114,97,110,103,101,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,58,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,102,111,114,101,105,103,110,32,101,120,99,101,112,116,105,111,110,0,116,101,114,109,105,110,97,116,105,110,103,0,117,110,99,97,117,103,104,116,0,83,116,57,101,120,99,101,112,116,105,111,110,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,54,95,95,115,104,105,109,95,116,121,112,101,95,105,110,102,111,69,0,83,116,57,116,121,112,101,95,105,110,102,111,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,48,95,95,115,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,112,116,104,114,101,97,100,95,111,110,99,101,32,102,97,105,108,117,114,101,32,105,110,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,95,102,97,115,116,40,41,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,112,116,104,114,101,97,100,32,107,101,121,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,99,97,110,110,111,116,32,122,101,114,111,32,111,117,116,32,116,104,114,101,97,100,32,118,97,108,117,101,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,116,101,114,109,105,110,97,116,101,95,104,97,110,100,108,101,114,32,117,110,101,120,112,101,99,116,101,100,108,121,32,114,101,116,117,114,110,101,100,0,115,116,100,58,58,98,97,100,95,97,108,108,111,99,0,83,116,57,98,97,100,95,97,108,108,111,99,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,57,95,95,112,111,105,110,116,101,114,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,112,98,97,115,101,95,116,121,112,101,95,105,110,102,111,69,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+20480);var tempDoublePtr=STATICTOP;STATICTOP+=16;Module["_i64Subtract"]=_i64Subtract;function ___assert_fail(condition,filename,line,func){ABORT=true;throw"Assertion failed: "+Pointer_stringify(condition)+", at: "+[filename?Pointer_stringify(filename):"unknown filename",line,func?Pointer_stringify(func):"unknown function"]+" at "+stackTrace()}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 ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(Runtime.setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(Runtime.setTempRet0(0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i>2];info.adjusted=thrown;return(Runtime.setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(Runtime.setTempRet0(throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}Module["_memset"]=_memset;Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}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}Module["_i64Add"]=_i64Add;var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC);Module["_llvm_cttz_i32"]=_llvm_cttz_i32;Module["___udivmoddi4"]=___udivmoddi4;Module["___divdi3"]=___divdi3;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_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}function _malloc(bytes){var ptr=Runtime.dynamicAlloc(bytes+8);return ptr+8&4294967288}Module["_malloc"]=_malloc;function ___cxa_allocate_exception(size){return _malloc(size)}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 ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_bitshift64Ashr"]=_bitshift64Ashr;Module["_bitshift64Lshr"]=_bitshift64Lshr;function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}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 _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___udivdi3"]=___udivdi3;Module["___muldsi3"]=___muldsi3;Module["___muldi3"]=___muldi3;function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}Module["_sbrk"]=_sbrk;Module["_memmove"]=_memmove;function ___gxx_personality_v0(){}Module["___uremdi3"]=___uremdi3;Module["_llvm_bswap_i32"]=_llvm_bswap_i32;function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffer){___syscall146.buffers=[null,[],[]];___syscall146.printChar=(function(stream,curr){var buffer=___syscall146.buffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?Module["print"]:Module["printErr"])(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}})}for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>2]=DYNAMIC_BASE;staticSealed=true;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_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_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_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_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_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_v(index){try{Module["dynCall_v"](index)}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)}}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_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)}}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_iiii":invoke_iiii,"invoke_viiiii":invoke_viiiii,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_ii":invoke_ii,"invoke_viii":invoke_viii,"invoke_v":invoke_v,"invoke_viiiiii":invoke_viiiiii,"invoke_iii":invoke_iii,"invoke_viiii":invoke_viiii,"_pthread_getspecific":_pthread_getspecific,"_pthread_setspecific":_pthread_setspecific,"___cxa_throw":___cxa_throw,"___gxx_personality_v0":___gxx_personality_v0,"___syscall6":___syscall6,"___setErrNo":___setErrNo,"_abort":_abort,"___cxa_begin_catch":___cxa_begin_catch,"_pthread_key_create":_pthread_key_create,"___syscall146":___syscall146,"_pthread_once":_pthread_once,"_emscripten_memcpy_big":_emscripten_memcpy_big,"___syscall54":___syscall54,"___syscall140":___syscall140,"___resumeException":___resumeException,"___cxa_find_matching_catch":___cxa_find_matching_catch,"___assert_fail":___assert_fail,"___cxa_pure_virtual":___cxa_pure_virtual,"___cxa_allocate_exception":___cxa_allocate_exception,"__ZSt18uncaught_exceptionv":__ZSt18uncaught_exceptionv,"DYNAMICTOP_PTR":DYNAMICTOP_PTR,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM var asm=(function(global,env,buffer) { "almost asm";var a=global.Int8Array;var b=global.Int16Array;var c=global.Int32Array;var d=global.Uint8Array;var e=global.Uint16Array;var f=global.Uint32Array;var g=global.Float32Array;var h=global.Float64Array;var i=new a(buffer);var j=new b(buffer);var k=new c(buffer);var l=new d(buffer);var m=new e(buffer);var n=new f(buffer);var o=new g(buffer);var p=new h(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,I=0,J=0,K=0,L=0.0;var M=0;var N=global.Math.floor;var O=global.Math.abs;var P=global.Math.sqrt;var Q=global.Math.pow;var R=global.Math.cos;var S=global.Math.sin;var T=global.Math.tan;var U=global.Math.acos;var V=global.Math.asin;var W=global.Math.atan;var X=global.Math.atan2;var Y=global.Math.exp;var Z=global.Math.log;var _=global.Math.ceil;var $=global.Math.imul;var aa=global.Math.min;var ba=global.Math.max;var ca=global.Math.clz32;var da=global.Math.fround;var ea=env.abort;var fa=env.assert;var ga=env.enlargeMemory;var ha=env.getTotalMemory;var ia=env.abortOnCannotGrowMemory;var ja=env.invoke_iiii;var ka=env.invoke_viiiii;var la=env.invoke_vi;var ma=env.invoke_vii;var na=env.invoke_iiiiiii;var oa=env.invoke_ii;var pa=env.invoke_viii;var qa=env.invoke_v;var ra=env.invoke_viiiiii;var sa=env.invoke_iii;var ta=env.invoke_viiii;var ua=env._pthread_getspecific;var va=env._pthread_setspecific;var wa=env.___cxa_throw;var xa=env.___gxx_personality_v0;var ya=env.___syscall6;var za=env.___setErrNo;var Aa=env._abort;var Ba=env.___cxa_begin_catch;var Ca=env._pthread_key_create;var Da=env.___syscall146;var Ea=env._pthread_once;var Fa=env._emscripten_memcpy_big;var Ga=env.___syscall54;var Ha=env.___syscall140;var Ia=env.___resumeException;var Ja=env.___cxa_find_matching_catch;var Ka=env.___assert_fail;var La=env.___cxa_pure_virtual;var Ma=env.___cxa_allocate_exception;var Na=env.__ZSt18uncaught_exceptionv;var Oa=da(0);const Pa=da(0);function Qa(newBuffer){if(q(newBuffer)&16777215||q(newBuffer)<=16777215||q(newBuffer)>2147483648)return false;i=new a(newBuffer);j=new b(newBuffer);k=new c(newBuffer);l=new d(newBuffer);m=new e(newBuffer);n=new f(newBuffer);o=new g(newBuffer);p=new h(newBuffer);buffer=newBuffer;return true} // EMSCRIPTEN_START_FUNCS function Uc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+16|0;c=t+4|0;s=t;if(!(xe(a,b)|0)){s=0;u=t;return s|0}p=k[a+88>>2]|0;p=(Wa[k[(k[p>>2]|0)+32>>2]&255](p)|0)+36|0;if(((l[p>>0]|0)<<8&65535)<512){o=b+8|0;p=k[o>>2]|0;o=k[o+4>>2]|0;d=b+16|0;f=d;e=k[f>>2]|0;f=Fp(e|0,k[f+4>>2]|0,4,0)|0;g=M;if((o|0)<(g|0)|(o|0)==(g|0)&p>>>0>>0)c=0;else{h=(k[b>>2]|0)+e|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;k[c>>2]=h;c=d;k[c>>2]=f;k[c+4>>2]=g;c=h;h=7}}else if(sk(c,b)|0){c=k[c>>2]|0;h=7}else c=0;if((h|0)==7){d=a+96|0;c=(k[d>>2]|0)+c|0;k[d>>2]=c;d=a+100|0;k[s>>2]=0;e=a+104|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(c>>>0<=f>>>0){if(c>>>0>>0?(j=g+(c<<2)|0,(h|0)!=(j|0)):0)k[e>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else Yh(d,c-f|0,s);p=b+8|0;o=k[p+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=k[e+4>>2]|0;if((o|0)>(e|0)|((o|0)==(e|0)?(k[p>>2]|0)>>>0>d>>>0:0)?(p=i[(k[b>>2]|0)+d>>0]|0,n=Fp(d|0,e|0,1,0)|0,o=c,k[o>>2]=n,k[o+4>>2]=M,p<<24>>24==0):0){k[a+120>>2]=2;k[a+124>>2]=7;p=a+128|0;o=a+132|0;d=k[o>>2]|0;f=k[p>>2]|0;c=d-f|0;e=(c|0)/12|0;g=d;if(e>>>0>=6){if((c|0)!=72?(m=f+72|0,(g|0)!=(m|0)):0){d=g;while(1){c=d+-12|0;k[o>>2]=c;e=k[c>>2]|0;if(e){c=d+-8|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e);c=k[o>>2]|0}if((c|0)==(m|0))break;else d=c}d=c}}else{Fg(p,6-e|0);d=k[o>>2]|0}n=a+140|0;c=k[p>>2]|0;j=(d-c|0)/12|0;e=a+144|0;h=k[e>>2]|0;g=k[n>>2]|0;f=h-g>>2;if(j>>>0<=f>>>0){if(j>>>0>>0?(q=g+(j<<2)|0,(h|0)!=(q|0)):0)k[e>>2]=h+(~((h+-4-q|0)>>>2)<<2)}else{oj(n,j-f|0);d=k[o>>2]|0;c=k[p>>2]|0}if((d|0)==(c|0))c=1;else{m=0;do{sk(s,b)|0;c=k[s>>2]|0;if(c|0){d=k[p>>2]|0;e=d+(m*12|0)|0;f=d+(m*12|0)+4|0;j=k[f>>2]|0;h=k[e>>2]|0;g=j-h>>2;if(c>>>0<=g>>>0){if(c>>>0>>0?(r=h+(c<<2)|0,(j|0)!=(r|0)):0)k[f>>2]=j+(~((j+-4-r|0)>>>2)<<2)}else{oj(e,c-g|0);d=k[p>>2]|0;c=k[s>>2]|0}Pj(c,1,b,k[d+(m*12|0)>>2]|0)|0;k[(k[n>>2]|0)+(m<<2)>>2]=k[s>>2]}m=m+1|0}while(m>>>0<(((k[o>>2]|0)-(k[p>>2]|0)|0)/12|0)>>>0);c=1}}else c=0}s=c;u=t;return s|0}function Vc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}e=b+d|0;f=c;k[f>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;k[f+4>>2]=0;f=c+8|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[f+16>>2]=0;k[f+20>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,8,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;e=f;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;k[g+4>>2]=0;g=c+8|0;k[g>>2]=f;k[g+4>>2]=0;g=c+16|0;k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;k[g+12>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,12,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}a=b+d|0;e=a+4|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;f=a+8|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;k[g+4>>2]=0;g=c+8|0;k[g>>2]=e;k[g+4>>2]=0;g=c+16|0;k[g>>2]=f;k[g+4>>2]=0;g=c+24|0;k[g>>2]=0;k[g+4>>2]=0;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,16,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}d=b+d|0;a=d+4|0;a=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;e=d+8|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;f=d+12|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;k[g+4>>2]=0;g=c+8|0;k[g>>2]=a;k[g+4>>2]=0;g=c+16|0;k[g>>2]=e;k[g+4>>2]=0;g=c+24|0;k[g>>2]=f;k[g+4>>2]=0;g=1;return g|0}default:{g=0;return g|0}}return 0}function Wc(a,b,c){a=a|0;b=b|0;c=c|0;var d=Pa,e=Pa,f=0,g=0,h=0,j=0;switch(i[a+24>>0]|0){case 1:{g=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;f=a+40|0;b=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,h|0,b|0)|0;h=M;g=k[a>>2]|0;f=k[g>>2]|0;if(!((h|0)<0|((h|0)==0?b>>>0<((k[g+4>>2]|0)-f|0)>>>0:0))){h=0;return h|0}d=da(i[f+b>>0]|0);e=da(d/da(127.0));o[c>>2]=(i[a+32>>0]|0)==0?d:e;h=c+4|0;k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;h=1;return h|0}case 2:{j=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=Fp(io(k[h>>2]|0,k[h+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,2,0)|0;j=M;h=k[a>>2]|0;f=k[h>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((k[h+4>>2]|0)-f|0)>>>0:0)){j=0;return j|0}j=f+b|0;j=l[j>>0]|l[j+1>>0]<<8;b=(j&65535)>>>8&255;d=da((j&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=da(b<<24>>24)}else{d=da(d/da(127.0));o[c>>2]=d;d=da(da(b<<24>>24)/da(127.0))}o[c+4>>2]=d;j=c+8|0;k[j>>2]=0;k[j+4>>2]=0;j=1;return j|0}case 3:{g=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,h|0,b|0)|0;h=Fp(b|0,M|0,3,0)|0;g=M;j=k[a>>2]|0;f=k[j>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((k[j+4>>2]|0)-f|0)>>>0:0)){j=0;return j|0}j=f+b|0;f=i[j+1>>0]|0;b=i[j+2>>0]|0;d=da(i[j>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=da(b<<24>>24);d=da(f<<24>>24)}else{e=da(d/da(127.0));o[c>>2]=e;e=da(da(b<<24>>24)/da(127.0));d=da(da(f<<24>>24)/da(127.0))}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=da(0.0);j=1;return j|0}case 4:{g=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,h|0,b|0)|0;h=Fp(b|0,M|0,4,0)|0;g=M;j=k[a>>2]|0;f=k[j>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((k[j+4>>2]|0)-f|0)>>>0:0)){j=0;return j|0}j=f+b|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;b=j>>>8&255;f=j>>>16&255;g=j>>>24&255;d=da((j&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=da(b<<24>>24);o[c+4>>2]=e;e=da(f<<24>>24);o[c+8>>2]=e;e=da(g<<24>>24);o[c+12>>2]=e;j=1;return j|0}else{e=da(d/da(127.0));o[c>>2]=e;e=da(da(b<<24>>24)/da(127.0));o[c+4>>2]=e;e=da(da(f<<24>>24)/da(127.0));o[c+8>>2]=e;e=da(da(g<<24>>24)/da(127.0));o[c+12>>2]=e;j=1;return j|0}}default:{j=0;return j|0}}return 0}function Xc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=Pa,f=0,g=0,h=0,j=Pa;switch(i[a+24>>0]|0){case 1:{h=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;f=a+40|0;b=Fp(io(k[f>>2]|0,k[f+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,4,0)|0;h=M;f=k[a>>2]|0;d=k[f>>2]|0;if((h|0)>0|((h|0)==0?g>>>0>((k[f+4>>2]|0)-d|0)>>>0:0)){h=0;return h|0}h=d+b|0;j=da((l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24)>>>0);e=da(j*da(2.32830644e-10));o[c>>2]=(i[a+32>>0]|0)==0?j:e;o[c+4>>2]=da(0.0);h=1;return h|0}case 2:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=Fp(io(k[h>>2]|0,k[h+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,8,0)|0;f=M;h=k[a>>2]|0;d=k[h>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[h+4>>2]|0)-d|0)>>>0:0)){h=0;return h|0}b=d+b|0;h=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=da((l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=e;j=da(b>>>0);o[c+4>>2]=j;h=1;return h|0}else{j=da(e*da(2.32830644e-10));o[c>>2]=j;j=da(da(b>>>0)*da(2.32830644e-10));o[c+4>>2]=j;h=1;return h|0}}case 3:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=Fp(io(k[h>>2]|0,k[h+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,12,0)|0;f=M;h=k[a>>2]|0;d=k[h>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[h+4>>2]|0)-d|0)>>>0:0)){h=0;return h|0}h=d+b|0;b=h+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=da((l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=e;j=da(b>>>0);o[c+4>>2]=j;h=1;return h|0}else{j=da(e*da(2.32830644e-10));o[c>>2]=j;j=da(da(b>>>0)*da(2.32830644e-10));o[c+4>>2]=j;h=1;return h|0}}case 4:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=Fp(io(k[h>>2]|0,k[h+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,16,0)|0;f=M;h=k[a>>2]|0;d=k[h>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[h+4>>2]|0)-d|0)>>>0:0)){h=0;return h|0}h=d+b|0;b=h+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=da((l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=e;j=da(b>>>0);o[c+4>>2]=j;h=1;return h|0}else{j=da(e*da(2.32830644e-10));o[c>>2]=j;j=da(da(b>>>0)*da(2.32830644e-10));o[c+4>>2]=j;h=1;return h|0}}default:{h=0;return h|0}}return 0}function Yc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}e=b+d|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;f=c;k[f>>2]=e;k[f+4>>2]=((e|0)<0)<<31>>31;f=c+8|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,8,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;g=f;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;a=zo(0,g|0,32)|0;e=c;k[e>>2]=a;k[e+4>>2]=M;f=zo(g|0,f|0,32)|0;g=c+8|0;k[g>>2]=f;k[g+4>>2]=M;g=c+16|0;k[g>>2]=0;k[g+4>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,12,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;a=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;e=f+4|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;f=f+8|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=a;k[g+4>>2]=((a|0)<0)<<31>>31;g=c+8|0;k[g>>2]=e;k[g+4>>2]=((e|0)<0)<<31>>31;g=c+16|0;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,16,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;a=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;e=f+4|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;f=f+8|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=a;k[g+4>>2]=((a|0)<0)<<31>>31;g=c+8|0;k[g>>2]=e;k[g+4>>2]=((e|0)<0)<<31>>31;g=c+16|0;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=1;return g|0}default:{g=0;return g|0}}return 0}function Zc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;if((b|0)<0)return;m=a+12|0;l=k[m>>2]|0;d=k[a+8>>2]|0;c=l;if(l-d>>2>>>0<=b>>>0)return;e=d+(b<<2)|0;l=k[(k[e>>2]|0)+56>>2]|0;d=e+4|0;if((d|0)!=(c|0)){do{h=k[d>>2]|0;k[d>>2]=0;i=k[e>>2]|0;k[e>>2]=h;if(i|0){h=i+88|0;f=k[h>>2]|0;k[h>>2]=0;if(f|0){g=k[f+8>>2]|0;if(g|0){h=f+12|0;if((k[h>>2]|0)!=(g|0))k[h>>2]=g;_r(g)}_r(f)}f=k[i+68>>2]|0;if(f|0){g=i+72|0;h=k[g>>2]|0;if((h|0)!=(f|0))k[g>>2]=h+(~((h+-4-f|0)>>>2)<<2);_r(f)}h=i+64|0;f=k[h>>2]|0;k[h>>2]=0;if(f|0){g=k[f>>2]|0;if(g|0){h=f+4|0;if((k[h>>2]|0)!=(g|0))k[h>>2]=g;_r(g)}_r(f)}_r(i)}d=d+4|0;e=e+4|0}while((d|0)!=(c|0));c=k[m>>2]|0;if((c|0)!=(e|0))j=24}else j=24;if((j|0)==24)do{j=c+-4|0;k[m>>2]=j;g=k[j>>2]|0;k[j>>2]=0;if(g|0){j=g+88|0;c=k[j>>2]|0;k[j>>2]=0;if(c|0){d=k[c+8>>2]|0;if(d|0){f=c+12|0;if((k[f>>2]|0)!=(d|0))k[f>>2]=d;_r(d)}_r(c)}c=k[g+68>>2]|0;if(c|0){d=g+72|0;f=k[d>>2]|0;if((f|0)!=(c|0))k[d>>2]=f+(~((f+-4-c|0)>>>2)<<2);_r(c)}j=g+64|0;c=k[j>>2]|0;k[j>>2]=0;if(c|0){d=k[c>>2]|0;if(d|0){f=c+4|0;if((k[f>>2]|0)!=(d|0))k[f>>2]=d;_r(d)}_r(c)}_r(g)}c=k[m>>2]|0}while((c|0)!=(e|0));a:do if((l|0)<4){c=k[a+20+(l*12|0)>>2]|0;h=a+20+(l*12|0)+4|0;d=k[h>>2]|0;e=d;b:do if((c|0)!=(d|0))while(1){if((k[c>>2]|0)==(b|0))break b;c=c+4|0;if((c|0)==(d|0))break a}while(0);if((c|0)!=(d|0)){f=c+4|0;e=e-f|0;g=e>>2;if(g){mn(c|0,f|0,e|0)|0;d=k[h>>2]|0}c=c+(g<<2)|0;if((d|0)!=(c|0))k[h>>2]=d+(~((d+-4-c|0)>>>2)<<2)}}while(0);c=k[a+24>>2]|0;d=k[a+20>>2]|0;g=d;if((c|0)!=(d|0)){d=c-d>>2;c=0;do{e=g+(c<<2)|0;f=k[e>>2]|0;if((f|0)>(b|0))k[e>>2]=f+-1;c=c+1|0}while(c>>>0>>0)}c=k[a+36>>2]|0;d=k[a+32>>2]|0;g=d;if((c|0)!=(d|0)){d=c-d>>2;c=0;do{e=g+(c<<2)|0;f=k[e>>2]|0;if((f|0)>(b|0))k[e>>2]=f+-1;c=c+1|0}while(c>>>0>>0)}c=k[a+48>>2]|0;d=k[a+44>>2]|0;g=d;if((c|0)!=(d|0)){d=c-d>>2;c=0;do{e=g+(c<<2)|0;f=k[e>>2]|0;if((f|0)>(b|0))k[e>>2]=f+-1;c=c+1|0}while(c>>>0>>0)}d=k[a+60>>2]|0;c=k[a+56>>2]|0;g=c;if((d|0)==(c|0))return;d=d-c>>2;c=0;do{e=g+(c<<2)|0;f=k[e>>2]|0;if((f|0)>(b|0))k[e>>2]=f+-1;c=c+1|0}while(c>>>0>>0);return}function _c(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=Pa,f=0,g=0,h=0,j=Pa;switch(i[a+24>>0]|0){case 1:{h=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;f=a+40|0;b=Fp(io(k[f>>2]|0,k[f+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,4,0)|0;h=M;f=k[a>>2]|0;d=k[f>>2]|0;if((h|0)>0|((h|0)==0?g>>>0>((k[f+4>>2]|0)-d|0)>>>0:0)){h=0;return h|0}h=d+b|0;j=da(l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24|0);e=da(j*da(4.65661287e-10));o[c>>2]=(i[a+32>>0]|0)==0?j:e;o[c+4>>2]=da(0.0);h=1;return h|0}case 2:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=Fp(io(k[h>>2]|0,k[h+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,8,0)|0;f=M;h=k[a>>2]|0;d=k[h>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[h+4>>2]|0)-d|0)>>>0:0)){h=0;return h|0}b=d+b|0;h=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=da(l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=e;j=da(b|0);o[c+4>>2]=j;h=1;return h|0}else{j=da(e*da(4.65661287e-10));o[c>>2]=j;j=da(da(b|0)*da(4.65661287e-10));o[c+4>>2]=j;h=1;return h|0}}case 3:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=Fp(io(k[h>>2]|0,k[h+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,12,0)|0;f=M;h=k[a>>2]|0;d=k[h>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[h+4>>2]|0)-d|0)>>>0:0)){h=0;return h|0}h=d+b|0;b=h+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=da(l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=e;j=da(b|0);o[c+4>>2]=j;h=1;return h|0}else{j=da(e*da(4.65661287e-10));o[c>>2]=j;j=da(da(b|0)*da(4.65661287e-10));o[c+4>>2]=j;h=1;return h|0}}case 4:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=Fp(io(k[h>>2]|0,k[h+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,16,0)|0;f=M;h=k[a>>2]|0;d=k[h>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[h+4>>2]|0)-d|0)>>>0:0)){h=0;return h|0}h=d+b|0;b=h+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=da(l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=e;j=da(b|0);o[c+4>>2]=j;h=1;return h|0}else{j=da(e*da(4.65661287e-10));o[c>>2]=j;j=da(da(b|0)*da(4.65661287e-10));o[c+4>>2]=j;h=1;return h|0}}default:{h=0;return h|0}}return 0}function $c(a,b,c){a=a|0;b=b|0;c=c|0;var d=Pa,e=Pa,f=0,g=0,h=0,j=0;switch(i[a+24>>0]|0){case 1:{g=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;f=a+40|0;b=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,h|0,b|0)|0;h=M;g=k[a>>2]|0;f=k[g>>2]|0;if(!((h|0)<0|((h|0)==0?b>>>0<((k[g+4>>2]|0)-f|0)>>>0:0))){h=0;return h|0}d=da(l[f+b>>0]|0);e=da(d/da(255.0));o[c>>2]=(i[a+32>>0]|0)==0?d:e;h=c+4|0;k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;h=1;return h|0}case 2:{j=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=Fp(io(k[h>>2]|0,k[h+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,2,0)|0;j=M;h=k[a>>2]|0;f=k[h>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((k[h+4>>2]|0)-f|0)>>>0:0)){j=0;return j|0}j=f+b|0;j=l[j>>0]|l[j+1>>0]<<8;b=(j&65535)>>>8&255;d=da(j&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=da(b&255)}else{d=da(d/da(255.0));o[c>>2]=d;d=da(da(b&255)/da(255.0))}o[c+4>>2]=d;j=c+8|0;k[j>>2]=0;k[j+4>>2]=0;j=1;return j|0}case 3:{g=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,h|0,b|0)|0;h=Fp(b|0,M|0,3,0)|0;g=M;j=k[a>>2]|0;f=k[j>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((k[j+4>>2]|0)-f|0)>>>0:0)){j=0;return j|0}j=f+b|0;f=i[j+1>>0]|0;b=i[j+2>>0]|0;d=da(l[j>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=da(b&255);d=da(f&255)}else{e=da(d/da(255.0));o[c>>2]=e;e=da(da(b&255)/da(255.0));d=da(da(f&255)/da(255.0))}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=da(0.0);j=1;return j|0}case 4:{g=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,h|0,b|0)|0;h=Fp(b|0,M|0,4,0)|0;g=M;j=k[a>>2]|0;f=k[j>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((k[j+4>>2]|0)-f|0)>>>0:0)){j=0;return j|0}j=f+b|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;b=j>>>8&255;f=j>>>16&255;g=j>>>24&255;d=da(j&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=da(b&255);o[c+4>>2]=e;e=da(f&255);o[c+8>>2]=e;e=da(g&255);o[c+12>>2]=e;j=1;return j|0}else{e=da(d/da(255.0));o[c>>2]=e;e=da(da(b&255)/da(255.0));o[c+4>>2]=e;e=da(da(f&255)/da(255.0));o[c+8>>2]=e;e=da(da(g&255)/da(255.0));o[c+12>>2]=e;j=1;return j|0}}default:{j=0;return j|0}}return 0}function ad(a,b,c){a=a|0;b=b|0;c=c|0;var d=Pa,e=0,f=0,g=0,h=0,j=Pa;switch(i[a+24>>0]|0){case 1:{h=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;f=a+40|0;b=Fp(io(k[f>>2]|0,k[f+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,2,0)|0;h=M;f=k[a>>2]|0;e=k[f>>2]|0;if((h|0)>0|((h|0)==0?g>>>0>((k[f+4>>2]|0)-e|0)>>>0:0)){h=0;return h|0}h=e+b|0;j=da((l[h>>0]|l[h+1>>0]<<8)<<16>>16);d=da(j/da(32767.0));o[c>>2]=(i[a+32>>0]|0)==0?j:d;o[c+4>>2]=da(0.0);h=1;return h|0}case 2:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=Fp(io(k[h>>2]|0,k[h+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,4,0)|0;f=M;h=k[a>>2]|0;e=k[h>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[h+4>>2]|0)-e|0)>>>0:0)){h=0;return h|0}h=e+b|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;b=h>>>16&65535;d=da((h&65535)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;j=da(b<<16>>16);o[c+4>>2]=j;h=1;return h|0}else{j=da(d/da(32767.0));o[c>>2]=j;j=da(da(b<<16>>16)/da(32767.0));o[c+4>>2]=j;h=1;return h|0}}case 3:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=Fp(io(k[h>>2]|0,k[h+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,6,0)|0;f=M;h=k[a>>2]|0;e=k[h>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[h+4>>2]|0)-e|0)>>>0:0)){h=0;return h|0}h=e+b|0;b=h+2|0;b=l[b>>0]|l[b+1>>0]<<8;d=da((l[h>>0]|l[h+1>>0]<<8)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;j=da(b<<16>>16);o[c+4>>2]=j;h=1;return h|0}else{j=da(d/da(32767.0));o[c>>2]=j;j=da(da(b<<16>>16)/da(32767.0));o[c+4>>2]=j;h=1;return h|0}}case 4:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=Fp(io(k[h>>2]|0,k[h+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,8,0)|0;f=M;h=k[a>>2]|0;e=k[h>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[h+4>>2]|0)-e|0)>>>0:0)){h=0;return h|0}b=e+b|0;g=b;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=b+4|0;h=(i[a+32>>0]|0)==0;b=(So(g|0,l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24|0,16)|0)&65535;d=da((g&65535)<<16>>16);if(h){o[c>>2]=d;j=da(b<<16>>16);o[c+4>>2]=j;h=1;return h|0}else{j=da(d/da(32767.0));o[c>>2]=j;j=da(da(b<<16>>16)/da(32767.0));o[c+4>>2]=j;h=1;return h|0}}default:{h=0;return h|0}}return 0}function bd(a,b,c){a=a|0;b=b|0;c=c|0;var d=Pa,e=0,f=0,g=0,h=Pa,j=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;e=a+40|0;b=Fp(io(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=M;f=k[a>>2]|0;e=k[f>>2]|0;if(!((g|0)<0|((g|0)==0?b>>>0<((k[f+4>>2]|0)-e|0)>>>0:0))){g=0;return g|0}h=da(i[e+b>>0]|0);d=da(h/da(127.0));o[c>>2]=(i[a+32>>0]|0)==0?h:d;g=c+4|0;k[g>>2]=0;k[g+4>>2]=0;g=1;return g|0}case 2:{j=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=Fp(io(k[g>>2]|0,k[g+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;f=Fp(b|0,M|0,2,0)|0;j=M;g=k[a>>2]|0;e=k[g>>2]|0;if((j|0)>0|((j|0)==0?f>>>0>((k[g+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+b|0;j=l[j>>0]|l[j+1>>0]<<8;b=(j&65535)>>>8&255;d=da((j&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=da(b<<24>>24)}else{d=da(d/da(127.0));o[c>>2]=d;d=da(da(b<<24>>24)/da(127.0))}o[c+4>>2]=d;o[c+8>>2]=da(0.0);j=1;return j|0}case 3:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,3,0)|0;f=M;j=k[a>>2]|0;e=k[j>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[j+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+b|0;b=i[j+1>>0]|0;e=i[j+2>>0]|0;d=da(i[j>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;h=da(b<<24>>24);o[c+4>>2]=h;h=da(e<<24>>24);o[c+8>>2]=h;j=1;return j|0}else{h=da(d/da(127.0));o[c>>2]=h;h=da(da(b<<24>>24)/da(127.0));o[c+4>>2]=h;h=da(da(e<<24>>24)/da(127.0));o[c+8>>2]=h;j=1;return j|0}}case 4:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,4,0)|0;f=M;j=k[a>>2]|0;e=k[j>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[j+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+b|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;b=j>>>8&255;e=j>>>16&255;d=da((j&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;h=da(b<<24>>24);o[c+4>>2]=h;h=da(e<<24>>24);o[c+8>>2]=h;j=1;return j|0}else{h=da(d/da(127.0));o[c>>2]=h;h=da(da(b<<24>>24)/da(127.0));o[c+4>>2]=h;h=da(da(e<<24>>24)/da(127.0));o[c+8>>2]=h;j=1;return j|0}}default:{j=0;return j|0}}return 0}function cd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)_r(c);k[d>>2]=0;return}if(b>>>0>1073741823){a=Ma(4)|0;Cr(a);wa(a|0,1344,125)}q=jo(b<<2)|0;c=k[a>>2]|0;k[a>>2]=q;if(c|0)_r(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;p=b+-1|0;q=(p&b|0)==0;if(q)c=c&p;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){o=c;b:while(1){c:do if(q){c=d;while(1){n=k[c+4>>2]&p;if((n|0)==(e|0))break c;d=(k[a>>2]|0)+(n<<2)|0;if(!(k[d>>2]|0)){e=n;break b}i=c+10|0;l=c+12|0;m=c+14|0;g=k[c>>2]|0;d:do if(!g)d=c;else{h=j[c+8>>1]|0;d=c;while(1){if(h<<16>>16!=(j[g+8>>1]|0))break d;if((j[i>>1]|0)!=(j[g+10>>1]|0))break d;if((j[l>>1]|0)!=(j[g+12>>1]|0))break d;if((j[m>>1]|0)!=(j[g+14>>1]|0))break d;d=k[g>>2]|0;if(!d){d=g;break}else{r=g;g=d;d=r}}}while(0);k[o>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(n<<2)>>2]>>2];k[k[(k[a>>2]|0)+(n<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=40;break a}}}else{c=d;while(1){n=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((n|0)==(e|0))break c;d=(k[a>>2]|0)+(n<<2)|0;if(!(k[d>>2]|0)){e=n;break b}h=c+10|0;i=c+12|0;l=c+14|0;g=k[c>>2]|0;e:do if(!g)d=c;else{m=j[c+8>>1]|0;d=c;while(1){if(m<<16>>16!=(j[g+8>>1]|0))break e;if((j[h>>1]|0)!=(j[g+10>>1]|0))break e;if((j[i>>1]|0)!=(j[g+12>>1]|0))break e;if((j[l>>1]|0)!=(j[g+14>>1]|0))break e;d=k[g>>2]|0;if(!d){d=g;break}else{r=g;g=d;d=r}}}while(0);k[o>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(n<<2)>>2]>>2];k[k[(k[a>>2]|0)+(n<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=40;break a}}}while(0);d=k[c>>2]|0;if(!d){c=40;break a}else{f=c;o=c}}k[d>>2]=o;d=k[c>>2]|0;if(!d){c=40;break}else f=c}if((c|0)==40)return}function dd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=Pa,j=Pa;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}f=b+d|0;i[s>>0]=i[f>>0];i[s+1>>0]=i[f+1>>0];i[s+2>>0]=i[f+2>>0];i[s+3>>0]=i[f+3>>0];f=~~da(o[s>>2]);k[c>>2]=f;k[c+4>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,8,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;f=g;g=g+4|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;f=~~(k[s>>2]=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24,da(o[s>>2]));k[c>>2]=f;g=~~(k[s>>2]=g,da(o[s>>2]));k[c+4>>2]=g;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,12,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;i[s>>0]=i[g>>0];i[s+1>>0]=i[g+1>>0];i[s+2>>0]=i[g+2>>0];i[s+3>>0]=i[g+3>>0];j=da(o[s>>2]);g=g+4|0;i[s>>0]=i[g>>0];i[s+1>>0]=i[g+1>>0];i[s+2>>0]=i[g+2>>0];i[s+3>>0]=i[g+3>>0];h=da(o[s>>2]);k[c>>2]=~~j;k[c+4>>2]=~~h;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,16,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;i[s>>0]=i[g>>0];i[s+1>>0]=i[g+1>>0];i[s+2>>0]=i[g+2>>0];i[s+3>>0]=i[g+3>>0];h=da(o[s>>2]);g=g+4|0;i[s>>0]=i[g>>0];i[s+1>>0]=i[g+1>>0];i[s+2>>0]=i[g+2>>0];i[s+3>>0]=i[g+3>>0];j=da(o[s>>2]);k[c>>2]=~~h;k[c+4>>2]=~~j;g=1;return g|0}default:{g=0;return g|0}}return 0}function ed(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)_r(c);k[d>>2]=0;return}if(b>>>0>1073741823){a=Ma(4)|0;Cr(a);wa(a|0,1344,125)}p=jo(b<<2)|0;c=k[a>>2]|0;k[a>>2]=p;if(c|0)_r(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;o=b+-1|0;p=(o&b|0)==0;if(p)c=c&o;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){n=c;b:while(1){c:do if(p){c=d;while(1){m=k[c+4>>2]&o;if((m|0)==(e|0))break c;d=(k[a>>2]|0)+(m<<2)|0;if(!(k[d>>2]|0)){e=m;break b}i=c+12|0;j=c+16|0;l=c+20|0;g=k[c>>2]|0;d:do if(!g)d=c;else{h=k[c+8>>2]|0;d=c;while(1){if((h|0)!=(k[g+8>>2]|0))break d;if((k[i>>2]|0)!=(k[g+12>>2]|0))break d;if((k[j>>2]|0)!=(k[g+16>>2]|0))break d;if((k[l>>2]|0)!=(k[g+20>>2]|0))break d;d=k[g>>2]|0;if(!d){d=g;break}else{q=g;g=d;d=q}}}while(0);k[n>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=40;break a}}}else{c=d;while(1){m=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((m|0)==(e|0))break c;d=(k[a>>2]|0)+(m<<2)|0;if(!(k[d>>2]|0)){e=m;break b}h=c+12|0;i=c+16|0;j=c+20|0;g=k[c>>2]|0;e:do if(!g)d=c;else{l=k[c+8>>2]|0;d=c;while(1){if((l|0)!=(k[g+8>>2]|0))break e;if((k[h>>2]|0)!=(k[g+12>>2]|0))break e;if((k[i>>2]|0)!=(k[g+16>>2]|0))break e;if((k[j>>2]|0)!=(k[g+20>>2]|0))break e;d=k[g>>2]|0;if(!d){d=g;break}else{q=g;g=d;d=q}}}while(0);k[n>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=40;break a}}}while(0);d=k[c>>2]|0;if(!d){c=40;break a}else{f=c;n=c}}k[d>>2]=n;d=k[c>>2]|0;if(!d){c=40;break}else f=c}if((c|0)==40)return}function fd(a,b){a=a|0;b=b|0;var 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;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)_r(c);k[d>>2]=0;return}if(b>>>0>1073741823){a=Ma(4)|0;Cr(a);wa(a|0,1344,125)}q=jo(b<<2)|0;c=k[a>>2]|0;k[a>>2]=q;if(c|0)_r(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;p=b+-1|0;q=(p&b|0)==0;if(q)c=c&p;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){o=c;b:while(1){c:do if(q){c=d;while(1){n=k[c+4>>2]&p;if((n|0)==(e|0))break c;d=(k[a>>2]|0)+(n<<2)|0;if(!(k[d>>2]|0)){e=n;break b}j=c+9|0;l=c+10|0;m=c+11|0;g=k[c>>2]|0;d:do if(!g)d=c;else{h=i[c+8>>0]|0;d=c;while(1){if(h<<24>>24!=(i[g+8>>0]|0))break d;if((i[j>>0]|0)!=(i[g+9>>0]|0))break d;if((i[l>>0]|0)!=(i[g+10>>0]|0))break d;if((i[m>>0]|0)!=(i[g+11>>0]|0))break d;d=k[g>>2]|0;if(!d){d=g;break}else{r=g;g=d;d=r}}}while(0);k[o>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(n<<2)>>2]>>2];k[k[(k[a>>2]|0)+(n<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=40;break a}}}else{c=d;while(1){n=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((n|0)==(e|0))break c;d=(k[a>>2]|0)+(n<<2)|0;if(!(k[d>>2]|0)){e=n;break b}h=c+9|0;j=c+10|0;l=c+11|0;g=k[c>>2]|0;e:do if(!g)d=c;else{m=i[c+8>>0]|0;d=c;while(1){if(m<<24>>24!=(i[g+8>>0]|0))break e;if((i[h>>0]|0)!=(i[g+9>>0]|0))break e;if((i[j>>0]|0)!=(i[g+10>>0]|0))break e;if((i[l>>0]|0)!=(i[g+11>>0]|0))break e;d=k[g>>2]|0;if(!d){d=g;break}else{r=g;g=d;d=r}}}while(0);k[o>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(n<<2)>>2]>>2];k[k[(k[a>>2]|0)+(n<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=40;break a}}}while(0);d=k[c>>2]|0;if(!d){c=40;break a}else{f=c;o=c}}k[d>>2]=o;d=k[c>>2]|0;if(!d){c=40;break}else f=c}if((c|0)==40)return}function gd(a,b,c){a=a|0;b=b|0;c=c|0;var d=Pa,e=0,f=0,g=0,h=0,j=Pa;switch(i[a+24>>0]|0){case 1:{h=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;f=a+40|0;b=Fp(io(k[f>>2]|0,k[f+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,2,0)|0;h=M;f=k[a>>2]|0;e=k[f>>2]|0;if((h|0)>0|((h|0)==0?g>>>0>((k[f+4>>2]|0)-e|0)>>>0:0)){h=0;return h|0}h=e+b|0;j=da((l[h>>0]|l[h+1>>0]<<8)&65535);d=da(j/da(65535.0));o[c>>2]=(i[a+32>>0]|0)==0?j:d;o[c+4>>2]=da(0.0);h=1;return h|0}case 2:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=Fp(io(k[h>>2]|0,k[h+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,4,0)|0;f=M;h=k[a>>2]|0;e=k[h>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[h+4>>2]|0)-e|0)>>>0:0)){h=0;return h|0}h=e+b|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;b=h>>>16&65535;d=da(h&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;j=da(b&65535);o[c+4>>2]=j;h=1;return h|0}else{j=da(d/da(65535.0));o[c>>2]=j;j=da(da(b&65535)/da(65535.0));o[c+4>>2]=j;h=1;return h|0}}case 3:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=Fp(io(k[h>>2]|0,k[h+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,6,0)|0;f=M;h=k[a>>2]|0;e=k[h>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[h+4>>2]|0)-e|0)>>>0:0)){h=0;return h|0}h=e+b|0;b=h+2|0;b=l[b>>0]|l[b+1>>0]<<8;d=da((l[h>>0]|l[h+1>>0]<<8)&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;j=da(b&65535);o[c+4>>2]=j;h=1;return h|0}else{j=da(d/da(65535.0));o[c>>2]=j;j=da(da(b&65535)/da(65535.0));o[c+4>>2]=j;h=1;return h|0}}case 4:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=Fp(io(k[h>>2]|0,k[h+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,8,0)|0;f=M;h=k[a>>2]|0;e=k[h>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[h+4>>2]|0)-e|0)>>>0:0)){h=0;return h|0}b=e+b|0;g=b;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=b+4|0;h=(i[a+32>>0]|0)==0;b=(So(g|0,l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24|0,16)|0)&65535;d=da(g&65535);if(h){o[c>>2]=d;j=da(b&65535);o[c+4>>2]=j;h=1;return h|0}else{j=da(d/da(65535.0));o[c>>2]=j;j=da(da(b&65535)/da(65535.0));o[c+4>>2]=j;h=1;return h|0}}default:{h=0;return h|0}}return 0}function hd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}e=b+d|0;e=(l[e>>0]|l[e+1>>0]<<8)<<16>>16;f=c;k[f>>2]=e;k[f+4>>2]=((e|0)<0)<<31>>31;f=c+8|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;e=(f&65535)<<16>>16;g=c;k[g>>2]=e;k[g+4>>2]=((e|0)<0)<<31>>31;f=(f>>>16&65535)<<16>>16;g=c+8|0;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=c+16|0;k[g>>2]=0;k[g+4>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,6,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}a=b+d|0;e=a+2|0;e=l[e>>0]|l[e+1>>0]<<8;f=a+4|0;f=l[f>>0]|l[f+1>>0]<<8;a=(l[a>>0]|l[a+1>>0]<<8)<<16>>16;g=c;k[g>>2]=a;k[g+4>>2]=((a|0)<0)<<31>>31;e=e<<16>>16;g=c+8|0;k[g>>2]=e;k[g+4>>2]=((e|0)<0)<<31>>31;f=f<<16>>16;g=c+16|0;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,8,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;g=f;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;e=zo(No(g|0,f|0,48)|0,M|0,48)|0;a=c;k[a>>2]=e;k[a+4>>2]=M;a=zo(0,g|0,48)|0;e=c+8|0;k[e>>2]=a;k[e+4>>2]=M;f=zo(No(g|0,f|0,16)|0,M|0,48)|0;g=c+16|0;k[g>>2]=f;k[g+4>>2]=M;g=1;return g|0}default:{g=0;return g|0}}return 0}function id(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=Pa,h=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}e=b+d|0;i[s>>0]=i[e>>0];i[s+1>>0]=i[e+1>>0];i[s+2>>0]=i[e+2>>0];i[s+3>>0]=i[e+3>>0];g=da(o[s>>2]);e=+O(+g)>=1.0?(+g>0.0?~~+aa(+N(+g/4294967296.0),4294967295.0)>>>0:~~+_((+g-+(~~+g>>>0))/4294967296.0)>>>0):0;f=c;k[f>>2]=~~+g>>>0;k[f+4>>2]=e;f=1;return f|0}case 2:{h=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,8,0)|0;h=M;f=k[a>>2]|0;b=k[f>>2]|0;if((h|0)>0|((h|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){h=0;return h|0}f=b+d|0;g=(k[s>>2]=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24,da(o[s>>2]));f=+O(+g)>=1.0?(+g>0.0?~~+aa(+N(+g/4294967296.0),4294967295.0)>>>0:~~+_((+g-+(~~+g>>>0))/4294967296.0)>>>0):0;h=c;k[h>>2]=~~+g>>>0;k[h+4>>2]=f;h=1;return h|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;h=a+40|0;d=Fp(io(k[h>>2]|0,k[h+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,12,0)|0;e=M;h=k[a>>2]|0;b=k[h>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[h+4>>2]|0)-b|0)>>>0:0)){h=0;return h|0}f=b+d|0;i[s>>0]=i[f>>0];i[s+1>>0]=i[f+1>>0];i[s+2>>0]=i[f+2>>0];i[s+3>>0]=i[f+3>>0];g=da(o[s>>2]);f=+O(+g)>=1.0?(+g>0.0?~~+aa(+N(+g/4294967296.0),4294967295.0)>>>0:~~+_((+g-+(~~+g>>>0))/4294967296.0)>>>0):0;h=c;k[h>>2]=~~+g>>>0;k[h+4>>2]=f;h=1;return h|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;h=a+40|0;d=Fp(io(k[h>>2]|0,k[h+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,16,0)|0;e=M;h=k[a>>2]|0;b=k[h>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[h+4>>2]|0)-b|0)>>>0:0)){h=0;return h|0}f=b+d|0;i[s>>0]=i[f>>0];i[s+1>>0]=i[f+1>>0];i[s+2>>0]=i[f+2>>0];i[s+3>>0]=i[f+3>>0];g=da(o[s>>2]);f=+O(+g)>=1.0?(+g>0.0?~~+aa(+N(+g/4294967296.0),4294967295.0)>>>0:~~+_((+g-+(~~+g>>>0))/4294967296.0)>>>0):0;h=c;k[h>>2]=~~+g>>>0;k[h+4>>2]=f;h=1;return h|0}default:{h=0;return h|0}}return 0}function jd(a,b,c){a=a|0;b=b|0;c=c|0;var d=Pa,e=0,f=0,g=0,h=Pa,j=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;e=a+40|0;b=Fp(io(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=M;f=k[a>>2]|0;e=k[f>>2]|0;if(!((g|0)<0|((g|0)==0?b>>>0<((k[f+4>>2]|0)-e|0)>>>0:0))){g=0;return g|0}h=da(l[e+b>>0]|0);d=da(h/da(255.0));o[c>>2]=(i[a+32>>0]|0)==0?h:d;g=c+4|0;k[g>>2]=0;k[g+4>>2]=0;g=1;return g|0}case 2:{j=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=Fp(io(k[g>>2]|0,k[g+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;f=Fp(b|0,M|0,2,0)|0;j=M;g=k[a>>2]|0;e=k[g>>2]|0;if((j|0)>0|((j|0)==0?f>>>0>((k[g+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+b|0;j=l[j>>0]|l[j+1>>0]<<8;b=(j&65535)>>>8&255;d=da(j&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=da(b&255)}else{d=da(d/da(255.0));o[c>>2]=d;d=da(da(b&255)/da(255.0))}o[c+4>>2]=d;o[c+8>>2]=da(0.0);j=1;return j|0}case 3:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,3,0)|0;f=M;j=k[a>>2]|0;e=k[j>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[j+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+b|0;b=i[j+1>>0]|0;e=i[j+2>>0]|0;d=da(l[j>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;h=da(b&255);o[c+4>>2]=h;h=da(e&255);o[c+8>>2]=h;j=1;return j|0}else{h=da(d/da(255.0));o[c>>2]=h;h=da(da(b&255)/da(255.0));o[c+4>>2]=h;h=da(da(e&255)/da(255.0));o[c+8>>2]=h;j=1;return j|0}}case 4:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,4,0)|0;f=M;j=k[a>>2]|0;e=k[j>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[j+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+b|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;b=j>>>8&255;e=j>>>16&255;d=da(j&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;h=da(b&255);o[c+4>>2]=h;h=da(e&255);o[c+8>>2]=h;j=1;return j|0}else{h=da(d/da(255.0));o[c>>2]=h;h=da(da(b&255)/da(255.0));o[c+4>>2]=h;h=da(da(e&255)/da(255.0));o[c+8>>2]=h;j=1;return j|0}}default:{j=0;return j|0}}return 0}function kd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}e=b+d|0;f=c;k[f>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;k[f+4>>2]=0;f=c+8|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,8,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;e=f;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;k[g+4>>2]=0;g=c+8|0;k[g>>2]=f;k[g+4>>2]=0;g=c+16|0;k[g>>2]=0;k[g+4>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,12,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}a=b+d|0;e=a+4|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;f=a+8|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;k[g+4>>2]=0;g=c+8|0;k[g>>2]=e;k[g+4>>2]=0;g=c+16|0;k[g>>2]=f;k[g+4>>2]=0;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,16,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}a=b+d|0;e=a+4|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;f=a+8|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;k[g+4>>2]=0;g=c+8|0;k[g>>2]=e;k[g+4>>2]=0;g=c+16|0;k[g>>2]=f;k[g+4>>2]=0;g=1;return g|0}default:{g=0;return g|0}}return 0}function ld(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}e=b+d|0;f=c;k[f>>2]=(l[e>>0]|l[e+1>>0]<<8)&65535;k[f+4>>2]=0;f=c+8|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[f+16>>2]=0;k[f+20>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=f&65535;k[g+4>>2]=0;g=c+8|0;k[g>>2]=f>>>16;k[g+4>>2]=0;g=c+16|0;k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;k[g+12>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,6,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}a=b+d|0;e=a+2|0;e=l[e>>0]|l[e+1>>0]<<8;f=a+4|0;f=l[f>>0]|l[f+1>>0]<<8;g=c;k[g>>2]=(l[a>>0]|l[a+1>>0]<<8)&65535;k[g+4>>2]=0;g=c+8|0;k[g>>2]=e&65535;k[g+4>>2]=0;g=c+16|0;k[g>>2]=f&65535;k[g+4>>2]=0;g=c+24|0;k[g>>2]=0;k[g+4>>2]=0;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,8,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;g=f;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;a=c;k[a>>2]=g&65535;k[a+4>>2]=0;a=So(g|0,f|0,16)|0;e=c+8|0;k[e>>2]=a&65535;k[e+4>>2]=0;e=c+16|0;k[e>>2]=f&65535;k[e+4>>2]=0;f=So(g|0,f|0,48)|0;g=c+24|0;k[g>>2]=f;k[g+4>>2]=M;g=1;return g|0}default:{g=0;return g|0}}return 0}function md(a,b,c){a=a|0;b=b|0;c=c|0;var 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,v=0,w=0;w=u;u=u+48|0;o=w+32|0;p=w+28|0;q=w+24|0;r=w+20|0;s=w+16|0;t=w;v=b+24|0;j=i[v>>0]|0;m=j<<24>>24;n=k[a+68>>2]|0;a=$(n,m)|0;k[t>>2]=k[1211];k[t+4>>2]=k[1212];k[t+8>>2]=k[1213];k[t+12>>2]=k[1214];d=c+4|0;g=k[d>>2]|0;f=k[c>>2]|0;e=g-f>>2;if(a>>>0<=e>>>0){if(a>>>0>>0?(h=f+(a<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else oj(c,a-e|0);if((n|0)<=0){v=1;u=w;return v|0}h=b+84|0;l=b+68|0;a:do if(j<<24>>24>0){f=0;g=0;while(1){if(!(i[h>>0]|0))a=k[(k[l>>2]|0)+(g<<2)>>2]|0;else a=g;switch(i[v>>0]|0){case 1:{k[p>>2]=a;k[o>>2]=k[p>>2];a=jg(b,o,t)|0;break}case 2:{k[q>>2]=a;k[o>>2]=k[q>>2];a=ig(b,o,t)|0;break}case 3:{k[r>>2]=a;k[o>>2]=k[r>>2];a=hg(b,o,t)|0;break}case 4:{k[s>>2]=a;k[o>>2]=k[s>>2];a=gg(b,o,t)|0;break}default:break a}if(!a){a=0;d=29;break}e=k[c>>2]|0;a=0;d=f;while(1){k[e+(d<<2)>>2]=k[t+(a<<2)>>2];a=a+1|0;if((a|0)==(m|0))break;else d=d+1|0}g=g+1|0;if((g|0)>=(n|0)){a=1;d=29;break}else f=m+f|0}if((d|0)==29){u=w;return a|0}}else{d=0;while(1){if(!(i[h>>0]|0))a=k[(k[l>>2]|0)+(d<<2)>>2]|0;else a=d;switch(i[v>>0]|0){case 1:{k[p>>2]=a;k[o>>2]=k[p>>2];a=jg(b,o,t)|0;break}case 2:{k[q>>2]=a;k[o>>2]=k[q>>2];a=ig(b,o,t)|0;break}case 3:{k[r>>2]=a;k[o>>2]=k[r>>2];a=hg(b,o,t)|0;break}case 4:{k[s>>2]=a;k[o>>2]=k[s>>2];a=gg(b,o,t)|0;break}default:break a}if(!a){a=0;d=29;break}d=d+1|0;if((d|0)>=(n|0)){a=1;d=29;break}}if((d|0)==29){u=w;return a|0}}while(0);v=0;u=w;return v|0}function nd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=M;a=k[a>>2]|0;b=k[a>>2]|0;if(!((e|0)<0|((e|0)==0?d>>>0<((k[a+4>>2]|0)-b|0)>>>0:0))){f=0;return f|0}e=i[b+d>>0]|0;f=c;k[f>>2]=e;k[f+4>>2]=((e|0)<0)<<31>>31;f=c+8|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[f+16>>2]=0;k[f+20>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;f=l[f>>0]|l[f+1>>0]<<8;e=(f&255)<<24>>24;g=c;k[g>>2]=e;k[g+4>>2]=((e|0)<0)<<31>>31;f=((f&65535)>>>8&255)<<24>>24;g=c+8|0;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=c+16|0;k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;k[g+12>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,3,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}a=b+d|0;e=i[a+1>>0]|0;f=i[a+2>>0]|0;a=i[a>>0]|0;g=c;k[g>>2]=a;k[g+4>>2]=((a|0)<0)<<31>>31;e=e<<24>>24;g=c+8|0;k[g>>2]=e;k[g+4>>2]=((e|0)<0)<<31>>31;f=f<<24>>24;g=c+16|0;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=c+24|0;k[g>>2]=0;k[g+4>>2]=0;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,4,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;e=(f&255)<<24>>24;g=c;k[g>>2]=e;k[g+4>>2]=((e|0)<0)<<31>>31;g=(f>>>8&255)<<24>>24;e=c+8|0;k[e>>2]=g;k[e+4>>2]=((g|0)<0)<<31>>31;e=(f>>>16&255)<<24>>24;g=c+16|0;k[g>>2]=e;k[g+4>>2]=((e|0)<0)<<31>>31;f=(f>>>24&255)<<24>>24;g=c+24|0;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=1;return g|0}default:{g=0;return g|0}}return 0}function od(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,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=u;u=u+64|0;E=F;e=E;f=e+40|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));a:do if(we(E,c)|0?af(E,c)|0:0){e=(a|0)>0;b:do if(e){if(!(k[E+12>>2]|0)){h=0;break a}Sh(c,0,0)|0;if(e){t=E+44|0;v=E+48|0;w=E+40|0;x=E+16|0;y=E+28|0;z=(b|0)>0;D=c+36|0;A=c+32|0;B=c+24|0;C=c+28|0;s=0;e=0;f=k[v>>2]|0;while(1){c:do if(f>>>0<16384){g=k[t>>2]|0;do{if((g|0)<=0)break c;r=k[w>>2]|0;g=g+-1|0;k[t>>2]=g;f=l[r+g>>0]|f<<8;k[v>>2]=f}while(f>>>0<16384)}while(0);p=f&4095;r=k[(k[x>>2]|0)+(p<<2)>>2]|0;q=k[y>>2]|0;f=($(k[q+(r<<3)>>2]|0,f>>>12)|0)+p-(k[q+(r<<3)+4>>2]|0)|0;k[v>>2]=f;if(z){q=(r|0)>0;if((r|0)<=-1){e=22;break}if((r|0)<33)p=0;else{e=21;break}while(1){if(!(i[D>>0]|0)){h=0;break a}if(q){n=k[B>>2]|0;o=k[C>>2]|0;g=0;m=0;j=k[A>>2]|0;do{h=n+(j>>>3)|0;if(h>>>0>>0){h=(l[h>>0]|0)>>>(j&7)&1;j=j+1|0;k[A>>2]=j}else h=0;g=h<>2]=g;p=p+1|0;if((p|0)>=(b|0)){e=h;break}else e=h}}s=s+b|0;if((s|0)>=(a|0))break b}if((e|0)==21){if(!(i[D>>0]|0)){h=0;break a}Ka(19261,19158,156,19253)}else if((e|0)==22){if(!(i[D>>0]|0)){h=0;break a}Ka(19143,19158,155,19253)}}}else Sh(c,0,0)|0;while(0);bn(c);h=1}else h=0;while(0);e=k[E+28>>2]|0;if(e|0){f=E+32|0;g=k[f>>2]|0;if((g|0)!=(e|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);_r(e)}e=k[E+16>>2]|0;if(e|0){f=E+20|0;g=k[f>>2]|0;if((g|0)!=(e|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);_r(e)}g=k[E>>2]|0;if(!g){u=F;return h|0}f=E+4|0;e=k[f>>2]|0;if((e|0)!=(g|0))k[f>>2]=e+(~((e+-4-g|0)>>>2)<<2);_r(g);u=F;return h|0}function pd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;x=e>>>0>1073741823?-1:e<<2;v=Xr(x)|0;_j(v|0,0,x|0)|0;w=Xr(x)|0;_j(w|0,0,x|0)|0;x=a+8|0;dj(x,v,b,c);s=k[a+32>>2]|0;t=a+40|0;h=k[t>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;r=g-f|0;u=r>>2;if((r|0)<=4){Yr(w);Yr(v);return 1}n=k[a+36>>2]|0;o=(e|0)>0;p=s+64|0;q=s+28|0;r=e<<2;d=1;a=h;while(1){if(g-f>>2>>>0<=d>>>0){Iq(a);f=k[a>>2]|0}m=k[f+(d<<2)>>2]|0;if(o)_j(v|0,0,r|0)|0;if((m|0)>-1){l=k[s>>2]|0;i=0;j=m;do{if(((k[l+(j>>>5<<2)>>2]&1<<(j&31)|0)==0?(y=k[(k[(k[p>>2]|0)+12>>2]|0)+(j<<2)>>2]|0,(y|0)>=0):0)?(B=k[q>>2]|0,h=k[n>>2]|0,z=k[h+(k[B+(y<<2)>>2]<<2)>>2]|0,A=y+1|0,A=k[h+(k[B+((((A|0)%3|0|0)==0?y+-2|0:A)<<2)>>2]<<2)>>2]|0,B=k[h+(k[B+((((y>>>0)%3|0|0)==0?2:-1)+y<<2)>>2]<<2)>>2]|0,(z|0)<(d|0)&(A|0)<(d|0)&(B|0)<(d|0)):0){a=$(z,e)|0;g=$(A,e)|0;h=$(B,e)|0;if(o){f=0;do{k[w+(f<<2)>>2]=(k[c+(f+h<<2)>>2]|0)+(k[c+(f+g<<2)>>2]|0)-(k[c+(f+a<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0));if(o){f=0;do{h=v+(f<<2)|0;k[h>>2]=(k[h>>2]|0)+(k[w+(f<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0))}}i=i+1|0}f=(((j>>>0)%3|0|0)==0?2:-1)+j|0;do if(!(k[l+(f>>>5<<2)>>2]&1<<(f&31))){if((f|0)>=0){f=k[(k[(k[p>>2]|0)+12>>2]|0)+(f<<2)>>2]|0;if((f|0)>=0)if(!((f>>>0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}}else f=-1073741824;while(0);j=(f|0)==(m|0)?-1073741824:f}while((j|0)>-1);f=$(d,e)|0;if(!i)C=29;else{if(o){a=0;do{m=v+(a<<2)|0;k[m>>2]=(k[m>>2]|0)/(i|0)|0;a=a+1|0}while((a|0)!=(e|0))}dj(x,v,b+(f<<2)|0,c+(f<<2)|0)}}else{f=$(d,e)|0;C=29}if((C|0)==29){C=0;dj(x,c+(($(d+-1|0,e)|0)<<2)|0,b+(f<<2)|0,c+(f<<2)|0)}d=d+1|0;if((d|0)>=(u|0))break;a=k[t>>2]|0;f=k[a>>2]|0;g=k[a+4>>2]|0}Yr(w);Yr(v);return 1}function qd(a,b){a=a|0;b=b|0;var 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;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)_r(c);k[d>>2]=0;return}if(b>>>0>1073741823){a=Ma(4)|0;Cr(a);wa(a|0,1344,125)}s=jo(b<<2)|0;c=k[a>>2]|0;k[a>>2]=s;if(c|0)_r(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;f=k[d>>2]|0;if(!f)return;c=k[f+4>>2]|0;r=b+-1|0;s=(r&b|0)==0;if(s)c=c&r;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[f>>2]|0;if(!d)return;else{q=c;e=f;c=f}a:while(1){p=c;b:while(1){c=d;while(1){d=k[c+4>>2]|0;if(s)o=d&r;else o=(d>>>0)%(b>>>0)|0;if((o|0)==(q|0))break;d=(k[a>>2]|0)+(o<<2)|0;if(!(k[d>>2]|0))break b;f=k[c>>2]|0;c:do if(!f)d=c;else{m=c+8|0;l=i[m+11>>0]|0;h=l<<24>>24<0;l=l&255;n=h?k[c+12>>2]|0:l;j=(n|0)==0;if(h){d=c;while(1){g=f+8|0;l=i[g+11>>0]|0;h=l<<24>>24<0;if((n|0)!=((h?k[f+12>>2]|0:l&255)|0))break c;if(!j?lm(k[m>>2]|0,h?k[g>>2]|0:g,n)|0:0)break c;d=k[f>>2]|0;if(!d){d=f;break c}else{l=f;f=d;d=l}}}if(j){d=c;while(1){n=i[f+8+11>>0]|0;if((n<<24>>24<0?k[f+12>>2]|0:n&255)|0)break c;d=k[f>>2]|0;if(!d){d=f;break c}else{n=f;f=d;d=n}}}d=c;while(1){g=f+8|0;j=i[g+11>>0]|0;h=j<<24>>24<0;if((n|0)!=((h?k[f+12>>2]|0:j&255)|0))break c;g=h?k[g>>2]|0:g;if((k[m>>2]&255)<<24>>24==(i[g>>0]|0)){j=l;h=m}else break c;while(1){j=j+-1|0;h=h+1|0;if(!j)break;g=g+1|0;if((i[h>>0]|0)!=(i[g>>0]|0))break c}d=k[f>>2]|0;if(!d){d=f;break}else{j=f;f=d;d=j}}}while(0);k[p>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(o<<2)>>2]>>2];k[k[(k[a>>2]|0)+(o<<2)>>2]>>2]=c;c=k[e>>2]|0;if(!c){c=41;break a}}d=k[c>>2]|0;if(!d){c=41;break a}else{e=c;p=c}}k[d>>2]=p;d=k[c>>2]|0;if(!d){c=41;break}else{q=o;e=c}}if((c|0)==41)return}function rd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;x=e>>>0>1073741823?-1:e<<2;v=Xr(x)|0;_j(v|0,0,x|0)|0;w=Xr(x)|0;_j(w|0,0,x|0)|0;x=a+8|0;gj(x,v,b,c);s=k[a+32>>2]|0;t=a+40|0;h=k[t>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;r=g-f|0;u=r>>2;if((r|0)<=4){Yr(w);Yr(v);return 1}n=k[a+36>>2]|0;o=(e|0)>0;p=s+64|0;q=s+28|0;r=e<<2;d=1;a=h;while(1){if(g-f>>2>>>0<=d>>>0){Iq(a);f=k[a>>2]|0}m=k[f+(d<<2)>>2]|0;if(o)_j(v|0,0,r|0)|0;if((m|0)>-1){l=k[s>>2]|0;i=0;j=m;do{if(((k[l+(j>>>5<<2)>>2]&1<<(j&31)|0)==0?(y=k[(k[(k[p>>2]|0)+12>>2]|0)+(j<<2)>>2]|0,(y|0)>=0):0)?(B=k[q>>2]|0,h=k[n>>2]|0,z=k[h+(k[B+(y<<2)>>2]<<2)>>2]|0,A=y+1|0,A=k[h+(k[B+((((A|0)%3|0|0)==0?y+-2|0:A)<<2)>>2]<<2)>>2]|0,B=k[h+(k[B+((((y>>>0)%3|0|0)==0?2:-1)+y<<2)>>2]<<2)>>2]|0,(z|0)<(d|0)&(A|0)<(d|0)&(B|0)<(d|0)):0){a=$(z,e)|0;g=$(A,e)|0;h=$(B,e)|0;if(o){f=0;do{k[w+(f<<2)>>2]=(k[c+(f+h<<2)>>2]|0)+(k[c+(f+g<<2)>>2]|0)-(k[c+(f+a<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0));if(o){f=0;do{h=v+(f<<2)|0;k[h>>2]=(k[h>>2]|0)+(k[w+(f<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0))}}i=i+1|0}f=(((j>>>0)%3|0|0)==0?2:-1)+j|0;do if(!(k[l+(f>>>5<<2)>>2]&1<<(f&31))){if((f|0)>=0){f=k[(k[(k[p>>2]|0)+12>>2]|0)+(f<<2)>>2]|0;if((f|0)>=0)if(!((f>>>0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}}else f=-1073741824;while(0);j=(f|0)==(m|0)?-1073741824:f}while((j|0)>-1);f=$(d,e)|0;if(!i)C=29;else{if(o){a=0;do{m=v+(a<<2)|0;k[m>>2]=(k[m>>2]|0)/(i|0)|0;a=a+1|0}while((a|0)!=(e|0))}gj(x,v,b+(f<<2)|0,c+(f<<2)|0)}}else{f=$(d,e)|0;C=29}if((C|0)==29){C=0;gj(x,c+(($(d+-1|0,e)|0)<<2)|0,b+(f<<2)|0,c+(f<<2)|0)}d=d+1|0;if((d|0)>=(u|0))break;a=k[t>>2]|0;f=k[a>>2]|0;g=k[a+4>>2]|0}Yr(w);Yr(v);return 1}function sd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+48|0;m=r+32|0;g=r+28|0;p=r+16|0;q=r;i=a+16|0;d=k[i>>2]|0;if(d|0){f=k[b>>2]|0;c=i;e=d;a:while(1){d=e;while(1){if((k[d+16>>2]|0)>=(f|0))break;d=k[d+4>>2]|0;if(!d)break a}e=k[d>>2]|0;if(!e){c=d;break}else c=d}if((c|0)!=(i|0)?(f|0)>=(k[c+16>>2]|0):0){q=c;q=q+20|0;u=r;return q|0}}Cq(p);k[q>>2]=k[b>>2];j=q+4|0;k[q+8>>2]=0;l=q+12|0;k[l>>2]=0;n=q+8|0;k[j>>2]=n;c=k[p>>2]|0;o=p+4|0;if((c|0)!=(o|0)){e=n;d=c;while(1){d=d+16|0;k[g>>2]=e;k[m>>2]=k[g>>2];_h(j,m,d,d)|0;d=k[c+4>>2]|0;if(!d)while(1){d=k[c+8>>2]|0;if((k[d>>2]|0)==(c|0)){c=d;break}else c=d}else{c=d;while(1){d=k[c>>2]|0;if(!d)break;else c=d}}if((c|0)==(o|0))break;else d=c}}h=a+12|0;c=k[i>>2]|0;do if(c){b=k[q>>2]|0;while(1){d=k[c+16>>2]|0;if((b|0)<(d|0)){d=k[c>>2]|0;if(!d){d=19;break}else c=d}else{if((d|0)>=(b|0)){d=24;break}e=c+4|0;d=k[e>>2]|0;if(!d){d=23;break}else c=d}}if((d|0)==19){k[m>>2]=c;g=c;f=c;break}else if((d|0)==23){k[m>>2]=c;g=c;f=e;break}else if((d|0)==24){k[m>>2]=c;g=c;f=m;break}}else{k[m>>2]=i;g=i;f=i}while(0);c=k[f>>2]|0;if(!c){c=jo(32)|0;k[c+16>>2]=k[q>>2];d=c+20|0;k[d>>2]=k[j>>2];e=c+24|0;b=k[q+8>>2]|0;k[e>>2]=b;m=k[l>>2]|0;k[c+28>>2]=m;if(!m)k[d>>2]=e;else{k[b+8>>2]=e;k[j>>2]=n;k[n>>2]=0;k[l>>2]=0}k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=g;k[f>>2]=c;d=k[k[h>>2]>>2]|0;if(!d)d=c;else{k[h>>2]=d;d=k[f>>2]|0}Ef(k[a+16>>2]|0,d);a=a+20|0;k[a>>2]=(k[a>>2]|0)+1}nk(q+4|0,k[n>>2]|0);nk(p,k[o>>2]|0);q=c;q=q+20|0;u=r;return q|0}function td(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;e=k[a>>2]|0;f=a+4|0;c=k[f>>2]|0;g=b+4|0;if((c|0)==(e|0)){d=g;c=a;g=k[g>>2]|0;k[c>>2]=g;k[d>>2]=e;e=b+8|0;g=k[f>>2]|0;c=k[e>>2]|0;k[f>>2]=c;k[e>>2]=g;e=a+8|0;g=b+12|0;f=k[e>>2]|0;a=k[g>>2]|0;k[e>>2]=a;k[g>>2]=f;g=k[d>>2]|0;k[b>>2]=g;return}d=k[g>>2]|0;do{l=c;c=c+-116|0;k[d+-116>>2]=k[c>>2];h=l+-112|0;k[d+-112>>2]=k[h>>2];j=l+-108|0;k[d+-108>>2]=k[j>>2];m=l+-104|0;k[d+-104>>2]=k[m>>2];k[h>>2]=0;k[j>>2]=0;k[m>>2]=0;m=l+-100|0;k[d+-100>>2]=k[m>>2];j=l+-96|0;k[d+-96>>2]=k[j>>2];h=l+-92|0;k[d+-92>>2]=k[h>>2];k[m>>2]=0;k[j>>2]=0;k[h>>2]=0;i[d+-88>>0]=i[l+-88>>0]|0;h=d+-84|0;j=l+-84|0;k[h>>2]=0;m=d+-80|0;k[m>>2]=0;k[d+-76>>2]=0;k[h>>2]=k[j>>2];h=l+-80|0;k[m>>2]=k[h>>2];m=l+-76|0;k[d+-76>>2]=k[m>>2];k[m>>2]=0;k[h>>2]=0;k[j>>2]=0;j=d+-72|0;h=l+-72|0;k[j>>2]=0;m=d+-68|0;k[m>>2]=0;k[d+-64>>2]=0;k[j>>2]=k[h>>2];j=l+-68|0;k[m>>2]=k[j>>2];m=l+-64|0;k[d+-64>>2]=k[m>>2];k[m>>2]=0;k[j>>2]=0;k[h>>2]=0;h=d+-60|0;j=l+-60|0;k[h>>2]=0;m=d+-56|0;k[m>>2]=0;k[d+-52>>2]=0;k[h>>2]=k[j>>2];h=l+-56|0;k[m>>2]=k[h>>2];m=l+-52|0;k[d+-52>>2]=k[m>>2];k[m>>2]=0;k[h>>2]=0;k[j>>2]=0;k[d+-48>>2]=k[l+-48>>2];i[d+-44>>0]=i[l+-44>>0]|0;j=d+-40|0;h=l+-40|0;k[j>>2]=0;m=d+-36|0;k[m>>2]=0;k[d+-32>>2]=0;k[j>>2]=k[h>>2];j=l+-36|0;k[m>>2]=k[j>>2];m=l+-32|0;k[d+-32>>2]=k[m>>2];k[m>>2]=0;k[j>>2]=0;k[h>>2]=0;h=d+-28|0;j=l+-28|0;k[h>>2]=0;m=d+-24|0;k[m>>2]=0;k[d+-20>>2]=0;k[h>>2]=k[j>>2];h=l+-24|0;k[m>>2]=k[h>>2];m=l+-20|0;k[d+-20>>2]=k[m>>2];k[m>>2]=0;k[h>>2]=0;k[j>>2]=0;k[d+-16>>2]=k[l+-16>>2];j=d+-12|0;h=l+-12|0;k[j>>2]=0;m=d+-8|0;k[m>>2]=0;k[d+-4>>2]=0;k[j>>2]=k[h>>2];j=l+-8|0;k[m>>2]=k[j>>2];l=l+-4|0;k[d+-4>>2]=k[l>>2];k[l>>2]=0;k[j>>2]=0;k[h>>2]=0;d=(k[g>>2]|0)+-116|0;k[g>>2]=d}while((c|0)!=(e|0));m=g;l=a;j=d;h=k[a>>2]|0;k[l>>2]=j;k[m>>2]=h;h=b+8|0;l=k[f>>2]|0;j=k[h>>2]|0;k[f>>2]=j;k[h>>2]=l;h=a+8|0;l=b+12|0;j=k[h>>2]|0;g=k[l>>2]|0;k[h>>2]=g;k[l>>2]=j;m=k[m>>2]|0;k[b>>2]=m;return}function ud(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)_r(c);k[d>>2]=0;return}if(b>>>0>1073741823){a=Ma(4)|0;Cr(a);wa(a|0,1344,125)}p=jo(b<<2)|0;c=k[a>>2]|0;k[a>>2]=p;if(c|0)_r(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;o=b+-1|0;p=(o&b|0)==0;if(p)c=c&o;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){n=c;b:while(1){c:do if(p){c=d;while(1){m=k[c+4>>2]&o;if((m|0)==(e|0))break c;d=(k[a>>2]|0)+(m<<2)|0;if(!(k[d>>2]|0)){e=m;break b}i=c+10|0;l=c+12|0;g=k[c>>2]|0;d:do if(!g)d=c;else{h=j[c+8>>1]|0;d=c;while(1){if(h<<16>>16!=(j[g+8>>1]|0))break d;if((j[i>>1]|0)!=(j[g+10>>1]|0))break d;if((j[l>>1]|0)!=(j[g+12>>1]|0))break d;d=k[g>>2]|0;if(!d){d=g;break}else{q=g;g=d;d=q}}}while(0);k[n>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=38;break a}}}else{c=d;while(1){m=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((m|0)==(e|0))break c;d=(k[a>>2]|0)+(m<<2)|0;if(!(k[d>>2]|0)){e=m;break b}h=c+10|0;i=c+12|0;g=k[c>>2]|0;e:do if(!g)d=c;else{l=j[c+8>>1]|0;d=c;while(1){if(l<<16>>16!=(j[g+8>>1]|0))break e;if((j[h>>1]|0)!=(j[g+10>>1]|0))break e;if((j[i>>1]|0)!=(j[g+12>>1]|0))break e;d=k[g>>2]|0;if(!d){d=g;break}else{q=g;g=d;d=q}}}while(0);k[n>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=38;break a}}}while(0);d=k[c>>2]|0;if(!d){c=38;break a}else{f=c;n=c}}k[d>>2]=n;d=k[c>>2]|0;if(!d){c=38;break}else f=c}if((c|0)==38)return}function vd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=e>>>0>1073741823?-1:e<<2;w=Xr(y)|0;_j(w|0,0,y|0)|0;x=Xr(y)|0;_j(x|0,0,y|0)|0;y=a+8|0;dj(y,w,b,c);t=k[a+32>>2]|0;u=a+40|0;h=k[u>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;s=g-f|0;v=s>>2;if((s|0)<=4){Yr(x);Yr(w);return 1}p=k[a+36>>2]|0;q=(e|0)>0;r=t+12|0;s=e<<2;d=1;a=h;while(1){if(g-f>>2>>>0<=d>>>0){Iq(a);f=k[a>>2]|0}o=k[f+(d<<2)>>2]|0;if(q)_j(w|0,0,s|0)|0;if((o|0)>-1){n=k[r>>2]|0;g=0;m=o;do{a=k[n+(m<<2)>>2]|0;if((a|0)>=0){h=k[t>>2]|0;i=k[p>>2]|0;l=k[i+(k[h+(a<<2)>>2]<<2)>>2]|0;f=a+1|0;f=((f|0)%3|0|0)==0?a+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[h+(f<<2)>>2]|0;j=k[i+(f<<2)>>2]|0;f=(((a>>>0)%3|0|0)==0?2:-1)+a|0;if((f|0)<0)f=-1073741824;else f=k[h+(f<<2)>>2]|0;f=k[i+(f<<2)>>2]|0;if((l|0)<(d|0)&(j|0)<(d|0)&(f|0)<(d|0)){i=$(l,e)|0;h=$(j,e)|0;a=$(f,e)|0;if(q){f=0;do{k[x+(f<<2)>>2]=(k[c+(f+a<<2)>>2]|0)+(k[c+(f+h<<2)>>2]|0)-(k[c+(f+i<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0));if(q){f=0;do{l=w+(f<<2)|0;k[l>>2]=(k[l>>2]|0)+(k[x+(f<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0))}}g=g+1|0}}f=(((m>>>0)%3|0|0)==0?2:-1)+m|0;do if((f|0)>=0){f=k[n+(f<<2)>>2]|0;if((f|0)>=0)if(!((f>>>0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}while(0);m=(f|0)==(o|0)?-1073741824:f}while((m|0)>-1);f=$(d,e)|0;if(!g)z=31;else{if(q){a=0;do{o=w+(a<<2)|0;k[o>>2]=(k[o>>2]|0)/(g|0)|0;a=a+1|0}while((a|0)!=(e|0))}dj(y,w,b+(f<<2)|0,c+(f<<2)|0)}}else{f=$(d,e)|0;z=31}if((z|0)==31){z=0;dj(y,c+(($(d+-1|0,e)|0)<<2)|0,b+(f<<2)|0,c+(f<<2)|0)}d=d+1|0;if((d|0)>=(v|0))break;a=k[u>>2]|0;f=k[a>>2]|0;g=k[a+4>>2]|0}Yr(x);Yr(w);return 1}function wd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)_r(c);k[d>>2]=0;return}if(b>>>0>1073741823){a=Ma(4)|0;Cr(a);wa(a|0,1344,125)}o=jo(b<<2)|0;c=k[a>>2]|0;k[a>>2]=o;if(c|0)_r(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;n=b+-1|0;o=(n&b|0)==0;if(o)c=c&n;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){m=c;b:while(1){c:do if(o){c=d;while(1){l=k[c+4>>2]&n;if((l|0)==(e|0))break c;d=(k[a>>2]|0)+(l<<2)|0;if(!(k[d>>2]|0)){e=l;break b}i=c+12|0;j=c+16|0;g=k[c>>2]|0;d:do if(!g)d=c;else{h=k[c+8>>2]|0;d=c;while(1){if((h|0)!=(k[g+8>>2]|0))break d;if((k[i>>2]|0)!=(k[g+12>>2]|0))break d;if((k[j>>2]|0)!=(k[g+16>>2]|0))break d;d=k[g>>2]|0;if(!d){d=g;break}else{p=g;g=d;d=p}}}while(0);k[m>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=38;break a}}}else{c=d;while(1){l=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((l|0)==(e|0))break c;d=(k[a>>2]|0)+(l<<2)|0;if(!(k[d>>2]|0)){e=l;break b}h=c+12|0;i=c+16|0;g=k[c>>2]|0;e:do if(!g)d=c;else{j=k[c+8>>2]|0;d=c;while(1){if((j|0)!=(k[g+8>>2]|0))break e;if((k[h>>2]|0)!=(k[g+12>>2]|0))break e;if((k[i>>2]|0)!=(k[g+16>>2]|0))break e;d=k[g>>2]|0;if(!d){d=g;break}else{p=g;g=d;d=p}}}while(0);k[m>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=38;break a}}}while(0);d=k[c>>2]|0;if(!d){c=38;break a}else{f=c;m=c}}k[d>>2]=m;d=k[c>>2]|0;if(!d){c=38;break}else f=c}if((c|0)==38)return}function xd(a,b){a=a|0;b=b|0;var 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;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)_r(c);k[d>>2]=0;return}if(b>>>0>1073741823){a=Ma(4)|0;Cr(a);wa(a|0,1344,125)}p=jo(b<<2)|0;c=k[a>>2]|0;k[a>>2]=p;if(c|0)_r(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;o=b+-1|0;p=(o&b|0)==0;if(p)c=c&o;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){n=c;b:while(1){c:do if(p){c=d;while(1){m=k[c+4>>2]&o;if((m|0)==(e|0))break c;d=(k[a>>2]|0)+(m<<2)|0;if(!(k[d>>2]|0)){e=m;break b}j=c+9|0;l=c+10|0;g=k[c>>2]|0;d:do if(!g)d=c;else{h=i[c+8>>0]|0;d=c;while(1){if(h<<24>>24!=(i[g+8>>0]|0))break d;if((i[j>>0]|0)!=(i[g+9>>0]|0))break d;if((i[l>>0]|0)!=(i[g+10>>0]|0))break d;d=k[g>>2]|0;if(!d){d=g;break}else{q=g;g=d;d=q}}}while(0);k[n>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=38;break a}}}else{c=d;while(1){m=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((m|0)==(e|0))break c;d=(k[a>>2]|0)+(m<<2)|0;if(!(k[d>>2]|0)){e=m;break b}h=c+9|0;j=c+10|0;g=k[c>>2]|0;e:do if(!g)d=c;else{l=i[c+8>>0]|0;d=c;while(1){if(l<<24>>24!=(i[g+8>>0]|0))break e;if((i[h>>0]|0)!=(i[g+9>>0]|0))break e;if((i[j>>0]|0)!=(i[g+10>>0]|0))break e;d=k[g>>2]|0;if(!d){d=g;break}else{q=g;g=d;d=q}}}while(0);k[n>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=38;break a}}}while(0);d=k[c>>2]|0;if(!d){c=38;break a}else{f=c;n=c}}k[d>>2]=n;d=k[c>>2]|0;if(!d){c=38;break}else f=c}if((c|0)==38)return}function yd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=e>>>0>1073741823?-1:e<<2;w=Xr(y)|0;_j(w|0,0,y|0)|0;x=Xr(y)|0;_j(x|0,0,y|0)|0;y=a+8|0;gj(y,w,b,c);t=k[a+32>>2]|0;u=a+40|0;h=k[u>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;s=g-f|0;v=s>>2;if((s|0)<=4){Yr(x);Yr(w);return 1}p=k[a+36>>2]|0;q=(e|0)>0;r=t+12|0;s=e<<2;d=1;a=h;while(1){if(g-f>>2>>>0<=d>>>0){Iq(a);f=k[a>>2]|0}o=k[f+(d<<2)>>2]|0;if(q)_j(w|0,0,s|0)|0;if((o|0)>-1){n=k[r>>2]|0;g=0;m=o;do{a=k[n+(m<<2)>>2]|0;if((a|0)>=0){h=k[t>>2]|0;i=k[p>>2]|0;l=k[i+(k[h+(a<<2)>>2]<<2)>>2]|0;f=a+1|0;f=((f|0)%3|0|0)==0?a+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[h+(f<<2)>>2]|0;j=k[i+(f<<2)>>2]|0;f=(((a>>>0)%3|0|0)==0?2:-1)+a|0;if((f|0)<0)f=-1073741824;else f=k[h+(f<<2)>>2]|0;f=k[i+(f<<2)>>2]|0;if((l|0)<(d|0)&(j|0)<(d|0)&(f|0)<(d|0)){i=$(l,e)|0;h=$(j,e)|0;a=$(f,e)|0;if(q){f=0;do{k[x+(f<<2)>>2]=(k[c+(f+a<<2)>>2]|0)+(k[c+(f+h<<2)>>2]|0)-(k[c+(f+i<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0));if(q){f=0;do{l=w+(f<<2)|0;k[l>>2]=(k[l>>2]|0)+(k[x+(f<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0))}}g=g+1|0}}f=(((m>>>0)%3|0|0)==0?2:-1)+m|0;do if((f|0)>=0){f=k[n+(f<<2)>>2]|0;if((f|0)>=0)if(!((f>>>0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}while(0);m=(f|0)==(o|0)?-1073741824:f}while((m|0)>-1);f=$(d,e)|0;if(!g)z=31;else{if(q){a=0;do{o=w+(a<<2)|0;k[o>>2]=(k[o>>2]|0)/(g|0)|0;a=a+1|0}while((a|0)!=(e|0))}gj(y,w,b+(f<<2)|0,c+(f<<2)|0)}}else{f=$(d,e)|0;z=31}if((z|0)==31){z=0;gj(y,c+(($(d+-1|0,e)|0)<<2)|0,b+(f<<2)|0,c+(f<<2)|0)}d=d+1|0;if((d|0)>=(v|0))break;a=k[u>>2]|0;f=k[a>>2]|0;g=k[a+4>>2]|0}Yr(x);Yr(w);return 1}function zd(a,b,c){a=a|0;b=b|0;c=c|0;var 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,v=0;v=u;u=u+48|0;n=v+32|0;o=v+28|0;p=v+24|0;q=v+20|0;r=v+16|0;s=v;t=b+24|0;d=i[t>>0]|0;h=d<<24>>24;j=k[a+68>>2]|0;m=$(j,h)|0;k[s>>2]=0;k[s+4>>2]=0;k[s+8>>2]=0;k[s+12>>2]=0;yg(c,0,0+(m<<2)|0);if((j|0)<=0){t=1;u=v;return t|0}l=b+84|0;m=b+68|0;a:do if(d<<24>>24>0){f=0;g=0;while(1){if(!(i[l>>0]|0))a=k[(k[m>>2]|0)+(g<<2)>>2]|0;else a=g;switch(i[t>>0]|0){case 1:{k[o>>2]=a;k[n>>2]=k[o>>2];a=fg(b,n,s)|0;break}case 2:{k[p>>2]=a;k[n>>2]=k[p>>2];a=eg(b,n,s)|0;break}case 3:{k[q>>2]=a;k[n>>2]=k[q>>2];a=dg(b,n,s)|0;break}case 4:{k[r>>2]=a;k[n>>2]=k[r>>2];a=cg(b,n,s)|0;break}default:break a}if(!a){a=0;d=24;break}e=k[c>>2]|0;a=0;d=f;while(1){k[e+(d<<2)>>2]=k[s+(a<<2)>>2];a=a+1|0;if((a|0)==(h|0))break;else d=d+1|0}g=g+1|0;if((g|0)>=(j|0)){a=1;d=24;break}else f=h+f|0}if((d|0)==24){u=v;return a|0}}else{d=0;while(1){if(!(i[l>>0]|0))a=k[(k[m>>2]|0)+(d<<2)>>2]|0;else a=d;switch(i[t>>0]|0){case 1:{k[o>>2]=a;k[n>>2]=k[o>>2];a=fg(b,n,s)|0;break}case 2:{k[p>>2]=a;k[n>>2]=k[p>>2];a=eg(b,n,s)|0;break}case 3:{k[q>>2]=a;k[n>>2]=k[q>>2];a=dg(b,n,s)|0;break}case 4:{k[r>>2]=a;k[n>>2]=k[r>>2];a=cg(b,n,s)|0;break}default:break a}if(!a){a=0;d=24;break}d=d+1|0;if((d|0)>=(j|0)){a=1;d=24;break}}if((d|0)==24){u=v;return a|0}}while(0);t=0;u=v;return t|0}function Ad(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,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;n=a+4|0;s=k[b>>2]|0;b=s;do if((s|0)!=(n|0)){l=s+16|0;p=i[d+11>>0]|0;o=p<<24>>24<0;p=o?k[d+4>>2]|0:p&255;f=i[l+11>>0]|0;g=f<<24>>24<0;f=g?k[s+20>>2]|0:f&255;h=f>>>0

>>0;e=h?f:p;if((e|0)!=0?(j=lm(o?k[d>>2]|0:d,g?k[l>>2]|0:l,e)|0,(j|0)!=0):0){if((j|0)<0)break}else t=4;if((t|0)==4?p>>>0>>0:0)break;e=p>>>0>>0?p:f;if((e|0)!=0?(m=lm(g?k[l>>2]|0:l,o?k[d>>2]|0:d,e)|0,(m|0)!=0):0){if((m|0)>=0)t=34}else t=20;if((t|0)==20?!h:0)t=34;if((t|0)==34){k[c>>2]=b;return c|0}j=s+4|0;b=k[j>>2]|0;l=(b|0)==0;if(l){e=s;while(1){b=k[e+8>>2]|0;if((k[b>>2]|0)==(e|0))break;else e=b}}else while(1){e=k[b>>2]|0;if(!e)break;else b=e}do if((b|0)!=(n|0)){g=b+16|0;f=i[g+11>>0]|0;h=f<<24>>24<0;f=h?k[b+20>>2]|0:f&255;e=f>>>0

>>0?f:p;if((e|0)!=0?(q=lm(o?k[d>>2]|0:d,h?k[g>>2]|0:g,e)|0,(q|0)!=0):0){if((q|0)<0)break}else t=28;if((t|0)==28?p>>>0>>0:0)break;c=lh(a,c,d)|0;return c|0}while(0);if(l){k[c>>2]=s;c=j;return c|0}else{k[c>>2]=b;c=b;return c|0}}while(0);do if((s|0)!=(k[a>>2]|0)){b=k[s>>2]|0;if(!b){b=s;while(1){e=k[b+8>>2]|0;if((k[e>>2]|0)==(b|0))b=e;else break}}else while(1){e=k[b+4>>2]|0;if(!e){e=b;break}else b=e}b=e;j=e+16|0;f=i[j+11>>0]|0;l=f<<24>>24<0;f=l?k[e+20>>2]|0:f&255;h=i[d+11>>0]|0;g=h<<24>>24<0;h=g?k[d+4>>2]|0:h&255;e=h>>>0>>0?h:f;if((e|0)!=0?(r=lm(l?k[j>>2]|0:j,g?k[d>>2]|0:d,e)|0,(r|0)!=0):0){if((r|0)<0)break}else t=12;if((t|0)==12?f>>>0>>0:0)break;c=lh(a,c,d)|0;return c|0}while(0);if(!(k[s>>2]|0)){k[c>>2]=s;c=s;return c|0}else{t=b;k[c>>2]=t;c=t+4|0;return c|0}return 0}function Bd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=Pa,f=0,g=0,h=Pa,j=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;d=a+40|0;b=Fp(io(k[d>>2]|0,k[d+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=M;f=k[a>>2]|0;d=k[f>>2]|0;if(!((g|0)<0|((g|0)==0?b>>>0<((k[f+4>>2]|0)-d|0)>>>0:0))){g=0;return g|0}h=da(i[d+b>>0]|0);e=da(h/da(127.0));o[c>>2]=(i[a+32>>0]|0)==0?h:e;o[c+4>>2]=da(0.0);g=1;return g|0}case 2:{j=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=Fp(io(k[g>>2]|0,k[g+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;f=Fp(b|0,M|0,2,0)|0;j=M;g=k[a>>2]|0;d=k[g>>2]|0;if((j|0)>0|((j|0)==0?f>>>0>((k[g+4>>2]|0)-d|0)>>>0:0)){j=0;return j|0}j=d+b|0;j=l[j>>0]|l[j+1>>0]<<8;b=(j&65535)>>>8&255;e=da((j&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=e;h=da(b<<24>>24);o[c+4>>2]=h;j=1;return j|0}else{h=da(e/da(127.0));o[c>>2]=h;h=da(da(b<<24>>24)/da(127.0));o[c+4>>2]=h;j=1;return j|0}}case 3:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,3,0)|0;f=M;j=k[a>>2]|0;d=k[j>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[j+4>>2]|0)-d|0)>>>0:0)){j=0;return j|0}j=d+b|0;b=i[j+1>>0]|0;e=da(i[j>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=e;h=da(b<<24>>24);o[c+4>>2]=h;j=1;return j|0}else{h=da(e/da(127.0));o[c>>2]=h;h=da(da(b<<24>>24)/da(127.0));o[c+4>>2]=h;j=1;return j|0}}case 4:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,4,0)|0;f=M;j=k[a>>2]|0;d=k[j>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[j+4>>2]|0)-d|0)>>>0:0)){j=0;return j|0}j=d+b|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;b=j>>>8&255;e=da((j&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=e;h=da(b<<24>>24);o[c+4>>2]=h;j=1;return j|0}else{h=da(e/da(127.0));o[c>>2]=h;h=da(da(b<<24>>24)/da(127.0));o[c+4>>2]=h;j=1;return j|0}}default:{j=0;return j|0}}return 0}function Cd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}e=b+d|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;f=c;k[f>>2]=e;k[f+4>>2]=((e|0)<0)<<31>>31;f=c+8|0;k[f>>2]=0;k[f+4>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,8,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;g=f;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;a=zo(0,g|0,32)|0;e=c;k[e>>2]=a;k[e+4>>2]=M;f=zo(g|0,f|0,32)|0;g=c+8|0;k[g>>2]=f;k[g+4>>2]=M;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,12,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;e=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=e;k[g+4>>2]=((e|0)<0)<<31>>31;g=c+8|0;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,16,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;e=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=e;k[g+4>>2]=((e|0)<0)<<31>>31;g=c+8|0;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=1;return g|0}default:{g=0;return g|0}}return 0}function Dd(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,i=0,j=0,l=0,m=0,n=0,o=0,p=0;l=a;i=b;j=i;g=c;n=d;h=n;if(!j){f=(e|0)!=0;if(!h){if(f){k[e>>2]=(l>>>0)%(g>>>0);k[e+4>>2]=0}n=0;e=(l>>>0)/(g>>>0)>>>0;return (M=n,e)|0}else{if(!f){n=0;e=0;return (M=n,e)|0}k[e>>2]=a|0;k[e+4>>2]=b&0;n=0;e=0;return (M=n,e)|0}}f=(h|0)==0;do if(g){if(!f){f=(ca(h|0)|0)-(ca(j|0)|0)|0;if(f>>>0<=31){m=f+1|0;h=31-f|0;b=f-31>>31;g=m;a=l>>>(m>>>0)&b|j<>>(m>>>0)&b;f=0;h=l<>2]=a|0;k[e+4>>2]=i|b&0;n=0;e=0;return (M=n,e)|0}f=g-1|0;if(f&g|0){h=(ca(g|0)|0)+33-(ca(j|0)|0)|0;p=64-h|0;m=32-h|0;i=m>>31;o=h-32|0;b=o>>31;g=h;a=m-1>>31&j>>>(o>>>0)|(j<>>(h>>>0))&b;b=b&j>>>(h>>>0);f=l<>>(o>>>0))&i|l<>31;break}if(e|0){k[e>>2]=f&l;k[e+4>>2]=0}if((g|0)==1){o=i|b&0;p=a|0|0;return (M=o,p)|0}else{p=xn(g|0)|0;o=j>>>(p>>>0)|0;p=j<<32-p|l>>>(p>>>0)|0;return (M=o,p)|0}}else{if(f){if(e|0){k[e>>2]=(j>>>0)%(g>>>0);k[e+4>>2]=0}o=0;p=(j>>>0)/(g>>>0)>>>0;return (M=o,p)|0}if(!l){if(e|0){k[e>>2]=0;k[e+4>>2]=(j>>>0)%(h>>>0)}o=0;p=(j>>>0)/(h>>>0)>>>0;return (M=o,p)|0}f=h-1|0;if(!(f&h)){if(e|0){k[e>>2]=a|0;k[e+4>>2]=f&j|b&0}o=0;p=j>>>((xn(h|0)|0)>>>0);return (M=o,p)|0}f=(ca(h|0)|0)-(ca(j|0)|0)|0;if(f>>>0<=30){b=f+1|0;h=31-f|0;g=b;a=j<>>(b>>>0);b=j>>>(b>>>0);f=0;h=l<>2]=a|0;k[e+4>>2]=i|b&0;o=0;p=0;return (M=o,p)|0}while(0);if(!g){j=h;i=0;h=0}else{m=c|0|0;l=n|d&0;j=Fp(m|0,l|0,-1,-1)|0;c=M;i=h;h=0;do{d=i;i=f>>>31|i<<1;f=h|f<<1;d=a<<1|d>>>31|0;n=a>>>31|b<<1|0;Wo(j|0,c|0,d|0,n|0)|0;p=M;o=p>>31|((p|0)<0?-1:0)<<1;h=o&1;a=Wo(d|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=M;g=g-1|0}while((g|0)!=0);j=i;i=0}g=0;if(e|0){k[e>>2]=a;k[e+4>>2]=b}o=(f|0)>>>31|(j|g)<<1|(g<<1|f>>>31)&0|i;p=(f<<1|0>>>31)&-2|h;return (M=o,p)|0}function Ed(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+16|0;o=x+12|0;p=x+4|0;q=x+8|0;r=x;w=a+8+(b*12|0)|0;d=k[w>>2]|0;s=a+8+(b*12|0)+4|0;e=k[s>>2]|0;if((e|0)!=(d|0))k[s>>2]=e+(~((e+-4-d|0)>>>2)<<2);e=k[c>>2]|0;l=a+4|0;k[p>>2]=(e|0)<0?-1073741824:(e>>>0)/3|0;v=a+56|0;m=a+8+(b*12|0)+8|0;j=0;d=e;do{n=(j|0)==1;if(n){f=(d|0)<0;do if(!f)if(!((d>>>0)%3|0)){e=d+2|0;break}else{e=d+-1|0;break}else e=d;while(0);k[q>>2]=e;k[o>>2]=k[q>>2];if((xh(a,o)|0)<0)break;e=d+1|0;if(f){t=12;break}e=((e|0)%3|0|0)==0?d+-2|0:e;k[c>>2]=e;f=e+1|0;if((e|0)<0){t=16;break}e=((f|0)%3|0|0)==0?e+-2|0:f;if((e|0)<0){t=16;break}e=k[(k[(k[l>>2]|0)+12>>2]|0)+(e<<2)>>2]|0;f=e+1|0;if((e|0)<0){t=16;break}e=((f|0)%3|0|0)==0?e+-2|0:f;k[c>>2]=e;if((e|0)<0)break;else{f=0;t=18}}else{i=0;f=k[p>>2]|0}while(1){if((t|0)==18){t=0;h=(e>>>0)/3|0;k[p>>2]=h;i=f;f=h}h=(k[v>>2]|0)+(f>>>5<<2)|0;f=1<<(f&31);g=k[h>>2]|0;if(f&g|0){f=i;break}k[h>>2]=g|f;f=k[s>>2]|0;if((f|0)==(k[m>>2]|0))Dj(w,p);else{k[f>>2]=k[p>>2];k[s>>2]=f+4}g=i+1|0;if((i|0)>0){do if(!(g&1)){d=n?e:d;if((e|0)>=0)if(!((e>>>0)%3|0)){e=e+2|0;break}else{e=e+-1|0;break}}else{f=e+1|0;if((e|0)>=0)e=((f|0)%3|0|0)==0?e+-2|0:f}while(0);k[c>>2]=e}k[r>>2]=e;k[o>>2]=k[r>>2];e=xh(a,o)|0;k[c>>2]=e;if((e|0)<0){f=g;break}else{f=g;t=18}}if(!((f&1|0)==0|n^1)){n=k[s>>2]|0;h=k[n+-4>>2]|0;i=(k[v>>2]|0)+(h>>>5<<2)|0;k[i>>2]=k[i>>2]&~(1<<(h&31));k[s>>2]=n+-4}j=j+1|0}while((j|0)<2);if((t|0)==12){k[c>>2]=d;e=d;t=16}if((t|0)==16)k[c>>2]=e;k[a+44+(b<<2)>>2]=d;e=k[s>>2]|0;d=k[w>>2]|0;g=d;if((e|0)==(d|0)){u=x;return}f=k[v>>2]|0;e=e-d>>2;d=0;do{v=k[g+(d<<2)>>2]|0;w=f+(v>>>5<<2)|0;k[w>>2]=k[w>>2]&~(1<<(v&31));d=d+1|0}while(d>>>0>>0);u=x;return}function Fd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=Pa,f=0,g=0,h=Pa,j=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;d=a+40|0;b=Fp(io(k[d>>2]|0,k[d+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=M;f=k[a>>2]|0;d=k[f>>2]|0;if(!((g|0)<0|((g|0)==0?b>>>0<((k[f+4>>2]|0)-d|0)>>>0:0))){g=0;return g|0}h=da(l[d+b>>0]|0);e=da(h/da(255.0));o[c>>2]=(i[a+32>>0]|0)==0?h:e;o[c+4>>2]=da(0.0);g=1;return g|0}case 2:{j=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=Fp(io(k[g>>2]|0,k[g+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;f=Fp(b|0,M|0,2,0)|0;j=M;g=k[a>>2]|0;d=k[g>>2]|0;if((j|0)>0|((j|0)==0?f>>>0>((k[g+4>>2]|0)-d|0)>>>0:0)){j=0;return j|0}j=d+b|0;j=l[j>>0]|l[j+1>>0]<<8;b=(j&65535)>>>8&255;e=da(j&255);if(!(i[a+32>>0]|0)){o[c>>2]=e;h=da(b&255);o[c+4>>2]=h;j=1;return j|0}else{h=da(e/da(255.0));o[c>>2]=h;h=da(da(b&255)/da(255.0));o[c+4>>2]=h;j=1;return j|0}}case 3:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,3,0)|0;f=M;j=k[a>>2]|0;d=k[j>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[j+4>>2]|0)-d|0)>>>0:0)){j=0;return j|0}j=d+b|0;b=i[j+1>>0]|0;e=da(l[j>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=e;h=da(b&255);o[c+4>>2]=h;j=1;return j|0}else{h=da(e/da(255.0));o[c>>2]=h;h=da(da(b&255)/da(255.0));o[c+4>>2]=h;j=1;return j|0}}case 4:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,4,0)|0;f=M;j=k[a>>2]|0;d=k[j>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[j+4>>2]|0)-d|0)>>>0:0)){j=0;return j|0}j=d+b|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;b=j>>>8&255;e=da(j&255);if(!(i[a+32>>0]|0)){o[c>>2]=e;h=da(b&255);o[c+4>>2]=h;j=1;return j|0}else{h=da(e/da(255.0));o[c>>2]=h;h=da(da(b&255)/da(255.0));o[c+4>>2]=h;j=1;return j|0}}default:{j=0;return j|0}}return 0}function Gd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}f=b+d|0;k[c>>2]=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;o[c+4>>2]=da(0.0);f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,8,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;e=f;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;k[g+4>>2]=f;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,12,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;a=f;a=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;e=g;i[e>>0]=a;i[e+1>>0]=a>>8;i[e+2>>0]=a>>16;i[e+3>>0]=a>>24;g=g+4|0;i[g>>0]=f;i[g+1>>0]=f>>8;i[g+2>>0]=f>>16;i[g+3>>0]=f>>24;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,16,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;a=f;a=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;e=g;i[e>>0]=a;i[e+1>>0]=a>>8;i[e+2>>0]=a>>16;i[e+3>>0]=a>>24;g=g+4|0;i[g>>0]=f;i[g+1>>0]=f>>8;i[g+2>>0]=f>>16;i[g+3>>0]=f>>24;g=1;return g|0}default:{g=0;return g|0}}return 0}function Hd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}f=b+d|0;k[c>>2]=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;k[c+4>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,8,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;e=f;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;k[g+4>>2]=f;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,12,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;a=f;a=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;e=g;i[e>>0]=a;i[e+1>>0]=a>>8;i[e+2>>0]=a>>16;i[e+3>>0]=a>>24;g=g+4|0;i[g>>0]=f;i[g+1>>0]=f>>8;i[g+2>>0]=f>>16;i[g+3>>0]=f>>24;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,16,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;a=f;a=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;e=g;i[e>>0]=a;i[e+1>>0]=a>>8;i[e+2>>0]=a>>16;i[e+3>>0]=a>>24;g=g+4|0;i[g>>0]=f;i[g+1>>0]=f>>8;i[g+2>>0]=f>>16;i[g+3>>0]=f>>24;g=1;return g|0}default:{g=0;return g|0}}return 0}function Id(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+16|0;m=t+8|0;r=t+4|0;s=t;q=a+68|0;k[q>>2]=(k[q>>2]|0)+1;q=(k[a+8+(b*12|0)+4>>2]|0)-(k[a+8+(b*12|0)>>2]|0)|0;n=q>>2;if((q|0)<=0){u=t;return}o=a+4|0;p=a+56|0;q=a+72|0;h=k[c>>2]|0;i=h+4|0;j=h+8|0;l=a+76|0;g=0;c=k[a+44+(b<<2)>>2]|0;do{f=(c|0)<0;b=f?-1073741824:(c>>>0)/3|0;d=(k[p>>2]|0)+(b>>>5<<2)|0;k[d>>2]=k[d>>2]|1<<(b&31);k[q>>2]=(k[q>>2]|0)+1;do if(g){k[r>>2]=c;d=k[o>>2]|0;b=k[a>>2]|0;k[m>>2]=k[r>>2];b=ql(m,d,b)|0;k[l>>2]=b;k[m>>2]=b;d=k[i>>2]|0;if(d>>>0<(k[j>>2]|0)>>>0){k[d>>2]=b;k[i>>2]=d+4}else Dj(h,m);if(!(g&1)){b=c+1|0;if(f)break;c=((b|0)%3|0|0)==0?c+-2|0:b;e=31;break}if(!f)if(!((c>>>0)%3|0)){c=c+2|0;e=31;break}else{c=c+-1|0;e=31;break}}else{k[r>>2]=c;d=k[o>>2]|0;b=k[a>>2]|0;k[m>>2]=k[r>>2];b=ql(m,d,b)|0;k[s>>2]=b;d=k[i>>2]|0;if(d>>>0<(k[j>>2]|0)>>>0){k[d>>2]=b;k[i>>2]=d+4}else Dj(h,s);b=c+1|0;if(f)b=c;else b=((b|0)%3|0|0)==0?c+-2|0:b;k[r>>2]=b;d=k[o>>2]|0;b=k[a>>2]|0;k[m>>2]=k[r>>2];b=ql(m,d,b)|0;k[s>>2]=b;d=k[i>>2]|0;if(d>>>0<(k[j>>2]|0)>>>0){k[d>>2]=b;k[i>>2]=d+4}else Dj(h,s);do if(!f)if(!((c>>>0)%3|0)){b=c+2|0;break}else{b=c+-1|0;break}else b=c;while(0);k[r>>2]=b;d=k[o>>2]|0;b=k[a>>2]|0;k[m>>2]=k[r>>2];b=ql(m,d,b)|0;k[l>>2]=b;k[m>>2]=b;d=k[i>>2]|0;if(d>>>0<(k[j>>2]|0)>>>0){k[d>>2]=b;k[i>>2]=d+4}else Dj(h,m);e=31}while(0);if((e|0)==31){e=0;if((c|0)>=0)c=k[(k[(k[o>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}g=g+1|0}while((g|0)<(n|0));u=t;return}function Jd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}e=b+d|0;f=c;k[f>>2]=(l[e>>0]|l[e+1>>0]<<8)&65535;k[f+4>>2]=0;f=c+8|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=f&65535;k[g+4>>2]=0;g=c+8|0;k[g>>2]=f>>>16;k[g+4>>2]=0;g=c+16|0;k[g>>2]=0;k[g+4>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,6,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}a=b+d|0;e=a+2|0;e=l[e>>0]|l[e+1>>0]<<8;f=a+4|0;f=l[f>>0]|l[f+1>>0]<<8;g=c;k[g>>2]=(l[a>>0]|l[a+1>>0]<<8)&65535;k[g+4>>2]=0;g=c+8|0;k[g>>2]=e&65535;k[g+4>>2]=0;g=c+16|0;k[g>>2]=f&65535;k[g+4>>2]=0;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,8,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;e=f;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=e&65535;k[g+4>>2]=0;e=So(e|0,f|0,16)|0;g=c+8|0;k[g>>2]=e&65535;k[g+4>>2]=0;g=c+16|0;k[g>>2]=f&65535;k[g+4>>2]=0;g=1;return g|0}default:{g=0;return g|0}}return 0}function Kd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=M;a=k[a>>2]|0;b=k[a>>2]|0;if(!((e|0)<0|((e|0)==0?d>>>0<((k[a+4>>2]|0)-b|0)>>>0:0))){f=0;return f|0}e=i[b+d>>0]|0;f=c;k[f>>2]=e;k[f+4>>2]=((e|0)<0)<<31>>31;f=c+8|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;f=l[f>>0]|l[f+1>>0]<<8;e=(f&255)<<24>>24;g=c;k[g>>2]=e;k[g+4>>2]=((e|0)<0)<<31>>31;f=((f&65535)>>>8&255)<<24>>24;g=c+8|0;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=c+16|0;k[g>>2]=0;k[g+4>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,3,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}a=b+d|0;e=i[a+1>>0]|0;f=i[a+2>>0]|0;a=i[a>>0]|0;g=c;k[g>>2]=a;k[g+4>>2]=((a|0)<0)<<31>>31;e=e<<24>>24;g=c+8|0;k[g>>2]=e;k[g+4>>2]=((e|0)<0)<<31>>31;f=f<<24>>24;g=c+16|0;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,4,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=(f&255)<<24>>24;e=c;k[e>>2]=g;k[e+4>>2]=((g|0)<0)<<31>>31;e=(f>>>8&255)<<24>>24;g=c+8|0;k[g>>2]=e;k[g+4>>2]=((e|0)<0)<<31>>31;f=(f>>>16&255)<<24>>24;g=c+16|0;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=1;return g|0}default:{g=0;return g|0}}return 0}function Ld(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;n=i[b+11>>0]|0;m=n<<24>>24<0;o=m?k[b>>2]|0:b;n=m?k[b+4>>2]|0:n&255;if(n>>>0>3){b=o;e=n;c=n;while(1){m=$(l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24,1540483477)|0;e=($(m>>>24^m,1540483477)|0)^($(e,1540483477)|0);c=c+-4|0;if(c>>>0<=3)break;else b=b+4|0}c=n+-4|0;d=c&-4;c=c-d|0;d=o+(d+4)|0;b=e}else{c=n;d=o;b=n}switch(c|0){case 3:{f=l[d+2>>0]<<16^b;j=6;break}case 2:{f=b;j=6;break}case 1:{g=b;j=7;break}default:h=b}if((j|0)==6){g=l[d+1>>0]<<8^f;j=7}if((j|0)==7)h=$(l[d>>0]^g,1540483477)|0;b=$(h>>>13^h,1540483477)|0;b=b>>>15^b;h=k[a+4>>2]|0;if(!h){o=0;return o|0}j=h+-1|0;c=(j&h|0)==0;if(c)m=b&j;else m=(b>>>0)%(h>>>0)|0;b=k[(k[a>>2]|0)+(m<<2)>>2]|0;if(!b){o=0;return o|0}b=k[b>>2]|0;if(!b){o=0;return o|0}a=(n|0)==0;if(c){a:while(1){if((k[b+4>>2]&j|0)!=(m|0)){b=0;j=35;break}c=b+8|0;d=i[c+11>>0]|0;e=d<<24>>24<0;d=d&255;do if(((e?k[b+12>>2]|0:d)|0)==(n|0)){f=k[c>>2]|0;g=e?f:c;if(e){if(a){j=35;break a}if(!(lm(g,o,n)|0)){j=35;break a}else break}if(a){j=35;break a}if((f&255)<<24>>24==(i[o>>0]|0)){e=o;do{d=d+-1|0;c=c+1|0;if(!d){j=35;break a}e=e+1|0}while((i[c>>0]|0)==(i[e>>0]|0))}}while(0);b=k[b>>2]|0;if(!b){b=0;j=35;break}}if((j|0)==35)return b|0}else{b:while(1){if((((k[b+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(m|0)){b=0;j=35;break}c=b+8|0;d=i[c+11>>0]|0;f=d<<24>>24<0;d=d&255;do if(((f?k[b+12>>2]|0:d)|0)==(n|0)){g=k[c>>2]|0;e=f?g:c;if(f){if(a){j=35;break b}if(!(lm(e,o,n)|0)){j=35;break b}else break}if(a){j=35;break b}if((g&255)<<24>>24==(i[o>>0]|0)){e=o;do{d=d+-1|0;c=c+1|0;if(!d){j=35;break b}e=e+1|0}while((i[c>>0]|0)==(i[e>>0]|0))}}while(0);b=k[b>>2]|0;if(!b){b=0;j=35;break}}if((j|0)==35)return b|0}return 0}function Md(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)_r(c);k[d>>2]=0;return}if(b>>>0>1073741823){a=Ma(4)|0;Cr(a);wa(a|0,1344,125)}o=jo(b<<2)|0;c=k[a>>2]|0;k[a>>2]=o;if(c|0)_r(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;n=b+-1|0;o=(n&b|0)==0;if(o)c=c&n;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){m=c;b:while(1){c:do if(o){c=d;while(1){l=k[c+4>>2]&n;if((l|0)==(e|0))break c;d=(k[a>>2]|0)+(l<<2)|0;if(!(k[d>>2]|0)){e=l;break b}i=c+10|0;g=k[c>>2]|0;d:do if(!g)d=c;else{h=j[c+8>>1]|0;d=c;while(1){if(h<<16>>16!=(j[g+8>>1]|0))break d;if((j[i>>1]|0)!=(j[g+10>>1]|0))break d;d=k[g>>2]|0;if(!d){d=g;break}else{p=g;g=d;d=p}}}while(0);k[m>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=36;break a}}}else{c=d;while(1){l=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((l|0)==(e|0))break c;d=(k[a>>2]|0)+(l<<2)|0;if(!(k[d>>2]|0)){e=l;break b}h=c+10|0;g=k[c>>2]|0;e:do if(!g)d=c;else{i=j[c+8>>1]|0;d=c;while(1){if(i<<16>>16!=(j[g+8>>1]|0))break e;if((j[h>>1]|0)!=(j[g+10>>1]|0))break e;d=k[g>>2]|0;if(!d){d=g;break}else{p=g;g=d;d=p}}}while(0);k[m>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=36;break a}}}while(0);d=k[c>>2]|0;if(!d){c=36;break a}else{f=c;m=c}}k[d>>2]=m;d=k[c>>2]|0;if(!d){c=36;break}else f=c}if((c|0)==36)return}function Nd(a,b,c){a=a|0;b=b|0;c=c|0;var 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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=u;u=u+16|0;x=C+8|0;y=C;z=C+4|0;k[a>>2]=b;A=a+68|0;k[A>>2]=0;B=a+72|0;k[B>>2]=0;d=Qf(b)|0;f=a+4|0;e=k[f>>2]|0;k[f>>2]=d;if(e){mk(e);_r(e);d=k[f>>2]|0}if(!d){B=0;u=C;return B|0}w=b+84|0;m=b+88|0;e=((k[m>>2]|0)-(k[w>>2]|0)|0)/12|0;i[x>>0]=0;Qh(a+56|0,e,x);e=k[m>>2]|0;d=k[w>>2]|0;if((e-d|0)<=0){B=1;u=C;return B|0}n=a+56|0;o=a+8|0;p=a+12|0;q=a+20|0;r=a+24|0;s=a+32|0;t=a+36|0;v=a+76|0;b=k[c>>2]|0;g=b+4|0;h=b+8|0;j=a+4|0;l=b;c=0;do{if(!(k[(k[n>>2]|0)+(c>>>5<<2)>>2]&1<<(c&31))){D=c*3|0;k[y>>2]=D;k[x>>2]=k[y>>2];Ed(a,0,x);f=(k[p>>2]|0)-(k[o>>2]|0)>>2;k[y>>2]=D+1;k[x>>2]=k[y>>2];Ed(a,1,x);d=(k[r>>2]|0)-(k[q>>2]|0)>>2;e=d>>>0>f>>>0;k[y>>2]=D+2;k[x>>2]=k[y>>2];Ed(a,2,x);f=(k[t>>2]|0)-(k[s>>2]|0)>>2>>>0>(e?d:f)>>>0?2:e?1:((f|0)==0)<<31>>31;if((k[A>>2]|0)>0){d=k[v>>2]|0;k[x>>2]=d;e=k[g>>2]|0;if(e>>>0<(k[h>>2]|0)>>>0){k[e>>2]=d;k[g>>2]=e+4}else Dj(b,x);k[y>>2]=k[a+44+(f<<2)>>2];d=k[j>>2]|0;e=k[a>>2]|0;k[x>>2]=k[y>>2];e=ql(x,d,e)|0;k[x>>2]=e;d=k[g>>2]|0;if(d>>>0<(k[h>>2]|0)>>>0){k[d>>2]=e;k[g>>2]=d+4}else Dj(b,x);D=(k[B>>2]|0)+2|0;k[B>>2]=D;if(D&1|0){k[x>>2]=e;d=k[g>>2]|0;if(d>>>0<(k[h>>2]|0)>>>0){k[d>>2]=e;k[g>>2]=d+4}else Dj(b,x);k[B>>2]=(k[B>>2]|0)+1}}k[z>>2]=l;k[x>>2]=k[z>>2];Id(a,f,x);d=k[w>>2]|0;e=k[m>>2]|0}c=c+1|0}while((c|0)<((e-d|0)/12|0|0));d=1;u=C;return d|0}function Od(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)_r(c);k[d>>2]=0;return}if(b>>>0>1073741823){a=Ma(4)|0;Cr(a);wa(a|0,1344,125)}n=jo(b<<2)|0;c=k[a>>2]|0;k[a>>2]=n;if(c|0)_r(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;m=b+-1|0;n=(m&b|0)==0;if(n)c=c&m;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){l=c;b:while(1){c:do if(n){c=d;while(1){j=k[c+4>>2]&m;if((j|0)==(e|0))break c;d=(k[a>>2]|0)+(j<<2)|0;if(!(k[d>>2]|0)){e=j;break b}i=c+12|0;g=k[c>>2]|0;d:do if(!g)d=c;else{h=k[c+8>>2]|0;d=c;while(1){if((h|0)!=(k[g+8>>2]|0))break d;if((k[i>>2]|0)!=(k[g+12>>2]|0))break d;d=k[g>>2]|0;if(!d){d=g;break}else{o=g;g=d;d=o}}}while(0);k[l>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(j<<2)>>2]>>2];k[k[(k[a>>2]|0)+(j<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=36;break a}}}else{c=d;while(1){j=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((j|0)==(e|0))break c;d=(k[a>>2]|0)+(j<<2)|0;if(!(k[d>>2]|0)){e=j;break b}h=c+12|0;g=k[c>>2]|0;e:do if(!g)d=c;else{i=k[c+8>>2]|0;d=c;while(1){if((i|0)!=(k[g+8>>2]|0))break e;if((k[h>>2]|0)!=(k[g+12>>2]|0))break e;d=k[g>>2]|0;if(!d){d=g;break}else{o=g;g=d;d=o}}}while(0);k[l>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(j<<2)>>2]>>2];k[k[(k[a>>2]|0)+(j<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=36;break a}}}while(0);d=k[c>>2]|0;if(!d){c=36;break a}else{f=c;l=c}}k[d>>2]=l;d=k[c>>2]|0;if(!d){c=36;break}else f=c}if((c|0)==36)return}function Pd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)_r(c);k[d>>2]=0;return}if(b>>>0>1073741823){a=Ma(4)|0;Cr(a);wa(a|0,1344,125)}o=jo(b<<2)|0;c=k[a>>2]|0;k[a>>2]=o;if(c|0)_r(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;n=b+-1|0;o=(n&b|0)==0;if(o)c=c&n;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){m=c;b:while(1){c:do if(o){c=d;while(1){l=k[c+4>>2]&n;if((l|0)==(e|0))break c;d=(k[a>>2]|0)+(l<<2)|0;if(!(k[d>>2]|0)){e=l;break b}j=c+9|0;g=k[c>>2]|0;d:do if(!g)d=c;else{h=i[c+8>>0]|0;d=c;while(1){if(h<<24>>24!=(i[g+8>>0]|0))break d;if((i[j>>0]|0)!=(i[g+9>>0]|0))break d;d=k[g>>2]|0;if(!d){d=g;break}else{p=g;g=d;d=p}}}while(0);k[m>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=36;break a}}}else{c=d;while(1){l=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((l|0)==(e|0))break c;d=(k[a>>2]|0)+(l<<2)|0;if(!(k[d>>2]|0)){e=l;break b}h=c+9|0;g=k[c>>2]|0;e:do if(!g)d=c;else{j=i[c+8>>0]|0;d=c;while(1){if(j<<24>>24!=(i[g+8>>0]|0))break e;if((i[h>>0]|0)!=(i[g+9>>0]|0))break e;d=k[g>>2]|0;if(!d){d=g;break}else{p=g;g=d;d=p}}}while(0);k[m>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=36;break a}}}while(0);d=k[c>>2]|0;if(!d){c=36;break a}else{f=c;m=c}}k[d>>2]=m;d=k[c>>2]|0;if(!d){c=36;break}else f=c}if((c|0)==36)return}function Qd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}e=b+d|0;e=(l[e>>0]|l[e+1>>0]<<8)<<16>>16;f=c;k[f>>2]=e;k[f+4>>2]=((e|0)<0)<<31>>31;f=c+8|0;k[f>>2]=0;k[f+4>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;e=(f&65535)<<16>>16;g=c;k[g>>2]=e;k[g+4>>2]=((e|0)<0)<<31>>31;f=(f>>>16&65535)<<16>>16;g=c+8|0;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,6,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}e=b+d|0;f=e+2|0;f=l[f>>0]|l[f+1>>0]<<8;e=(l[e>>0]|l[e+1>>0]<<8)<<16>>16;g=c;k[g>>2]=e;k[g+4>>2]=((e|0)<0)<<31>>31;f=f<<16>>16;g=c+8|0;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,8,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}e=b+d|0;f=e;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;e=e+4|0;e=zo(No(f|0,l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24|0,48)|0,M|0,48)|0;g=c;k[g>>2]=e;k[g+4>>2]=M;f=zo(0,f|0,48)|0;g=c+8|0;k[g>>2]=f;k[g+4>>2]=M;g=1;return g|0}default:{g=0;return g|0}}return 0}function Rd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=M;a=k[a>>2]|0;b=k[a>>2]|0;if(!((e|0)<0|((e|0)==0?d>>>0<((k[a+4>>2]|0)-b|0)>>>0:0))){f=0;return f|0}f=c;k[f>>2]=l[b+d>>0];k[f+4>>2]=0;f=c+8|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[f+16>>2]=0;k[f+20>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;f=l[f>>0]|l[f+1>>0]<<8;g=c;k[g>>2]=f&255;k[g+4>>2]=0;g=c+8|0;k[g>>2]=(f&65535)>>>8&65535;k[g+4>>2]=0;g=c+16|0;k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;k[g+12>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,3,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}a=b+d|0;e=i[a+1>>0]|0;f=i[a+2>>0]|0;g=c;k[g>>2]=l[a>>0];k[g+4>>2]=0;g=c+8|0;k[g>>2]=e&255;k[g+4>>2]=0;g=c+16|0;k[g>>2]=f&255;k[g+4>>2]=0;g=c+24|0;k[g>>2]=0;k[g+4>>2]=0;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,4,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=f&255;k[g+4>>2]=0;g=c+8|0;k[g>>2]=f>>>8&255;k[g+4>>2]=0;g=c+16|0;k[g>>2]=f>>>16&255;k[g+4>>2]=0;g=c+24|0;k[g>>2]=f>>>24;k[g+4>>2]=0;g=1;return g|0}default:{g=0;return g|0}}return 0}function Sd(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,m=0;m=u;u=u+32|0;g=m+12|0;h=m;k[b+40>>2]=c;f=b+32|0;k[f>>2]=d;k[b+4>>2]=e;tc(a,d,g);if(k[a>>2]|0){u=m;return}c=a+4|0;Jp(c);e=l[g+7>>0]|0;if((e|0)!=(Wa[k[(k[b>>2]|0)+8>>2]&255](b)|0)){k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;Jk(h,18870,50);k[a>>2]=-1;gm(c,h);Jp(h);u=m;return}d=i[g+5>>0]|0;i[b+36>>0]=d;e=i[g+6>>0]|0;i[b+37>>0]=e;if((d+-1&255)>1){k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;Jk(h,18921,22);k[a>>2]=-5;gm(c,h);Jp(h);u=m;return}if(!(d<<24>>24!=2|e<<24>>24==0)){k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;Jk(h,18944,22);k[a>>2]=-5;gm(c,h);Jp(h);u=m;return}e=(e&255|(d&255)<<8)&65535;j[(k[f>>2]|0)+38>>1]=e;do if((e&65535)>258?(j[g+10>>1]|0)<0:0){kg(a,b);if(!(k[a>>2]|0)){Jp(c);break}else{u=m;return}}while(0);if(!(Wa[k[(k[b>>2]|0)+12>>2]&255](b)|0)){k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;Jk(h,18967,33);k[a>>2]=-1;gm(c,h);Jp(h);u=m;return}if(!(Wa[k[(k[b>>2]|0)+20>>2]&255](b)|0)){k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;Jk(h,19001,31);k[a>>2]=-1;gm(c,h);Jp(h);u=m;return}if(Wa[k[(k[b>>2]|0)+24>>2]&255](b)|0){k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;u=m;return}else{k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;Jk(h,19033,34);k[a>>2]=-1;gm(c,h);Jp(h);u=m;return}}function Td(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}e=b+d|0;f=c;k[f>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;k[f+4>>2]=0;f=c+8|0;k[f>>2]=0;k[f+4>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,8,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;e=f;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;k[g+4>>2]=0;g=c+8|0;k[g>>2]=f;k[g+4>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,12,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}e=b+d|0;f=e+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;k[g+4>>2]=0;g=c+8|0;k[g>>2]=f;k[g+4>>2]=0;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,16,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}e=b+d|0;f=e+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;k[g+4>>2]=0;g=c+8|0;k[g>>2]=f;k[g+4>>2]=0;g=1;return g|0}default:{g=0;return g|0}}return 0}function Ud(a,b,c){a=a|0;b=b|0;c=c|0;var 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;q=Wa[k[(k[a>>2]|0)+44>>2]&255](a)|0;if((q|0)<1){q=0;return q|0}p=(k[b+4>>2]|0)-(k[b>>2]|0)>>2;o=$(p,q)|0;nh(a,p,q);p=k[a+16>>2]|0;p=(k[k[p>>2]>>2]|0)+(k[p+48>>2]|0)|0;m=c+8|0;e=m;d=k[e>>2]|0;e=k[e+4>>2]|0;n=c+16|0;l=n;j=k[l>>2]|0;l=k[l+4>>2]|0;if(!((e|0)>(l|0)|(e|0)==(l|0)&d>>>0>j>>>0)){q=0;return q|0}f=k[c>>2]|0;r=i[f+j>>0]|0;g=Fp(j|0,l|0,1,0)|0;h=M;s=n;k[s>>2]=g;k[s+4>>2]=h;do if(!(r<<24>>24)){if(!((e|0)>(h|0)|(e|0)==(h|0)&d>>>0>g>>>0)){s=0;return s|0}d=i[f+g>>0]|0;s=Fp(j|0,l|0,2,0)|0;h=n;k[h>>2]=s;k[h+4>>2]=M;h=d&255;if((h|0)==(Zm(5)|0)){e=o<<2;l=m;r=k[l>>2]|0;l=k[l+4>>2]|0;s=n;d=k[s>>2]|0;s=Fp(d|0,k[s+4>>2]|0,e|0,0)|0;m=M;if((l|0)<(m|0)|(l|0)==(m|0)&r>>>0>>0){s=0;return s|0}else{Gh(p|0,(k[c>>2]|0)+d|0,e|0)|0;s=n;s=Fp(k[s>>2]|0,k[s+4>>2]|0,e|0,0)|0;g=n;k[g>>2]=s;k[g+4>>2]=M;g=14;break}}if(!o)g=15;else{g=d&255;e=n;f=0;d=k[e>>2]|0;e=k[e+4>>2]|0;do{j=m;r=k[j>>2]|0;j=k[j+4>>2]|0;s=Fp(d|0,e|0,g|0,0)|0;l=M;if(!((j|0)<(l|0)|(j|0)==(l|0)&r>>>0>>0)){Gh(p+(f<<2)|0,(k[c>>2]|0)+d|0,h|0)|0;d=n;d=Fp(k[d>>2]|0,k[d+4>>2]|0,g|0,0)|0;e=M;s=n;k[s>>2]=d;k[s+4>>2]=e}f=f+1|0}while((f|0)!=(o|0));g=14}}else if(Pj(o,q,c,p)|0)g=14;else{s=0;return s|0}while(0);do if((g|0)==14)if((o|0)>0){d=a+20|0;e=k[d>>2]|0;if(e|0?Wa[k[(k[e>>2]|0)+32>>2]&255](e)|0:0){f=1;break}rn(p,o,p);f=1}else g=15;while(0);if((g|0)==15){d=a+20|0;f=0}e=k[d>>2]|0;if(e|0){if(!(_a[k[(k[e>>2]|0)+40>>2]&127](e,c)|0)){s=0;return s|0}if(f?(s=k[d>>2]|0,!(Va[k[(k[s>>2]|0)+44>>2]&63](s,p,p,o,q,k[b>>2]|0)|0)):0){s=0;return s|0}}s=1;return s|0}function Vd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}f=b+d|0;k[c>>2]=(l[f>>0]|l[f+1>>0]<<8)<<16>>16;f=c+4|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;k[c>>2]=g<<16>>16;k[c+4>>2]=g>>16;g=c+8|0;k[g>>2]=0;k[g+4>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,6,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}e=b+d|0;f=e+2|0;f=l[f>>0]|l[f+1>>0]<<8;g=e+4|0;g=l[g>>0]|l[g+1>>0]<<8;k[c>>2]=(l[e>>0]|l[e+1>>0]<<8)<<16>>16;k[c+4>>2]=f<<16>>16;k[c+8>>2]=g<<16>>16;k[c+12>>2]=0;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,8,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;f=g;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=g+4|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;k[c>>2]=f<<16>>16;k[c+4>>2]=f>>16;e=No(g|0,0,16)|0;k[c+8>>2]=e>>16;g=No(So(f|0,g|0,48)|0,M|0,16)|0;k[c+12>>2]=g>>16;g=1;return g|0}default:{g=0;return g|0}}return 0}function Wd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}f=b+d|0;k[c>>2]=(l[f>>0]|l[f+1>>0]<<8)&65535;f=c+4|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;k[c>>2]=g&65535;k[c+4>>2]=g>>>16;g=c+8|0;k[g>>2]=0;k[g+4>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,6,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}e=b+d|0;f=e+2|0;f=l[f>>0]|l[f+1>>0]<<8;g=e+4|0;g=l[g>>0]|l[g+1>>0]<<8;k[c>>2]=(l[e>>0]|l[e+1>>0]<<8)&65535;k[c+4>>2]=f&65535;k[c+8>>2]=g&65535;k[c+12>>2]=0;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,8,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;f=g;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=g+4|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;k[c>>2]=f&65535;e=So(f|0,g|0,16)|0;k[c+4>>2]=e&65535;k[c+8>>2]=g&65535;g=So(f|0,g|0,48)|0;k[c+12>>2]=g;g=1;return g|0}default:{g=0;return g|0}}return 0}function Xd(a,b){a=a|0;b=b|0;var 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;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)_r(c);k[d>>2]=0;return}if(b>>>0>1073741823){a=Ma(4)|0;Cr(a);wa(a|0,1344,125)}v=jo(b<<2)|0;c=k[a>>2]|0;k[a>>2]=v;if(c|0)_r(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;f=k[d>>2]|0;if(!f)return;c=k[f+4>>2]|0;u=b+-1|0;v=(u&b|0)==0;if(v)c=c&u;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[f>>2]|0;if(!d)return;t=a+24|0;s=c;e=f;c=f;a:while(1){r=c;b:while(1){c=d;while(1){d=k[c+4>>2]|0;if(v)q=d&u;else q=(d>>>0)%(b>>>0)|0;if((q|0)==(s|0))break;d=(k[a>>2]|0)+(q<<2)|0;if(!(k[d>>2]|0))break b;f=k[c>>2]|0;c:do if(!f)d=c;else{n=k[c+8>>2]|0;m=k[t>>2]|0;o=k[m+8>>2]|0;m=(k[m+12>>2]|0)-o|0;p=m>>>2;if((m|0)>0)d=c;else{d=f;while(1){f=k[d>>2]|0;if(!f)break c;else d=f}}while(1){l=k[f+8>>2]|0;j=0;do{g=k[o+(j<<2)>>2]|0;h=(i[g+84>>0]|0)==0;if(h)m=k[(k[g+68>>2]|0)+(n<<2)>>2]|0;else m=n;if((p|0)<=(j|0)){c=35;break a}if(h)g=k[(k[g+68>>2]|0)+(l<<2)>>2]|0;else g=l;j=j+1|0;if((m|0)!=(g|0))break c}while((j|0)<(p|0));d=k[f>>2]|0;if(!d){d=f;break}else{m=f;f=d;d=m}}}while(0);k[r>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(q<<2)>>2]>>2];k[k[(k[a>>2]|0)+(q<<2)>>2]>>2]=c;c=k[e>>2]|0;if(!c){c=40;break a}}d=k[c>>2]|0;if(!d){c=40;break a}else{e=c;r=c}}k[d>>2]=r;d=k[c>>2]|0;if(!d){c=40;break}else{s=q;e=c}}if((c|0)==35)Ka(20257,20148,64,20247);else if((c|0)==40)return}function Yd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}e=b+d|0;f=c;k[f>>2]=(l[e>>0]|l[e+1>>0]<<8)&65535;k[f+4>>2]=0;f=c+8|0;k[f>>2]=0;k[f+4>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=f&65535;k[g+4>>2]=0;g=c+8|0;k[g>>2]=f>>>16;k[g+4>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,6,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}e=b+d|0;f=e+2|0;f=l[f>>0]|l[f+1>>0]<<8;g=c;k[g>>2]=(l[e>>0]|l[e+1>>0]<<8)&65535;k[g+4>>2]=0;g=c+8|0;k[g>>2]=f&65535;k[g+4>>2]=0;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,8,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;g=f;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;e=c;k[e>>2]=g&65535;k[e+4>>2]=0;f=So(g|0,f|0,16)|0;g=c+8|0;k[g>>2]=f&65535;k[g+4>>2]=0;g=1;return g|0}default:{g=0;return g|0}}return 0}function Zd(a,b){a=a|0;b=b|0;var 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;r=u;u=u+176|0;e=r+136|0;p=r+64|0;l=r;g=r+32|0;f=k[(k[a+4>>2]|0)+44>>2]|0;q=jo(88)|0;k[q+4>>2]=0;k[q>>2]=4408;h=q+12|0;k[h>>2]=4388;j=q+64|0;k[j>>2]=0;k[q+68>>2]=0;k[q+72>>2]=0;c=q+16|0;d=c+44|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));k[q+76>>2]=f;k[q+80>>2]=b;k[q+84>>2]=0;n=p+4|0;k[n>>2]=4388;m=p+56|0;k[m>>2]=0;o=p+60|0;k[o>>2]=0;k[p+64>>2]=0;c=p+8|0;d=c+44|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));c=k[a+8>>2]|0;k[l>>2]=4388;a=l+4|0;d=a+4|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;d=c;k[a>>2]=d;d=((k[d+4>>2]|0)-(k[c>>2]|0)>>2>>>0)/3|0;i[e>>0]=0;Qh(l+8|0,d,e);Ta[k[(k[l>>2]|0)+8>>2]&127](l);Eg(g,l);Eg(e,g);k[p>>2]=k[e+4>>2];d=p+4|0;gh(d,e)|0;k[e>>2]=4388;a=k[e+20>>2]|0;if(a|0)_r(a);a=k[e+8>>2]|0;if(a|0)_r(a);k[p+36>>2]=c;k[p+40>>2]=b;k[p+44>>2]=f;k[p+48>>2]=q;k[g>>2]=4388;a=k[g+20>>2]|0;if(a|0)_r(a);a=k[g+8>>2]|0;if(a|0)_r(a);k[q+8>>2]=k[p>>2];gh(h,d)|0;a=q+44|0;h=p+36|0;k[a>>2]=k[h>>2];k[a+4>>2]=k[h+4>>2];k[a+8>>2]=k[h+8>>2];k[a+12>>2]=k[h+12>>2];i[a+16>>0]=i[h+16>>0]|0;Gg(j,k[m>>2]|0,k[o>>2]|0);k[l>>2]=4388;a=k[l+20>>2]|0;if(a|0)_r(a);a=k[l+8>>2]|0;if(a|0)_r(a);a=k[m>>2]|0;if(a|0){c=k[o>>2]|0;if((c|0)!=(a|0))k[o>>2]=c+(~((c+-4-a|0)>>>2)<<2);_r(a)}k[n>>2]=4388;a=k[p+24>>2]|0;if(a|0)_r(a);a=k[p+12>>2]|0;if(!a){u=r;return q|0}_r(a);u=r;return q|0}function _d(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=M;a=k[a>>2]|0;b=k[a>>2]|0;if(!((e|0)<0|((e|0)==0?d>>>0<((k[a+4>>2]|0)-b|0)>>>0:0))){f=0;return f|0}f=c;k[f>>2]=l[b+d>>0];k[f+4>>2]=0;f=c+8|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;f=l[f>>0]|l[f+1>>0]<<8;g=c;k[g>>2]=f&255;k[g+4>>2]=0;g=c+8|0;k[g>>2]=(f&65535)>>>8&65535;k[g+4>>2]=0;g=c+16|0;k[g>>2]=0;k[g+4>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,3,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}a=b+d|0;e=i[a+1>>0]|0;f=i[a+2>>0]|0;g=c;k[g>>2]=l[a>>0];k[g+4>>2]=0;g=c+8|0;k[g>>2]=e&255;k[g+4>>2]=0;g=c+16|0;k[g>>2]=f&255;k[g+4>>2]=0;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,4,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=f&255;k[g+4>>2]=0;g=c+8|0;k[g>>2]=f>>>8&255;k[g+4>>2]=0;g=c+16|0;k[g>>2]=f>>>16&255;k[g+4>>2]=0;g=1;return g|0}default:{g=0;return g|0}}return 0}function $d(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=M;a=k[a>>2]|0;b=k[a>>2]|0;if(!((e|0)<0|((e|0)==0?d>>>0<((k[a+4>>2]|0)-b|0)>>>0:0))){f=0;return f|0}e=i[b+d>>0]|0;f=c;k[f>>2]=e;k[f+4>>2]=((e|0)<0)<<31>>31;f=c+8|0;k[f>>2]=0;k[f+4>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;f=l[f>>0]|l[f+1>>0]<<8;e=(f&255)<<24>>24;g=c;k[g>>2]=e;k[g+4>>2]=((e|0)<0)<<31>>31;f=((f&65535)>>>8&255)<<24>>24;g=c+8|0;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,3,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}e=b+d|0;f=i[e+1>>0]|0;e=i[e>>0]|0;g=c;k[g>>2]=e;k[g+4>>2]=((e|0)<0)<<31>>31;f=f<<24>>24;g=c+8|0;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,4,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;e=(f&255)<<24>>24;g=c;k[g>>2]=e;k[g+4>>2]=((e|0)<0)<<31>>31;f=(f>>>8&255)<<24>>24;g=c+8|0;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=1;return g|0}default:{g=0;return g|0}}return 0}function ae(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}f=b+d|0;i[s>>0]=i[f>>0];i[s+1>>0]=i[f+1>>0];i[s+2>>0]=i[f+2>>0];i[s+3>>0]=i[f+3>>0];f=~~da(o[s>>2]);k[c>>2]=f;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,8,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;g=~~(k[s>>2]=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24,da(o[s>>2]));k[c>>2]=g;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,12,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;i[s>>0]=i[g>>0];i[s+1>>0]=i[g+1>>0];i[s+2>>0]=i[g+2>>0];i[s+3>>0]=i[g+3>>0];g=~~da(o[s>>2]);k[c>>2]=g;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,16,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;i[s>>0]=i[g>>0];i[s+1>>0]=i[g+1>>0];i[s+2>>0]=i[g+2>>0];i[s+3>>0]=i[g+3>>0];g=~~da(o[s>>2]);k[c>>2]=g;g=1;return g|0}default:{g=0;return g|0}}return 0}function be(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;h=a+92|0;i=k[b>>2]|0;j=(i|0)<0;l=i+1|0;do if(!j){b=((l|0)%3|0|0)==0?i+-2|0:l;if(!((i>>>0)%3|0)){f=i+2|0;d=b;break}else{f=i+-1|0;d=b;break}}else{f=i;d=i}while(0);g=a+128|0;b=k[g>>2]|0;switch(b|0){case 1:case 0:{if((d|0)<0)b=-1073741824;else b=k[(k[k[h>>2]>>2]|0)+(d<<2)>>2]|0;c=k[a+100>>2]|0;e=c+(b<<2)|0;k[e>>2]=(k[e>>2]|0)+1;if((f|0)<0){e=1;d=-1073741824;b=c;c=28}else{e=1;d=k[(k[k[h>>2]>>2]|0)+(f<<2)>>2]|0;b=c;c=28}break}case 5:{if(j)b=-1073741824;else b=k[(k[k[h>>2]>>2]|0)+(i<<2)>>2]|0;c=k[a+100>>2]|0;e=c+(b<<2)|0;k[e>>2]=(k[e>>2]|0)+1;if((d|0)<0)b=-1073741824;else b=k[(k[k[h>>2]>>2]|0)+(d<<2)>>2]|0;e=c+(b<<2)|0;k[e>>2]=(k[e>>2]|0)+1;if((f|0)<0){e=2;d=-1073741824;b=c;c=28}else{e=2;d=k[(k[k[h>>2]>>2]|0)+(f<<2)>>2]|0;b=c;c=28}break}case 3:{if(j)b=-1073741824;else b=k[(k[k[h>>2]>>2]|0)+(i<<2)>>2]|0;c=k[a+100>>2]|0;e=c+(b<<2)|0;k[e>>2]=(k[e>>2]|0)+1;if((d|0)<0)b=-1073741824;else b=k[(k[k[h>>2]>>2]|0)+(d<<2)>>2]|0;e=c+(b<<2)|0;k[e>>2]=(k[e>>2]|0)+2;if((f|0)<0){e=1;d=-1073741824;b=c;c=28}else{e=1;d=k[(k[k[h>>2]>>2]|0)+(f<<2)>>2]|0;b=c;c=28}break}case 7:{if(j)b=-1073741824;else b=k[(k[k[h>>2]>>2]|0)+(i<<2)>>2]|0;c=k[a+100>>2]|0;e=c+(b<<2)|0;k[e>>2]=(k[e>>2]|0)+2;if((d|0)<0)b=-1073741824;else b=k[(k[k[h>>2]>>2]|0)+(d<<2)>>2]|0;e=c+(b<<2)|0;k[e>>2]=(k[e>>2]|0)+2;if((f|0)<0){e=2;d=-1073741824;b=c;c=28}else{e=2;d=k[(k[k[h>>2]>>2]|0)+(f<<2)>>2]|0;b=c;c=28}break}default:{}}if((c|0)==28){b=b+(d<<2)|0;k[b>>2]=(k[b>>2]|0)+e;b=k[g>>2]|0}switch(b|0){case 5:case 0:break;default:{k[a+132>>2]=-1;return}}b=k[h>>2]|0;if(!j?(m=((l|0)%3|0|0)==0?i+-2|0:l,(m|0)>=0):0)b=k[(k[b>>2]|0)+(m<<2)>>2]|0;else b=-1073741824;k[a+132>>2]=(k[(k[a+100>>2]|0)+(b<<2)>>2]|0)<6?5:0;return}function ce(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}f=b+d|0;k[c>>2]=(l[f>>0]|l[f+1>>0]<<8)<<16>>16;f=c+4|0;k[f>>2]=0;k[f+4>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;k[c>>2]=g<<16>>16;k[c+4>>2]=g>>16;k[c+8>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,6,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}e=b+d|0;f=e+2|0;f=l[f>>0]|l[f+1>>0]<<8;g=e+4|0;g=l[g>>0]|l[g+1>>0]<<8;k[c>>2]=(l[e>>0]|l[e+1>>0]<<8)<<16>>16;k[c+4>>2]=f<<16>>16;k[c+8>>2]=g<<16>>16;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,8,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;f=g;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=g+4|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;k[c>>2]=f<<16>>16;k[c+4>>2]=f>>16;g=No(g|0,0,16)|0;k[c+8>>2]=g>>16;g=1;return g|0}default:{g=0;return g|0}}return 0}function de(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}f=b+d|0;k[c>>2]=(l[f>>0]|l[f+1>>0]<<8)&65535;f=c+4|0;k[f>>2]=0;k[f+4>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;k[c>>2]=g&65535;k[c+4>>2]=g>>>16;k[c+8>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,6,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}e=b+d|0;f=e+2|0;f=l[f>>0]|l[f+1>>0]<<8;g=e+4|0;g=l[g>>0]|l[g+1>>0]<<8;k[c>>2]=(l[e>>0]|l[e+1>>0]<<8)&65535;k[c+4>>2]=f&65535;k[c+8>>2]=g&65535;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,8,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;f=g;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=g+4|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;k[c>>2]=f&65535;f=So(f|0,g|0,16)|0;k[c+4>>2]=f&65535;k[c+8>>2]=g&65535;g=1;return g|0}default:{g=0;return g|0}}return 0}function ee(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=Pa,j=Pa;switch(i[a+24>>0]|0){case 1:{g=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;e=a+40|0;b=Fp(io(k[e>>2]|0,k[e+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;f=Fp(b|0,M|0,4,0)|0;g=M;e=k[a>>2]|0;d=k[e>>2]|0;if((g|0)>0|((g|0)==0?f>>>0>((k[e+4>>2]|0)-d|0)>>>0:0)){g=0;return g|0}g=d+b|0;j=da((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);h=da(j*da(2.32830644e-10));o[c>>2]=(i[a+32>>0]|0)==0?j:h;g=1;return g|0}case 2:{e=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;f=Fp(b|0,M|0,8,0)|0;e=M;g=k[a>>2]|0;d=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-d|0)>>>0:0)){g=0;return g|0}g=d+b|0;h=da((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);j=da(h*da(2.32830644e-10));o[c>>2]=(i[a+32>>0]|0)==0?h:j;g=1;return g|0}case 3:{e=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;f=Fp(b|0,M|0,12,0)|0;e=M;g=k[a>>2]|0;d=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-d|0)>>>0:0)){g=0;return g|0}g=d+b|0;h=da((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);j=da(h*da(2.32830644e-10));o[c>>2]=(i[a+32>>0]|0)==0?h:j;g=1;return g|0}case 4:{e=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;f=Fp(b|0,M|0,16,0)|0;e=M;g=k[a>>2]|0;d=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-d|0)>>>0:0)){g=0;return g|0}g=d+b|0;h=da((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);j=da(h*da(2.32830644e-10));o[c>>2]=(i[a+32>>0]|0)==0?h:j;g=1;return g|0}default:{g=0;return g|0}}return 0}function fe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=a+92|0;c=k[b>>2]|0;d=(c|0)<0;b=c+1|0;do if(!d){b=((b|0)%3|0|0)==0?c+-2|0:b;if(!((c>>>0)%3|0)){g=c+2|0;h=b;break}else{g=c+-1|0;h=b;break}}else{g=c;h=c}while(0);switch(k[a+112>>2]|0){case 1:case 0:{if((h|0)<0)b=-1073741824;else b=k[(k[k[i>>2]>>2]|0)+(h<<2)>>2]|0;c=k[a+100>>2]|0;f=c+(b<<2)|0;k[f>>2]=(k[f>>2]|0)+1;if((g|0)<0){e=1;d=-1073741824;b=c;f=28}else{e=1;d=k[(k[k[i>>2]>>2]|0)+(g<<2)>>2]|0;b=c;f=28}break}case 5:{if(d)b=-1073741824;else b=k[(k[k[i>>2]>>2]|0)+(c<<2)>>2]|0;c=k[a+100>>2]|0;f=c+(b<<2)|0;k[f>>2]=(k[f>>2]|0)+1;if((h|0)<0)b=-1073741824;else b=k[(k[k[i>>2]>>2]|0)+(h<<2)>>2]|0;f=c+(b<<2)|0;k[f>>2]=(k[f>>2]|0)+1;if((g|0)<0){e=2;d=-1073741824;b=c;f=28}else{e=2;d=k[(k[k[i>>2]>>2]|0)+(g<<2)>>2]|0;b=c;f=28}break}case 3:{if(d)b=-1073741824;else b=k[(k[k[i>>2]>>2]|0)+(c<<2)>>2]|0;c=k[a+100>>2]|0;f=c+(b<<2)|0;k[f>>2]=(k[f>>2]|0)+1;if((h|0)<0)b=-1073741824;else b=k[(k[k[i>>2]>>2]|0)+(h<<2)>>2]|0;f=c+(b<<2)|0;k[f>>2]=(k[f>>2]|0)+2;if((g|0)<0){e=1;d=-1073741824;b=c;f=28}else{e=1;d=k[(k[k[i>>2]>>2]|0)+(g<<2)>>2]|0;b=c;f=28}break}case 7:{if(d)b=-1073741824;else b=k[(k[k[i>>2]>>2]|0)+(c<<2)>>2]|0;c=k[a+100>>2]|0;f=c+(b<<2)|0;k[f>>2]=(k[f>>2]|0)+2;if((h|0)<0)b=-1073741824;else b=k[(k[k[i>>2]>>2]|0)+(h<<2)>>2]|0;f=c+(b<<2)|0;k[f>>2]=(k[f>>2]|0)+2;if((g|0)<0){e=2;d=-1073741824;b=c;f=28}else{e=2;d=k[(k[k[i>>2]>>2]|0)+(g<<2)>>2]|0;b=c;f=28}break}default:{}}if((f|0)==28){g=b+(d<<2)|0;k[g>>2]=(k[g>>2]|0)+e}if((h|0)<0)b=-1073741824;else b=k[(k[k[i>>2]>>2]|0)+(h<<2)>>2]|0;b=k[(k[a+100>>2]|0)+(b<<2)>>2]|0;c=k[a+120>>2]|0;if((b|0)<(c|0)){i=c;i=i-c|0;a=a+116|0;k[a>>2]=i;return}i=k[a+124>>2]|0;i=(b|0)>(i|0)?i:b;i=i-c|0;a=a+116|0;k[a>>2]=i;return}function ge(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=Pa,j=Pa;switch(i[a+24>>0]|0){case 1:{g=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;e=a+40|0;b=Fp(io(k[e>>2]|0,k[e+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;f=Fp(b|0,M|0,4,0)|0;g=M;e=k[a>>2]|0;d=k[e>>2]|0;if((g|0)>0|((g|0)==0?f>>>0>((k[e+4>>2]|0)-d|0)>>>0:0)){g=0;return g|0}g=d+b|0;j=da(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);h=da(j*da(4.65661287e-10));o[c>>2]=(i[a+32>>0]|0)==0?j:h;g=1;return g|0}case 2:{e=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;f=Fp(b|0,M|0,8,0)|0;e=M;g=k[a>>2]|0;d=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-d|0)>>>0:0)){g=0;return g|0}g=d+b|0;h=da(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);j=da(h*da(4.65661287e-10));o[c>>2]=(i[a+32>>0]|0)==0?h:j;g=1;return g|0}case 3:{e=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;f=Fp(b|0,M|0,12,0)|0;e=M;g=k[a>>2]|0;d=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-d|0)>>>0:0)){g=0;return g|0}g=d+b|0;h=da(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);j=da(h*da(4.65661287e-10));o[c>>2]=(i[a+32>>0]|0)==0?h:j;g=1;return g|0}case 4:{e=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;f=Fp(b|0,M|0,16,0)|0;e=M;g=k[a>>2]|0;d=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-d|0)>>>0:0)){g=0;return g|0}g=d+b|0;h=da(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);j=da(h*da(4.65661287e-10));o[c>>2]=(i[a+32>>0]|0)==0?h:j;g=1;return g|0}default:{g=0;return g|0}}return 0}function he(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=4432;ds(a+352|0);b=k[a+340>>2]|0;if(b|0){c=a+344|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}d=a+320|0;c=k[d>>2]|0;k[d>>2]=0;if(c|0){d=c+-4|0;b=k[d>>2]|0;if(b|0){b=c+(b<<4)|0;do{b=b+-16|0;ds(b)}while((b|0)!=(c|0))}Yr(d)}ds(a+304|0);ds(a+264|0);xj(a+228|0);b=k[a+212>>2]|0;if(b|0){c=a+216|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+200>>2]|0;if(b|0){c=a+204|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+188>>2]|0;if(b|0){c=a+192|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+176>>2]|0;if(b|0){c=a+180|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+160>>2]|0;if(b|0)do{d=b;b=k[b>>2]|0;_r(d)}while((b|0)!=0);d=a+152|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)_r(b);b=k[a+136>>2]|0;if(b|0)_r(b);b=k[a+124>>2]|0;if(b|0)_r(b);b=k[a+112>>2]|0;if(b|0)_r(b);b=k[a+88>>2]|0;if(b|0){c=a+92|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}d=k[a+76>>2]|0;if(d|0){b=a+80|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);_r(d)}b=k[a+64>>2]|0;if(b|0)_r(b);b=k[a+48>>2]|0;if(b|0){c=a+52|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+36>>2]|0;if(b|0){c=a+40|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);_r(b)}b=k[a+24>>2]|0;if(b|0){c=a+28|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+12>>2]|0;if(b|0){c=a+16|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}a=a+8|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;mk(b);_r(b);return}function ie(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)_r(c);k[d>>2]=0;return}if(b>>>0>1073741823){a=Ma(4)|0;Cr(a);wa(a|0,1344,125)}n=jo(b<<2)|0;c=k[a>>2]|0;k[a>>2]=n;if(c|0)_r(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;m=b+-1|0;n=(m&b|0)==0;if(n)c=c&m;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){b:do if(n){i=c;while(1){c=d;while(1){l=k[c+4>>2]&m;if((l|0)==(e|0))break;d=(k[a>>2]|0)+(l<<2)|0;if(!(k[d>>2]|0)){f=i;e=l;break b}h=c+8|0;d=c;while(1){g=k[d>>2]|0;if(!g)break;if((j[h>>1]|0)==(j[g+8>>1]|0))d=g;else break}k[i>>2]=g;k[d>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=34;break a}}d=k[c>>2]|0;if(!d){c=34;break a}else{f=c;i=c}}}else{i=c;while(1){c=d;while(1){l=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((l|0)==(e|0))break;d=(k[a>>2]|0)+(l<<2)|0;if(!(k[d>>2]|0)){f=i;e=l;break b}g=c+8|0;d=c;while(1){h=k[d>>2]|0;if(!h)break;if((j[g>>1]|0)==(j[h+8>>1]|0))d=h;else break}k[i>>2]=h;k[d>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=34;break a}}d=k[c>>2]|0;if(!d){c=34;break a}else{f=c;i=c}}}while(0);k[d>>2]=f;d=k[c>>2]|0;if(!d){c=34;break}else f=c}if((c|0)==34)return}function je(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)_r(c);k[d>>2]=0;return}if(b>>>0>1073741823){a=Ma(4)|0;Cr(a);wa(a|0,1344,125)}n=jo(b<<2)|0;c=k[a>>2]|0;k[a>>2]=n;if(c|0)_r(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;m=b+-1|0;n=(m&b|0)==0;if(n)c=c&m;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){b:do if(n){j=c;while(1){c=d;while(1){l=k[c+4>>2]&m;if((l|0)==(e|0))break;d=(k[a>>2]|0)+(l<<2)|0;if(!(k[d>>2]|0)){f=j;e=l;break b}h=c+8|0;d=c;while(1){g=k[d>>2]|0;if(!g)break;if((i[h>>0]|0)==(i[g+8>>0]|0))d=g;else break}k[j>>2]=g;k[d>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=34;break a}}d=k[c>>2]|0;if(!d){c=34;break a}else{f=c;j=c}}}else{j=c;while(1){c=d;while(1){l=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((l|0)==(e|0))break;d=(k[a>>2]|0)+(l<<2)|0;if(!(k[d>>2]|0)){f=j;e=l;break b}g=c+8|0;d=c;while(1){h=k[d>>2]|0;if(!h)break;if((i[g>>0]|0)==(i[h+8>>0]|0))d=h;else break}k[j>>2]=h;k[d>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=34;break a}}d=k[c>>2]|0;if(!d){c=34;break a}else{f=c;j=c}}}while(0);k[d>>2]=f;d=k[c>>2]|0;if(!d){c=34;break}else f=c}if((c|0)==34)return}function ke(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}e=b+d|0;e=(l[e>>0]|l[e+1>>0]<<8)<<16>>16;f=c;k[f>>2]=e;k[f+4>>2]=((e|0)<0)<<31>>31;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;f=((l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24)&65535)<<16>>16;g=c;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,6,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;f=(l[f>>0]|l[f+1>>0]<<8)<<16>>16;g=c;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,8,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;g=f;f=f+4|0;f=zo(No(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0,l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24|0,48)|0,M|0,48)|0;g=c;k[g>>2]=f;k[g+4>>2]=M;g=1;return g|0}default:{g=0;return g|0}}return 0}function le(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=Pa,j=Pa;switch(i[a+24>>0]|0){case 1:{g=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;e=a+40|0;b=Fp(io(k[e>>2]|0,k[e+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;f=Fp(b|0,M|0,2,0)|0;g=M;e=k[a>>2]|0;d=k[e>>2]|0;if((g|0)>0|((g|0)==0?f>>>0>((k[e+4>>2]|0)-d|0)>>>0:0)){g=0;return g|0}g=d+b|0;j=da((l[g>>0]|l[g+1>>0]<<8)<<16>>16);h=da(j/da(32767.0));o[c>>2]=(i[a+32>>0]|0)==0?j:h;g=1;return g|0}case 2:{e=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;f=Fp(b|0,M|0,4,0)|0;e=M;g=k[a>>2]|0;d=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-d|0)>>>0:0)){g=0;return g|0}g=d+b|0;h=da(((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)&65535)<<16>>16);j=da(h/da(32767.0));o[c>>2]=(i[a+32>>0]|0)==0?h:j;g=1;return g|0}case 3:{e=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;f=Fp(b|0,M|0,6,0)|0;e=M;g=k[a>>2]|0;d=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-d|0)>>>0:0)){g=0;return g|0}g=d+b|0;h=da((l[g>>0]|l[g+1>>0]<<8)<<16>>16);j=da(h/da(32767.0));o[c>>2]=(i[a+32>>0]|0)==0?h:j;g=1;return g|0}case 4:{e=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;f=Fp(b|0,M|0,8,0)|0;e=M;g=k[a>>2]|0;d=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-d|0)>>>0:0)){g=0;return g|0}g=d+b|0;h=da(((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)&65535)<<16>>16);j=da(h/da(32767.0));o[c>>2]=(i[a+32>>0]|0)==0?h:j;g=1;return g|0}default:{g=0;return g|0}}return 0}function me(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;v=u;u=u+32|0;d=v+24|0;h=v+20|0;j=v+8|0;m=v+4|0;r=v;k[d>>2]=0;sk(d,k[a>>2]|0)|0;a:do if(k[d>>2]|0){c=0;while(1){c=c+1|0;if(!(Fe(a,b)|0)){c=0;break}if(c>>>0>=(k[d>>2]|0)>>>0)break a}u=v;return c|0}while(0);k[h>>2]=0;sk(h,k[a>>2]|0)|0;b:do if(!(k[h>>2]|0))c=1;else{g=0;while(1){k[j>>2]=0;k[j+4>>2]=0;k[j+8>>2]=0;c=k[a>>2]|0;w=c+8|0;x=k[w+4>>2]|0;d=c+16|0;f=d;e=k[f>>2]|0;f=k[f+4>>2]|0;if((x|0)>(f|0)|((x|0)==(f|0)?(k[w>>2]|0)>>>0>e>>>0:0)?(t=i[(k[c>>2]|0)+e>>0]|0,n=Fp(e|0,f|0,1,0)|0,l=d,k[l>>2]=n,k[l+4>>2]=M,l=t&255,uk(j,l,0),n=k[a>>2]|0,p=qm(j,0)|0,e=n+8|0,w=k[e>>2]|0,e=k[e+4>>2]|0,q=n+16|0,x=q,s=k[x>>2]|0,t=t&255,x=Fp(s|0,k[x+4>>2]|0,t|0,0)|0,f=M,!((e|0)<(f|0)|(e|0)==(f|0)&w>>>0>>0)):0){Gh(p|0,(k[n>>2]|0)+s|0,l|0)|0;w=q;w=Fp(k[w>>2]|0,k[w+4>>2]|0,t|0,0)|0;x=q;k[x>>2]=w;k[x+4>>2]=M;x=jo(40)|0;k[x>>2]=0;k[x+4>>2]=0;k[x+8>>2]=0;k[x+12>>2]=0;o[x+16>>2]=da(1.0);w=x+20|0;k[w>>2]=0;k[w+4>>2]=0;k[w+8>>2]=0;k[w+12>>2]=0;o[x+36>>2]=da(1.0);k[m>>2]=x;if(me(a,x)|0){c=k[m>>2]|0;k[m>>2]=0;k[r>>2]=c;jh(b,j,r)|0;Fj(r);c=0}else c=1;Fj(m)}else c=1;Jp(j);g=g+1|0;if(c|0){c=0;break b}if(g>>>0>=(k[h>>2]|0)>>>0){c=1;break}}}while(0);x=c;u=v;return x|0}function ne(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)_r(c);k[d>>2]=0;return}if(b>>>0>1073741823){a=Ma(4)|0;Cr(a);wa(a|0,1344,125)}m=jo(b<<2)|0;c=k[a>>2]|0;k[a>>2]=m;if(c|0)_r(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;l=b+-1|0;m=(l&b|0)==0;if(m)c=c&l;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){b:do if(m){i=c;while(1){c=d;while(1){j=k[c+4>>2]&l;if((j|0)==(e|0))break;d=(k[a>>2]|0)+(j<<2)|0;if(!(k[d>>2]|0)){f=i;e=j;break b}h=c+8|0;d=c;while(1){g=k[d>>2]|0;if(!g)break;if((k[h>>2]|0)==(k[g+8>>2]|0))d=g;else break}k[i>>2]=g;k[d>>2]=k[k[(k[a>>2]|0)+(j<<2)>>2]>>2];k[k[(k[a>>2]|0)+(j<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=34;break a}}d=k[c>>2]|0;if(!d){c=34;break a}else{f=c;i=c}}}else{i=c;while(1){c=d;while(1){j=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((j|0)==(e|0))break;d=(k[a>>2]|0)+(j<<2)|0;if(!(k[d>>2]|0)){f=i;e=j;break b}g=c+8|0;d=c;while(1){h=k[d>>2]|0;if(!h)break;if((k[g>>2]|0)==(k[h+8>>2]|0))d=h;else break}k[i>>2]=h;k[d>>2]=k[k[(k[a>>2]|0)+(j<<2)>>2]>>2];k[k[(k[a>>2]|0)+(j<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=34;break a}}d=k[c>>2]|0;if(!d){c=34;break a}else{f=c;i=c}}}while(0);k[d>>2]=f;d=k[c>>2]|0;if(!d){c=34;break}else f=c}if((c|0)==34)return}function oe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=Pa,j=Pa;switch(i[a+24>>0]|0){case 1:{g=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;e=a+40|0;b=Fp(io(k[e>>2]|0,k[e+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;f=Fp(b|0,M|0,2,0)|0;g=M;e=k[a>>2]|0;d=k[e>>2]|0;if((g|0)>0|((g|0)==0?f>>>0>((k[e+4>>2]|0)-d|0)>>>0:0)){g=0;return g|0}g=d+b|0;j=da((l[g>>0]|l[g+1>>0]<<8)&65535);h=da(j/da(65535.0));o[c>>2]=(i[a+32>>0]|0)==0?j:h;g=1;return g|0}case 2:{e=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;f=Fp(b|0,M|0,4,0)|0;e=M;g=k[a>>2]|0;d=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-d|0)>>>0:0)){g=0;return g|0}g=d+b|0;h=da((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)&65535);j=da(h/da(65535.0));o[c>>2]=(i[a+32>>0]|0)==0?h:j;g=1;return g|0}case 3:{e=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;f=Fp(b|0,M|0,6,0)|0;e=M;g=k[a>>2]|0;d=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-d|0)>>>0:0)){g=0;return g|0}g=d+b|0;h=da((l[g>>0]|l[g+1>>0]<<8)&65535);j=da(h/da(65535.0));o[c>>2]=(i[a+32>>0]|0)==0?h:j;g=1;return g|0}case 4:{e=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;f=Fp(b|0,M|0,8,0)|0;e=M;g=k[a>>2]|0;d=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-d|0)>>>0:0)){g=0;return g|0}g=d+b|0;h=da((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)&65535);j=da(h/da(65535.0));o[c>>2]=(i[a+32>>0]|0)==0?h:j;g=1;return g|0}default:{g=0;return g|0}}return 0}function pe(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=a+8|0;k[t>>2]=e;i=a+32|0;j=a+36|0;h=k[j>>2]|0;g=k[i>>2]|0;f=h-g>>2;if(f>>>0>=e>>>0)if(f>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0){k[j>>2]=h+(~((h+-4-l|0)>>>2)<<2);f=e}else f=e;else{oj(i,e-f|0);f=k[t>>2]|0}r=e>>>0>1073741823?-1:e<<2;s=Xr(r)|0;_j(s|0,0,r|0)|0;if((f|0)>0){l=a+16|0;i=a+32|0;m=a+12|0;h=0;do{f=k[s+(h<<2)>>2]|0;g=k[l>>2]|0;if((f|0)>(g|0)){j=k[i>>2]|0;k[j+(h<<2)>>2]=g}else{r=k[m>>2]|0;j=k[i>>2]|0;k[j+(h<<2)>>2]=(f|0)<(r|0)?r:f}h=h+1|0;f=k[t>>2]|0}while((h|0)<(f|0));if((f|0)>0){i=a+20|0;h=0;do{f=(k[b+(h<<2)>>2]|0)+(k[j+(h<<2)>>2]|0)|0;g=c+(h<<2)|0;k[g>>2]=f;if((f|0)<=(k[l>>2]|0)){if((f|0)<(k[m>>2]|0)){f=(k[i>>2]|0)+f|0;u=18}}else{f=f-(k[i>>2]|0)|0;u=18}if((u|0)==18){u=0;k[g>>2]=f}h=h+1|0;f=k[t>>2]|0}while((h|0)<(f|0))}}if((e|0)>=(d|0)){Yr(s);return 1}o=0-e|0;p=a+16|0;q=a+32|0;r=a+12|0;n=a+20|0;a=e;do{l=c+(a<<2)|0;i=l+(o<<2)|0;m=b+(a<<2)|0;if((f|0)>0){h=0;do{f=k[i+(h<<2)>>2]|0;g=k[p>>2]|0;if((f|0)>(g|0)){j=k[q>>2]|0;k[j+(h<<2)>>2]=g}else{g=k[r>>2]|0;j=k[q>>2]|0;k[j+(h<<2)>>2]=(f|0)<(g|0)?g:f}h=h+1|0;f=k[t>>2]|0}while((h|0)<(f|0));if((f|0)>0){h=0;do{f=(k[m+(h<<2)>>2]|0)+(k[j+(h<<2)>>2]|0)|0;g=l+(h<<2)|0;k[g>>2]=f;if((f|0)<=(k[p>>2]|0)){if((f|0)<(k[r>>2]|0)){f=(k[n>>2]|0)+f|0;u=33}}else{f=f-(k[n>>2]|0)|0;u=33}if((u|0)==33){u=0;k[g>>2]=f}h=h+1|0;f=k[t>>2]|0}while((h|0)<(f|0))}}a=a+e|0}while((a|0)<(d|0));Yr(s);return 1}function qe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;c=j[b+38>>1]|0;if(!(c<<16>>16)){s=0;return s|0}s=a+12|0;do if((c&65535)<512){n=b+8|0;p=k[n>>2]|0;n=k[n+4>>2]|0;c=b+16|0;q=c;d=k[q>>2]|0;q=Fp(d|0,k[q+4>>2]|0,4,0)|0;o=M;if((n|0)<(o|0)|(n|0)==(o|0)&p>>>0>>0){s=0;return s|0}else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[s>>0]=d;i[s+1>>0]=d>>8;i[s+2>>0]=d>>16;i[s+3>>0]=d>>24;p=c;p=Fp(k[p>>2]|0,k[p+4>>2]|0,4,0)|0;q=c;k[q>>2]=p;k[q+4>>2]=M;break}}else if(sk(s,b)|0){d=k[s>>2]|0;break}else{s=0;return s|0}while(0);c=a+4|0;g=k[c>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(d>>>0<=e>>>0){if(d>>>0>>0?(h=f+(d<<2)|0,(g|0)!=(h|0)):0)k[c>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{oj(a,d-e|0);d=k[s>>2]|0}if(!d){s=1;return s|0}p=b+8|0;q=b+16|0;c=0;g=d;a:while(1){n=p;m=k[n>>2]|0;n=k[n+4>>2]|0;e=q;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((n|0)>(e|0)|(n|0)==(e|0)&m>>>0>d>>>0)){c=0;r=23;break}o=k[b>>2]|0;t=i[o+d>>0]|0;e=Fp(d|0,e|0,1,0)|0;f=M;d=q;k[d>>2]=e;k[d+4>>2]=f;d=t&255;h=d&3;d=d>>>2;switch(t&3){case 3:{e=d+c|0;if(e>>>0>=g>>>0){c=0;r=23;break a}_j((k[a>>2]|0)+(c<<2)|0,0,(d<<2)+4|0)|0;c=e;break}case 0:{r=20;break}default:{g=0;while(1){if(!((n|0)>(f|0)|(n|0)==(f|0)&m>>>0>e>>>0)){c=0;r=23;break a}t=i[o+e>>0]|0;e=Fp(e|0,f|0,1,0)|0;f=M;r=q;k[r>>2]=e;k[r+4>>2]=f;d=(t&255)<<(g<<3|6)|d;g=g+1|0;if((g|0)>=(h|0)){r=20;break}}}}if((r|0)==20){r=0;k[(k[a>>2]|0)+(c<<2)>>2]=d}c=c+1|0;g=k[s>>2]|0;if(c>>>0>=g>>>0){r=22;break}}if((r|0)==22){t=li(a+16|0,k[a>>2]|0,g)|0;return t|0}else if((r|0)==23)return c|0;return 0}function re(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;c=j[b+38>>1]|0;if(!(c<<16>>16)){s=0;return s|0}s=a+12|0;do if((c&65535)<512){n=b+8|0;p=k[n>>2]|0;n=k[n+4>>2]|0;c=b+16|0;q=c;d=k[q>>2]|0;q=Fp(d|0,k[q+4>>2]|0,4,0)|0;o=M;if((n|0)<(o|0)|(n|0)==(o|0)&p>>>0>>0){s=0;return s|0}else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[s>>0]=d;i[s+1>>0]=d>>8;i[s+2>>0]=d>>16;i[s+3>>0]=d>>24;p=c;p=Fp(k[p>>2]|0,k[p+4>>2]|0,4,0)|0;q=c;k[q>>2]=p;k[q+4>>2]=M;break}}else if(sk(s,b)|0){d=k[s>>2]|0;break}else{s=0;return s|0}while(0);c=a+4|0;g=k[c>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(d>>>0<=e>>>0){if(d>>>0>>0?(h=f+(d<<2)|0,(g|0)!=(h|0)):0)k[c>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{oj(a,d-e|0);d=k[s>>2]|0}if(!d){s=1;return s|0}p=b+8|0;q=b+16|0;c=0;g=d;a:while(1){n=p;m=k[n>>2]|0;n=k[n+4>>2]|0;e=q;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((n|0)>(e|0)|(n|0)==(e|0)&m>>>0>d>>>0)){c=0;r=23;break}o=k[b>>2]|0;t=i[o+d>>0]|0;e=Fp(d|0,e|0,1,0)|0;f=M;d=q;k[d>>2]=e;k[d+4>>2]=f;d=t&255;h=d&3;d=d>>>2;switch(t&3){case 3:{e=d+c|0;if(e>>>0>=g>>>0){c=0;r=23;break a}_j((k[a>>2]|0)+(c<<2)|0,0,(d<<2)+4|0)|0;c=e;break}case 0:{r=20;break}default:{g=0;while(1){if(!((n|0)>(f|0)|(n|0)==(f|0)&m>>>0>e>>>0)){c=0;r=23;break a}t=i[o+e>>0]|0;e=Fp(e|0,f|0,1,0)|0;f=M;r=q;k[r>>2]=e;k[r+4>>2]=f;d=(t&255)<<(g<<3|6)|d;g=g+1|0;if((g|0)>=(h|0)){r=20;break}}}}if((r|0)==20){r=0;k[(k[a>>2]|0)+(c<<2)>>2]=d}c=c+1|0;g=k[s>>2]|0;if(c>>>0>=g>>>0){r=22;break}}if((r|0)==22){t=oi(a+16|0,k[a>>2]|0,g)|0;return t|0}else if((r|0)==23)return c|0;return 0}function se(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;c=j[b+38>>1]|0;if(!(c<<16>>16)){s=0;return s|0}s=a+12|0;do if((c&65535)<512){n=b+8|0;p=k[n>>2]|0;n=k[n+4>>2]|0;c=b+16|0;q=c;d=k[q>>2]|0;q=Fp(d|0,k[q+4>>2]|0,4,0)|0;o=M;if((n|0)<(o|0)|(n|0)==(o|0)&p>>>0>>0){s=0;return s|0}else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[s>>0]=d;i[s+1>>0]=d>>8;i[s+2>>0]=d>>16;i[s+3>>0]=d>>24;p=c;p=Fp(k[p>>2]|0,k[p+4>>2]|0,4,0)|0;q=c;k[q>>2]=p;k[q+4>>2]=M;break}}else if(sk(s,b)|0){d=k[s>>2]|0;break}else{s=0;return s|0}while(0);c=a+4|0;g=k[c>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(d>>>0<=e>>>0){if(d>>>0>>0?(h=f+(d<<2)|0,(g|0)!=(h|0)):0)k[c>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{oj(a,d-e|0);d=k[s>>2]|0}if(!d){s=1;return s|0}p=b+8|0;q=b+16|0;c=0;g=d;a:while(1){n=p;m=k[n>>2]|0;n=k[n+4>>2]|0;e=q;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((n|0)>(e|0)|(n|0)==(e|0)&m>>>0>d>>>0)){c=0;r=23;break}o=k[b>>2]|0;t=i[o+d>>0]|0;e=Fp(d|0,e|0,1,0)|0;f=M;d=q;k[d>>2]=e;k[d+4>>2]=f;d=t&255;h=d&3;d=d>>>2;switch(t&3){case 3:{e=d+c|0;if(e>>>0>=g>>>0){c=0;r=23;break a}_j((k[a>>2]|0)+(c<<2)|0,0,(d<<2)+4|0)|0;c=e;break}case 0:{r=20;break}default:{g=0;while(1){if(!((n|0)>(f|0)|(n|0)==(f|0)&m>>>0>e>>>0)){c=0;r=23;break a}t=i[o+e>>0]|0;e=Fp(e|0,f|0,1,0)|0;f=M;r=q;k[r>>2]=e;k[r+4>>2]=f;d=(t&255)<<(g<<3|6)|d;g=g+1|0;if((g|0)>=(h|0)){r=20;break}}}}if((r|0)==20){r=0;k[(k[a>>2]|0)+(c<<2)>>2]=d}c=c+1|0;g=k[s>>2]|0;if(c>>>0>=g>>>0){r=22;break}}if((r|0)==22){t=pi(a+16|0,k[a>>2]|0,g)|0;return t|0}else if((r|0)==23)return c|0;return 0}function te(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;c=j[b+38>>1]|0;if(!(c<<16>>16)){s=0;return s|0}s=a+12|0;do if((c&65535)<512){n=b+8|0;p=k[n>>2]|0;n=k[n+4>>2]|0;c=b+16|0;q=c;d=k[q>>2]|0;q=Fp(d|0,k[q+4>>2]|0,4,0)|0;o=M;if((n|0)<(o|0)|(n|0)==(o|0)&p>>>0>>0){s=0;return s|0}else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[s>>0]=d;i[s+1>>0]=d>>8;i[s+2>>0]=d>>16;i[s+3>>0]=d>>24;p=c;p=Fp(k[p>>2]|0,k[p+4>>2]|0,4,0)|0;q=c;k[q>>2]=p;k[q+4>>2]=M;break}}else if(sk(s,b)|0){d=k[s>>2]|0;break}else{s=0;return s|0}while(0);c=a+4|0;g=k[c>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(d>>>0<=e>>>0){if(d>>>0>>0?(h=f+(d<<2)|0,(g|0)!=(h|0)):0)k[c>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{oj(a,d-e|0);d=k[s>>2]|0}if(!d){s=1;return s|0}p=b+8|0;q=b+16|0;c=0;g=d;a:while(1){n=p;m=k[n>>2]|0;n=k[n+4>>2]|0;e=q;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((n|0)>(e|0)|(n|0)==(e|0)&m>>>0>d>>>0)){c=0;r=23;break}o=k[b>>2]|0;t=i[o+d>>0]|0;e=Fp(d|0,e|0,1,0)|0;f=M;d=q;k[d>>2]=e;k[d+4>>2]=f;d=t&255;h=d&3;d=d>>>2;switch(t&3){case 3:{e=d+c|0;if(e>>>0>=g>>>0){c=0;r=23;break a}_j((k[a>>2]|0)+(c<<2)|0,0,(d<<2)+4|0)|0;c=e;break}case 0:{r=20;break}default:{g=0;while(1){if(!((n|0)>(f|0)|(n|0)==(f|0)&m>>>0>e>>>0)){c=0;r=23;break a}t=i[o+e>>0]|0;e=Fp(e|0,f|0,1,0)|0;f=M;r=q;k[r>>2]=e;k[r+4>>2]=f;d=(t&255)<<(g<<3|6)|d;g=g+1|0;if((g|0)>=(h|0)){r=20;break}}}}if((r|0)==20){r=0;k[(k[a>>2]|0)+(c<<2)>>2]=d}c=c+1|0;g=k[s>>2]|0;if(c>>>0>=g>>>0){r=22;break}}if((r|0)==22){t=qi(a+16|0,k[a>>2]|0,g)|0;return t|0}else if((r|0)==23)return c|0;return 0}function ue(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;c=j[b+38>>1]|0;if(!(c<<16>>16)){s=0;return s|0}s=a+12|0;do if((c&65535)<512){n=b+8|0;p=k[n>>2]|0;n=k[n+4>>2]|0;c=b+16|0;q=c;d=k[q>>2]|0;q=Fp(d|0,k[q+4>>2]|0,4,0)|0;o=M;if((n|0)<(o|0)|(n|0)==(o|0)&p>>>0>>0){s=0;return s|0}else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[s>>0]=d;i[s+1>>0]=d>>8;i[s+2>>0]=d>>16;i[s+3>>0]=d>>24;p=c;p=Fp(k[p>>2]|0,k[p+4>>2]|0,4,0)|0;q=c;k[q>>2]=p;k[q+4>>2]=M;break}}else if(sk(s,b)|0){d=k[s>>2]|0;break}else{s=0;return s|0}while(0);c=a+4|0;g=k[c>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(d>>>0<=e>>>0){if(d>>>0>>0?(h=f+(d<<2)|0,(g|0)!=(h|0)):0)k[c>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{oj(a,d-e|0);d=k[s>>2]|0}if(!d){s=1;return s|0}p=b+8|0;q=b+16|0;c=0;g=d;a:while(1){n=p;m=k[n>>2]|0;n=k[n+4>>2]|0;e=q;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((n|0)>(e|0)|(n|0)==(e|0)&m>>>0>d>>>0)){c=0;r=23;break}o=k[b>>2]|0;t=i[o+d>>0]|0;e=Fp(d|0,e|0,1,0)|0;f=M;d=q;k[d>>2]=e;k[d+4>>2]=f;d=t&255;h=d&3;d=d>>>2;switch(t&3){case 3:{e=d+c|0;if(e>>>0>=g>>>0){c=0;r=23;break a}_j((k[a>>2]|0)+(c<<2)|0,0,(d<<2)+4|0)|0;c=e;break}case 0:{r=20;break}default:{g=0;while(1){if(!((n|0)>(f|0)|(n|0)==(f|0)&m>>>0>e>>>0)){c=0;r=23;break a}t=i[o+e>>0]|0;e=Fp(e|0,f|0,1,0)|0;f=M;r=q;k[r>>2]=e;k[r+4>>2]=f;d=(t&255)<<(g<<3|6)|d;g=g+1|0;if((g|0)>=(h|0)){r=20;break}}}}if((r|0)==20){r=0;k[(k[a>>2]|0)+(c<<2)>>2]=d}c=c+1|0;g=k[s>>2]|0;if(c>>>0>=g>>>0){r=22;break}}if((r|0)==22){t=ri(a+16|0,k[a>>2]|0,g)|0;return t|0}else if((r|0)==23)return c|0;return 0}function ve(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;c=j[b+38>>1]|0;if(!(c<<16>>16)){s=0;return s|0}s=a+12|0;do if((c&65535)<512){n=b+8|0;p=k[n>>2]|0;n=k[n+4>>2]|0;c=b+16|0;q=c;d=k[q>>2]|0;q=Fp(d|0,k[q+4>>2]|0,4,0)|0;o=M;if((n|0)<(o|0)|(n|0)==(o|0)&p>>>0>>0){s=0;return s|0}else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[s>>0]=d;i[s+1>>0]=d>>8;i[s+2>>0]=d>>16;i[s+3>>0]=d>>24;p=c;p=Fp(k[p>>2]|0,k[p+4>>2]|0,4,0)|0;q=c;k[q>>2]=p;k[q+4>>2]=M;break}}else if(sk(s,b)|0){d=k[s>>2]|0;break}else{s=0;return s|0}while(0);c=a+4|0;g=k[c>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(d>>>0<=e>>>0){if(d>>>0>>0?(h=f+(d<<2)|0,(g|0)!=(h|0)):0)k[c>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{oj(a,d-e|0);d=k[s>>2]|0}if(!d){s=1;return s|0}p=b+8|0;q=b+16|0;c=0;g=d;a:while(1){n=p;m=k[n>>2]|0;n=k[n+4>>2]|0;e=q;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((n|0)>(e|0)|(n|0)==(e|0)&m>>>0>d>>>0)){c=0;r=23;break}o=k[b>>2]|0;t=i[o+d>>0]|0;e=Fp(d|0,e|0,1,0)|0;f=M;d=q;k[d>>2]=e;k[d+4>>2]=f;d=t&255;h=d&3;d=d>>>2;switch(t&3){case 3:{e=d+c|0;if(e>>>0>=g>>>0){c=0;r=23;break a}_j((k[a>>2]|0)+(c<<2)|0,0,(d<<2)+4|0)|0;c=e;break}case 0:{r=20;break}default:{g=0;while(1){if(!((n|0)>(f|0)|(n|0)==(f|0)&m>>>0>e>>>0)){c=0;r=23;break a}t=i[o+e>>0]|0;e=Fp(e|0,f|0,1,0)|0;f=M;r=q;k[r>>2]=e;k[r+4>>2]=f;d=(t&255)<<(g<<3|6)|d;g=g+1|0;if((g|0)>=(h|0)){r=20;break}}}}if((r|0)==20){r=0;k[(k[a>>2]|0)+(c<<2)>>2]=d}c=c+1|0;g=k[s>>2]|0;if(c>>>0>=g>>>0){r=22;break}}if((r|0)==22){t=ti(a+16|0,k[a>>2]|0,g)|0;return t|0}else if((r|0)==23)return c|0;return 0}function we(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;c=j[b+38>>1]|0;if(!(c<<16>>16)){s=0;return s|0}s=a+12|0;do if((c&65535)<512){n=b+8|0;p=k[n>>2]|0;n=k[n+4>>2]|0;c=b+16|0;q=c;d=k[q>>2]|0;q=Fp(d|0,k[q+4>>2]|0,4,0)|0;o=M;if((n|0)<(o|0)|(n|0)==(o|0)&p>>>0>>0){s=0;return s|0}else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[s>>0]=d;i[s+1>>0]=d>>8;i[s+2>>0]=d>>16;i[s+3>>0]=d>>24;p=c;p=Fp(k[p>>2]|0,k[p+4>>2]|0,4,0)|0;q=c;k[q>>2]=p;k[q+4>>2]=M;break}}else if(sk(s,b)|0){d=k[s>>2]|0;break}else{s=0;return s|0}while(0);c=a+4|0;g=k[c>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(d>>>0<=e>>>0){if(d>>>0>>0?(h=f+(d<<2)|0,(g|0)!=(h|0)):0)k[c>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{oj(a,d-e|0);d=k[s>>2]|0}if(!d){s=1;return s|0}p=b+8|0;q=b+16|0;c=0;g=d;a:while(1){n=p;m=k[n>>2]|0;n=k[n+4>>2]|0;e=q;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((n|0)>(e|0)|(n|0)==(e|0)&m>>>0>d>>>0)){c=0;r=23;break}o=k[b>>2]|0;t=i[o+d>>0]|0;e=Fp(d|0,e|0,1,0)|0;f=M;d=q;k[d>>2]=e;k[d+4>>2]=f;d=t&255;h=d&3;d=d>>>2;switch(t&3){case 3:{e=d+c|0;if(e>>>0>=g>>>0){c=0;r=23;break a}_j((k[a>>2]|0)+(c<<2)|0,0,(d<<2)+4|0)|0;c=e;break}case 0:{r=20;break}default:{g=0;while(1){if(!((n|0)>(f|0)|(n|0)==(f|0)&m>>>0>e>>>0)){c=0;r=23;break a}t=i[o+e>>0]|0;e=Fp(e|0,f|0,1,0)|0;f=M;r=q;k[r>>2]=e;k[r+4>>2]=f;d=(t&255)<<(g<<3|6)|d;g=g+1|0;if((g|0)>=(h|0)){r=20;break}}}}if((r|0)==20){r=0;k[(k[a>>2]|0)+(c<<2)>>2]=d}c=c+1|0;g=k[s>>2]|0;if(c>>>0>=g>>>0){r=22;break}}if((r|0)==22){t=ui(a+16|0,k[a>>2]|0,g)|0;return t|0}else if((r|0)==23)return c|0;return 0}function xe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+48|0;c=o+40|0;n=o;if(!(Sh(a,1,c)|0)){n=0;u=o;return n|0}m=a+40|0;f=a+16|0;d=k[f>>2]|0;e=(k[a>>2]|0)+d|0;g=a+8|0;f=Wo(k[g>>2]|0,k[g+4>>2]|0,d|0,k[f+4>>2]|0)|0;d=a+38|0;Yn(m,e,f,j[d>>1]|0);f=c;e=k[f>>2]|0;f=k[f+4>>2]|0;g=a+48|0;p=g;h=a+56|0;l=h;i=k[l>>2]|0;l=k[l+4>>2]|0;p=Wo(k[p>>2]|0,k[p+4>>2]|0,i|0,l|0)|0;q=M;if(f>>>0>q>>>0|(f|0)==(q|0)&e>>>0>p>>>0){q=0;u=o;return q|0}p=Fp(i|0,l|0,e|0,f|0)|0;q=h;k[q>>2]=p;k[q+4>>2]=M;if(!(Sh(m,1,c)|0)){q=0;u=o;return q|0}Bn(n);q=h;f=k[q>>2]|0;e=(k[m>>2]|0)+f|0;q=Wo(k[g>>2]|0,k[g+4>>2]|0,f|0,k[q+4>>2]|0)|0;Yn(n,e,q,j[d>>1]|0);d=c;c=k[d>>2]|0;d=k[d+4>>2]|0;q=n+8|0;e=n+16|0;g=e;f=k[g>>2]|0;g=k[g+4>>2]|0;q=Wo(k[q>>2]|0,k[q+4>>2]|0,f|0,g|0)|0;p=M;a:do if(d>>>0>p>>>0|(d|0)==(p|0)&c>>>0>q>>>0)b=0;else{c=Fp(f|0,g|0,c|0,d|0)|0;h=e;k[h>>2]=c;k[h+4>>2]=M;h=a+84|0;c=k[h>>2]|0;if((c|0)>0){f=c<<4;f=Xr(c>>>0>268435455|f>>>0>4294967291?-1:f+4|0)|0;k[f>>2]=c;f=f+4|0;c=f+(c<<4)|0;d=f;do{vr(d);d=d+16|0}while((d|0)!=(c|0));g=a+80|0;e=k[g>>2]|0;k[g>>2]=f;if(e|0){d=e+-4|0;c=k[d>>2]|0;if(c|0){c=e+(c<<4)|0;do{c=c+-16|0;ds(c)}while((c|0)!=(e|0))}Yr(d)}if((k[h>>2]|0)>0){c=0;do{if(!(Cg((k[g>>2]|0)+(c<<4)|0,n)|0)){b=0;break a}c=c+1|0}while((c|0)<(k[h>>2]|0))}}c=n;d=b+40|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(d|0));b=1}while(0);ds(n+24|0);q=b;u=o;return q|0}function ye(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}f=b+d|0;k[c>>2]=(l[f>>0]|l[f+1>>0]<<8)&65535;k[c+4>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;k[c>>2]=g&65535;k[c+4>>2]=g>>>16;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,6,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;g=f+2|0;g=l[g>>0]|l[g+1>>0]<<8;k[c>>2]=(l[f>>0]|l[f+1>>0]<<8)&65535;k[c+4>>2]=g&65535;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,8,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;f=g;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=g+4|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;k[c>>2]=f&65535;g=So(f|0,g|0,16)|0;k[c+4>>2]=g&65535;g=1;return g|0}default:{g=0;return g|0}}return 0}function ze(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=b+8|0;h=k[g+4>>2]|0;d=b+16|0;f=d;e=k[f>>2]|0;f=k[f+4>>2]|0;if(!((h|0)>(f|0)|((h|0)==(f|0)?(k[g>>2]|0)>>>0>e>>>0:0))){h=0;return h|0}h=i[(k[b>>2]|0)+e>>0]|0;f=Fp(e|0,f|0,1,0)|0;g=d;k[g>>2]=f;k[g+4>>2]=M;do switch(h<<24>>24){case 1:{h=vg(a,b,c)|0;return h|0}case 2:{h=vg(a,b,c)|0;return h|0}case 3:{h=vg(a,b,c)|0;return h|0}case 4:{h=vg(a,b,c)|0;return h|0}case 5:{h=vg(a,b,c)|0;return h|0}case 6:{h=vg(a,b,c)|0;return h|0}case 7:{h=vg(a,b,c)|0;return h|0}case 8:{h=vg(a,b,c)|0;return h|0}case 9:{h=ug(a,b,c)|0;return h|0}case 10:{h=tg(a,b,c)|0;return h|0}case 11:{h=sg(a,b,c)|0;return h|0}case 12:{h=rg(a,b,c)|0;return h|0}case 13:{h=qg(a,b,c)|0;return h|0}case 14:{h=pg(a,b,c)|0;return h|0}case 15:{h=pg(a,b,c)|0;return h|0}case 16:{h=pg(a,b,c)|0;return h|0}case 17:{h=pg(a,b,c)|0;return h|0}case 18:{h=pg(a,b,c)|0;return h|0}default:{h=0;return h|0}}while(0);return 0}function Ae(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}e=b+d|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;f=c;k[f>>2]=e;k[f+4>>2]=((e|0)<0)<<31>>31;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,8,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;f=zo(0,l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24|0,32)|0;g=c;k[g>>2]=f;k[g+4>>2]=M;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,12,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,16,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=1;return g|0}default:{g=0;return g|0}}return 0}function Be(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=M;a=k[a>>2]|0;b=k[a>>2]|0;if(!((e|0)<0|((e|0)==0?d>>>0<((k[a+4>>2]|0)-b|0)>>>0:0))){f=0;return f|0}k[c>>2]=i[b+d>>0];f=c+4|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;g=l[g>>0]|l[g+1>>0]<<8;k[c>>2]=(g&65535)<<24>>24;k[c+4>>2]=((g&65535)>>>8&65535)<<24>>24;g=c+8|0;k[g>>2]=0;k[g+4>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,3,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}e=b+d|0;f=i[e+1>>0]|0;g=i[e+2>>0]|0;k[c>>2]=i[e>>0];k[c+4>>2]=f<<24>>24;k[c+8>>2]=g<<24>>24;k[c+12>>2]=0;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,4,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;k[c>>2]=g<<24>>24;k[c+4>>2]=g<<16>>24;k[c+8>>2]=g<<8>>24;k[c+12>>2]=g>>24;g=1;return g|0}default:{g=0;return g|0}}return 0}function Ce(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=M;a=k[a>>2]|0;b=k[a>>2]|0;if(!((e|0)<0|((e|0)==0?d>>>0<((k[a+4>>2]|0)-b|0)>>>0:0))){f=0;return f|0}f=c;k[f>>2]=l[b+d>>0];k[f+4>>2]=0;f=c+8|0;k[f>>2]=0;k[f+4>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;f=l[f>>0]|l[f+1>>0]<<8;g=c;k[g>>2]=f&255;k[g+4>>2]=0;g=c+8|0;k[g>>2]=(f&65535)>>>8&65535;k[g+4>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,3,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}e=b+d|0;f=i[e+1>>0]|0;g=c;k[g>>2]=l[e>>0];k[g+4>>2]=0;g=c+8|0;k[g>>2]=f&255;k[g+4>>2]=0;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,4,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=f&255;k[g+4>>2]=0;g=c+8|0;k[g>>2]=f>>>8&255;k[g+4>>2]=0;g=1;return g|0}default:{g=0;return g|0}}return 0}function De(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=M;a=k[a>>2]|0;b=k[a>>2]|0;if(!((e|0)<0|((e|0)==0?d>>>0<((k[a+4>>2]|0)-b|0)>>>0:0))){f=0;return f|0}k[c>>2]=l[b+d>>0];f=c+4|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;g=l[g>>0]|l[g+1>>0]<<8;k[c>>2]=g&255;k[c+4>>2]=(g&65535)>>>8&65535;g=c+8|0;k[g>>2]=0;k[g+4>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,3,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}e=b+d|0;f=i[e+1>>0]|0;g=i[e+2>>0]|0;k[c>>2]=l[e>>0];k[c+4>>2]=f&255;k[c+8>>2]=g&255;k[c+12>>2]=0;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,4,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;k[c>>2]=g&255;k[c+4>>2]=g>>>8&255;k[c+8>>2]=g>>>16&255;k[c+12>>2]=g>>>24;g=1;return g|0}default:{g=0;return g|0}}return 0}function Ee(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=4268;d=a+320|0;c=k[d>>2]|0;k[d>>2]=0;if(c|0){d=c+-4|0;b=k[d>>2]|0;if(b|0){b=c+(b<<4)|0;do{b=b+-16|0;ds(b)}while((b|0)!=(c|0))}Yr(d)}ds(a+304|0);ds(a+264|0);xj(a+228|0);b=k[a+212>>2]|0;if(b|0){c=a+216|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+200>>2]|0;if(b|0){c=a+204|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+188>>2]|0;if(b|0){c=a+192|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+176>>2]|0;if(b|0){c=a+180|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+160>>2]|0;if(b|0)do{d=b;b=k[b>>2]|0;_r(d)}while((b|0)!=0);d=a+152|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)_r(b);b=k[a+136>>2]|0;if(b|0)_r(b);b=k[a+124>>2]|0;if(b|0)_r(b);b=k[a+112>>2]|0;if(b|0)_r(b);b=k[a+88>>2]|0;if(b|0){c=a+92|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+76>>2]|0;if(b|0){c=a+80|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+64>>2]|0;if(b|0)_r(b);b=k[a+48>>2]|0;if(b|0){c=a+52|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+36>>2]|0;if(b|0){c=a+40|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);_r(b)}b=k[a+24>>2]|0;if(b|0){c=a+28|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+12>>2]|0;if(b|0){c=a+16|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}a=a+8|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;mk(b);_r(b);return}function Fe(a,b){a=a|0;b=b|0;var 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;n=u;u=u+32|0;m=n+16|0;j=n+12|0;l=n;k[m>>2]=0;k[m+4>>2]=0;k[m+8>>2]=0;f=k[a>>2]|0;h=f+8|0;g=k[h+4>>2]|0;c=f+16|0;e=c;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((g|0)>(e|0)|((g|0)==(e|0)?(k[h>>2]|0)>>>0>d>>>0:0))){l=0;Jp(m);u=n;return l|0}h=i[(k[f>>2]|0)+d>>0]|0;d=Fp(d|0,e|0,1,0)|0;k[c>>2]=d;k[c+4>>2]=M;c=h&255;uk(m,c,0);d=k[a>>2]|0;e=qm(m,0)|0;r=d+8|0;p=k[r>>2]|0;r=k[r+4>>2]|0;f=d+16|0;o=f;g=k[o>>2]|0;h=h&255;o=Fp(g|0,k[o+4>>2]|0,h|0,0)|0;q=M;if((r|0)<(q|0)|(r|0)==(q|0)&p>>>0>>0){r=0;Jp(m);u=n;return r|0}Gh(e|0,(k[d>>2]|0)+g|0,c|0)|0;g=f;g=Fp(k[g>>2]|0,k[g+4>>2]|0,h|0,0)|0;c=f;k[c>>2]=g;k[c+4>>2]=M;k[j>>2]=0;sk(j,k[a>>2]|0)|0;c=k[j>>2]|0;k[l>>2]=0;g=l+4|0;k[g>>2]=0;k[l+8>>2]=0;if(!c)f=0;else{if((c|0)<0)Jq(l);d=jo(c)|0;k[g>>2]=d;k[l>>2]=d;k[l+8>>2]=d+c;do{i[d>>0]=0;d=(k[g>>2]|0)+1|0;k[g>>2]=d;c=c+-1|0}while((c|0)!=0);f=k[j>>2]|0}c=k[a>>2]|0;o=c+8|0;q=k[o>>2]|0;o=k[o+4>>2]|0;d=c+16|0;r=d;e=k[r>>2]|0;r=Fp(e|0,k[r+4>>2]|0,f|0,0)|0;p=M;if((o|0)<(p|0)|(o|0)==(p|0)&q>>>0>>0)d=0;else{Gh(k[l>>2]|0,(k[c>>2]|0)+e|0,f|0)|0;r=d;r=Fp(k[r>>2]|0,k[r+4>>2]|0,f|0,0)|0;k[d>>2]=r;k[d+4>>2]=M;Fn(b,m,l);d=1}c=k[l>>2]|0;if(c|0){if((k[g>>2]|0)!=(c|0))k[g>>2]=c;_r(c)}r=d;Jp(m);u=n;return r|0}function Ge(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=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;y=u;u=u+16|0;w=y+4|0;x=y;k[a+72>>2]=e;k[a+64>>2]=f;t=Xr(e>>>0>1073741823?-1:e<<2)|0;v=a+68|0;d=k[v>>2]|0;k[v>>2]=t;if(d|0)Yr(d);t=a+8|0;k[t>>2]=e;d=a+32|0;f=a+36|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(j=h+(e<<2)|0,(i|0)!=(j|0)):0)k[f>>2]=i+(~((i+-4-j|0)>>>2)<<2)}else oj(d,e-g|0);n=a+56|0;g=k[n>>2]|0;h=k[g+4>>2]|0;f=k[g>>2]|0;s=h-f|0;o=s>>2;if((s|0)<=0){u=y;return 1}p=a+16|0;q=a+32|0;r=a+12|0;s=a+20|0;d=0;while(1){if(h-f>>2>>>0<=d>>>0){Iq(g);f=k[g>>2]|0}k[x>>2]=k[f+(d<<2)>>2];k[w>>2]=k[x>>2];Cc(a,w,c,d);m=$(d,e)|0;i=k[v>>2]|0;l=b+(m<<2)|0;m=c+(m<<2)|0;if((k[t>>2]|0)>0){h=0;do{f=k[i+(h<<2)>>2]|0;g=k[p>>2]|0;if((f|0)>(g|0)){j=k[q>>2]|0;k[j+(h<<2)>>2]=g}else{g=k[r>>2]|0;j=k[q>>2]|0;k[j+(h<<2)>>2]=(f|0)<(g|0)?g:f}h=h+1|0;f=k[t>>2]|0}while((h|0)<(f|0));if((f|0)>0){g=0;do{f=(k[l+(g<<2)>>2]|0)+(k[j+(g<<2)>>2]|0)|0;h=m+(g<<2)|0;k[h>>2]=f;if((f|0)<=(k[p>>2]|0)){if((f|0)<(k[r>>2]|0)){f=(k[s>>2]|0)+f|0;z=24}}else{f=f-(k[s>>2]|0)|0;z=24}if((z|0)==24){z=0;k[h>>2]=f}g=g+1|0}while((g|0)<(k[t>>2]|0))}}d=d+1|0;if((d|0)>=(o|0))break;g=k[n>>2]|0;f=k[g>>2]|0;h=k[g+4>>2]|0}u=y;return 1}function He(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=Pa,h=Pa,j=0;switch(i[a+24>>0]|0){case 1:{e=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;d=a+40|0;b=Fp(io(k[d>>2]|0,k[d+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;f=M;e=k[a>>2]|0;d=k[e>>2]|0;if(!((f|0)<0|((f|0)==0?b>>>0<((k[e+4>>2]|0)-d|0)>>>0:0))){f=0;return f|0}h=da(i[d+b>>0]|0);g=da(h/da(127.0));o[c>>2]=(i[a+32>>0]|0)==0?h:g;f=1;return f|0}case 2:{j=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;f=a+40|0;b=Fp(io(k[f>>2]|0,k[f+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,M|0,e|0,b|0)|0;e=Fp(b|0,M|0,2,0)|0;j=M;f=k[a>>2]|0;d=k[f>>2]|0;if((j|0)>0|((j|0)==0?e>>>0>((k[f+4>>2]|0)-d|0)>>>0:0)){j=0;return j|0}j=d+b|0;g=da(((l[j>>0]|l[j+1>>0]<<8)&255)<<24>>24);h=da(g/da(127.0));o[c>>2]=(i[a+32>>0]|0)==0?g:h;j=1;return j|0}case 3:{e=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;f=Fp(b|0,M|0,3,0)|0;e=M;j=k[a>>2]|0;d=k[j>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[j+4>>2]|0)-d|0)>>>0:0)){j=0;return j|0}g=da(i[d+b>>0]|0);h=da(g/da(127.0));o[c>>2]=(i[a+32>>0]|0)==0?g:h;j=1;return j|0}case 4:{e=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;f=Fp(b|0,M|0,4,0)|0;e=M;j=k[a>>2]|0;d=k[j>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[j+4>>2]|0)-d|0)>>>0:0)){j=0;return j|0}j=d+b|0;g=da(((l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24)&255)<<24>>24);h=da(g/da(127.0));o[c>>2]=(i[a+32>>0]|0)==0?g:h;j=1;return j|0}default:{j=0;return j|0}}return 0}function Ie(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}f=b+d|0;k[c>>2]=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;f=c+4|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,8,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;e=f;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;k[g+4>>2]=f;g=c+8|0;k[g>>2]=0;k[g+4>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,12,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}mn(c|0,b+d|0,12)|0;o[c+12>>2]=da(0.0);g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,16,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}mn(c|0,b+d|0,16)|0;g=1;return g|0}default:{g=0;return g|0}}return 0}function Je(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}f=b+d|0;k[c>>2]=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;f=c+4|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,8,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;e=f;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;k[g+4>>2]=f;g=c+8|0;k[g>>2]=0;k[g+4>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,12,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}mn(c|0,b+d|0,12)|0;k[c+12>>2]=0;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,16,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}mn(c|0,b+d|0,16)|0;g=1;return g|0}default:{g=0;return g|0}}return 0}function Ke(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=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;y=u;u=u+16|0;w=y+4|0;x=y;k[a+72>>2]=e;k[a+64>>2]=f;t=Xr(e>>>0>1073741823?-1:e<<2)|0;v=a+68|0;d=k[v>>2]|0;k[v>>2]=t;if(d|0)Yr(d);t=a+8|0;k[t>>2]=e;d=a+32|0;f=a+36|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(j=h+(e<<2)|0,(i|0)!=(j|0)):0)k[f>>2]=i+(~((i+-4-j|0)>>>2)<<2)}else oj(d,e-g|0);n=a+56|0;g=k[n>>2]|0;h=k[g+4>>2]|0;f=k[g>>2]|0;s=h-f|0;o=s>>2;if((s|0)<=0){u=y;return 1}p=a+16|0;q=a+32|0;r=a+12|0;s=a+20|0;d=0;while(1){if(h-f>>2>>>0<=d>>>0){Iq(g);f=k[g>>2]|0}k[x>>2]=k[f+(d<<2)>>2];k[w>>2]=k[x>>2];zc(a,w,c,d);m=$(d,e)|0;i=k[v>>2]|0;l=b+(m<<2)|0;m=c+(m<<2)|0;if((k[t>>2]|0)>0){h=0;do{f=k[i+(h<<2)>>2]|0;g=k[p>>2]|0;if((f|0)>(g|0)){j=k[q>>2]|0;k[j+(h<<2)>>2]=g}else{g=k[r>>2]|0;j=k[q>>2]|0;k[j+(h<<2)>>2]=(f|0)<(g|0)?g:f}h=h+1|0;f=k[t>>2]|0}while((h|0)<(f|0));if((f|0)>0){g=0;do{f=(k[l+(g<<2)>>2]|0)+(k[j+(g<<2)>>2]|0)|0;h=m+(g<<2)|0;k[h>>2]=f;if((f|0)<=(k[p>>2]|0)){if((f|0)<(k[r>>2]|0)){f=(k[s>>2]|0)+f|0;z=24}}else{f=f-(k[s>>2]|0)|0;z=24}if((z|0)==24){z=0;k[h>>2]=f}g=g+1|0}while((g|0)<(k[t>>2]|0))}}d=d+1|0;if((d|0)>=(o|0))break;g=k[n>>2]|0;f=k[g>>2]|0;h=k[g+4>>2]|0}u=y;return 1}function Le(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=Pa,h=Pa,j=0;switch(i[a+24>>0]|0){case 1:{e=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;d=a+40|0;b=Fp(io(k[d>>2]|0,k[d+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;f=M;e=k[a>>2]|0;d=k[e>>2]|0;if(!((f|0)<0|((f|0)==0?b>>>0<((k[e+4>>2]|0)-d|0)>>>0:0))){f=0;return f|0}h=da(l[d+b>>0]|0);g=da(h/da(255.0));o[c>>2]=(i[a+32>>0]|0)==0?h:g;f=1;return f|0}case 2:{j=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;f=a+40|0;b=Fp(io(k[f>>2]|0,k[f+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,M|0,e|0,b|0)|0;e=Fp(b|0,M|0,2,0)|0;j=M;f=k[a>>2]|0;d=k[f>>2]|0;if((j|0)>0|((j|0)==0?e>>>0>((k[f+4>>2]|0)-d|0)>>>0:0)){j=0;return j|0}j=d+b|0;g=da((l[j>>0]|l[j+1>>0]<<8)&255);h=da(g/da(255.0));o[c>>2]=(i[a+32>>0]|0)==0?g:h;j=1;return j|0}case 3:{e=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;f=Fp(b|0,M|0,3,0)|0;e=M;j=k[a>>2]|0;d=k[j>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[j+4>>2]|0)-d|0)>>>0:0)){j=0;return j|0}g=da(l[d+b>>0]|0);h=da(g/da(255.0));o[c>>2]=(i[a+32>>0]|0)==0?g:h;j=1;return j|0}case 4:{e=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;f=Fp(b|0,M|0,4,0)|0;e=M;j=k[a>>2]|0;d=k[j>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[j+4>>2]|0)-d|0)>>>0:0)){j=0;return j|0}j=d+b|0;g=da((l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24)&255);h=da(g/da(255.0));o[c>>2]=(i[a+32>>0]|0)==0?g:h;j=1;return j|0}default:{j=0;return j|0}}return 0}function Me(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}f=b+d|0;k[c>>2]=(l[f>>0]|l[f+1>>0]<<8)<<16>>16;k[c+4>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;k[c>>2]=g<<16>>16;k[c+4>>2]=g>>16;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,6,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;g=f+2|0;g=l[g>>0]|l[g+1>>0]<<8;k[c>>2]=(l[f>>0]|l[f+1>>0]<<8)<<16>>16;k[c+4>>2]=g<<16>>16;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,8,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;k[c>>2]=g<<16>>16;k[c+4>>2]=g>>16;g=1;return g|0}default:{g=0;return g|0}}return 0}function Ne(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=a+8|0;d=k[j>>2]|0;switch(k[d+28>>2]|0){case 2:{c=i[d+24>>0]|0;h=c<<24>>24;g=Xr((h|0)>-1?h:-1)|0;f=k[a+16>>2]|0;f=(k[k[f>>2]>>2]|0)+(k[f+48>>2]|0)|0;a:do if(b|0){if(c<<24>>24>0){a=0;d=0}else{Gh(k[k[d+64>>2]>>2]|0,g|0,h|0)|0;if((b|0)==1)break;else{c=0;a=1}while(1){c=c+h|0;Gh((k[k[(k[j>>2]|0)+64>>2]>>2]|0)+c|0,g|0,h|0)|0;a=a+1|0;if((a|0)==(b|0))break a}}while(1){c=0;e=d;while(1){i[g+c>>0]=k[f+(e<<2)>>2];c=c+1|0;if((c|0)==(h|0))break;else e=e+1|0}Gh((k[k[(k[j>>2]|0)+64>>2]>>2]|0)+d|0,g|0,h|0)|0;a=a+1|0;if((a|0)==(b|0))break;else d=d+h|0}}while(0);Yr(g);j=1;return j|0}case 1:{c=i[d+24>>0]|0;g=c<<24>>24;h=Xr((g|0)>-1?g:-1)|0;f=k[a+16>>2]|0;f=(k[k[f>>2]>>2]|0)+(k[f+48>>2]|0)|0;b:do if(b|0){if(c<<24>>24>0){a=0;d=0}else{Gh(k[k[d+64>>2]>>2]|0,h|0,g|0)|0;if((b|0)==1)break;else{c=0;a=1}while(1){c=c+g|0;Gh((k[k[(k[j>>2]|0)+64>>2]>>2]|0)+c|0,h|0,g|0)|0;a=a+1|0;if((a|0)==(b|0))break b}}while(1){c=0;e=d;while(1){i[h+c>>0]=k[f+(e<<2)>>2];c=c+1|0;if((c|0)==(g|0))break;else e=e+1|0}Gh((k[k[(k[j>>2]|0)+64>>2]>>2]|0)+d|0,h|0,g|0)|0;a=a+1|0;if((a|0)==(b|0))break;else d=d+g|0}}while(0);Yr(h);j=1;return j|0}case 4:{Wi(a,b);j=1;return j|0}case 3:{Wi(a,b);j=1;return j|0}case 6:{Xi(a,b);j=1;return j|0}case 5:{Xi(a,b);j=1;return j|0}default:{j=0;return j|0}}return 0}function Oe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=M;a=k[a>>2]|0;b=k[a>>2]|0;if(!((e|0)<0|((e|0)==0?d>>>0<((k[a+4>>2]|0)-b|0)>>>0:0))){f=0;return f|0}k[c>>2]=i[b+d>>0];f=c+4|0;k[f>>2]=0;k[f+4>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;g=l[g>>0]|l[g+1>>0]<<8;k[c>>2]=(g&65535)<<24>>24;k[c+4>>2]=((g&65535)>>>8&65535)<<24>>24;k[c+8>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,3,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}e=b+d|0;f=i[e+1>>0]|0;g=i[e+2>>0]|0;k[c>>2]=i[e>>0];k[c+4>>2]=f<<24>>24;k[c+8>>2]=g<<24>>24;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,4,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;k[c>>2]=g<<24>>24;k[c+4>>2]=g<<16>>24;k[c+8>>2]=g<<8>>24;g=1;return g|0}default:{g=0;return g|0}}return 0}function Pe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}e=b+d|0;f=c;k[f>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;k[f+4>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,8,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;g=c;k[g>>2]=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;k[g+4>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,12,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;g=c;k[g>>2]=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;k[g+4>>2]=0;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,16,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;g=c;k[g>>2]=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;k[g+4>>2]=0;g=1;return g|0}default:{g=0;return g|0}}return 0}function Qe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=M;a=k[a>>2]|0;b=k[a>>2]|0;if(!((e|0)<0|((e|0)==0?d>>>0<((k[a+4>>2]|0)-b|0)>>>0:0))){f=0;return f|0}k[c>>2]=l[b+d>>0];f=c+4|0;k[f>>2]=0;k[f+4>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;g=l[g>>0]|l[g+1>>0]<<8;k[c>>2]=g&255;k[c+4>>2]=(g&65535)>>>8&65535;k[c+8>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,3,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}e=b+d|0;f=i[e+1>>0]|0;g=i[e+2>>0]|0;k[c>>2]=l[e>>0];k[c+4>>2]=f&255;k[c+8>>2]=g&255;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,4,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;k[c>>2]=g&255;k[c+4>>2]=g>>>8&255;k[c+8>>2]=g>>>16&255;g=1;return g|0}default:{g=0;return g|0}}return 0}function Re(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}f=b+d|0;k[c>>2]=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;f=c+4|0;k[f>>2]=0;k[f+4>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,8,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;e=f;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;k[g+4>>2]=f;o[c+8>>2]=da(0.0);g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,12,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}mn(c|0,b+d|0,12)|0;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,16,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}mn(c|0,b+d|0,12)|0;g=1;return g|0}default:{g=0;return g|0}}return 0}function Se(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}e=b+d|0;f=c;k[f>>2]=(l[e>>0]|l[e+1>>0]<<8)&65535;k[f+4>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;g=c;k[g>>2]=(l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24)&65535;k[g+4>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,6,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;g=c;k[g>>2]=(l[f>>0]|l[f+1>>0]<<8)&65535;k[g+4>>2]=0;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,8,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;g=c;k[g>>2]=(l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24)&65535;k[g+4>>2]=0;g=1;return g|0}default:{g=0;return g|0}}return 0}function Te(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}f=b+d|0;k[c>>2]=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;f=c+4|0;k[f>>2]=0;k[f+4>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,8,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;e=f;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;k[g+4>>2]=f;k[c+8>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,12,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}mn(c|0,b+d|0,12)|0;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,16,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}mn(c|0,b+d|0,12)|0;g=1;return g|0}default:{g=0;return g|0}}return 0}function Ue(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=M;a=k[a>>2]|0;b=k[a>>2]|0;if(!((e|0)<0|((e|0)==0?d>>>0<((k[a+4>>2]|0)-b|0)>>>0:0))){f=0;return f|0}e=i[b+d>>0]|0;f=c;k[f>>2]=e;k[f+4>>2]=((e|0)<0)<<31>>31;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;f=((l[f>>0]|l[f+1>>0]<<8)&255)<<24>>24;g=c;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,3,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=i[b+d>>0]|0;g=c;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,4,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;f=((l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24)&255)<<24>>24;g=c;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=1;return g|0}default:{g=0;return g|0}}return 0}function Ve(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=k[b>>2]|0;m=k[b+4>>2]|0;h=((k[c>>2]|0)-p<<3)+(k[c+4>>2]|0)-m|0;c=p;if((h|0)<=0){b=d+4|0;d=k[d>>2]|0;k[a>>2]=d;d=a+4|0;a=k[b>>2]|0;k[d>>2]=a;return}if(!m){e=d+4|0;n=e;e=k[e>>2]|0}else{g=32-m|0;l=(h|0)<(g|0)?h:g;g=-1>>>(g-l|0)&-1<>2];n=d+4|0;e=k[n>>2]|0;j=32-e|0;f=j>>>0>>0?j:l;i=k[d>>2]|0;e=k[i>>2]&~(-1>>>(j-f|0)&-1<>2]=e;j=k[n>>2]|0;k[i>>2]=(j>>>0>m>>>0?g<>>(m-j|0))|e;e=(k[n>>2]|0)+f|0;i=i+(e>>>5<<2)|0;k[d>>2]=i;e=e&31;k[n>>2]=e;j=l-f|0;if((j|0)>0){k[i>>2]=g>>>(m+f|0)|k[i>>2]&~(-1>>>(32-j|0));k[n>>2]=j;e=j}c=c+4|0;k[b>>2]=c;h=h-l|0}p=32-e|0;j=-1<>>0>31){l=~j;i=k[d>>2]|0;e=h+-32|0;o=e>>>5;m=o+1|0;o=e-(o<<5)|0;e=c;f=k[i>>2]|0;g=i;while(1){q=k[e>>2]|0;r=f&l;k[g>>2]=r;k[g>>2]=q<>2]|r;g=g+4|0;f=k[g>>2]&j|q>>>p;k[g>>2]=f;h=h+-32|0;if(h>>>0<=31)break;else e=e+4|0}c=c+(m<<2)|0;k[b>>2]=c;k[d>>2]=i+(m<<2);h=o}if(!h){q=n;r=k[d>>2]|0;k[a>>2]=r;r=a+4|0;q=k[q>>2]|0;k[r>>2]=q;return}g=k[c>>2]&-1>>>(32-h|0);f=(p|0)<(h|0)?p:h;e=k[d>>2]|0;c=k[e>>2]&~(-1<>2]&-1>>>(p-f|0));k[e>>2]=c;k[e>>2]=c|g<>2];c=(k[n>>2]|0)+f|0;e=e+(c>>>5<<2)|0;k[d>>2]=e;k[n>>2]=c&31;c=h-f|0;if((c|0)<=0){q=n;r=k[d>>2]|0;k[a>>2]=r;r=a+4|0;q=k[q>>2]|0;k[r>>2]=q;return}k[e>>2]=k[e>>2]&~(-1>>>(32-c|0))|g>>>f;k[n>>2]=c;q=n;r=k[d>>2]|0;k[a>>2]=r;r=a+4|0;q=k[q>>2]|0;k[r>>2]=q;return}function We(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;e=o;do if((m[b+38>>1]|0)<512){g=b+8|0;f=k[g>>2]|0;g=k[g+4>>2]|0;c=b+16|0;h=c;d=k[h>>2]|0;h=Fp(d|0,k[h+4>>2]|0,8,0)|0;j=M;if((g|0)<(j|0)|(g|0)==(j|0)&f>>>0>>0){a=0;u=o;return a|0}else{q=(k[b>>2]|0)+d|0;p=q;p=l[p>>0]|l[p+1>>0]<<8|l[p+2>>0]<<16|l[p+3>>0]<<24;q=q+4|0;q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24;k[e>>2]=p;k[e+4>>2]=q;e=c;k[e>>2]=h;k[e+4>>2]=j;e=f;d=j;f=q;j=p;break}}else if(Oj(e,b)|0){j=e;g=b+8|0;c=b+16|0;d=c;e=k[g>>2]|0;g=k[g+4>>2]|0;h=k[d>>2]|0;d=k[d+4>>2]|0;f=k[j+4>>2]|0;j=k[j>>2]|0;break}else{q=0;u=o;return q|0}while(0);q=Wo(e|0,g|0,h|0,d|0)|0;p=M;if(f>>>0>p>>>0|(f|0)==(p|0)&j>>>0>q>>>0){q=0;u=o;return q|0}e=(k[b>>2]|0)+h|0;p=Fp(h|0,d|0,j|0,f|0)|0;q=c;k[q>>2]=p;k[q+4>>2]=M;if((j|0)<1){q=0;u=o;return q|0}k[a+40>>2]=e;c=j+-1|0;d=e+c|0;a:do switch((l[d>>0]|0)>>>6&3){case 0:{k[a+44>>2]=c;n=i[d>>0]&63;break}case 1:if((j|0)<2){q=0;u=o;return q|0}else{k[a+44>>2]=j+-2;n=e+j+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);break a}case 2:if((j|0)<3){q=0;u=o;return q|0}else{k[a+44>>2]=j+-3;n=e+j+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;break a}case 3:{k[a+44>>2]=j+-4;n=e+j+-4|0;n=(l[n+2>>0]|0)<<16|(l[n+3>>0]|0)<<24&1056964608|(l[n+1>>0]|0)<<8|(l[n>>0]|0);break}default:{}}while(0);q=n+4194304|0;k[a+48>>2]=q;q=q>>>0<1073741824;u=o;return q|0}function Xe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;e=o;do if((m[b+38>>1]|0)<512){g=b+8|0;f=k[g>>2]|0;g=k[g+4>>2]|0;c=b+16|0;h=c;d=k[h>>2]|0;h=Fp(d|0,k[h+4>>2]|0,8,0)|0;j=M;if((g|0)<(j|0)|(g|0)==(j|0)&f>>>0>>0){a=0;u=o;return a|0}else{q=(k[b>>2]|0)+d|0;p=q;p=l[p>>0]|l[p+1>>0]<<8|l[p+2>>0]<<16|l[p+3>>0]<<24;q=q+4|0;q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24;k[e>>2]=p;k[e+4>>2]=q;e=c;k[e>>2]=h;k[e+4>>2]=j;e=f;d=j;f=q;j=p;break}}else if(Oj(e,b)|0){j=e;g=b+8|0;c=b+16|0;d=c;e=k[g>>2]|0;g=k[g+4>>2]|0;h=k[d>>2]|0;d=k[d+4>>2]|0;f=k[j+4>>2]|0;j=k[j>>2]|0;break}else{q=0;u=o;return q|0}while(0);q=Wo(e|0,g|0,h|0,d|0)|0;p=M;if(f>>>0>p>>>0|(f|0)==(p|0)&j>>>0>q>>>0){q=0;u=o;return q|0}e=(k[b>>2]|0)+h|0;p=Fp(h|0,d|0,j|0,f|0)|0;q=c;k[q>>2]=p;k[q+4>>2]=M;if((j|0)<1){q=0;u=o;return q|0}k[a+40>>2]=e;c=j+-1|0;d=e+c|0;a:do switch((l[d>>0]|0)>>>6&3){case 0:{k[a+44>>2]=c;n=i[d>>0]&63;break}case 1:if((j|0)<2){q=0;u=o;return q|0}else{k[a+44>>2]=j+-2;n=e+j+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);break a}case 2:if((j|0)<3){q=0;u=o;return q|0}else{k[a+44>>2]=j+-3;n=e+j+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;break a}case 3:{k[a+44>>2]=j+-4;n=e+j+-4|0;n=(l[n+2>>0]|0)<<16|(l[n+3>>0]|0)<<24&1056964608|(l[n+1>>0]|0)<<8|(l[n>>0]|0);break}default:{}}while(0);q=n+2097152|0;k[a+48>>2]=q;q=q>>>0<536870912;u=o;return q|0}function Ye(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;e=o;do if((m[b+38>>1]|0)<512){g=b+8|0;f=k[g>>2]|0;g=k[g+4>>2]|0;c=b+16|0;h=c;d=k[h>>2]|0;h=Fp(d|0,k[h+4>>2]|0,8,0)|0;j=M;if((g|0)<(j|0)|(g|0)==(j|0)&f>>>0>>0){a=0;u=o;return a|0}else{q=(k[b>>2]|0)+d|0;p=q;p=l[p>>0]|l[p+1>>0]<<8|l[p+2>>0]<<16|l[p+3>>0]<<24;q=q+4|0;q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24;k[e>>2]=p;k[e+4>>2]=q;e=c;k[e>>2]=h;k[e+4>>2]=j;e=f;d=j;f=q;j=p;break}}else if(Oj(e,b)|0){j=e;g=b+8|0;c=b+16|0;d=c;e=k[g>>2]|0;g=k[g+4>>2]|0;h=k[d>>2]|0;d=k[d+4>>2]|0;f=k[j+4>>2]|0;j=k[j>>2]|0;break}else{q=0;u=o;return q|0}while(0);q=Wo(e|0,g|0,h|0,d|0)|0;p=M;if(f>>>0>p>>>0|(f|0)==(p|0)&j>>>0>q>>>0){q=0;u=o;return q|0}e=(k[b>>2]|0)+h|0;p=Fp(h|0,d|0,j|0,f|0)|0;q=c;k[q>>2]=p;k[q+4>>2]=M;if((j|0)<1){q=0;u=o;return q|0}k[a+40>>2]=e;c=j+-1|0;d=e+c|0;a:do switch((l[d>>0]|0)>>>6&3){case 0:{k[a+44>>2]=c;n=i[d>>0]&63;break}case 1:if((j|0)<2){q=0;u=o;return q|0}else{k[a+44>>2]=j+-2;n=e+j+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);break a}case 2:if((j|0)<3){q=0;u=o;return q|0}else{k[a+44>>2]=j+-3;n=e+j+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;break a}case 3:{k[a+44>>2]=j+-4;n=e+j+-4|0;n=(l[n+2>>0]|0)<<16|(l[n+3>>0]|0)<<24&1056964608|(l[n+1>>0]|0)<<8|(l[n>>0]|0);break}default:{}}while(0);q=n+1048576|0;k[a+48>>2]=q;q=q>>>0<268435456;u=o;return q|0}function Ze(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;e=o;do if((m[b+38>>1]|0)<512){g=b+8|0;f=k[g>>2]|0;g=k[g+4>>2]|0;c=b+16|0;h=c;d=k[h>>2]|0;h=Fp(d|0,k[h+4>>2]|0,8,0)|0;j=M;if((g|0)<(j|0)|(g|0)==(j|0)&f>>>0>>0){a=0;u=o;return a|0}else{q=(k[b>>2]|0)+d|0;p=q;p=l[p>>0]|l[p+1>>0]<<8|l[p+2>>0]<<16|l[p+3>>0]<<24;q=q+4|0;q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24;k[e>>2]=p;k[e+4>>2]=q;e=c;k[e>>2]=h;k[e+4>>2]=j;e=f;d=j;f=q;j=p;break}}else if(Oj(e,b)|0){j=e;g=b+8|0;c=b+16|0;d=c;e=k[g>>2]|0;g=k[g+4>>2]|0;h=k[d>>2]|0;d=k[d+4>>2]|0;f=k[j+4>>2]|0;j=k[j>>2]|0;break}else{q=0;u=o;return q|0}while(0);q=Wo(e|0,g|0,h|0,d|0)|0;p=M;if(f>>>0>p>>>0|(f|0)==(p|0)&j>>>0>q>>>0){q=0;u=o;return q|0}e=(k[b>>2]|0)+h|0;p=Fp(h|0,d|0,j|0,f|0)|0;q=c;k[q>>2]=p;k[q+4>>2]=M;if((j|0)<1){q=0;u=o;return q|0}k[a+40>>2]=e;c=j+-1|0;d=e+c|0;a:do switch((l[d>>0]|0)>>>6&3){case 0:{k[a+44>>2]=c;n=i[d>>0]&63;break}case 1:if((j|0)<2){q=0;u=o;return q|0}else{k[a+44>>2]=j+-2;n=e+j+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);break a}case 2:if((j|0)<3){q=0;u=o;return q|0}else{k[a+44>>2]=j+-3;n=e+j+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;break a}case 3:{k[a+44>>2]=j+-4;n=e+j+-4|0;n=(l[n+2>>0]|0)<<16|(l[n+3>>0]|0)<<24&1056964608|(l[n+1>>0]|0)<<8|(l[n>>0]|0);break}default:{}}while(0);q=n+262144|0;k[a+48>>2]=q;q=q>>>0<67108864;u=o;return q|0}function _e(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;e=o;do if((m[b+38>>1]|0)<512){g=b+8|0;f=k[g>>2]|0;g=k[g+4>>2]|0;c=b+16|0;h=c;d=k[h>>2]|0;h=Fp(d|0,k[h+4>>2]|0,8,0)|0;j=M;if((g|0)<(j|0)|(g|0)==(j|0)&f>>>0>>0){a=0;u=o;return a|0}else{q=(k[b>>2]|0)+d|0;p=q;p=l[p>>0]|l[p+1>>0]<<8|l[p+2>>0]<<16|l[p+3>>0]<<24;q=q+4|0;q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24;k[e>>2]=p;k[e+4>>2]=q;e=c;k[e>>2]=h;k[e+4>>2]=j;e=f;d=j;f=q;j=p;break}}else if(Oj(e,b)|0){j=e;g=b+8|0;c=b+16|0;d=c;e=k[g>>2]|0;g=k[g+4>>2]|0;h=k[d>>2]|0;d=k[d+4>>2]|0;f=k[j+4>>2]|0;j=k[j>>2]|0;break}else{q=0;u=o;return q|0}while(0);q=Wo(e|0,g|0,h|0,d|0)|0;p=M;if(f>>>0>p>>>0|(f|0)==(p|0)&j>>>0>q>>>0){q=0;u=o;return q|0}e=(k[b>>2]|0)+h|0;p=Fp(h|0,d|0,j|0,f|0)|0;q=c;k[q>>2]=p;k[q+4>>2]=M;if((j|0)<1){q=0;u=o;return q|0}k[a+40>>2]=e;c=j+-1|0;d=e+c|0;a:do switch((l[d>>0]|0)>>>6&3){case 0:{k[a+44>>2]=c;n=i[d>>0]&63;break}case 1:if((j|0)<2){q=0;u=o;return q|0}else{k[a+44>>2]=j+-2;n=e+j+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);break a}case 2:if((j|0)<3){q=0;u=o;return q|0}else{k[a+44>>2]=j+-3;n=e+j+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;break a}case 3:{k[a+44>>2]=j+-4;n=e+j+-4|0;n=(l[n+2>>0]|0)<<16|(l[n+3>>0]|0)<<24&1056964608|(l[n+1>>0]|0)<<8|(l[n>>0]|0);break}default:{}}while(0);q=n+131072|0;k[a+48>>2]=q;q=q>>>0<33554432;u=o;return q|0}function $e(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;e=o;do if((m[b+38>>1]|0)<512){g=b+8|0;f=k[g>>2]|0;g=k[g+4>>2]|0;c=b+16|0;h=c;d=k[h>>2]|0;h=Fp(d|0,k[h+4>>2]|0,8,0)|0;j=M;if((g|0)<(j|0)|(g|0)==(j|0)&f>>>0>>0){a=0;u=o;return a|0}else{q=(k[b>>2]|0)+d|0;p=q;p=l[p>>0]|l[p+1>>0]<<8|l[p+2>>0]<<16|l[p+3>>0]<<24;q=q+4|0;q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24;k[e>>2]=p;k[e+4>>2]=q;e=c;k[e>>2]=h;k[e+4>>2]=j;e=f;d=j;f=q;j=p;break}}else if(Oj(e,b)|0){j=e;g=b+8|0;c=b+16|0;d=c;e=k[g>>2]|0;g=k[g+4>>2]|0;h=k[d>>2]|0;d=k[d+4>>2]|0;f=k[j+4>>2]|0;j=k[j>>2]|0;break}else{q=0;u=o;return q|0}while(0);q=Wo(e|0,g|0,h|0,d|0)|0;p=M;if(f>>>0>p>>>0|(f|0)==(p|0)&j>>>0>q>>>0){q=0;u=o;return q|0}e=(k[b>>2]|0)+h|0;p=Fp(h|0,d|0,j|0,f|0)|0;q=c;k[q>>2]=p;k[q+4>>2]=M;if((j|0)<1){q=0;u=o;return q|0}k[a+40>>2]=e;c=j+-1|0;d=e+c|0;a:do switch((l[d>>0]|0)>>>6&3){case 0:{k[a+44>>2]=c;n=i[d>>0]&63;break}case 1:if((j|0)<2){q=0;u=o;return q|0}else{k[a+44>>2]=j+-2;n=e+j+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);break a}case 2:if((j|0)<3){q=0;u=o;return q|0}else{k[a+44>>2]=j+-3;n=e+j+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;break a}case 3:{k[a+44>>2]=j+-4;n=e+j+-4|0;n=(l[n+2>>0]|0)<<16|(l[n+3>>0]|0)<<24&1056964608|(l[n+1>>0]|0)<<8|(l[n>>0]|0);break}default:{}}while(0);q=n+32768|0;k[a+48>>2]=q;q=q>>>0<8388608;u=o;return q|0}function af(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;e=o;do if((m[b+38>>1]|0)<512){g=b+8|0;f=k[g>>2]|0;g=k[g+4>>2]|0;c=b+16|0;h=c;d=k[h>>2]|0;h=Fp(d|0,k[h+4>>2]|0,8,0)|0;j=M;if((g|0)<(j|0)|(g|0)==(j|0)&f>>>0>>0){a=0;u=o;return a|0}else{q=(k[b>>2]|0)+d|0;p=q;p=l[p>>0]|l[p+1>>0]<<8|l[p+2>>0]<<16|l[p+3>>0]<<24;q=q+4|0;q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24;k[e>>2]=p;k[e+4>>2]=q;e=c;k[e>>2]=h;k[e+4>>2]=j;e=f;d=j;f=q;j=p;break}}else if(Oj(e,b)|0){j=e;g=b+8|0;c=b+16|0;d=c;e=k[g>>2]|0;g=k[g+4>>2]|0;h=k[d>>2]|0;d=k[d+4>>2]|0;f=k[j+4>>2]|0;j=k[j>>2]|0;break}else{q=0;u=o;return q|0}while(0);q=Wo(e|0,g|0,h|0,d|0)|0;p=M;if(f>>>0>p>>>0|(f|0)==(p|0)&j>>>0>q>>>0){q=0;u=o;return q|0}e=(k[b>>2]|0)+h|0;p=Fp(h|0,d|0,j|0,f|0)|0;q=c;k[q>>2]=p;k[q+4>>2]=M;if((j|0)<1){q=0;u=o;return q|0}k[a+40>>2]=e;c=j+-1|0;d=e+c|0;a:do switch((l[d>>0]|0)>>>6&3){case 0:{k[a+44>>2]=c;n=i[d>>0]&63;break}case 1:if((j|0)<2){q=0;u=o;return q|0}else{k[a+44>>2]=j+-2;n=e+j+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);break a}case 2:if((j|0)<3){q=0;u=o;return q|0}else{k[a+44>>2]=j+-3;n=e+j+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;break a}case 3:{k[a+44>>2]=j+-4;n=e+j+-4|0;n=(l[n+2>>0]|0)<<16|(l[n+3>>0]|0)<<24&1056964608|(l[n+1>>0]|0)<<8|(l[n>>0]|0);break}default:{}}while(0);q=n+16384|0;k[a+48>>2]=q;q=q>>>0<4194304;u=o;return q|0}function bf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}f=b+d|0;k[c>>2]=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,8,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;k[c>>2]=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,12,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;k[c>>2]=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,16,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;k[c>>2]=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;g=1;return g|0}default:{g=0;return g|0}}return 0}function cf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;p=u;u=u+16|0;m=p+4|0;n=p;e=b+8|0;g=e;h=k[g>>2]|0;g=k[g+4>>2]|0;j=b+16|0;f=j;d=k[f>>2]|0;f=k[f+4>>2]|0;q=Fp(d|0,f|0,4,0)|0;r=M;if((g|0)<(r|0)|(g|0)==(r|0)&h>>>0>>0)e=h;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=Fp(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=M;g=j;k[g>>2]=d;k[g+4>>2]=f;g=k[e+4>>2]|0;e=k[e>>2]|0}h=a+4|0;r=Fp(d|0,f|0,4,0)|0;q=M;if((g|0)<(q|0)|(g|0)==(q|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;q=j;q=Fp(k[q>>2]|0,k[q+4>>2]|0,4,0)|0;r=j;k[r>>2]=q;k[r+4>>2]=M}if(!d){r=1;u=p;return r|0}else d=0;do{if(!(Cg(a+12+(d<<4)|0,b)|0)){d=0;o=14;break}d=d+1|0}while((d|0)<32);if((o|0)==14){u=p;return d|0}if(!(Cg(a+524|0,b)|0)){r=0;u=p;return r|0}if(!(Jg(a+540|0,b)|0)){r=0;u=p;return r|0}if(!(Jg(a+560|0,b)|0)){r=0;u=p;return r|0}if(!(Jg(a+580|0,b)|0)){r=0;u=p;return r|0}r=k[h>>2]|0;k[n>>2]=k[c>>2];k[m>>2]=k[n>>2];pb(a,r,m);r=1;u=p;return r|0}function df(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;p=u;u=u+16|0;m=p+4|0;n=p;e=b+8|0;g=e;h=k[g>>2]|0;g=k[g+4>>2]|0;j=b+16|0;f=j;d=k[f>>2]|0;f=k[f+4>>2]|0;q=Fp(d|0,f|0,4,0)|0;r=M;if((g|0)<(r|0)|(g|0)==(r|0)&h>>>0>>0)e=h;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=Fp(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=M;g=j;k[g>>2]=d;k[g+4>>2]=f;g=k[e+4>>2]|0;e=k[e>>2]|0}h=a+4|0;r=Fp(d|0,f|0,4,0)|0;q=M;if((g|0)<(q|0)|(g|0)==(q|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;q=j;q=Fp(k[q>>2]|0,k[q+4>>2]|0,4,0)|0;r=j;k[r>>2]=q;k[r+4>>2]=M}if(!d){r=1;u=p;return r|0}else d=0;do{if(!(Cg(a+12+(d<<4)|0,b)|0)){d=0;o=14;break}d=d+1|0}while((d|0)<32);if((o|0)==14){u=p;return d|0}if(!(Cg(a+524|0,b)|0)){r=0;u=p;return r|0}if(!(Jg(a+540|0,b)|0)){r=0;u=p;return r|0}if(!(Jg(a+560|0,b)|0)){r=0;u=p;return r|0}if(!(Jg(a+580|0,b)|0)){r=0;u=p;return r|0}r=k[h>>2]|0;k[n>>2]=k[c>>2];k[m>>2]=k[n>>2];tb(a,r,m);r=1;u=p;return r|0}function ef(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;p=u;u=u+16|0;m=p+4|0;n=p;e=b+8|0;g=e;h=k[g>>2]|0;g=k[g+4>>2]|0;j=b+16|0;f=j;d=k[f>>2]|0;f=k[f+4>>2]|0;q=Fp(d|0,f|0,4,0)|0;r=M;if((g|0)<(r|0)|(g|0)==(r|0)&h>>>0>>0)e=h;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=Fp(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=M;g=j;k[g>>2]=d;k[g+4>>2]=f;g=k[e+4>>2]|0;e=k[e>>2]|0}h=a+4|0;r=Fp(d|0,f|0,4,0)|0;q=M;if((g|0)<(q|0)|(g|0)==(q|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;q=j;q=Fp(k[q>>2]|0,k[q+4>>2]|0,4,0)|0;r=j;k[r>>2]=q;k[r+4>>2]=M}if(!d){r=1;u=p;return r|0}else d=0;do{if(!(Cg(a+12+(d<<4)|0,b)|0)){d=0;o=14;break}d=d+1|0}while((d|0)<32);if((o|0)==14){u=p;return d|0}if(!(Cg(a+524|0,b)|0)){r=0;u=p;return r|0}if(!(Jg(a+540|0,b)|0)){r=0;u=p;return r|0}if(!(Jg(a+560|0,b)|0)){r=0;u=p;return r|0}if(!(Jg(a+580|0,b)|0)){r=0;u=p;return r|0}r=k[h>>2]|0;k[n>>2]=k[c>>2];k[m>>2]=k[n>>2];qb(a,r,m);r=1;u=p;return r|0}function ff(a){a=a|0;var 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;f=a+32|0;e=k[f>>2]|0;o=e+8|0;n=k[o+4>>2]|0;b=e+16|0;d=b;c=k[d>>2]|0;d=k[d+4>>2]|0;if(!((n|0)>(d|0)|((n|0)==(d|0)?(k[o>>2]|0)>>>0>c>>>0:0))){p=0;return p|0}e=i[(k[e>>2]|0)+c>>0]|0;n=Fp(c|0,d|0,1,0)|0;o=b;k[o>>2]=n;k[o+4>>2]=M;o=e&255;e=e<<24>>24==0;a:do if(!e){b=0;while(1){if(!(_a[k[(k[a>>2]|0)+16>>2]&127](a,b)|0)){b=0;break}b=b+1|0;if((b|0)>=(o|0))break a}return b|0}while(0);n=a+8|0;b=k[n>>2]|0;c=k[a+12>>2]|0;b:do if((b|0)!=(c|0)){d=a+4|0;while(1){m=k[b>>2]|0;b=b+4|0;if(!(Ra[k[(k[m>>2]|0)+8>>2]&31](m,a,k[d>>2]|0)|0)){b=0;break}if((b|0)==(c|0))break b}return b|0}while(0);if(!e){b=0;do{m=k[(k[n>>2]|0)+(b<<2)>>2]|0;b=b+1|0;if(!(_a[k[(k[m>>2]|0)+12>>2]&127](m,k[f>>2]|0)|0)){b=0;g=26;break}}while((b|0)<(o|0));if((g|0)==26)return b|0;if(!e){h=a+20|0;j=a+24|0;g=0;do{l=k[(k[n>>2]|0)+(g<<2)>>2]|0;l=Wa[k[(k[l>>2]|0)+24>>2]&255](l)|0;if((l|0)>0){f=0;do{m=k[(k[n>>2]|0)+(g<<2)>>2]|0;m=_a[k[(k[m>>2]|0)+20>>2]&127](m,f)|0;c=k[j>>2]|0;b=k[h>>2]|0;d=c-b>>2;do if(m>>>0>=d>>>0){e=m+1|0;if(e>>>0>d>>>0){oj(h,e-d|0);b=k[h>>2]|0;break}if(e>>>0>>0?(p=b+(e<<2)|0,(c|0)!=(p|0)):0)k[j>>2]=c+(~((c+-4-p|0)>>>2)<<2)}while(0);k[b+(m<<2)>>2]=g;f=f+1|0}while((f|0)!=(l|0))}g=g+1|0}while((g|0)!=(o|0))}}if(!(Wa[k[(k[a>>2]|0)+28>>2]&255](a)|0)){p=0;return p|0}p=Wa[k[(k[a>>2]|0)+32>>2]&255](a)|0;return p|0}function gf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=M;a=k[a>>2]|0;b=k[a>>2]|0;if(!((e|0)<0|((e|0)==0?d>>>0<((k[a+4>>2]|0)-b|0)>>>0:0))){f=0;return f|0}k[c>>2]=i[b+d>>0];k[c+4>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;g=l[g>>0]|l[g+1>>0]<<8;k[c>>2]=(g&65535)<<24>>24;k[c+4>>2]=((g&65535)>>>8&65535)<<24>>24;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,3,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;g=i[f+1>>0]|0;k[c>>2]=i[f>>0];k[c+4>>2]=g<<24>>24;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,4,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;k[c>>2]=g<<24>>24;k[c+4>>2]=g<<16>>24;g=1;return g|0}default:{g=0;return g|0}}return 0}function hf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=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;x=u;u=u+16|0;t=x+4|0;v=x;w=a+60|0;k[a+64>>2]=f;s=a+8|0;k[s>>2]=e;d=a+32|0;f=a+36|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(j=h+(e<<2)|0,(i|0)!=(j|0)):0)k[f>>2]=i+(~((i+-4-j|0)>>>2)<<2)}else oj(d,e-g|0);m=a+56|0;g=k[m>>2]|0;h=k[g+4>>2]|0;f=k[g>>2]|0;r=h-f|0;n=r>>2;if((r|0)<=0){u=x;return 1}o=a+16|0;p=a+32|0;q=a+12|0;r=a+20|0;d=0;while(1){if(h-f>>2>>>0<=d>>>0){Iq(g);f=k[g>>2]|0}k[v>>2]=k[f+(d<<2)>>2];k[t>>2]=k[v>>2];Ub(w,t,c,d);l=$(d,e)|0;j=b+(l<<2)|0;l=c+(l<<2)|0;if((k[s>>2]|0)>0){h=0;do{f=k[a+68+(h<<2)>>2]|0;g=k[o>>2]|0;if((f|0)>(g|0)){i=k[p>>2]|0;k[i+(h<<2)>>2]=g}else{g=k[q>>2]|0;i=k[p>>2]|0;k[i+(h<<2)>>2]=(f|0)<(g|0)?g:f}h=h+1|0;f=k[s>>2]|0}while((h|0)<(f|0));if((f|0)>0){g=0;do{f=(k[j+(g<<2)>>2]|0)+(k[i+(g<<2)>>2]|0)|0;h=l+(g<<2)|0;k[h>>2]=f;if((f|0)<=(k[o>>2]|0)){if((f|0)<(k[q>>2]|0)){f=(k[r>>2]|0)+f|0;y=22}}else{f=f-(k[r>>2]|0)|0;y=22}if((y|0)==22){y=0;k[h>>2]=f}g=g+1|0}while((g|0)<(k[s>>2]|0))}}d=d+1|0;if((d|0)>=(n|0))break;g=k[m>>2]|0;f=k[g>>2]|0;h=k[g+4>>2]|0}u=x;return 1}function jf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=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;x=u;u=u+16|0;t=x+4|0;v=x;w=a+60|0;k[a+64>>2]=f;s=a+8|0;k[s>>2]=e;d=a+32|0;f=a+36|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(j=h+(e<<2)|0,(i|0)!=(j|0)):0)k[f>>2]=i+(~((i+-4-j|0)>>>2)<<2)}else oj(d,e-g|0);m=a+56|0;g=k[m>>2]|0;h=k[g+4>>2]|0;f=k[g>>2]|0;r=h-f|0;n=r>>2;if((r|0)<=0){u=x;return 1}o=a+16|0;p=a+32|0;q=a+12|0;r=a+20|0;d=0;while(1){if(h-f>>2>>>0<=d>>>0){Iq(g);f=k[g>>2]|0}k[v>>2]=k[f+(d<<2)>>2];k[t>>2]=k[v>>2];Sb(w,t,c,d);l=$(d,e)|0;j=b+(l<<2)|0;l=c+(l<<2)|0;if((k[s>>2]|0)>0){h=0;do{f=k[a+68+(h<<2)>>2]|0;g=k[o>>2]|0;if((f|0)>(g|0)){i=k[p>>2]|0;k[i+(h<<2)>>2]=g}else{g=k[q>>2]|0;i=k[p>>2]|0;k[i+(h<<2)>>2]=(f|0)<(g|0)?g:f}h=h+1|0;f=k[s>>2]|0}while((h|0)<(f|0));if((f|0)>0){g=0;do{f=(k[j+(g<<2)>>2]|0)+(k[i+(g<<2)>>2]|0)|0;h=l+(g<<2)|0;k[h>>2]=f;if((f|0)<=(k[o>>2]|0)){if((f|0)<(k[q>>2]|0)){f=(k[r>>2]|0)+f|0;y=22}}else{f=f-(k[r>>2]|0)|0;y=22}if((y|0)==22){y=0;k[h>>2]=f}g=g+1|0}while((g|0)<(k[s>>2]|0))}}d=d+1|0;if((d|0)>=(n|0))break;g=k[m>>2]|0;f=k[g>>2]|0;h=k[g+4>>2]|0}u=x;return 1}function kf(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=4480;fi(a+240|0);xj(a+228|0);b=k[a+212>>2]|0;if(b|0){c=a+216|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+200>>2]|0;if(b|0){c=a+204|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+188>>2]|0;if(b|0){c=a+192|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+176>>2]|0;if(b|0){c=a+180|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+160>>2]|0;if(b|0)do{d=b;b=k[b>>2]|0;_r(d)}while((b|0)!=0);d=a+152|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)_r(b);b=k[a+136>>2]|0;if(b|0)_r(b);b=k[a+124>>2]|0;if(b|0)_r(b);b=k[a+112>>2]|0;if(b|0)_r(b);b=k[a+88>>2]|0;if(b|0){c=a+92|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+76>>2]|0;if(b|0){c=a+80|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+64>>2]|0;if(b|0)_r(b);b=k[a+48>>2]|0;if(b|0){c=a+52|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+36>>2]|0;if(b|0){c=a+40|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);_r(b)}b=k[a+24>>2]|0;if(b|0){c=a+28|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+12>>2]|0;if(b|0){c=a+16|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}a=a+8|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;mk(b);_r(b);return}function lf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;p=u;u=u+16|0;n=p+8|0;m=p;e=b+8|0;g=e;h=k[g>>2]|0;g=k[g+4>>2]|0;j=b+16|0;f=j;d=k[f>>2]|0;f=k[f+4>>2]|0;q=Fp(d|0,f|0,4,0)|0;r=M;if((g|0)<(r|0)|(g|0)==(r|0)&h>>>0>>0)e=h;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=Fp(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=M;g=j;k[g>>2]=d;k[g+4>>2]=f;g=k[e+4>>2]|0;e=k[e>>2]|0}h=a+4|0;r=Fp(d|0,f|0,4,0)|0;q=M;if((g|0)<(q|0)|(g|0)==(q|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;q=j;q=Fp(k[q>>2]|0,k[q+4>>2]|0,4,0)|0;r=j;k[r>>2]=q;k[r+4>>2]=M}if(!d){r=1;u=p;return r|0}else d=0;do{if(!(Cg(a+12+(d<<4)|0,b)|0)){d=0;o=14;break}d=d+1|0}while((d|0)<32);if((o|0)==14){u=p;return d|0}if(!(Cg(a+524|0,b)|0)){r=0;u=p;return r|0}if(!(Jg(a+540|0,b)|0)){r=0;u=p;return r|0}if(!(Jg(a+560|0,b)|0)){r=0;u=p;return r|0}if(!(Jg(a+580|0,b)|0)){r=0;u=p;return r|0}r=k[h>>2]|0;o=k[c+4>>2]|0;q=m;k[q>>2]=k[c>>2];k[q+4>>2]=o;k[n>>2]=k[m>>2];k[n+4>>2]=k[m+4>>2];nb(a,r,n);r=1;u=p;return r|0}function mf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;p=u;u=u+16|0;n=p+8|0;m=p;e=b+8|0;g=e;h=k[g>>2]|0;g=k[g+4>>2]|0;j=b+16|0;f=j;d=k[f>>2]|0;f=k[f+4>>2]|0;q=Fp(d|0,f|0,4,0)|0;r=M;if((g|0)<(r|0)|(g|0)==(r|0)&h>>>0>>0)e=h;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=Fp(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=M;g=j;k[g>>2]=d;k[g+4>>2]=f;g=k[e+4>>2]|0;e=k[e>>2]|0}h=a+4|0;r=Fp(d|0,f|0,4,0)|0;q=M;if((g|0)<(q|0)|(g|0)==(q|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;q=j;q=Fp(k[q>>2]|0,k[q+4>>2]|0,4,0)|0;r=j;k[r>>2]=q;k[r+4>>2]=M}if(!d){r=1;u=p;return r|0}else d=0;do{if(!(Cg(a+12+(d<<4)|0,b)|0)){d=0;o=14;break}d=d+1|0}while((d|0)<32);if((o|0)==14){u=p;return d|0}if(!(Cg(a+524|0,b)|0)){r=0;u=p;return r|0}if(!(Jg(a+540|0,b)|0)){r=0;u=p;return r|0}if(!(Jg(a+560|0,b)|0)){r=0;u=p;return r|0}if(!(Jg(a+580|0,b)|0)){r=0;u=p;return r|0}r=k[h>>2]|0;o=k[c+4>>2]|0;q=m;k[q>>2]=k[c>>2];k[q+4>>2]=o;k[n>>2]=k[m>>2];k[n+4>>2]=k[m+4>>2];rb(a,r,n);r=1;u=p;return r|0}function nf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;p=u;u=u+16|0;n=p+8|0;m=p;e=b+8|0;g=e;h=k[g>>2]|0;g=k[g+4>>2]|0;j=b+16|0;f=j;d=k[f>>2]|0;f=k[f+4>>2]|0;q=Fp(d|0,f|0,4,0)|0;r=M;if((g|0)<(r|0)|(g|0)==(r|0)&h>>>0>>0)e=h;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=Fp(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=M;g=j;k[g>>2]=d;k[g+4>>2]=f;g=k[e+4>>2]|0;e=k[e>>2]|0}h=a+4|0;r=Fp(d|0,f|0,4,0)|0;q=M;if((g|0)<(q|0)|(g|0)==(q|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;q=j;q=Fp(k[q>>2]|0,k[q+4>>2]|0,4,0)|0;r=j;k[r>>2]=q;k[r+4>>2]=M}if(!d){r=1;u=p;return r|0}else d=0;do{if(!(Cg(a+12+(d<<4)|0,b)|0)){d=0;o=14;break}d=d+1|0}while((d|0)<32);if((o|0)==14){u=p;return d|0}if(!(Cg(a+524|0,b)|0)){r=0;u=p;return r|0}if(!(Jg(a+540|0,b)|0)){r=0;u=p;return r|0}if(!(Jg(a+560|0,b)|0)){r=0;u=p;return r|0}if(!(Jg(a+580|0,b)|0)){r=0;u=p;return r|0}r=k[h>>2]|0;o=k[c+4>>2]|0;q=m;k[q>>2]=k[c>>2];k[q+4>>2]=o;k[n>>2]=k[m>>2];k[n+4>>2]=k[m+4>>2];ob(a,r,n);r=1;u=p;return r|0}function of(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}f=b+d|0;k[c>>2]=(l[f>>0]|l[f+1>>0]<<8)<<16>>16;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;k[c>>2]=(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)<<16>>16;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,6,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;k[c>>2]=(l[g>>0]|l[g+1>>0]<<8)<<16>>16;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,8,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;k[c>>2]=(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)<<16>>16;g=1;return g|0}default:{g=0;return g|0}}return 0}function pf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=M;a=k[a>>2]|0;b=k[a>>2]|0;if(!((e|0)<0|((e|0)==0?d>>>0<((k[a+4>>2]|0)-b|0)>>>0:0))){f=0;return f|0}k[c>>2]=l[b+d>>0];k[c+4>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;g=l[g>>0]|l[g+1>>0]<<8;k[c>>2]=g&255;k[c+4>>2]=(g&65535)>>>8&65535;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,3,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;g=i[f+1>>0]|0;k[c>>2]=l[f>>0];k[c+4>>2]=g&255;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,4,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;k[c>>2]=g&255;k[c+4>>2]=g>>>8&255;g=1;return g|0}default:{g=0;return g|0}}return 0}function qf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;l=k[b>>2]|0;m=b+4|0;e=k[m>>2]|0;h=((k[c>>2]|0)-l<<3)+(k[c+4>>2]|0)-e|0;c=l;if((h|0)<=0){b=d+4|0;d=k[d>>2]|0;k[a>>2]=d;d=a+4|0;a=k[b>>2]|0;k[d>>2]=a;return}if(!e){e=d+4|0;j=e;e=k[e>>2]|0}else{f=32-e|0;l=(h|0)<(f|0)?h:f;f=-1>>>(f-l|0)&-1<>2];j=d+4|0;e=k[j>>2]|0;i=32-e|0;c=i>>>0>>0?i:l;g=k[d>>2]|0;e=k[g>>2]&~(-1>>>(i-c|0)&-1<>2]=e;i=k[j>>2]|0;n=k[m>>2]|0;k[g>>2]=(i>>>0>n>>>0?f<>>(n-i|0))|e;e=(k[j>>2]|0)+c|0;g=g+(e>>>5<<2)|0;k[d>>2]=g;e=e&31;k[j>>2]=e;i=l-c|0;if((i|0)>0){e=k[g>>2]&~(-1>>>(32-i|0));k[g>>2]=e;k[g>>2]=f>>>((k[m>>2]|0)+c|0)|e;k[j>>2]=i;e=i}c=(k[b>>2]|0)+4|0;k[b>>2]=c;h=h-l|0}i=32-e|0;f=-1<>>0>31){g=~f;e=h;do{m=k[c>>2]|0;n=k[d>>2]|0;l=k[n>>2]&g;k[n>>2]=l;k[n>>2]=m<>2]|l;n=n+4|0;k[d>>2]=n;k[n>>2]=k[n>>2]&f|m>>>i;e=e+-32|0;c=(k[b>>2]|0)+4|0;k[b>>2]=c}while(e>>>0>31);h=h&31}if(!h){b=j;n=k[d>>2]|0;k[a>>2]=n;n=a+4|0;d=k[b>>2]|0;k[n>>2]=d;return}g=k[c>>2]&-1>>>(32-h|0);f=(i|0)<(h|0)?i:h;e=k[d>>2]|0;c=k[e>>2]&~(-1<>2]&-1>>>(i-f|0));k[e>>2]=c;k[e>>2]=c|g<>2];c=(k[j>>2]|0)+f|0;e=e+(c>>>5<<2)|0;k[d>>2]=e;k[j>>2]=c&31;c=h-f|0;if((c|0)<=0){b=j;n=k[d>>2]|0;k[a>>2]=n;n=a+4|0;d=k[b>>2]|0;k[n>>2]=d;return}k[e>>2]=k[e>>2]&~(-1>>>(32-c|0))|g>>>f;k[j>>2]=c;b=j;n=k[d>>2]|0;k[a>>2]=n;n=a+4|0;d=k[b>>2]|0;k[n>>2]=d;return}function rf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;l=b+16|0;n=k[l>>2]|0;h=(k[c>>2]|0)-n|0;i=c+4|0;e=(k[i>>2]|0)-n|0;f=c;k[f>>2]=h;k[f+4>>2]=e;f=k[l>>2]|0;if((f|0)<(h|0))Ka(10176,9461,250,10199);if((f|0)<(e|0))Ka(10211,9461,251,10199);g=0-f|0;if((h|0)<(g|0))Ka(10234,9461,252,10199);if((e|0)<(g|0))Ka(10258,9461,253,10199);m=(((e|0)>-1?e:0-e|0)+((h|0)>-1?h:0-h|0)|0)<=(f|0);if(m)e=h;else{Ri(b+4|0,c,i);e=k[c>>2]|0}if(!e){f=k[i>>2]|0;g=f;f=(f|0)==0}else{f=k[i>>2]|0;g=f;f=(e|0)<0&(f|0)<1}if(!e)j=(g|0)==0?0:(g|0)>0?3:1;else j=(e|0)>0?(g>>31)+2|0:(g|0)<1?0:3;if(f){i=1;f=e;e=g}else{switch(j|0){case 1:{f=g;e=0-e|0;break}case 2:{f=0-e|0;e=0-g|0;break}case 3:{f=0-g|0;break}default:{f=e;e=g}}i=c;k[i>>2]=f;k[i+4>>2]=e;i=0}g=(k[d>>2]|0)+f|0;k[a>>2]=g;e=(k[d+4>>2]|0)+e|0;h=a+4|0;k[h>>2]=e;f=k[l>>2]|0;if((f|0)>=(g|0)){if((g|0)<(0-f|0))g=(k[b+8>>2]|0)+g|0}else g=g-(k[b+8>>2]|0)|0;k[a>>2]=g;if((f|0)>=(e|0)){if((e|0)<(0-f|0))e=(k[b+8>>2]|0)+e|0}else e=e-(k[b+8>>2]|0)|0;k[h>>2]=e;if(i)f=g;else{switch((4-j|0)%4|0|0){case 1:{f=e;e=0-g|0;break}case 2:{f=0-g|0;e=0-e|0;break}case 3:{f=0-e|0;e=g;break}default:f=g}l=a;k[l>>2]=f;k[l+4>>2]=e}if(m){m=f;b=e;m=m+n|0;b=b+n|0;n=a;a=n;k[a>>2]=m;n=n+4|0;k[n>>2]=b;return}Ri(b+4|0,a,h);m=k[a>>2]|0;b=k[h>>2]|0;m=m+n|0;b=b+n|0;n=a;a=n;k[a>>2]=m;n=n+4|0;k[n>>2]=b;return} function Db(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if(!a)return;c=a+-8|0;g=k[5972]|0;if(c>>>0>>0)Aa();a=k[a+-4>>2]|0;b=a&3;if((b|0)==1)Aa();d=a&-8;o=c+d|0;a:do if(!(a&1)){a=k[c>>2]|0;if(!b)return;j=c+(0-a)|0;i=a+d|0;if(j>>>0>>0)Aa();if((j|0)==(k[5973]|0)){a=o+4|0;b=k[a>>2]|0;if((b&3|0)!=3){r=j;e=i;m=j;break}k[5970]=i;k[a>>2]=b&-2;k[j+4>>2]=i|1;k[j+i>>2]=i;return}d=a>>>3;if(a>>>0<256){b=k[j+8>>2]|0;c=k[j+12>>2]|0;a=23912+(d<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0>>0)Aa();if((k[b+12>>2]|0)!=(j|0))Aa()}if((c|0)==(b|0)){k[5968]=k[5968]&~(1<>>0>>0)Aa();a=c+8|0;if((k[a>>2]|0)==(j|0))f=a;else Aa()}else f=c+8|0;k[b+12>>2]=c;k[f>>2]=b;r=j;e=i;m=j;break}f=k[j+24>>2]|0;c=k[j+12>>2]|0;do if((c|0)==(j|0)){c=j+16|0;b=c+4|0;a=k[b>>2]|0;if(!a){a=k[c>>2]|0;if(!a){h=0;break}else b=c}while(1){c=a+20|0;d=k[c>>2]|0;if(d|0){a=d;b=c;continue}c=a+16|0;d=k[c>>2]|0;if(!d)break;else{a=d;b=c}}if(b>>>0>>0)Aa();else{k[b>>2]=0;h=a;break}}else{d=k[j+8>>2]|0;if(d>>>0>>0)Aa();a=d+12|0;if((k[a>>2]|0)!=(j|0))Aa();b=c+8|0;if((k[b>>2]|0)==(j|0)){k[a>>2]=c;k[b>>2]=d;h=c;break}else Aa()}while(0);if(f){a=k[j+28>>2]|0;b=24176+(a<<2)|0;do if((j|0)==(k[b>>2]|0)){k[b>>2]=h;if(!h){k[5969]=k[5969]&~(1<>>0>=(k[5972]|0)>>>0){k[f+16+(((k[f+16>>2]|0)!=(j|0)&1)<<2)>>2]=h;if(!h){r=j;e=i;m=j;break a}else break}else Aa();while(0);c=k[5972]|0;if(h>>>0>>0)Aa();k[h+24>>2]=f;a=j+16|0;b=k[a>>2]|0;do if(b|0)if(b>>>0>>0)Aa();else{k[h+16>>2]=b;k[b+24>>2]=h;break}while(0);a=k[a+4>>2]|0;if(a)if(a>>>0<(k[5972]|0)>>>0)Aa();else{k[h+20>>2]=a;k[a+24>>2]=h;r=j;e=i;m=j;break}else{r=j;e=i;m=j}}else{r=j;e=i;m=j}}else{r=c;e=d;m=c}while(0);if(m>>>0>=o>>>0)Aa();a=o+4|0;b=k[a>>2]|0;if(!(b&1))Aa();if(!(b&2)){a=k[5973]|0;if((o|0)==(k[5974]|0)){q=(k[5971]|0)+e|0;k[5971]=q;k[5974]=r;k[r+4>>2]=q|1;if((r|0)!=(a|0))return;k[5973]=0;k[5970]=0;return}if((o|0)==(a|0)){q=(k[5970]|0)+e|0;k[5970]=q;k[5973]=m;k[r+4>>2]=q|1;k[m+q>>2]=q;return}e=(b&-8)+e|0;d=b>>>3;b:do if(b>>>0>=256){f=k[o+24>>2]|0;a=k[o+12>>2]|0;do if((a|0)==(o|0)){c=o+16|0;b=c+4|0;a=k[b>>2]|0;if(!a){a=k[c>>2]|0;if(!a){n=0;break}else b=c}while(1){c=a+20|0;d=k[c>>2]|0;if(d|0){a=d;b=c;continue}c=a+16|0;d=k[c>>2]|0;if(!d)break;else{a=d;b=c}}if(b>>>0<(k[5972]|0)>>>0)Aa();else{k[b>>2]=0;n=a;break}}else{b=k[o+8>>2]|0;if(b>>>0<(k[5972]|0)>>>0)Aa();c=b+12|0;if((k[c>>2]|0)!=(o|0))Aa();d=a+8|0;if((k[d>>2]|0)==(o|0)){k[c>>2]=a;k[d>>2]=b;n=a;break}else Aa()}while(0);if(f|0){a=k[o+28>>2]|0;b=24176+(a<<2)|0;do if((o|0)==(k[b>>2]|0)){k[b>>2]=n;if(!n){k[5969]=k[5969]&~(1<>>0>=(k[5972]|0)>>>0){k[f+16+(((k[f+16>>2]|0)!=(o|0)&1)<<2)>>2]=n;if(!n)break b;else break}else Aa();while(0);c=k[5972]|0;if(n>>>0>>0)Aa();k[n+24>>2]=f;a=o+16|0;b=k[a>>2]|0;do if(b|0)if(b>>>0>>0)Aa();else{k[n+16>>2]=b;k[b+24>>2]=n;break}while(0);a=k[a+4>>2]|0;if(a|0)if(a>>>0<(k[5972]|0)>>>0)Aa();else{k[n+20>>2]=a;k[a+24>>2]=n;break}}}else{b=k[o+8>>2]|0;c=k[o+12>>2]|0;a=23912+(d<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(k[5972]|0)>>>0)Aa();if((k[b+12>>2]|0)!=(o|0))Aa()}if((c|0)==(b|0)){k[5968]=k[5968]&~(1<>>0<(k[5972]|0)>>>0)Aa();a=c+8|0;if((k[a>>2]|0)==(o|0))l=a;else Aa()}else l=c+8|0;k[b+12>>2]=c;k[l>>2]=b}while(0);k[r+4>>2]=e|1;k[m+e>>2]=e;if((r|0)==(k[5973]|0)){k[5970]=e;return}}else{k[a>>2]=b&-2;k[r+4>>2]=e|1;k[m+e>>2]=e}a=e>>>3;if(e>>>0<256){c=23912+(a<<1<<2)|0;b=k[5968]|0;a=1<>2]|0;if(b>>>0<(k[5972]|0)>>>0)Aa();else{p=b;q=a}}else{k[5968]=b|a;p=c;q=c+8|0}k[q>>2]=r;k[p+12>>2]=r;k[r+8>>2]=p;k[r+12>>2]=c;return}a=e>>>8;if(a)if(e>>>0>16777215)a=31;else{p=(a+1048320|0)>>>16&8;q=a<>>16&4;q=q<>>16&2;a=14-(o|p|a)+(q<>>15)|0;a=e>>>(a+7|0)&1|a<<1}else a=0;d=24176+(a<<2)|0;k[r+28>>2]=a;k[r+20>>2]=0;k[r+16>>2]=0;b=k[5969]|0;c=1<>>1)|0);d=k[d>>2]|0;while(1){if((k[d+4>>2]&-8|0)==(e|0)){a=124;break}c=d+16+(b>>>31<<2)|0;a=k[c>>2]|0;if(!a){a=121;break}else{b=b<<1;d=a}}if((a|0)==121)if(c>>>0<(k[5972]|0)>>>0)Aa();else{k[c>>2]=r;k[r+24>>2]=d;k[r+12>>2]=r;k[r+8>>2]=r;break}else if((a|0)==124){a=d+8|0;b=k[a>>2]|0;q=k[5972]|0;if(b>>>0>=q>>>0&d>>>0>=q>>>0){k[b+12>>2]=r;k[a>>2]=r;k[r+8>>2]=b;k[r+12>>2]=d;k[r+24>>2]=0;break}else Aa()}}else{k[5969]=b|c;k[d>>2]=r;k[r+24>>2]=d;k[r+12>>2]=r;k[r+8>>2]=r}while(0);r=(k[5976]|0)+-1|0;k[5976]=r;if(!r)a=24328;else return;while(1){a=k[a>>2]|0;if(!a)break;else a=a+8|0}k[5976]=-1;return}function Eb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=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;K=u;u=u+64|0;J=K+16|0;F=K;d=J;f=d+48|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(f|0));k[F>>2]=0;if(!e){d=0;f=0}else{Yh(J,e,F);d=k[J+12>>2]|0;f=k[J+16>>2]|0}k[F>>2]=0;h=J+16|0;g=f-d>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(i=d+(e<<2)|0,(f|0)!=(i|0)):0)k[h>>2]=f+(~((f+-4-i|0)>>>2)<<2)}else Yh(J+12|0,e-g|0,F);d=J+24|0;k[F>>2]=0;f=J+28|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(j=h+(e<<2)|0,(i|0)!=(j|0)):0)k[f>>2]=i+(~((i+-4-j|0)>>>2)<<2)}else Yh(d,e-g|0,F);d=J+36|0;k[F>>2]=0;f=J+40|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(l=h+(e<<2)|0,(i|0)!=(l|0)):0)k[f>>2]=i+(~((i+-4-l|0)>>>2)<<2)}else Yh(d,e-g|0,F);z=a+8|0;dj(z,k[J>>2]|0,b,c);v=k[a+32>>2]|0;C=k[a+36>>2]|0;D=jo(16)|0;k[D>>2]=0;k[D+4>>2]=0;k[D+8>>2]=0;k[D+12>>2]=0;xl(F,e);B=a+40|0;g=k[B>>2]|0;h=k[g+4>>2]|0;f=k[g>>2]|0;y=h-f|0;A=y>>2;a:do if((y|0)>4){t=v+64|0;w=v+28|0;x=(e|0)>0;y=e<<2;d=1;while(1){if(h-f>>2>>>0<=d>>>0){Iq(g);f=k[g>>2]|0}p=k[f+(d<<2)>>2]|0;o=p+((p|0)<0?0:((p>>>0)%3|0|0)==0?2:-1)|0;q=o>>>5;r=1<<(o&31);s=(o|0)<0;n=1;f=0;g=p;b:while(1){do{if((g|0)<=-1){o=42;break b}i=k[J+(f*12|0)>>2]|0;if(((k[(k[v>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0)==0?(E=k[(k[(k[t>>2]|0)+12>>2]|0)+(g<<2)>>2]|0,(E|0)>=0):0)?(I=k[w>>2]|0,m=k[C>>2]|0,G=k[m+(k[I+(E<<2)>>2]<<2)>>2]|0,H=E+1|0,H=k[m+(k[I+((((H|0)%3|0|0)==0?E+-2|0:H)<<2)>>2]<<2)>>2]|0,I=k[m+(k[I+((((E>>>0)%3|0|0)==0?2:-1)+E<<2)>>2]<<2)>>2]|0,(G|0)<(d|0)&(H|0)<(d|0)&(I|0)<(d|0)):0){j=$(G,e)|0;l=$(H,e)|0;m=$(I,e)|0;if(x){h=0;do{k[i+(h<<2)>>2]=(k[c+(h+m<<2)>>2]|0)+(k[c+(h+l<<2)>>2]|0)-(k[c+(h+j<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0))}f=f+1|0;if((f|0)==4){f=4;o=23;break b}}do if(n){h=g+1|0;g=((h|0)%3|0|0)==0?g+-2|0:h;h=k[v>>2]|0;if(!(k[h+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=k[(k[(k[t>>2]|0)+12>>2]|0)+(g<<2)>>2]|0;i=g+1|0;if((g|0)>=0)g=((i|0)%3|0|0)==0?g+-2|0:i}}else g=-1073741824}else{g=(((g>>>0)%3|0|0)==0?2:-1)+g|0;h=k[v>>2]|0;if(!(k[h+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=k[(k[(k[t>>2]|0)+12>>2]|0)+(g<<2)>>2]|0;if((g|0)>=0)if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}}else g=-1073741824}while(0);if((g|0)==(p|0)){o=42;break b}}while(!(n&(g|0)<0));g=(r&k[h+(q<<2)>>2]|0)!=0;if(g|s){n=0;g=g?-1073741824:o;continue}g=k[(k[(k[t>>2]|0)+12>>2]|0)+(o<<2)>>2]|0;if((g|0)<0){n=0;continue}if(!((g>>>0)%3|0)){n=0;g=g+2|0;continue}else{n=0;g=g+-1|0;continue}}if((o|0)==42)if((f|0)>0)o=23;else{f=$(d,e)|0;o=54}if((o|0)==23){o=0;if(x){_j(k[F>>2]|0,0,y|0)|0;m=f+-1|0;l=D+(m<<2)|0;m=k[a+44+(m*12|0)>>2]|0;n=k[F>>2]|0;j=0;g=0;do{s=k[l>>2]|0;k[l>>2]=s+1;if(!(k[m+(s>>>5<<2)>>2]&1<<(s&31))){i=k[J+(j*12|0)>>2]|0;h=0;do{s=n+(h<<2)|0;k[s>>2]=(k[s>>2]|0)+(k[i+(h<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0));g=g+1|0}j=j+1|0}while((j|0)!=(f|0))}else{j=f+-1|0;i=D+(j<<2)|0;j=k[a+44+(j*12|0)>>2]|0;h=0;g=0;l=k[i>>2]|0;do{s=l;l=l+1|0;k[i>>2]=l;g=g+((k[j+(s>>>5<<2)>>2]&1<<(s&31)|0)==0&1)|0;h=h+1|0}while((h|0)!=(f|0))}f=$(d,e)|0;if(!g)o=54;else{i=k[F>>2]|0;if(x){h=0;do{s=i+(h<<2)|0;k[s>>2]=(k[s>>2]|0)/(g|0)|0;h=h+1|0}while((h|0)!=(e|0))}dj(z,i,b+(f<<2)|0,c+(f<<2)|0)}}if((o|0)==54)dj(z,c+(($(d+-1|0,e)|0)<<2)|0,b+(f<<2)|0,c+(f<<2)|0);d=d+1|0;if((d|0)>=(A|0)){d=F;break a}g=k[B>>2]|0;f=k[g>>2]|0;h=k[g+4>>2]|0}}else d=F;while(0);g=k[d>>2]|0;if(g|0){d=F+4|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-g|0)>>>2)<<2);_r(g)}_r(D);g=k[J+36>>2]|0;if(g|0){d=J+40|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-g|0)>>>2)<<2);_r(g)}d=k[J+24>>2]|0;if(d|0){f=J+28|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-d|0)>>>2)<<2);_r(d)}d=k[J+12>>2]|0;if(d|0){f=J+16|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-d|0)>>>2)<<2);_r(d)}g=k[J>>2]|0;if(!g){u=K;return 1}d=J+4|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-g|0)>>>2)<<2);_r(g);u=K;return 1}function Fb(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+16|0;t=x;v=a+32|0;r=k[v>>2]|0;e=r+8|0;g=k[e>>2]|0;e=k[e+4>>2]|0;h=r+16|0;n=h;m=k[n>>2]|0;n=k[n+4>>2]|0;c=Fp(m|0,n|0,4,0)|0;b=M;if((e|0)<(b|0)|(e|0)==(b|0)&g>>>0>>0){w=0;u=x;return w|0}f=k[r>>2]|0;w=f+m|0;w=l[w>>0]|l[w+1>>0]<<8|l[w+2>>0]<<16|l[w+3>>0]<<24;s=h;k[s>>2]=c;k[s+4>>2]=b;if((w|0)<0){w=0;u=x;return w|0}b=Fp(m|0,n|0,8,0)|0;d=M;if((e|0)<(d|0)|(e|0)==(d|0)&g>>>0>>0){w=0;u=x;return w|0}s=f+c|0;s=l[s>>0]|l[s+1>>0]<<8|l[s+2>>0]<<16|l[s+3>>0]<<24;q=h;k[q>>2]=b;k[q+4>>2]=d;if(!((s|0)>-1&((e|0)>(d|0)|(e|0)==(d|0)&g>>>0>b>>>0))){w=0;u=x;return w|0}q=i[f+b>>0]|0;j=Fp(m|0,n|0,9,0)|0;g=M;p=h;k[p>>2]=j;k[p+4>>2]=g;a:do if(!(q<<24>>24)){if(!(Yf(a,w)|0)){w=0;u=x;return w|0}}else{if((s|0)<256){if((w|0)<=0)break;n=a+44|0;o=t+4|0;p=t+8|0;k[t>>2]=0;k[t+4>>2]=0;k[t+8>>2]=0;b=r+8|0;c=k[b>>2]|0;b=k[b+4>>2]|0;b:do if((b|0)>(g|0)|(b|0)==(g|0)&c>>>0>j>>>0){m=0;f=r;h=g;g=b;e=c;do{d=f+16|0;c=k[f>>2]|0;q=i[c+j>>0]|0;b=Fp(j|0,h|0,1,0)|0;r=M;f=d;k[f>>2]=b;k[f+4>>2]=r;k[t>>2]=q&255;if(!((g|0)>(r|0)|(g|0)==(r|0)&e>>>0>b>>>0))break b;q=i[c+b>>0]|0;b=Fp(j|0,h|0,2,0)|0;r=M;f=d;k[f>>2]=b;k[f+4>>2]=r;k[o>>2]=q&255;if(!((g|0)>(r|0)|(g|0)==(r|0)&e>>>0>b>>>0))break b;c=i[c+b>>0]|0;r=Fp(j|0,h|0,3,0)|0;b=d;k[b>>2]=r;k[b+4>>2]=M;k[p>>2]=c&255;c=k[n>>2]|0;b=c+88|0;d=k[b>>2]|0;if((d|0)==(k[c+92>>2]|0))jj(c+84|0,t);else{k[d>>2]=k[t>>2];k[d+4>>2]=k[t+4>>2];k[d+8>>2]=k[t+8>>2];k[b>>2]=(k[b>>2]|0)+12}m=m+1|0;if((m|0)>=(w|0))break a;f=k[v>>2]|0;h=f+16|0;j=k[h>>2]|0;h=k[h+4>>2]|0;k[t>>2]=0;k[t+4>>2]=0;k[t+8>>2]=0;g=f+8|0;e=k[g>>2]|0;g=k[g+4>>2]|0}while((g|0)>(h|0)|(g|0)==(h|0)&e>>>0>j>>>0)}while(0);w=0;u=x;return w|0}b=(w|0)>0;if((s|0)<65536){if(!b)break;o=a+44|0;p=t+4|0;q=t+8|0;k[t>>2]=0;k[t+4>>2]=0;k[t+8>>2]=0;e=r+8|0;h=k[e>>2]|0;e=k[e+4>>2]|0;b=Fp(m|0,n|0,11,0)|0;c=M;c:do if(!((e|0)<(c|0)|(e|0)==(c|0)&h>>>0>>0)){n=0;d=r;m=e;do{f=d+16|0;e=k[d>>2]|0;d=e+j|0;d=l[d>>0]|l[d+1>>0]<<8;r=f;k[r>>2]=b;k[r+4>>2]=c;k[t>>2]=d&65535;d=Fp(j|0,g|0,4,0)|0;c=M;if((m|0)<(c|0)|(m|0)==(c|0)&h>>>0>>0)break c;b=e+b|0;b=l[b>>0]|l[b+1>>0]<<8;r=f;k[r>>2]=d;k[r+4>>2]=c;k[p>>2]=b&65535;b=Fp(j|0,g|0,6,0)|0;c=M;if((m|0)<(c|0)|(m|0)==(c|0)&h>>>0>>0)break c;d=e+d|0;d=l[d>>0]|l[d+1>>0]<<8;r=f;k[r>>2]=b;k[r+4>>2]=c;k[q>>2]=d&65535;d=k[o>>2]|0;c=d+88|0;b=k[c>>2]|0;if((b|0)==(k[d+92>>2]|0))jj(d+84|0,t);else{k[b>>2]=k[t>>2];k[b+4>>2]=k[t+4>>2];k[b+8>>2]=k[t+8>>2];k[c>>2]=(k[c>>2]|0)+12}n=n+1|0;if((n|0)>=(w|0))break a;d=k[v>>2]|0;g=d+16|0;j=k[g>>2]|0;g=k[g+4>>2]|0;k[t>>2]=0;k[t+4>>2]=0;k[t+8>>2]=0;m=d+8|0;h=k[m>>2]|0;m=k[m+4>>2]|0;b=Fp(j|0,g|0,2,0)|0;c=M}while(!((m|0)<(c|0)|(m|0)==(c|0)&h>>>0>>0))}while(0);w=0;u=x;return w|0}else{if(!b)break;o=a+44|0;p=t+4|0;q=t+8|0;k[t>>2]=0;k[t+4>>2]=0;k[t+8>>2]=0;e=r+8|0;h=k[e>>2]|0;e=k[e+4>>2]|0;b=Fp(m|0,n|0,13,0)|0;c=M;d:do if(!((e|0)<(c|0)|(e|0)==(c|0)&h>>>0>>0)){n=0;d=r;m=e;do{f=d+16|0;e=k[d>>2]|0;d=e+j|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;r=f;k[r>>2]=b;k[r+4>>2]=c;k[t>>2]=d;d=Fp(j|0,g|0,8,0)|0;c=M;if((m|0)<(c|0)|(m|0)==(c|0)&h>>>0>>0)break d;b=e+b|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;r=f;k[r>>2]=d;k[r+4>>2]=c;k[p>>2]=b;b=Fp(j|0,g|0,12,0)|0;c=M;if((m|0)<(c|0)|(m|0)==(c|0)&h>>>0>>0)break d;d=e+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;r=f;k[r>>2]=b;k[r+4>>2]=c;k[q>>2]=d;d=k[o>>2]|0;c=d+88|0;b=k[c>>2]|0;if((b|0)==(k[d+92>>2]|0))jj(d+84|0,t);else{k[b>>2]=k[t>>2];k[b+4>>2]=k[t+4>>2];k[b+8>>2]=k[t+8>>2];k[c>>2]=(k[c>>2]|0)+12}n=n+1|0;if((n|0)>=(w|0))break a;d=k[v>>2]|0;g=d+16|0;j=k[g>>2]|0;g=k[g+4>>2]|0;k[t>>2]=0;k[t+4>>2]=0;k[t+8>>2]=0;m=d+8|0;h=k[m>>2]|0;m=k[m+4>>2]|0;b=Fp(j|0,g|0,4,0)|0;c=M}while(!((m|0)<(c|0)|(m|0)==(c|0)&h>>>0>>0))}while(0);w=0;u=x;return w|0}}while(0);k[(k[a+4>>2]|0)+68>>2]=s;w=1;u=x;return w|0}function Gb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=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;K=u;u=u+64|0;J=K+16|0;F=K;d=J;f=d+48|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(f|0));k[F>>2]=0;if(!e){d=0;f=0}else{Yh(J,e,F);d=k[J+12>>2]|0;f=k[J+16>>2]|0}k[F>>2]=0;h=J+16|0;g=f-d>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(i=d+(e<<2)|0,(f|0)!=(i|0)):0)k[h>>2]=f+(~((f+-4-i|0)>>>2)<<2)}else Yh(J+12|0,e-g|0,F);d=J+24|0;k[F>>2]=0;f=J+28|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(j=h+(e<<2)|0,(i|0)!=(j|0)):0)k[f>>2]=i+(~((i+-4-j|0)>>>2)<<2)}else Yh(d,e-g|0,F);d=J+36|0;k[F>>2]=0;f=J+40|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(l=h+(e<<2)|0,(i|0)!=(l|0)):0)k[f>>2]=i+(~((i+-4-l|0)>>>2)<<2)}else Yh(d,e-g|0,F);z=a+8|0;gj(z,k[J>>2]|0,b,c);v=k[a+32>>2]|0;C=k[a+36>>2]|0;D=jo(16)|0;k[D>>2]=0;k[D+4>>2]=0;k[D+8>>2]=0;k[D+12>>2]=0;xl(F,e);B=a+40|0;g=k[B>>2]|0;h=k[g+4>>2]|0;f=k[g>>2]|0;y=h-f|0;A=y>>2;a:do if((y|0)>4){t=v+64|0;w=v+28|0;x=(e|0)>0;y=e<<2;d=1;while(1){if(h-f>>2>>>0<=d>>>0){Iq(g);f=k[g>>2]|0}p=k[f+(d<<2)>>2]|0;o=p+((p|0)<0?0:((p>>>0)%3|0|0)==0?2:-1)|0;q=o>>>5;r=1<<(o&31);s=(o|0)<0;n=1;f=0;g=p;b:while(1){do{if((g|0)<=-1){o=42;break b}i=k[J+(f*12|0)>>2]|0;if(((k[(k[v>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0)==0?(E=k[(k[(k[t>>2]|0)+12>>2]|0)+(g<<2)>>2]|0,(E|0)>=0):0)?(I=k[w>>2]|0,m=k[C>>2]|0,G=k[m+(k[I+(E<<2)>>2]<<2)>>2]|0,H=E+1|0,H=k[m+(k[I+((((H|0)%3|0|0)==0?E+-2|0:H)<<2)>>2]<<2)>>2]|0,I=k[m+(k[I+((((E>>>0)%3|0|0)==0?2:-1)+E<<2)>>2]<<2)>>2]|0,(G|0)<(d|0)&(H|0)<(d|0)&(I|0)<(d|0)):0){j=$(G,e)|0;l=$(H,e)|0;m=$(I,e)|0;if(x){h=0;do{k[i+(h<<2)>>2]=(k[c+(h+m<<2)>>2]|0)+(k[c+(h+l<<2)>>2]|0)-(k[c+(h+j<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0))}f=f+1|0;if((f|0)==4){f=4;o=23;break b}}do if(n){h=g+1|0;g=((h|0)%3|0|0)==0?g+-2|0:h;h=k[v>>2]|0;if(!(k[h+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=k[(k[(k[t>>2]|0)+12>>2]|0)+(g<<2)>>2]|0;i=g+1|0;if((g|0)>=0)g=((i|0)%3|0|0)==0?g+-2|0:i}}else g=-1073741824}else{g=(((g>>>0)%3|0|0)==0?2:-1)+g|0;h=k[v>>2]|0;if(!(k[h+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=k[(k[(k[t>>2]|0)+12>>2]|0)+(g<<2)>>2]|0;if((g|0)>=0)if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}}else g=-1073741824}while(0);if((g|0)==(p|0)){o=42;break b}}while(!(n&(g|0)<0));g=(r&k[h+(q<<2)>>2]|0)!=0;if(g|s){n=0;g=g?-1073741824:o;continue}g=k[(k[(k[t>>2]|0)+12>>2]|0)+(o<<2)>>2]|0;if((g|0)<0){n=0;continue}if(!((g>>>0)%3|0)){n=0;g=g+2|0;continue}else{n=0;g=g+-1|0;continue}}if((o|0)==42)if((f|0)>0)o=23;else{f=$(d,e)|0;o=54}if((o|0)==23){o=0;if(x){_j(k[F>>2]|0,0,y|0)|0;m=f+-1|0;l=D+(m<<2)|0;m=k[a+44+(m*12|0)>>2]|0;n=k[F>>2]|0;j=0;g=0;do{s=k[l>>2]|0;k[l>>2]=s+1;if(!(k[m+(s>>>5<<2)>>2]&1<<(s&31))){i=k[J+(j*12|0)>>2]|0;h=0;do{s=n+(h<<2)|0;k[s>>2]=(k[s>>2]|0)+(k[i+(h<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0));g=g+1|0}j=j+1|0}while((j|0)!=(f|0))}else{j=f+-1|0;i=D+(j<<2)|0;j=k[a+44+(j*12|0)>>2]|0;h=0;g=0;l=k[i>>2]|0;do{s=l;l=l+1|0;k[i>>2]=l;g=g+((k[j+(s>>>5<<2)>>2]&1<<(s&31)|0)==0&1)|0;h=h+1|0}while((h|0)!=(f|0))}f=$(d,e)|0;if(!g)o=54;else{i=k[F>>2]|0;if(x){h=0;do{s=i+(h<<2)|0;k[s>>2]=(k[s>>2]|0)/(g|0)|0;h=h+1|0}while((h|0)!=(e|0))}gj(z,i,b+(f<<2)|0,c+(f<<2)|0)}}if((o|0)==54)gj(z,c+(($(d+-1|0,e)|0)<<2)|0,b+(f<<2)|0,c+(f<<2)|0);d=d+1|0;if((d|0)>=(A|0)){d=F;break a}g=k[B>>2]|0;f=k[g>>2]|0;h=k[g+4>>2]|0}}else d=F;while(0);g=k[d>>2]|0;if(g|0){d=F+4|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-g|0)>>>2)<<2);_r(g)}_r(D);g=k[J+36>>2]|0;if(g|0){d=J+40|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-g|0)>>>2)<<2);_r(g)}d=k[J+24>>2]|0;if(d|0){f=J+28|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-d|0)>>>2)<<2);_r(d)}d=k[J+12>>2]|0;if(d|0){f=J+16|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-d|0)>>>2)<<2);_r(d)}g=k[J>>2]|0;if(!g){u=K;return 1}d=J+4|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-g|0)>>>2)<<2);_r(g);u=K;return 1}function Hb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=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+64|0;G=H+16|0;F=H;d=G;f=d+48|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(f|0));k[F>>2]=0;if(!e){d=0;f=0}else{Yh(G,e,F);d=k[G+12>>2]|0;f=k[G+16>>2]|0}k[F>>2]=0;h=G+16|0;g=f-d>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(i=d+(e<<2)|0,(f|0)!=(i|0)):0)k[h>>2]=f+(~((f+-4-i|0)>>>2)<<2)}else Yh(G+12|0,e-g|0,F);d=G+24|0;k[F>>2]=0;f=G+28|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(j=h+(e<<2)|0,(i|0)!=(j|0)):0)k[f>>2]=i+(~((i+-4-j|0)>>>2)<<2)}else Yh(d,e-g|0,F);d=G+36|0;k[F>>2]=0;f=G+40|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(l=h+(e<<2)|0,(i|0)!=(l|0)):0)k[f>>2]=i+(~((i+-4-l|0)>>>2)<<2)}else Yh(d,e-g|0,F);x=a+8|0;dj(x,k[G>>2]|0,b,c);y=k[a+32>>2]|0;D=k[a+36>>2]|0;E=jo(16)|0;k[E>>2]=0;k[E+4>>2]=0;k[E+8>>2]=0;k[E+12>>2]=0;xl(F,e);A=a+40|0;g=k[A>>2]|0;h=k[g+4>>2]|0;f=k[g>>2]|0;C=h-f|0;z=C>>2;a:do if((C|0)>4){w=y+12|0;B=(e|0)>0;C=e<<2;d=1;while(1){if(h-f>>2>>>0<=d>>>0){Iq(g);f=k[g>>2]|0}s=k[f+(d<<2)>>2]|0;t=(((s>>>0)%3|0|0)==0?2:-1)+s|0;v=(s|t|0)<0;r=(s|0)<0?s:t;q=1;f=0;g=s;b:while(1){do{if((g|0)<=-1){o=43;break b}o=k[G+(f*12|0)>>2]|0;p=k[w>>2]|0;i=k[p+(g<<2)>>2]|0;if((i|0)>=0){j=k[y>>2]|0;l=k[D>>2]|0;n=k[l+(k[j+(i<<2)>>2]<<2)>>2]|0;h=i+1|0;h=((h|0)%3|0|0)==0?i+-2|0:h;if((h|0)<0)h=-1073741824;else h=k[j+(h<<2)>>2]|0;m=k[l+(h<<2)>>2]|0;h=(((i>>>0)%3|0|0)==0?2:-1)+i|0;if((h|0)<0)h=-1073741824;else h=k[j+(h<<2)>>2]|0;h=k[l+(h<<2)>>2]|0;if((n|0)<(d|0)&(m|0)<(d|0)&(h|0)<(d|0)){l=$(n,e)|0;j=$(m,e)|0;i=$(h,e)|0;if(B){h=0;do{k[o+(h<<2)>>2]=(k[c+(h+i<<2)>>2]|0)+(k[c+(h+j<<2)>>2]|0)-(k[c+(h+l<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0))}f=f+1|0;if((f|0)==4){f=4;o=26;break b}}}do if(q){o=g+1|0;g=((o|0)%3|0|0)==0?g+-2|0:o;if((g|0)>=0){g=k[p+(g<<2)>>2]|0;h=g+1|0;if((g|0)>=0)g=((h|0)%3|0|0)==0?g+-2|0:h}}else{g=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((g|0)>=0){g=k[p+(g<<2)>>2]|0;if((g|0)>=0)if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}}while(0);if((g|0)==(s|0)){o=43;break b}}while(!(q&(g|0)<0));if(v){q=0;g=r;continue}g=k[p+(t<<2)>>2]|0;if((g|0)<0){q=0;continue}if(!((g>>>0)%3|0)){q=0;g=g+2|0;continue}else{q=0;g=g+-1|0;continue}}if((o|0)==43)if((f|0)>0)o=26;else{f=$(d,e)|0;o=55}if((o|0)==26){o=0;if(B){_j(k[F>>2]|0,0,C|0)|0;m=f+-1|0;l=E+(m<<2)|0;m=k[a+44+(m*12|0)>>2]|0;n=k[F>>2]|0;j=0;g=0;do{v=k[l>>2]|0;k[l>>2]=v+1;if(!(k[m+(v>>>5<<2)>>2]&1<<(v&31))){i=k[G+(j*12|0)>>2]|0;h=0;do{v=n+(h<<2)|0;k[v>>2]=(k[v>>2]|0)+(k[i+(h<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0));g=g+1|0}j=j+1|0}while((j|0)!=(f|0))}else{j=f+-1|0;i=E+(j<<2)|0;j=k[a+44+(j*12|0)>>2]|0;h=0;g=0;l=k[i>>2]|0;do{v=l;l=l+1|0;k[i>>2]=l;g=g+((k[j+(v>>>5<<2)>>2]&1<<(v&31)|0)==0&1)|0;h=h+1|0}while((h|0)!=(f|0))}f=$(d,e)|0;if(!g)o=55;else{i=k[F>>2]|0;if(B){h=0;do{v=i+(h<<2)|0;k[v>>2]=(k[v>>2]|0)/(g|0)|0;h=h+1|0}while((h|0)!=(e|0))}dj(x,i,b+(f<<2)|0,c+(f<<2)|0)}}if((o|0)==55)dj(x,c+(($(d+-1|0,e)|0)<<2)|0,b+(f<<2)|0,c+(f<<2)|0);d=d+1|0;if((d|0)>=(z|0)){d=F;break a}g=k[A>>2]|0;f=k[g>>2]|0;h=k[g+4>>2]|0}}else d=F;while(0);g=k[d>>2]|0;if(g|0){d=F+4|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-g|0)>>>2)<<2);_r(g)}_r(E);g=k[G+36>>2]|0;if(g|0){d=G+40|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-g|0)>>>2)<<2);_r(g)}d=k[G+24>>2]|0;if(d|0){f=G+28|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-d|0)>>>2)<<2);_r(d)}d=k[G+12>>2]|0;if(d|0){f=G+16|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-d|0)>>>2)<<2);_r(d)}g=k[G>>2]|0;if(!g){u=H;return 1}d=G+4|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-g|0)>>>2)<<2);_r(g);u=H;return 1}function Ib(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=Pa,p=Pa,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,N=0,O=0,P=0,Q=Pa;P=u;u=u+48|0;O=P+12|0;I=P+32|0;N=P;J=O+16|0;k[O>>2]=0;k[O+4>>2]=0;k[O+8>>2]=0;k[O+12>>2]=0;o[J>>2]=da(1.0);L=a+80|0;xl(N,k[L>>2]|0);e=k[L>>2]|0;a:do if((e|0)>0){z=b+48|0;A=b+40|0;x=I+2|0;y=I+4|0;B=O+4|0;C=O+12|0;D=O+8|0;E=a+40|0;F=a+64|0;w=k[c>>2]|0;d=0;v=0;r=0;while(1){m=w+v|0;h=z;l=k[h>>2]|0;h=k[h+4>>2]|0;t=A;m=io(k[t>>2]|0,k[t+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;h=Fp(m|0,M|0,l|0,h|0)|0;h=(k[k[b>>2]>>2]|0)+h|0;i[I>>0]=i[h>>0]|0;i[I+1>>0]=i[h+1>>0]|0;i[I+2>>0]=i[h+2>>0]|0;i[I+3>>0]=i[h+3>>0]|0;i[I+4>>0]=i[h+4>>0]|0;i[I+5>>0]=i[h+5>>0]|0;h=j[I>>1]|0;l=j[x>>1]|0;m=j[y>>1]|0;t=(((h^318)&65535)+239^l&65535)+239^m&65535;s=(r|0)==0;b:do if(!s){f=r+-1|0;c=(f&r|0)==0;if(c)g=t&f;else g=(t>>>0)%(r>>>0)|0;e=k[(k[O>>2]|0)+(g<<2)>>2]|0;do if(e|0?(G=k[e>>2]|0,G|0):0){c:do if(c){c=G;while(1){if((k[c+4>>2]&f|0)!=(g|0)){g=22;break c}if(((j[c+8>>1]|0)==h<<16>>16?(j[c+10>>1]|0)==l<<16>>16:0)?(j[c+12>>1]|0)==m<<16>>16:0){g=21;break c}c=k[c>>2]|0;if(!c){g=22;break}}}else{c=G;while(1){if((((k[c+4>>2]|0)>>>0)%(r>>>0)|0|0)!=(g|0)){g=22;break c}if(((j[c+8>>1]|0)==h<<16>>16?(j[c+10>>1]|0)==l<<16>>16:0)?(j[c+12>>1]|0)==m<<16>>16:0){g=21;break c}c=k[c>>2]|0;if(!c){g=22;break}}}while(0);if((g|0)==21){g=0;k[(k[N>>2]|0)+(v<<2)>>2]=k[c+16>>2];break b}else if((g|0)==22)if(s){c=0;g=39;break b}else break}while(0);g=r+-1|0;f=(g&r|0)==0;if(f)c=g&t;else c=(t>>>0)%(r>>>0)|0;e=k[(k[O>>2]|0)+(c<<2)>>2]|0;if((e|0)!=0?(H=k[e>>2]|0,(H|0)!=0):0)if(f){e=H;while(1){if((k[e+4>>2]&g|0)!=(c|0)){g=39;break b}if(((j[e+8>>1]|0)==h<<16>>16?(j[e+10>>1]|0)==l<<16>>16:0)?(j[e+12>>1]|0)==m<<16>>16:0){g=52;break b}e=k[e>>2]|0;if(!e){g=39;break}}}else{e=H;while(1){if((((k[e+4>>2]|0)>>>0)%(r>>>0)|0|0)!=(c|0)){g=39;break b}if(((j[e+8>>1]|0)==h<<16>>16?(j[e+10>>1]|0)==l<<16>>16:0)?(j[e+12>>1]|0)==m<<16>>16:0){g=52;break b}e=k[e>>2]|0;if(!e){g=39;break}}}else g=39}else{c=0;g=39}while(0);if((g|0)==39){g=0;q=jo(20)|0;j[q+8>>1]=h;j[q+10>>1]=l;j[q+12>>1]=m;k[q+16>>2]=d;k[q+4>>2]=t;k[q>>2]=0;n=da(((k[C>>2]|0)+1|0)>>>0);Q=da(r>>>0);p=da(o[J>>2]);do if(s|n>da(Q*p)){c=(r>>>0<3|(r+-1&r|0)!=0)&1|r<<1;e=~~da(_(da(n/p)))>>>0;Ei(O,c>>>0>>0?e:c);c=k[B>>2]|0;e=c+-1|0;if(!(e&c)){f=c;c=e&t;break}else{f=c;c=(t>>>0)%(c>>>0)|0;break}}else f=r;while(0);e=(k[O>>2]|0)+(c<<2)|0;c=k[e>>2]|0;if(!c){k[q>>2]=k[D>>2];k[D>>2]=q;k[e>>2]=D;c=k[q>>2]|0;if(c|0){c=k[c+4>>2]|0;e=f+-1|0;if(!(e&f))c=c&e;else c=(c>>>0)%(f>>>0)|0;c=(k[O>>2]|0)+(c<<2)|0;g=50}}else{k[q>>2]=k[c>>2];g=50}if((g|0)==50)k[c>>2]=q;k[C>>2]=(k[C>>2]|0)+1;g=52}if((g|0)==52){s=E;t=k[s>>2]|0;s=io(t|0,k[s+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;Gh((k[k[F>>2]>>2]|0)+s|0,I|0,t|0)|0;k[(k[N>>2]|0)+(v<<2)>>2]=d;d=d+1|0}c=v+1|0;e=k[L>>2]|0;if((c|0)>=(e|0)){m=d;break a}v=c;r=k[B>>2]|0}}else m=0;while(0);if((m|0)!=(e|0)){l=a+84|0;if(!(i[l>>0]|0)){e=k[a+68>>2]|0;c=(k[a+72>>2]|0)-e|0;if((c|0)>0){f=k[N>>2]|0;d=c>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[l>>0]=0;c=a+68|0;d=a+72|0;h=k[d>>2]|0;g=k[c>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(K=g+(e<<2)|0,(h|0)!=(K|0)):0)k[d>>2]=h+(~((h+-4-K|0)>>>2)<<2)}else{Yh(c,e-f|0,1448);e=k[L>>2]|0}if((e|0)>0){f=k[N>>2]|0;if(i[l>>0]|0)Ka(19400,19419,89,19521);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[L>>2]=m}e=k[N>>2]|0;if(e|0){c=N+4|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e)}c=k[O+8>>2]|0;if(c|0)do{N=c;c=k[c>>2]|0;_r(N)}while((c|0)!=0);c=k[O>>2]|0;k[O>>2]=0;if(!c){u=P;return m|0}_r(c);u=P;return m|0}function Jb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=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+64|0;G=H+16|0;F=H;d=G;f=d+48|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(f|0));k[F>>2]=0;if(!e){d=0;f=0}else{Yh(G,e,F);d=k[G+12>>2]|0;f=k[G+16>>2]|0}k[F>>2]=0;h=G+16|0;g=f-d>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(i=d+(e<<2)|0,(f|0)!=(i|0)):0)k[h>>2]=f+(~((f+-4-i|0)>>>2)<<2)}else Yh(G+12|0,e-g|0,F);d=G+24|0;k[F>>2]=0;f=G+28|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(j=h+(e<<2)|0,(i|0)!=(j|0)):0)k[f>>2]=i+(~((i+-4-j|0)>>>2)<<2)}else Yh(d,e-g|0,F);d=G+36|0;k[F>>2]=0;f=G+40|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(l=h+(e<<2)|0,(i|0)!=(l|0)):0)k[f>>2]=i+(~((i+-4-l|0)>>>2)<<2)}else Yh(d,e-g|0,F);x=a+8|0;gj(x,k[G>>2]|0,b,c);y=k[a+32>>2]|0;D=k[a+36>>2]|0;E=jo(16)|0;k[E>>2]=0;k[E+4>>2]=0;k[E+8>>2]=0;k[E+12>>2]=0;xl(F,e);A=a+40|0;g=k[A>>2]|0;h=k[g+4>>2]|0;f=k[g>>2]|0;C=h-f|0;z=C>>2;a:do if((C|0)>4){w=y+12|0;B=(e|0)>0;C=e<<2;d=1;while(1){if(h-f>>2>>>0<=d>>>0){Iq(g);f=k[g>>2]|0}s=k[f+(d<<2)>>2]|0;t=(((s>>>0)%3|0|0)==0?2:-1)+s|0;v=(s|t|0)<0;r=(s|0)<0?s:t;q=1;f=0;g=s;b:while(1){do{if((g|0)<=-1){o=43;break b}o=k[G+(f*12|0)>>2]|0;p=k[w>>2]|0;i=k[p+(g<<2)>>2]|0;if((i|0)>=0){j=k[y>>2]|0;l=k[D>>2]|0;n=k[l+(k[j+(i<<2)>>2]<<2)>>2]|0;h=i+1|0;h=((h|0)%3|0|0)==0?i+-2|0:h;if((h|0)<0)h=-1073741824;else h=k[j+(h<<2)>>2]|0;m=k[l+(h<<2)>>2]|0;h=(((i>>>0)%3|0|0)==0?2:-1)+i|0;if((h|0)<0)h=-1073741824;else h=k[j+(h<<2)>>2]|0;h=k[l+(h<<2)>>2]|0;if((n|0)<(d|0)&(m|0)<(d|0)&(h|0)<(d|0)){l=$(n,e)|0;j=$(m,e)|0;i=$(h,e)|0;if(B){h=0;do{k[o+(h<<2)>>2]=(k[c+(h+i<<2)>>2]|0)+(k[c+(h+j<<2)>>2]|0)-(k[c+(h+l<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0))}f=f+1|0;if((f|0)==4){f=4;o=26;break b}}}do if(q){o=g+1|0;g=((o|0)%3|0|0)==0?g+-2|0:o;if((g|0)>=0){g=k[p+(g<<2)>>2]|0;h=g+1|0;if((g|0)>=0)g=((h|0)%3|0|0)==0?g+-2|0:h}}else{g=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((g|0)>=0){g=k[p+(g<<2)>>2]|0;if((g|0)>=0)if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}}while(0);if((g|0)==(s|0)){o=43;break b}}while(!(q&(g|0)<0));if(v){q=0;g=r;continue}g=k[p+(t<<2)>>2]|0;if((g|0)<0){q=0;continue}if(!((g>>>0)%3|0)){q=0;g=g+2|0;continue}else{q=0;g=g+-1|0;continue}}if((o|0)==43)if((f|0)>0)o=26;else{f=$(d,e)|0;o=55}if((o|0)==26){o=0;if(B){_j(k[F>>2]|0,0,C|0)|0;m=f+-1|0;l=E+(m<<2)|0;m=k[a+44+(m*12|0)>>2]|0;n=k[F>>2]|0;j=0;g=0;do{v=k[l>>2]|0;k[l>>2]=v+1;if(!(k[m+(v>>>5<<2)>>2]&1<<(v&31))){i=k[G+(j*12|0)>>2]|0;h=0;do{v=n+(h<<2)|0;k[v>>2]=(k[v>>2]|0)+(k[i+(h<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0));g=g+1|0}j=j+1|0}while((j|0)!=(f|0))}else{j=f+-1|0;i=E+(j<<2)|0;j=k[a+44+(j*12|0)>>2]|0;h=0;g=0;l=k[i>>2]|0;do{v=l;l=l+1|0;k[i>>2]=l;g=g+((k[j+(v>>>5<<2)>>2]&1<<(v&31)|0)==0&1)|0;h=h+1|0}while((h|0)!=(f|0))}f=$(d,e)|0;if(!g)o=55;else{i=k[F>>2]|0;if(B){h=0;do{v=i+(h<<2)|0;k[v>>2]=(k[v>>2]|0)/(g|0)|0;h=h+1|0}while((h|0)!=(e|0))}gj(x,i,b+(f<<2)|0,c+(f<<2)|0)}}if((o|0)==55)gj(x,c+(($(d+-1|0,e)|0)<<2)|0,b+(f<<2)|0,c+(f<<2)|0);d=d+1|0;if((d|0)>=(z|0)){d=F;break a}g=k[A>>2]|0;f=k[g>>2]|0;h=k[g+4>>2]|0}}else d=F;while(0);g=k[d>>2]|0;if(g|0){d=F+4|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-g|0)>>>2)<<2);_r(g)}_r(E);g=k[G+36>>2]|0;if(g|0){d=G+40|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-g|0)>>>2)<<2);_r(g)}d=k[G+24>>2]|0;if(d|0){f=G+28|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-d|0)>>>2)<<2);_r(d)}d=k[G+12>>2]|0;if(d|0){f=G+16|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-d|0)>>>2)<<2);_r(d)}g=k[G>>2]|0;if(!g){u=H;return 1}d=G+4|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-g|0)>>>2)<<2);_r(g);u=H;return 1}function Kb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=Pa,n=Pa,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,N=0,O=0,P=Pa;O=u;u=u+48|0;N=O+12|0;H=O+32|0;L=O;I=N+16|0;k[N>>2]=0;k[N+4>>2]=0;k[N+8>>2]=0;k[N+12>>2]=0;o[I>>2]=da(1.0);K=a+80|0;xl(L,k[K>>2]|0);e=k[K>>2]|0;a:do if((e|0)>0){y=b+48|0;z=b+40|0;w=H+1|0;x=H+2|0;A=N+4|0;B=N+12|0;C=N+8|0;D=a+40|0;E=a+64|0;v=k[c>>2]|0;d=0;t=0;q=0;while(1){l=v+t|0;h=y;j=k[h>>2]|0;h=k[h+4>>2]|0;s=z;l=io(k[s>>2]|0,k[s+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;h=Fp(l|0,M|0,j|0,h|0)|0;h=(k[k[b>>2]>>2]|0)+h|0;i[H>>0]=i[h>>0]|0;i[H+1>>0]=i[h+1>>0]|0;i[H+2>>0]=i[h+2>>0]|0;h=i[H>>0]|0;j=i[w>>0]|0;l=i[x>>0]|0;s=((h&255^318)+239^j&255)+239^l&255;r=(q|0)==0;b:do if(!r){f=q+-1|0;c=(f&q|0)==0;if(c)g=s&f;else g=(s>>>0)%(q>>>0)|0;e=k[(k[N>>2]|0)+(g<<2)>>2]|0;do if(e|0?(F=k[e>>2]|0,F|0):0){c:do if(c){c=F;while(1){if((k[c+4>>2]&f|0)!=(g|0)){g=22;break c}if(((i[c+8>>0]|0)==h<<24>>24?(i[c+9>>0]|0)==j<<24>>24:0)?(i[c+10>>0]|0)==l<<24>>24:0){g=21;break c}c=k[c>>2]|0;if(!c){g=22;break}}}else{c=F;while(1){if((((k[c+4>>2]|0)>>>0)%(q>>>0)|0|0)!=(g|0)){g=22;break c}if(((i[c+8>>0]|0)==h<<24>>24?(i[c+9>>0]|0)==j<<24>>24:0)?(i[c+10>>0]|0)==l<<24>>24:0){g=21;break c}c=k[c>>2]|0;if(!c){g=22;break}}}while(0);if((g|0)==21){g=0;k[(k[L>>2]|0)+(t<<2)>>2]=k[c+12>>2];break b}else if((g|0)==22)if(r){c=0;g=39;break b}else break}while(0);g=q+-1|0;f=(g&q|0)==0;if(f)c=g&s;else c=(s>>>0)%(q>>>0)|0;e=k[(k[N>>2]|0)+(c<<2)>>2]|0;if((e|0)!=0?(G=k[e>>2]|0,(G|0)!=0):0)if(f){e=G;while(1){if((k[e+4>>2]&g|0)!=(c|0)){g=39;break b}if(((i[e+8>>0]|0)==h<<24>>24?(i[e+9>>0]|0)==j<<24>>24:0)?(i[e+10>>0]|0)==l<<24>>24:0){g=52;break b}e=k[e>>2]|0;if(!e){g=39;break}}}else{e=G;while(1){if((((k[e+4>>2]|0)>>>0)%(q>>>0)|0|0)!=(c|0)){g=39;break b}if(((i[e+8>>0]|0)==h<<24>>24?(i[e+9>>0]|0)==j<<24>>24:0)?(i[e+10>>0]|0)==l<<24>>24:0){g=52;break b}e=k[e>>2]|0;if(!e){g=39;break}}}else g=39}else{c=0;g=39}while(0);if((g|0)==39){g=0;p=jo(16)|0;i[p+8>>0]=h;i[p+9>>0]=j;i[p+10>>0]=l;k[p+12>>2]=d;k[p+4>>2]=s;k[p>>2]=0;m=da(((k[B>>2]|0)+1|0)>>>0);P=da(q>>>0);n=da(o[I>>2]);do if(r|m>da(P*n)){c=(q>>>0<3|(q+-1&q|0)!=0)&1|q<<1;e=~~da(_(da(m/n)))>>>0;Li(N,c>>>0>>0?e:c);c=k[A>>2]|0;e=c+-1|0;if(!(e&c)){f=c;c=e&s;break}else{f=c;c=(s>>>0)%(c>>>0)|0;break}}else f=q;while(0);e=(k[N>>2]|0)+(c<<2)|0;c=k[e>>2]|0;if(!c){k[p>>2]=k[C>>2];k[C>>2]=p;k[e>>2]=C;c=k[p>>2]|0;if(c|0){c=k[c+4>>2]|0;e=f+-1|0;if(!(e&f))c=c&e;else c=(c>>>0)%(f>>>0)|0;c=(k[N>>2]|0)+(c<<2)|0;g=50}}else{k[p>>2]=k[c>>2];g=50}if((g|0)==50)k[c>>2]=p;k[B>>2]=(k[B>>2]|0)+1;g=52}if((g|0)==52){r=D;s=k[r>>2]|0;r=io(s|0,k[r+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;Gh((k[k[E>>2]>>2]|0)+r|0,H|0,s|0)|0;k[(k[L>>2]|0)+(t<<2)>>2]=d;d=d+1|0}c=t+1|0;e=k[K>>2]|0;if((c|0)>=(e|0)){l=d;break a}t=c;q=k[A>>2]|0}}else l=0;while(0);if((l|0)!=(e|0)){j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;c=(k[a+72>>2]|0)-e|0;if((c|0)>0){f=k[L>>2]|0;d=c>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[j>>0]=0;c=a+68|0;d=a+72|0;h=k[d>>2]|0;g=k[c>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(J=g+(e<<2)|0,(h|0)!=(J|0)):0)k[d>>2]=h+(~((h+-4-J|0)>>>2)<<2)}else{Yh(c,e-f|0,1448);e=k[K>>2]|0}if((e|0)>0){f=k[L>>2]|0;if(i[j>>0]|0)Ka(19400,19419,89,19521);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[K>>2]=l}e=k[L>>2]|0;if(e|0){c=L+4|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e)}c=k[N+8>>2]|0;if(c|0)do{L=c;c=k[c>>2]|0;_r(L)}while((c|0)!=0);c=k[N>>2]|0;k[N>>2]=0;if(!c){u=O;return l|0}_r(c);u=O;return l|0}function Lb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=Pa,n=Pa,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,N=0,O=0,P=Pa;O=u;u=u+48|0;N=O+24|0;H=O+12|0;L=O;I=N+16|0;k[N>>2]=0;k[N+4>>2]=0;k[N+8>>2]=0;k[N+12>>2]=0;o[I>>2]=da(1.0);K=a+80|0;xl(L,k[K>>2]|0);e=k[K>>2]|0;a:do if((e|0)>0){y=b+48|0;z=b+40|0;w=H+4|0;x=H+8|0;A=N+4|0;B=N+12|0;C=N+8|0;D=a+40|0;E=a+64|0;v=k[c>>2]|0;d=0;t=0;s=0;while(1){f=v+t|0;e=y;c=k[e>>2]|0;e=k[e+4>>2]|0;r=z;f=io(k[r>>2]|0,k[r+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;e=Fp(f|0,M|0,c|0,e|0)|0;c=H;e=(k[k[b>>2]>>2]|0)+e|0;f=c+12|0;do{i[c>>0]=i[e>>0]|0;c=c+1|0;e=e+1|0}while((c|0)<(f|0));h=k[H>>2]|0;j=k[w>>2]|0;l=k[x>>2]|0;r=((h^318)+239^j)+239^l;q=(s|0)==0;b:do if(!q){f=s+-1|0;c=(f&s|0)==0;if(c)g=r&f;else g=(r>>>0)%(s>>>0)|0;e=k[(k[N>>2]|0)+(g<<2)>>2]|0;do if(e|0?(F=k[e>>2]|0,F|0):0){c:do if(c){c=F;while(1){if((k[c+4>>2]&f|0)!=(g|0)){g=22;break c}if(((k[c+8>>2]|0)==(h|0)?(k[c+12>>2]|0)==(j|0):0)?(k[c+16>>2]|0)==(l|0):0){g=21;break c}c=k[c>>2]|0;if(!c){g=22;break}}}else{c=F;while(1){if((((k[c+4>>2]|0)>>>0)%(s>>>0)|0|0)!=(g|0)){g=22;break c}if(((k[c+8>>2]|0)==(h|0)?(k[c+12>>2]|0)==(j|0):0)?(k[c+16>>2]|0)==(l|0):0){g=21;break c}c=k[c>>2]|0;if(!c){g=22;break}}}while(0);if((g|0)==21){g=0;k[(k[L>>2]|0)+(t<<2)>>2]=k[c+20>>2];break b}else if((g|0)==22)if(q){c=0;g=39;break b}else break}while(0);g=s+-1|0;e=(g&s|0)==0;if(e)c=g&r;else c=(r>>>0)%(s>>>0)|0;f=k[(k[N>>2]|0)+(c<<2)>>2]|0;if((f|0)!=0?(G=k[f>>2]|0,(G|0)!=0):0)if(e){e=G;while(1){if((k[e+4>>2]&g|0)!=(c|0)){g=39;break b}if(((k[e+8>>2]|0)==(h|0)?(k[e+12>>2]|0)==(j|0):0)?(k[e+16>>2]|0)==(l|0):0){g=52;break b}e=k[e>>2]|0;if(!e){g=39;break}}}else{e=G;while(1){if((((k[e+4>>2]|0)>>>0)%(s>>>0)|0|0)!=(c|0)){g=39;break b}if(((k[e+8>>2]|0)==(h|0)?(k[e+12>>2]|0)==(j|0):0)?(k[e+16>>2]|0)==(l|0):0){g=52;break b}e=k[e>>2]|0;if(!e){g=39;break}}}else g=39}else{c=0;g=39}while(0);if((g|0)==39){g=0;p=jo(24)|0;k[p+8>>2]=h;k[p+12>>2]=j;k[p+16>>2]=l;k[p+20>>2]=d;k[p+4>>2]=r;k[p>>2]=0;m=da(((k[B>>2]|0)+1|0)>>>0);P=da(s>>>0);n=da(o[I>>2]);do if(q|m>da(P*n)){c=(s>>>0<3|(s+-1&s|0)!=0)&1|s<<1;e=~~da(_(da(m/n)))>>>0;Ii(N,c>>>0>>0?e:c);c=k[A>>2]|0;e=c+-1|0;if(!(e&c)){f=c;c=e&r;break}else{f=c;c=(r>>>0)%(c>>>0)|0;break}}else f=s;while(0);e=(k[N>>2]|0)+(c<<2)|0;c=k[e>>2]|0;if(!c){k[p>>2]=k[C>>2];k[C>>2]=p;k[e>>2]=C;c=k[p>>2]|0;if(c|0){c=k[c+4>>2]|0;e=f+-1|0;if(!(e&f))c=c&e;else c=(c>>>0)%(f>>>0)|0;c=(k[N>>2]|0)+(c<<2)|0;g=50}}else{k[p>>2]=k[c>>2];g=50}if((g|0)==50)k[c>>2]=p;k[B>>2]=(k[B>>2]|0)+1;g=52}if((g|0)==52){r=D;s=k[r>>2]|0;r=io(s|0,k[r+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;Gh((k[k[E>>2]>>2]|0)+r|0,H|0,s|0)|0;k[(k[L>>2]|0)+(t<<2)>>2]=d;d=d+1|0}c=t+1|0;e=k[K>>2]|0;if((c|0)>=(e|0)){l=d;break a}t=c;s=k[A>>2]|0}}else l=0;while(0);if((l|0)!=(e|0)){j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;c=(k[a+72>>2]|0)-e|0;if((c|0)>0){f=k[L>>2]|0;d=c>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[j>>0]=0;c=a+68|0;d=a+72|0;h=k[d>>2]|0;g=k[c>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(J=g+(e<<2)|0,(h|0)!=(J|0)):0)k[d>>2]=h+(~((h+-4-J|0)>>>2)<<2)}else{Yh(c,e-f|0,1448);e=k[K>>2]|0}if((e|0)>0){f=k[L>>2]|0;if(i[j>>0]|0)Ka(19400,19419,89,19521);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[K>>2]=l}e=k[L>>2]|0;if(e|0){c=L+4|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e)}c=k[N+8>>2]|0;if(c|0)do{L=c;c=k[c>>2]|0;_r(L)}while((c|0)!=0);c=k[N>>2]|0;k[N>>2]=0;if(!c){u=O;return l|0}_r(c);u=O;return l|0}function Mb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=u;u=u+48|0;L=M+24|0;I=M+12|0;z=M;if(!b){L=0;u=M;return L|0}J=a+12|0;G=a+4|0;l=k[G>>2]|0;j=k[a>>2]|0;c=l-j>>2;d=a+16|0;g=k[d>>2]|0;f=k[J>>2]|0;e=g-f>>2;h=j;if(c>>>0<=e>>>0){if(c>>>0>>0?(i=f+(c<<2)|0,(g|0)!=(i|0)):0)k[d>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{Yh(J,c-e|0,4756);j=k[a>>2]|0;h=j;l=k[G>>2]|0}k[L>>2]=0;H=L+4|0;k[H>>2]=0;k[L+8>>2]=0;e=l-j|0;c=e>>2;d=L+8|0;do if(c)if(c>>>0>1073741823){M=Ma(4)|0;Cr(M);wa(M|0,1344,125)}else{F=jo(e)|0;f=F;k[L>>2]=f;k[H>>2]=f;k[d>>2]=F+(c<<2);d=F;break}else{d=0;f=0}while(0);if((e|0)>0){t=d;v=l;w=j;x=0;n=f;o=d;p=d;m=d;q=f;i=f;r=j;c=l;e=d;d=f;while(1){s=k[h+(x<<2)>>2]|0;g=k[H>>2]|0;if((s|0)<(g-d>>2|0)){f=t;g=v;h=w;j=q;l=e;d=r}else{e=s+1|0;k[I>>2]=0;f=g-d>>2;c=g;if(e>>>0<=f>>>0)if(e>>>0>>0?(y=d+(e<<2)|0,(c|0)!=(y|0)):0){k[H>>2]=c+(~((c+-4-y|0)>>>2)<<2);d=t;e=v;c=w}else{d=t;e=v;c=w}else{Yh(L,e-f|0,I);d=k[L>>2]|0;e=k[G>>2]|0;c=k[a>>2]|0}i=d;f=d;g=e;h=c;n=i;o=d;p=d;m=d;j=i;l=d;d=c;c=e}F=l+(s<<2)|0;k[F>>2]=(k[F>>2]|0)+1;x=x+1|0;if((x|0)>=(c-d>>2|0)){h=j;F=n;break}else{t=f;v=g;w=h;q=j;r=d;e=l;h=d;d=l}}}else{i=f;h=f;m=d;F=f;o=d;p=d;d=j;c=l}c=c-d|0;f=c>>2;k[I>>2]=0;E=I+4|0;k[E>>2]=0;k[I+8>>2]=0;if(!f){e=0;d=0}else{if(f>>>0>536870911){Jq(I);M=Ma(4)|0;Cr(M);wa(M|0,1344,125)}g=jo(c<<1)|0;k[E>>2]=g;k[I>>2]=g;k[I+8>>2]=g+(f<<3);c=f;e=g;d=g;while(1){D=e;k[D>>2]=-1;k[D+4>>2]=-1;d=d+8|0;c=c+-1|0;if(!c)break;else e=d}k[E>>2]=g+(f<<3);e=g;d=g}D=k[H>>2]|0;c=D-i|0;f=c>>2;k[z>>2]=0;C=z+4|0;k[C>>2]=0;k[z+8>>2]=0;do if(f)if(f>>>0>1073741823){Jq(z);M=Ma(4)|0;Cr(M);wa(M|0,1344,125)}else{B=jo(c)|0;k[z>>2]=B;A=B+(f<<2)|0;k[z+8>>2]=A;_j(B|0,0,c|0)|0;k[C>>2]=A;z=B;break}else{z=0;A=0;B=0}while(0);if((D|0)!=(h|0)){g=D-m>>2;c=0;f=0;while(1){k[z+(f<<2)>>2]=c;h=f+1|0;if(h>>>0>>0){c=(k[m+(f<<2)>>2]|0)+c|0;f=h}else break}}y=k[a>>2]|0;c=(k[G>>2]|0)-y|0;if((c|0)>0){x=a+40|0;w=c>>2;r=e;f=e;s=e;g=e;t=e;v=0;j=z;while(1){l=(v|0)<0;c=v+1|0;if(!l){c=((c|0)%3|0|0)==0?v+-2|0:c;if((c|0)<0)h=-1073741824;else h=k[y+(c<<2)>>2]|0;c=(v>>>0)%3|0;i=((c|0)==0?2:-1)+v|0;if((i|0)<0)q=-1073741824;else q=k[y+(i<<2)>>2]|0}else{c=(v>>>0)%3|0;h=-1073741824;q=-1073741824}if((v|0)==((l?-1073741824:v-c|0)|0)){if(l)c=-1073741824;else c=k[y+(v<<2)>>2]|0;if((h|0)==(q|0)|((c|0)==(h|0)|(c|0)==(q|0))){k[x>>2]=(k[x>>2]|0)+1;l=r;m=s;i=t;c=v+2|0;h=p}else K=60}else K=60;a:do if((K|0)==60){K=0;n=k[p+(q<<2)>>2]|0;b:do if((n|0)>0){c=0;l=k[j+(q<<2)>>2]|0;while(1){i=k[g+(l<<3)>>2]|0;if((i|0)<0){c=r;break b}if((i|0)==(h|0))break;c=c+1|0;if((c|0)<(n|0))l=l+1|0;else{c=r;break b}}m=k[g+(l<<3)+4>>2]|0;i=l;while(1){c=c+1|0;if((c|0)>=(n|0))break;g=i+1|0;k[f+(i<<3)>>2]=k[f+(g<<3)>>2];k[f+(i<<3)+4>>2]=k[f+(g<<3)+4>>2];if((k[r+(i<<3)>>2]|0)<0)break;else{i=g;f=r}}k[s+(i<<3)>>2]=-1;if((m|0)<0){c=s;f=s;g=s}else{l=k[J>>2]|0;k[l+(v<<2)>>2]=m;k[l+(m<<2)>>2]=v;l=s;f=s;m=s;g=s;i=t;c=v;h=p;break a}}else c=r;while(0);i=k[o+(h<<2)>>2]|0;if((i|0)>0){g=0;c=k[z+(h<<2)>>2]|0;while(1){f=t+(c<<3)|0;if((k[f>>2]|0)<0)break;g=g+1|0;if((g|0)>=(i|0)){l=t;f=t;m=t;g=t;i=t;c=v;j=z;h=o;break a}else c=c+1|0}k[f>>2]=q;k[e+(c<<3)+4>>2]=v;l=e;f=e;m=e;g=e;i=e;c=v;j=z;h=o}else{l=c;m=s;i=t;c=v;h=o}}while(0);v=c+1|0;if((v|0)>=(w|0))break;else{r=l;s=m;t=i;p=h}}}k[b>>2]=D-F>>2;if(z){if((A|0)!=(z|0))k[C>>2]=A+(~((A+-4-z|0)>>>2)<<2);_r(B);d=k[I>>2]|0;e=d}if(e|0){c=k[E>>2]|0;if((c|0)!=(e|0))k[E>>2]=c+(~((c+-8-e|0)>>>3)<<3);_r(d)}c=k[L>>2]|0;if(c|0){d=k[H>>2]|0;if((d|0)!=(c|0))k[H>>2]=d+(~((d+-4-c|0)>>>2)<<2);_r(c)}L=1;u=M;return L|0}function Nb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=Pa,p=Pa,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,N=Pa;L=u;u=u+48|0;K=L+20|0;F=L;J=L+8|0;G=K+16|0;k[K>>2]=0;k[K+4>>2]=0;k[K+8>>2]=0;k[K+12>>2]=0;o[G>>2]=da(1.0);I=a+80|0;xl(J,k[I>>2]|0);e=k[I>>2]|0;a:do if((e|0)>0){w=b+48|0;x=b+40|0;y=K+4|0;z=K+12|0;A=K+8|0;B=a+40|0;C=a+64|0;v=k[c>>2]|0;c=0;t=0;q=0;while(1){r=v+c|0;j=w;h=k[j>>2]|0;j=k[j+4>>2]|0;s=x;s=io(r|0,((r|0)<0)<<31>>31|0,k[s>>2]|0,k[s+4>>2]|0)|0;j=Fp(s|0,M|0,h|0,j|0)|0;j=(k[k[b>>2]>>2]|0)+j|0;h=j;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;j=j+4|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;s=F;k[s>>2]=h;k[s+4>>2]=j;s=(h^318)+239^j;r=(q|0)==0;b:do if(!r){f=q+-1|0;d=(f&q|0)==0;if(d)g=s&f;else g=(s>>>0)%(q>>>0)|0;e=k[(k[K>>2]|0)+(g<<2)>>2]|0;do if(e|0?(D=k[e>>2]|0,D|0):0){c:do if(d){d=D;while(1){if((k[d+4>>2]&f|0)!=(g|0)){g=20;break c}if((k[d+8>>2]|0)==(h|0)?(k[d+12>>2]|0)==(j|0):0){g=19;break c}d=k[d>>2]|0;if(!d){g=20;break}}}else{d=D;while(1){if((((k[d+4>>2]|0)>>>0)%(q>>>0)|0|0)!=(g|0)){g=20;break c}if((k[d+8>>2]|0)==(h|0)?(k[d+12>>2]|0)==(j|0):0){g=19;break c}d=k[d>>2]|0;if(!d){g=20;break}}}while(0);if((g|0)==19){g=0;k[(k[J>>2]|0)+(c<<2)>>2]=k[d+16>>2];d=t;break b}else if((g|0)==20)if(r){d=0;g=35;break b}else break}while(0);g=q+-1|0;f=(g&q|0)==0;if(f)d=g&s;else d=(s>>>0)%(q>>>0)|0;e=k[(k[K>>2]|0)+(d<<2)>>2]|0;if((e|0)!=0?(E=k[e>>2]|0,(E|0)!=0):0)if(f){e=E;while(1){if((k[e+4>>2]&g|0)!=(d|0)){g=35;break b}if((k[e+8>>2]|0)==(h|0)?(k[e+12>>2]|0)==(j|0):0){g=48;break b}e=k[e>>2]|0;if(!e){g=35;break}}}else{e=E;while(1){if((((k[e+4>>2]|0)>>>0)%(q>>>0)|0|0)!=(d|0)){g=35;break b}if((k[e+8>>2]|0)==(h|0)?(k[e+12>>2]|0)==(j|0):0){g=48;break b}e=k[e>>2]|0;if(!e){g=35;break}}}else g=35}else{d=0;g=35}while(0);if((g|0)==35){g=0;m=jo(20)|0;f=m+8|0;k[f>>2]=h;k[f+4>>2]=j;k[m+16>>2]=t;k[m+4>>2]=s;k[m>>2]=0;n=da(((k[z>>2]|0)+1|0)>>>0);N=da(q>>>0);p=da(o[G>>2]);do if(r|n>da(N*p)){d=(q>>>0<3|(q+-1&q|0)!=0)&1|q<<1;e=~~da(_(da(n/p)))>>>0;Ji(K,d>>>0>>0?e:d);d=k[y>>2]|0;e=d+-1|0;if(!(e&d)){f=d;d=e&s;break}else{f=d;d=(s>>>0)%(d>>>0)|0;break}}else f=q;while(0);e=(k[K>>2]|0)+(d<<2)|0;d=k[e>>2]|0;if(!d){k[m>>2]=k[A>>2];k[A>>2]=m;k[e>>2]=A;d=k[m>>2]|0;if(d|0){d=k[d+4>>2]|0;e=f+-1|0;if(!(e&f))d=d&e;else d=(d>>>0)%(f>>>0)|0;d=(k[K>>2]|0)+(d<<2)|0;g=46}}else{k[m>>2]=k[d>>2];g=46}if((g|0)==46)k[d>>2]=m;k[z>>2]=(k[z>>2]|0)+1;g=48}if((g|0)==48){s=B;d=k[s>>2]|0;s=io(d|0,k[s+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;Gh((k[k[C>>2]>>2]|0)+s|0,F|0,d|0)|0;k[(k[J>>2]|0)+(c<<2)>>2]=t;d=t+1|0}c=c+1|0;e=k[I>>2]|0;if((c|0)>=(e|0)){m=d;break a}t=d;q=k[y>>2]|0}}else m=0;while(0);if((m|0)!=(e|0)){j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;c=(k[a+72>>2]|0)-e|0;if((c|0)>0){f=k[J>>2]|0;d=c>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[j>>0]=0;c=a+68|0;d=a+72|0;h=k[d>>2]|0;g=k[c>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(H=g+(e<<2)|0,(h|0)!=(H|0)):0)k[d>>2]=h+(~((h+-4-H|0)>>>2)<<2)}else{Yh(c,e-f|0,1448);e=k[I>>2]|0}if((e|0)>0){f=k[J>>2]|0;if(i[j>>0]|0)Ka(19400,19419,89,19521);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[I>>2]=m}e=k[J>>2]|0;if(e|0){c=J+4|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e)}c=k[K+8>>2]|0;if(c|0)do{J=c;c=k[c>>2]|0;_r(J)}while((c|0)!=0);c=k[K>>2]|0;k[K>>2]=0;if(!c){u=L;return m|0}_r(c);u=L;return m|0}function Ob(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,p=Pa,q=Pa,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,N=0,O=0,P=Pa;O=u;u=u+48|0;N=O+16|0;H=O+12|0;L=O;I=N+16|0;k[N>>2]=0;k[N+4>>2]=0;k[N+8>>2]=0;k[N+12>>2]=0;o[I>>2]=da(1.0);K=a+80|0;xl(L,k[K>>2]|0);e=k[K>>2]|0;a:do if((e|0)>0){y=b+48|0;z=b+40|0;A=N+4|0;B=N+12|0;C=N+8|0;D=a+40|0;E=a+64|0;x=k[c>>2]|0;c=0;w=0;s=0;while(1){m=x+c|0;n=y;h=k[n>>2]|0;n=k[n+4>>2]|0;v=z;v=io(m|0,((m|0)<0)<<31>>31|0,k[v>>2]|0,k[v+4>>2]|0)|0;n=Fp(v|0,M|0,h|0,n|0)|0;n=(k[k[b>>2]>>2]|0)+n|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;k[H>>2]=n;h=n&65535;v=n>>>16;m=v&65535;v=(n&65535^318)+239^v;t=(s|0)==0;b:do if(!t){f=s+-1|0;d=(f&s|0)==0;if(d)g=v&f;else g=(v>>>0)%(s>>>0)|0;e=k[(k[N>>2]|0)+(g<<2)>>2]|0;do if(e|0?(F=k[e>>2]|0,F|0):0){c:do if(d){d=F;while(1){if((k[d+4>>2]&f|0)!=(g|0)){r=20;break c}if((j[d+8>>1]|0)==h<<16>>16?(j[d+10>>1]|0)==m<<16>>16:0){r=19;break c}d=k[d>>2]|0;if(!d){r=20;break}}}else{d=F;while(1){if((((k[d+4>>2]|0)>>>0)%(s>>>0)|0|0)!=(g|0)){r=20;break c}if((j[d+8>>1]|0)==h<<16>>16?(j[d+10>>1]|0)==m<<16>>16:0){r=19;break c}d=k[d>>2]|0;if(!d){r=20;break}}}while(0);if((r|0)==19){r=0;k[(k[L>>2]|0)+(c<<2)>>2]=k[d+12>>2];d=w;break b}else if((r|0)==20)if(t){d=0;r=35;break b}else break}while(0);g=s+-1|0;e=(g&s|0)==0;if(e)d=g&v;else d=(v>>>0)%(s>>>0)|0;f=k[(k[N>>2]|0)+(d<<2)>>2]|0;if((f|0)!=0?(G=k[f>>2]|0,(G|0)!=0):0)if(e){e=G;while(1){if((k[e+4>>2]&g|0)!=(d|0)){r=35;break b}if((j[e+8>>1]|0)==h<<16>>16?(j[e+10>>1]|0)==m<<16>>16:0){r=48;break b}e=k[e>>2]|0;if(!e){r=35;break}}}else{e=G;while(1){if((((k[e+4>>2]|0)>>>0)%(s>>>0)|0|0)!=(d|0)){r=35;break b}if((j[e+8>>1]|0)==h<<16>>16?(j[e+10>>1]|0)==m<<16>>16:0){r=48;break b}e=k[e>>2]|0;if(!e){r=35;break}}}else r=35}else{d=0;r=35}while(0);if((r|0)==35){r=0;g=jo(16)|0;m=g+8|0;j[m>>1]=n;j[m+2>>1]=n>>>16;k[g+12>>2]=w;k[g+4>>2]=v;k[g>>2]=0;p=da(((k[B>>2]|0)+1|0)>>>0);P=da(s>>>0);q=da(o[I>>2]);do if(t|p>da(P*q)){d=(s>>>0<3|(s+-1&s|0)!=0)&1|s<<1;e=~~da(_(da(p/q)))>>>0;Fi(N,d>>>0>>0?e:d);d=k[A>>2]|0;e=d+-1|0;if(!(e&d)){f=d;d=e&v;break}else{f=d;d=(v>>>0)%(d>>>0)|0;break}}else f=s;while(0);e=(k[N>>2]|0)+(d<<2)|0;d=k[e>>2]|0;if(!d){k[g>>2]=k[C>>2];k[C>>2]=g;k[e>>2]=C;d=k[g>>2]|0;if(d|0){d=k[d+4>>2]|0;e=f+-1|0;if(!(e&f))d=d&e;else d=(d>>>0)%(f>>>0)|0;d=(k[N>>2]|0)+(d<<2)|0;r=46}}else{k[g>>2]=k[d>>2];r=46}if((r|0)==46)k[d>>2]=g;k[B>>2]=(k[B>>2]|0)+1;r=48}if((r|0)==48){v=D;d=k[v>>2]|0;v=io(d|0,k[v+4>>2]|0,w|0,((w|0)<0)<<31>>31|0)|0;Gh((k[k[E>>2]>>2]|0)+v|0,H|0,d|0)|0;k[(k[L>>2]|0)+(c<<2)>>2]=w;d=w+1|0}c=c+1|0;e=k[K>>2]|0;if((c|0)>=(e|0)){n=d;break a}w=d;s=k[A>>2]|0}}else n=0;while(0);if((n|0)!=(e|0)){m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;c=(k[a+72>>2]|0)-e|0;if((c|0)>0){f=k[L>>2]|0;d=c>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[m>>0]=0;c=a+68|0;d=a+72|0;h=k[d>>2]|0;g=k[c>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(J=g+(e<<2)|0,(h|0)!=(J|0)):0)k[d>>2]=h+(~((h+-4-J|0)>>>2)<<2)}else{Yh(c,e-f|0,1448);e=k[K>>2]|0}if((e|0)>0){f=k[L>>2]|0;if(i[m>>0]|0)Ka(19400,19419,89,19521);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[K>>2]=n}e=k[L>>2]|0;if(e|0){c=L+4|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e)}c=k[N+8>>2]|0;if(c|0)do{L=c;c=k[c>>2]|0;_r(L)}while((c|0)!=0);c=k[N>>2]|0;k[N>>2]=0;if(!c){u=O;return n|0}_r(c);u=O;return n|0}function Pb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,p=Pa,q=Pa,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,N=0,O=0,P=Pa;O=u;u=u+48|0;N=O+12|0;H=O+32|0;L=O;I=N+16|0;k[N>>2]=0;k[N+4>>2]=0;k[N+8>>2]=0;k[N+12>>2]=0;o[I>>2]=da(1.0);K=a+80|0;xl(L,k[K>>2]|0);e=k[K>>2]|0;a:do if((e|0)>0){y=b+48|0;z=b+40|0;A=N+4|0;B=N+12|0;C=N+8|0;D=a+40|0;E=a+64|0;x=k[c>>2]|0;c=0;w=0;s=0;while(1){m=x+c|0;n=y;h=k[n>>2]|0;n=k[n+4>>2]|0;v=z;v=io(m|0,((m|0)<0)<<31>>31|0,k[v>>2]|0,k[v+4>>2]|0)|0;n=Fp(v|0,M|0,h|0,n|0)|0;n=(k[k[b>>2]>>2]|0)+n|0;n=l[n>>0]|l[n+1>>0]<<8;j[H>>1]=n;h=n&255;v=(n&65535)>>>8;m=v&255;v=((n&255^318)+239<<16>>16^v)&65535;t=(s|0)==0;b:do if(!t){f=s+-1|0;d=(f&s|0)==0;if(d)g=v&f;else g=(v>>>0)%(s>>>0)|0;e=k[(k[N>>2]|0)+(g<<2)>>2]|0;do if(e|0?(F=k[e>>2]|0,F|0):0){c:do if(d){d=F;while(1){if((k[d+4>>2]&f|0)!=(g|0)){r=20;break c}if((i[d+8>>0]|0)==h<<24>>24?(i[d+9>>0]|0)==m<<24>>24:0){r=19;break c}d=k[d>>2]|0;if(!d){r=20;break}}}else{d=F;while(1){if((((k[d+4>>2]|0)>>>0)%(s>>>0)|0|0)!=(g|0)){r=20;break c}if((i[d+8>>0]|0)==h<<24>>24?(i[d+9>>0]|0)==m<<24>>24:0){r=19;break c}d=k[d>>2]|0;if(!d){r=20;break}}}while(0);if((r|0)==19){r=0;k[(k[L>>2]|0)+(c<<2)>>2]=k[d+12>>2];d=w;break b}else if((r|0)==20)if(t){d=0;r=35;break b}else break}while(0);g=s+-1|0;e=(g&s|0)==0;if(e)d=g&v;else d=(v>>>0)%(s>>>0)|0;f=k[(k[N>>2]|0)+(d<<2)>>2]|0;if((f|0)!=0?(G=k[f>>2]|0,(G|0)!=0):0)if(e){e=G;while(1){if((k[e+4>>2]&g|0)!=(d|0)){r=35;break b}if((i[e+8>>0]|0)==h<<24>>24?(i[e+9>>0]|0)==m<<24>>24:0){r=48;break b}e=k[e>>2]|0;if(!e){r=35;break}}}else{e=G;while(1){if((((k[e+4>>2]|0)>>>0)%(s>>>0)|0|0)!=(d|0)){r=35;break b}if((i[e+8>>0]|0)==h<<24>>24?(i[e+9>>0]|0)==m<<24>>24:0){r=48;break b}e=k[e>>2]|0;if(!e){r=35;break}}}else r=35}else{d=0;r=35}while(0);if((r|0)==35){r=0;g=jo(16)|0;m=g+8|0;i[m>>0]=n;i[m+1>>0]=n>>8;k[g+12>>2]=w;k[g+4>>2]=v;k[g>>2]=0;p=da(((k[B>>2]|0)+1|0)>>>0);P=da(s>>>0);q=da(o[I>>2]);do if(t|p>da(P*q)){d=(s>>>0<3|(s+-1&s|0)!=0)&1|s<<1;e=~~da(_(da(p/q)))>>>0;Mi(N,d>>>0>>0?e:d);d=k[A>>2]|0;e=d+-1|0;if(!(e&d)){f=d;d=e&v;break}else{f=d;d=(v>>>0)%(d>>>0)|0;break}}else f=s;while(0);e=(k[N>>2]|0)+(d<<2)|0;d=k[e>>2]|0;if(!d){k[g>>2]=k[C>>2];k[C>>2]=g;k[e>>2]=C;d=k[g>>2]|0;if(d|0){d=k[d+4>>2]|0;e=f+-1|0;if(!(e&f))d=d&e;else d=(d>>>0)%(f>>>0)|0;d=(k[N>>2]|0)+(d<<2)|0;r=46}}else{k[g>>2]=k[d>>2];r=46}if((r|0)==46)k[d>>2]=g;k[B>>2]=(k[B>>2]|0)+1;r=48}if((r|0)==48){v=D;d=k[v>>2]|0;v=io(d|0,k[v+4>>2]|0,w|0,((w|0)<0)<<31>>31|0)|0;Gh((k[k[E>>2]>>2]|0)+v|0,H|0,d|0)|0;k[(k[L>>2]|0)+(c<<2)>>2]=w;d=w+1|0}c=c+1|0;e=k[K>>2]|0;if((c|0)>=(e|0)){n=d;break a}w=d;s=k[A>>2]|0}}else n=0;while(0);if((n|0)!=(e|0)){m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;c=(k[a+72>>2]|0)-e|0;if((c|0)>0){f=k[L>>2]|0;d=c>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[m>>0]=0;c=a+68|0;d=a+72|0;h=k[d>>2]|0;g=k[c>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(J=g+(e<<2)|0,(h|0)!=(J|0)):0)k[d>>2]=h+(~((h+-4-J|0)>>>2)<<2)}else{Yh(c,e-f|0,1448);e=k[K>>2]|0}if((e|0)>0){f=k[L>>2]|0;if(i[m>>0]|0)Ka(19400,19419,89,19521);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[K>>2]=n}e=k[L>>2]|0;if(e|0){c=L+4|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e)}c=k[N+8>>2]|0;if(c|0)do{L=c;c=k[c>>2]|0;_r(L)}while((c|0)!=0);c=k[N>>2]|0;k[N>>2]=0;if(!c){u=O;return n|0}_r(c);u=O;return n|0}function Qb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+48|0;t=x;s=x+36|0;h=x+32|0;i=x+28|0;j=x+24|0;l=x+20|0;m=x+16|0;n=x+12|0;v=x+8|0;w=x+4|0;if((k[a+96>>2]|0)==(k[a+92>>2]|0)){u=x;return}c=a+56|0;d=k[c>>2]|0;if((d|0)==(k[a+60>>2]|0)){Dj(a+52|0,b);p=b}else{k[d>>2]=k[b>>2];k[c>>2]=d+4;p=b}q=a+88|0;k[q>>2]=0;d=k[a>>2]|0;c=k[p>>2]|0;b=c+1|0;if((c|0)>=0){b=((b|0)%3|0|0)==0?c+-2|0:b;if((b|0)<0)b=-1073741824;else b=k[(k[d>>2]|0)+(b<<2)>>2]|0;c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((c|0)<0){f=b;g=-1073741824}else{f=b;g=k[(k[d>>2]|0)+(c<<2)>>2]|0}}else{f=-1073741824;g=-1073741824}o=a+24|0;b=k[o>>2]|0;c=b+(f>>>5<<2)|0;d=1<<(f&31);e=k[c>>2]|0;if(!(e&d)){k[c>>2]=e|d;k[h>>2]=f;b=k[p>>2]|0;c=b+1|0;if((b|0)>=0)b=((c|0)%3|0|0)==0?b+-2|0:c;k[i>>2]=b;k[s>>2]=k[h>>2];k[t>>2]=k[i>>2];ph(a+36|0,s,t);b=k[o>>2]|0}b=b+(g>>>5<<2)|0;c=1<<(g&31);d=k[b>>2]|0;if(!(d&c)){k[b>>2]=d|c;c=a+36|0;k[j>>2]=g;b=k[p>>2]|0;do if((b|0)>=0)if(!((b>>>0)%3|0)){b=b+2|0;break}else{b=b+-1|0;break}while(0);k[l>>2]=b;k[s>>2]=k[j>>2];k[t>>2]=k[l>>2];ph(c,s,t)}b=k[p>>2]|0;if((b|0)<0)b=-1073741824;else b=k[(k[k[a>>2]>>2]|0)+(b<<2)>>2]|0;c=(k[o>>2]|0)+(b>>>5<<2)|0;d=1<<(b&31);e=k[c>>2]|0;if(!(d&e)){k[c>>2]=e|d;k[m>>2]=b;k[n>>2]=k[p>>2];k[s>>2]=k[m>>2];k[t>>2]=k[n>>2];ph(a+36|0,s,t)}b=k[q>>2]|0;a:do if((b|0)<3){j=a+12|0;l=a+36|0;m=a+92|0;while(1){d=b;while(1){c=a+52+(d*12|0)+4|0;b=k[c>>2]|0;if((k[a+52+(d*12|0)>>2]|0)!=(b|0))break;b=d+1|0;if((b|0)<3)d=b;else break a}n=b+-4|0;b=k[n>>2]|0;k[c>>2]=n;k[q>>2]=d;k[p>>2]=b;if((b|0)<=-1)break;n=(b>>>0)/3|0;c=k[j>>2]|0;do if(!(k[c+(n>>>5<<2)>>2]&1<<(n&31))){b:while(1){n=(b|0)/3|0;c=c+(n>>>5<<2)|0;k[c>>2]=1<<(n&31)|k[c>>2];c=k[p>>2]|0;if((c|0)<0)b=-1073741824;else b=k[(k[k[a>>2]>>2]|0)+(c<<2)>>2]|0;d=(k[o>>2]|0)+(b>>>5<<2)|0;e=1<<(b&31);f=k[d>>2]|0;if(!(e&f)){k[d>>2]=f|e;k[v>>2]=b;k[w>>2]=k[p>>2];k[s>>2]=k[v>>2];k[t>>2]=k[w>>2];ph(l,s,t);c=k[p>>2]|0}g=k[a>>2]|0;if((c|0)<0){r=69;break}b=c+1|0;b=((b|0)%3|0|0)==0?c+-2|0:b;if((b|0)<0)i=b;else i=k[(k[g+12>>2]|0)+(b<<2)>>2]|0;b=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((b|0)>=0)b=k[(k[g+12>>2]|0)+(b<<2)>>2]|0;h=(i|0)<0;c=h?-1:(i>>>0)/3|0;d=(b|0)<0;e=d?-1:(b>>>0)/3|0;if(h)f=1;else f=(k[(k[j>>2]|0)+(c>>>5<<2)>>2]&1<<(c&31)|0)!=0;do if(d)if(f){r=69;break b}else r=58;else{if(k[(k[j>>2]|0)+(e>>>5<<2)>>2]&1<<(e&31)|0)if(f){r=69;break b}else{r=58;break}c=k[(k[g>>2]|0)+(b<<2)>>2]|0;if(!(1<<(c&31)&k[(k[o>>2]|0)+(c>>>5<<2)>>2])){n=(k[m>>2]|0)+(c<<2)|0;e=k[n>>2]|0;k[n>>2]=e+1;e=(e|0)>0?1:2}else e=0;if(f?(e|0)<=(k[q>>2]|0):0)break;k[t>>2]=b;c=a+52+(e*12|0)+4|0;d=k[c>>2]|0;if((d|0)==(k[a+52+(e*12|0)+8>>2]|0))Dj(a+52+(e*12|0)|0,t);else{k[d>>2]=b;k[c>>2]=d+4}if((k[q>>2]|0)>(e|0))k[q>>2]=e;if(f){r=69;break b}else r=58}while(0);if((r|0)==58){r=0;if(h)b=-1073741824;else b=k[(k[k[a>>2]>>2]|0)+(i<<2)>>2]|0;if(!(1<<(b&31)&k[(k[o>>2]|0)+(b>>>5<<2)>>2])){n=(k[m>>2]|0)+(b<<2)|0;b=k[n>>2]|0;k[n>>2]=b+1;b=(b|0)>0?1:2}else b=0;if((b|0)>(k[q>>2]|0))break;else b=i}k[p>>2]=b;c=k[j>>2]|0}if((r|0)==69){r=0;b=k[q>>2]|0;break}k[t>>2]=i;c=a+52+(b*12|0)+4|0;d=k[c>>2]|0;if((d|0)==(k[a+52+(b*12|0)+8>>2]|0))Dj(a+52+(b*12|0)|0,t);else{k[d>>2]=i;k[c>>2]=d+4}c=k[q>>2]|0;if((c|0)>(b|0))k[q>>2]=b;else b=c}else b=d;while(0);if((b|0)>=3)break a}u=x;return}while(0);k[p>>2]=-1073741824;u=x;return}function Rb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=u;u=u+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;switch(k[b+28>>2]|0){case 9:{c=k[c>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];c=ac(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=Nb(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=Lb(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=bc(a,b,d)|0;break}default:c=0}break}case 1:{c=k[c>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];c=cc(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=Pb(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=Kb(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=Yb(a,b,d)|0;break}default:c=0}break}case 11:case 2:{c=k[c>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];c=cc(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=Pb(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=Kb(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=Yb(a,b,d)|0;break}default:c=0}break}case 4:{c=k[c>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];c=_b(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=Ob(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=Ib(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=Vb(a,b,d)|0;break}default:c=0}break}case 3:{c=k[c>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];c=_b(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=Ob(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=Ib(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=Vb(a,b,d)|0;break}default:c=0}break}case 6:{c=k[c>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];c=ac(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=Nb(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=Lb(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=bc(a,b,d)|0;break}default:c=0}break}case 5:{c=k[c>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];c=ac(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=Nb(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=Lb(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=bc(a,b,d)|0;break}default:c=0}break}default:{h=-1;u=j;return h|0}}h=(c|0)==0?-1:c;u=j;return h|0}function Sb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,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;D=u;u=u+80|0;z=D+48|0;r=D+24|0;s=D;f=a+32|0;e=k[b>>2]|0;b=e+1|0;if((e|0)>=0){b=((b|0)%3|0|0)==0?e+-2|0:b;e=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((b|0)<0)b=-1073741824;else b=k[(k[k[f>>2]>>2]|0)+(b<<2)>>2]|0;if((e|0)<0)j=-1073741824;else j=k[(k[k[f>>2]>>2]|0)+(e<<2)>>2]|0}else{b=-1073741824;j=-1073741824}e=a+36|0;h=k[e>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;if(g-f>>2>>>0>b>>>0){i=f;e=h}else{Iq(h);e=k[e>>2]|0;i=k[h>>2]|0;f=k[e>>2]|0;g=k[e+4>>2]|0}t=k[i+(b<<2)>>2]|0;if(g-f>>2>>>0>j>>>0)b=f;else{Iq(e);b=k[e>>2]|0}b=k[b+(j<<2)>>2]|0;j=(t|0)<(d|0);do if(j&(b|0)<(d|0)){p=t<<1;n=k[c+(p<<2)>>2]|0;o=((n|0)<0)<<31>>31;p=k[c+((p|1)<<2)>>2]|0;q=((p|0)<0)<<31>>31;m=b<<1;l=k[c+(m<<2)>>2]|0;m=k[c+((m|1)<<2)>>2]|0;if(!((l|0)!=(n|0)|(m|0)!=(p|0))){k[a+8>>2]=n;k[a+12>>2]=p;u=D;return}Mh(z,a,d);Mh(r,a,t);Mh(s,a,b);v=s;g=r;f=k[g>>2]|0;g=k[g+4>>2]|0;v=Wo(k[v>>2]|0,k[v+4>>2]|0,f|0,g|0)|0;w=M;x=s+8|0;i=r+8|0;h=k[i>>2]|0;i=k[i+4>>2]|0;x=Wo(k[x>>2]|0,k[x+4>>2]|0,h|0,i|0)|0;y=M;s=s+16|0;e=r+16|0;b=k[e>>2]|0;e=k[e+4>>2]|0;r=Wo(k[s>>2]|0,k[s+4>>2]|0,b|0,e|0)|0;s=M;B=io(v|0,w|0,v|0,w|0)|0;E=M;A=io(x|0,y|0,x|0,y|0)|0;E=Fp(A|0,M|0,B|0,E|0)|0;B=M;A=io(r|0,s|0,r|0,s|0)|0;A=Fp(E|0,B|0,A|0,M|0)|0;B=M;if((A|0)==0&(B|0)==0)break;I=z;I=Wo(k[I>>2]|0,k[I+4>>2]|0,f|0,g|0)|0;H=M;G=z+8|0;G=Wo(k[G>>2]|0,k[G+4>>2]|0,h|0,i|0)|0;F=M;f=z+16|0;f=Wo(k[f>>2]|0,k[f+4>>2]|0,b|0,e|0)|0;g=M;E=io(I|0,H|0,v|0,w|0)|0;j=M;i=io(G|0,F|0,x|0,y|0)|0;j=Fp(i|0,M|0,E|0,j|0)|0;E=M;i=io(f|0,g|0,r|0,s|0)|0;i=Fp(j|0,E|0,i|0,M|0)|0;E=M;l=Wo(l|0,((l|0)<0)<<31>>31|0,n|0,o|0)|0;j=M;t=Wo(m|0,((m|0)<0)<<31>>31|0,p|0,q|0)|0;d=M;n=io(A|0,B|0,n|0,o|0)|0;m=M;p=io(A|0,B|0,p|0,q|0)|0;o=M;c=io(i|0,E|0,l|0,j|0)|0;z=M;h=io(i|0,E|0,t|0,d|0)|0;b=M;m=Fp(c|0,z|0,n|0,m|0)|0;n=M;o=Fp(h|0,b|0,p|0,o|0)|0;p=M;b=io(i|0,E|0,v|0,w|0)|0;h=M;z=io(i|0,E|0,x|0,y|0)|0;c=M;E=io(i|0,E|0,r|0,s|0)|0;i=M;h=kl(b|0,h|0,A|0,B|0)|0;b=M;c=kl(z|0,c|0,A|0,B|0)|0;z=M;i=kl(E|0,i|0,A|0,B|0)|0;E=M;b=Wo(I|0,H|0,h|0,b|0)|0;h=M;z=Wo(G|0,F|0,c|0,z|0)|0;c=M;E=Wo(f|0,g|0,i|0,E|0)|0;i=M;h=io(b|0,h|0,b|0,h|0)|0;b=M;c=io(z|0,c|0,z|0,c|0)|0;b=Fp(c|0,M|0,h|0,b|0)|0;h=M;i=io(E|0,i|0,E|0,i|0)|0;i=Fp(b|0,h|0,i|0,M|0)|0;h=M;j=Wo(0,0,l|0,j|0)|0;l=M;h=io(i|0,h|0,A|0,B|0)|0;i=M;b=i&2147483647;switch(h|0){case 0:{if(!b){e=0;b=0}else{e=1;b=0;f=h;g=i;C=19}break}case 1:{if(!b){e=1;b=0;C=20}else{e=1;b=0;f=h;g=i;C=19}break}default:{e=1;b=0;f=h;g=i;C=19}}if((C|0)==19)while(1){e=No(e|0,b|0,1)|0;b=M;I=f;f=So(f|0,g|0,2)|0;if(!(g>>>0>0|(g|0)==0&I>>>0>7)){C=20;break}else{g=M;C=19}}if((C|0)==20)while(1){I=Bq(h|0,i|0,e|0,b|0)|0;e=Fp(I|0,M|0,e|0,b|0)|0;e=So(e|0,M|0,1)|0;b=M;I=io(e|0,b|0,e|0,b|0)|0;H=M;if(H>>>0>i>>>0|(H|0)==(i|0)&I>>>0>h>>>0)C=20;else break}E=io(e|0,b|0,t|0,d|0)|0;F=M;C=io(e|0,b|0,j|0,l|0)|0;G=M;H=a+20|0;c=(k[H>>2]|0)+-1|0;I=(1<<(c&31)&k[(k[a+16>>2]|0)+(c>>>5<<2)>>2]|0)!=0;k[H>>2]=c;H=Wo(0,0,E|0,F|0)|0;F=Fp(m|0,n|0,(I?E:H)|0,(I?F:M)|0)|0;H=M;E=Wo(0,0,C|0,G|0)|0;G=Fp(o|0,p|0,(I?C:E)|0,(I?G:M)|0)|0;I=M;H=kl(F|0,H|0,A|0,B|0)|0;I=kl(G|0,I|0,A|0,B|0)|0;k[a+8>>2]=H;k[a+12>>2]=I;u=D;return}while(0);do if(j)b=t<<1;else{if((d|0)>0){b=(d<<1)+-2|0;break}I=a+8|0;k[I>>2]=0;k[I+4>>2]=0;u=D;return}while(0);k[a+8>>2]=k[c+(b<<2)>>2];k[a+12>>2]=k[c+(b+1<<2)>>2];u=D;return}function Tb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=Pa,h=Pa,j=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=Pa;A=u;u=u+48|0;d=A+24|0;z=A;e=Ld(a,b)|0;if(e|0){k[z>>2]=e;k[d>>2]=k[z>>2];Pg(a,d)|0}gm(z,b);e=z+12|0;k[e>>2]=0;y=z+16|0;k[y>>2]=0;k[z+20>>2]=0;f=c+4|0;b=(k[f>>2]|0)-(k[c>>2]|0)|0;if(b){if((b|0)<0)Jq(e);j=jo(b)|0;k[y>>2]=j;k[e>>2]=j;k[z+20>>2]=j+b;e=k[c>>2]|0;b=(k[f>>2]|0)-e|0;if((b|0)>0){Gh(j|0,e|0,b|0)|0;k[y>>2]=j+b}}else j=0;v=i[z+11>>0]|0;w=v<<24>>24<0;t=w?k[z>>2]|0:z;v=w?k[z+4>>2]|0:v&255;if(v>>>0>3){e=t;b=v;f=v;while(1){w=$(l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24,1540483477)|0;b=($(w>>>24^w,1540483477)|0)^($(b,1540483477)|0);f=f+-4|0;if(f>>>0<=3)break;else e=e+4|0}e=v+-4|0;f=e&-4;e=e-f|0;f=t+(f+4)|0}else{e=v;f=t;b=v}switch(e|0){case 3:{b=l[f+2>>0]<<16^b;x=13;break}case 2:{x=13;break}case 1:{x=14;break}default:{}}if((x|0)==13){b=l[f+1>>0]<<8^b;x=14}if((x|0)==14)b=$(l[f>>0]^b,1540483477)|0;w=$(b>>>13^b,1540483477)|0;w=w>>>15^w;q=a+4|0;r=k[q>>2]|0;s=(r|0)==0;a:do if(!s){p=r+-1|0;f=(p&r|0)==0;if(f)b=w&p;else b=(w>>>0)%(r>>>0)|0;e=k[(k[a>>2]|0)+(b<<2)>>2]|0;if((e|0)!=0?(n=k[e>>2]|0,(n|0)!=0):0){e=(v|0)==0;if(f){if(e){e=n;while(1){if((k[e+4>>2]&p|0)!=(b|0)){x=48;break a}v=i[e+8+11>>0]|0;if(!((v<<24>>24<0?k[e+12>>2]|0:v&255)|0)){d=j;break a}e=k[e>>2]|0;if(!e){x=48;break a}}}while(1){if((k[n+4>>2]&p|0)!=(b|0)){x=48;break a}e=n+8|0;f=i[e+11>>0]|0;c=f<<24>>24<0;f=f&255;do if(((c?k[n+12>>2]|0:f)|0)==(v|0)){m=k[e>>2]|0;if(c)if(!(lm(m,t,v)|0)){d=j;break a}else break;if((m&255)<<24>>24==(i[t>>0]|0)){c=t;do{f=f+-1|0;e=e+1|0;if(!f){d=j;break a}c=c+1|0}while((i[e>>0]|0)==(i[c>>0]|0))}}while(0);n=k[n>>2]|0;if(!n){x=48;break}}}else{if(e){e=n;while(1){if((((k[e+4>>2]|0)>>>0)%(r>>>0)|0|0)!=(b|0)){x=48;break a}v=i[e+8+11>>0]|0;if(!((v<<24>>24<0?k[e+12>>2]|0:v&255)|0)){d=j;break a}e=k[e>>2]|0;if(!e){x=48;break a}}}while(1){if((((k[n+4>>2]|0)>>>0)%(r>>>0)|0|0)!=(b|0)){x=48;break a}e=n+8|0;f=i[e+11>>0]|0;c=f<<24>>24<0;f=f&255;do if(((c?k[n+12>>2]|0:f)|0)==(v|0)){m=k[e>>2]|0;if(c)if(!(lm(m,t,v)|0)){d=j;break a}else break;if((m&255)<<24>>24==(i[t>>0]|0)){c=t;do{f=f+-1|0;e=e+1|0;if(!f){d=j;break a}c=c+1|0}while((i[e>>0]|0)==(i[c>>0]|0))}}while(0);n=k[n>>2]|0;if(!n){x=48;break}}}}else x=48}else{b=0;x=48}while(0);if((x|0)==48){Qi(d,a,w,z);c=a+12|0;g=da(((k[c>>2]|0)+1|0)>>>0);B=da(r>>>0);h=da(o[a+16>>2]);do if(s|g>da(B*h)){b=(r>>>0<3|(r+-1&r|0)!=0)&1|r<<1;e=~~da(_(da(g/h)))>>>0;Ti(a,b>>>0>>0?e:b);b=k[q>>2]|0;e=b+-1|0;if(!(e&b)){j=b;b=e&w;break}else{j=b;b=(w>>>0)%(b>>>0)|0;break}}else j=r;while(0);e=k[(k[a>>2]|0)+(b<<2)>>2]|0;if(!e){f=a+8|0;k[k[d>>2]>>2]=k[f>>2];k[f>>2]=k[d>>2];k[(k[a>>2]|0)+(b<<2)>>2]=f;f=k[d>>2]|0;b=k[f>>2]|0;if(b){b=k[b+4>>2]|0;e=j+-1|0;if(!(e&j))b=b&e;else b=(b>>>0)%(j>>>0)|0;k[(k[a>>2]|0)+(b<<2)>>2]=f}}else{k[k[d>>2]>>2]=k[e>>2];k[e>>2]=k[d>>2]}k[c>>2]=(k[c>>2]|0)+1;k[d>>2]=0;d=k[z+12>>2]|0}if(!d){Jp(z);u=A;return}if((k[y>>2]|0)!=(d|0))k[y>>2]=d;_r(d);Jp(z);u=A;return}function Ub(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,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;D=u;u=u+80|0;z=D+48|0;r=D+24|0;s=D;g=a+32|0;e=k[b>>2]|0;b=e+1|0;do if((e|0)>=0){b=((b|0)%3|0|0)==0?e+-2|0:b;if(!((e>>>0)%3|0)){f=e+2|0;break}else{f=e+-1|0;break}}else{f=e;b=e}while(0);j=k[(k[g>>2]|0)+28>>2]|0;i=k[j+(b<<2)>>2]|0;j=k[j+(f<<2)>>2]|0;b=a+36|0;g=k[b>>2]|0;f=k[g+4>>2]|0;e=k[g>>2]|0;if(f-e>>2>>>0>i>>>0){h=e;b=e;e=g}else{Iq(g);e=k[b>>2]|0;h=k[g>>2]|0;b=k[e>>2]|0;f=k[e+4>>2]|0}t=k[h+(i<<2)>>2]|0;if(f-b>>2>>>0<=j>>>0){Iq(e);b=k[e>>2]|0}b=k[b+(j<<2)>>2]|0;j=(t|0)<(d|0);do if(j&(b|0)<(d|0)){p=t<<1;n=k[c+(p<<2)>>2]|0;o=((n|0)<0)<<31>>31;p=k[c+((p|1)<<2)>>2]|0;q=((p|0)<0)<<31>>31;m=b<<1;l=k[c+(m<<2)>>2]|0;m=k[c+((m|1)<<2)>>2]|0;if(!((l|0)!=(n|0)|(m|0)!=(p|0))){k[a+8>>2]=n;k[a+12>>2]=p;u=D;return}Mh(z,a,d);Mh(r,a,t);Mh(s,a,b);v=s;g=r;f=k[g>>2]|0;g=k[g+4>>2]|0;v=Wo(k[v>>2]|0,k[v+4>>2]|0,f|0,g|0)|0;w=M;x=s+8|0;i=r+8|0;h=k[i>>2]|0;i=k[i+4>>2]|0;x=Wo(k[x>>2]|0,k[x+4>>2]|0,h|0,i|0)|0;y=M;s=s+16|0;e=r+16|0;b=k[e>>2]|0;e=k[e+4>>2]|0;r=Wo(k[s>>2]|0,k[s+4>>2]|0,b|0,e|0)|0;s=M;B=io(v|0,w|0,v|0,w|0)|0;E=M;A=io(x|0,y|0,x|0,y|0)|0;E=Fp(A|0,M|0,B|0,E|0)|0;B=M;A=io(r|0,s|0,r|0,s|0)|0;A=Fp(E|0,B|0,A|0,M|0)|0;B=M;if((A|0)==0&(B|0)==0)break;I=z;I=Wo(k[I>>2]|0,k[I+4>>2]|0,f|0,g|0)|0;H=M;G=z+8|0;G=Wo(k[G>>2]|0,k[G+4>>2]|0,h|0,i|0)|0;F=M;f=z+16|0;f=Wo(k[f>>2]|0,k[f+4>>2]|0,b|0,e|0)|0;g=M;E=io(I|0,H|0,v|0,w|0)|0;j=M;i=io(G|0,F|0,x|0,y|0)|0;j=Fp(i|0,M|0,E|0,j|0)|0;E=M;i=io(f|0,g|0,r|0,s|0)|0;i=Fp(j|0,E|0,i|0,M|0)|0;E=M;l=Wo(l|0,((l|0)<0)<<31>>31|0,n|0,o|0)|0;j=M;t=Wo(m|0,((m|0)<0)<<31>>31|0,p|0,q|0)|0;d=M;n=io(A|0,B|0,n|0,o|0)|0;m=M;p=io(A|0,B|0,p|0,q|0)|0;o=M;c=io(i|0,E|0,l|0,j|0)|0;z=M;h=io(i|0,E|0,t|0,d|0)|0;b=M;m=Fp(c|0,z|0,n|0,m|0)|0;n=M;o=Fp(h|0,b|0,p|0,o|0)|0;p=M;b=io(i|0,E|0,v|0,w|0)|0;h=M;z=io(i|0,E|0,x|0,y|0)|0;c=M;E=io(i|0,E|0,r|0,s|0)|0;i=M;h=kl(b|0,h|0,A|0,B|0)|0;b=M;c=kl(z|0,c|0,A|0,B|0)|0;z=M;i=kl(E|0,i|0,A|0,B|0)|0;E=M;b=Wo(I|0,H|0,h|0,b|0)|0;h=M;z=Wo(G|0,F|0,c|0,z|0)|0;c=M;E=Wo(f|0,g|0,i|0,E|0)|0;i=M;h=io(b|0,h|0,b|0,h|0)|0;b=M;c=io(z|0,c|0,z|0,c|0)|0;b=Fp(c|0,M|0,h|0,b|0)|0;h=M;i=io(E|0,i|0,E|0,i|0)|0;i=Fp(b|0,h|0,i|0,M|0)|0;h=M;j=Wo(0,0,l|0,j|0)|0;l=M;h=io(i|0,h|0,A|0,B|0)|0;i=M;b=i&2147483647;switch(h|0){case 0:{if(!b){e=0;b=0}else{e=1;b=0;f=h;g=i;C=18}break}case 1:{if(!b){e=1;b=0;C=19}else{e=1;b=0;f=h;g=i;C=18}break}default:{e=1;b=0;f=h;g=i;C=18}}if((C|0)==18)while(1){e=No(e|0,b|0,1)|0;b=M;I=f;f=So(f|0,g|0,2)|0;if(!(g>>>0>0|(g|0)==0&I>>>0>7)){C=19;break}else{g=M;C=18}}if((C|0)==19)while(1){I=Bq(h|0,i|0,e|0,b|0)|0;e=Fp(I|0,M|0,e|0,b|0)|0;e=So(e|0,M|0,1)|0;b=M;I=io(e|0,b|0,e|0,b|0)|0;H=M;if(H>>>0>i>>>0|(H|0)==(i|0)&I>>>0>h>>>0)C=19;else break}E=io(e|0,b|0,t|0,d|0)|0;F=M;C=io(e|0,b|0,j|0,l|0)|0;G=M;H=a+20|0;c=(k[H>>2]|0)+-1|0;I=(1<<(c&31)&k[(k[a+16>>2]|0)+(c>>>5<<2)>>2]|0)!=0;k[H>>2]=c;H=Wo(0,0,E|0,F|0)|0;F=Fp(m|0,n|0,(I?E:H)|0,(I?F:M)|0)|0;H=M;E=Wo(0,0,C|0,G|0)|0;G=Fp(o|0,p|0,(I?C:E)|0,(I?G:M)|0)|0;I=M;H=kl(F|0,H|0,A|0,B|0)|0;I=kl(G|0,I|0,A|0,B|0)|0;k[a+8>>2]=H;k[a+12>>2]=I;u=D;return}while(0);do if(j)b=t<<1;else{if((d|0)>0){b=(d<<1)+-2|0;break}I=a+8|0;k[I>>2]=0;k[I+4>>2]=0;u=D;return}while(0);k[a+8>>2]=k[c+(b<<2)>>2];k[a+12>>2]=k[c+(b+1<<2)>>2];u=D;return}function Vb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,p=Pa,q=Pa,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,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=Pa;T=u;u=u+48|0;S=T+28|0;L=T+8|0;N=T;R=T+16|0;O=S+16|0;k[S>>2]=0;k[S+4>>2]=0;k[S+8>>2]=0;k[S+12>>2]=0;o[O>>2]=da(1.0);Q=a+80|0;xl(R,k[Q>>2]|0);e=k[Q>>2]|0;if((e|0)>0){C=k[c>>2]|0;D=b+48|0;E=b+40|0;F=S+4|0;G=S+12|0;H=S+8|0;I=a+40|0;J=a+64|0;B=0;z=0;while(1){w=C+B|0;y=D;x=k[y>>2]|0;y=k[y+4>>2]|0;c=E;c=io(w|0,((w|0)<0)<<31>>31|0,k[c>>2]|0,k[c+4>>2]|0)|0;y=Fp(c|0,M|0,x|0,y|0)|0;y=(k[k[b>>2]>>2]|0)+y|0;x=y;x=l[x>>0]|l[x+1>>0]<<8|l[x+2>>0]<<16|l[x+3>>0]<<24;y=y+4|0;y=l[y>>0]|l[y+1>>0]<<8|l[y+2>>0]<<16|l[y+3>>0]<<24;c=L;k[c>>2]=x;k[c+4>>2]=y;c=N;k[c>>2]=x;k[c+4>>2]=y;c=Zg(S,N)|0;if(!c){t=N;s=k[t>>2]|0;t=k[t+4>>2]|0;h=s&65535;y=So(s|0,t|0,16)|0;m=y&65535;n=t&65535;v=So(s|0,t|0,48)|0;w=M;r=v&65535;y=((((h^318)&65535)+239^y&65535)+239^t&65535)+239^v;e=k[F>>2]|0;x=(e|0)==0;a:do if(!x){g=e+-1|0;d=(g&e|0)==0;if(d)c=y&g;else c=(y>>>0)%(e>>>0)|0;f=k[(k[S>>2]|0)+(c<<2)>>2]|0;if((f|0)!=0?(K=k[f>>2]|0,(K|0)!=0):0)if(d){d=K;while(1){if((k[d+4>>2]&g|0)!=(c|0)){A=25;break a}if((((j[d+8>>1]|0)==h<<16>>16?(j[d+10>>1]|0)==m<<16>>16:0)?(j[d+12>>1]|0)==n<<16>>16:0)?(j[d+14>>1]|0)==r<<16>>16:0)break a;d=k[d>>2]|0;if(!d){A=25;break}}}else{d=K;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(c|0)){A=25;break a}if((((j[d+8>>1]|0)==h<<16>>16?(j[d+10>>1]|0)==m<<16>>16:0)?(j[d+12>>1]|0)==n<<16>>16:0)?(j[d+14>>1]|0)==r<<16>>16:0)break a;d=k[d>>2]|0;if(!d){A=25;break}}}else A=25}else{c=0;A=25}while(0);if((A|0)==25){A=0;f=jo(20)|0;v=No(v|0,w|0,48)|0;s=s|v;v=t&65535|M;w=f+8|0;t=w;j[t>>1]=s;j[t+2>>1]=s>>>16;w=w+4|0;j[w>>1]=v;j[w+2>>1]=v>>>16;k[f+16>>2]=z;k[f+4>>2]=y;k[f>>2]=0;p=da(((k[G>>2]|0)+1|0)>>>0);U=da(e>>>0);q=da(o[O>>2]);do if(x|p>da(U*q)){c=(e>>>0<3|(e+-1&e|0)!=0)&1|e<<1;d=~~da(_(da(p/q)))>>>0;Di(S,c>>>0>>0?d:c);c=k[F>>2]|0;d=c+-1|0;if(!(d&c)){e=c;c=d&y;break}else{e=c;c=(y>>>0)%(c>>>0)|0;break}}while(0);d=(k[S>>2]|0)+(c<<2)|0;c=k[d>>2]|0;if(!c){k[f>>2]=k[H>>2];k[H>>2]=f;k[d>>2]=H;c=k[f>>2]|0;if(c|0){c=k[c+4>>2]|0;d=e+-1|0;if(!(d&e))c=c&d;else c=(c>>>0)%(e>>>0)|0;c=(k[S>>2]|0)+(c<<2)|0;A=36}}else{k[f>>2]=k[c>>2];A=36}if((A|0)==36){A=0;k[c>>2]=f}k[G>>2]=(k[G>>2]|0)+1}y=I;c=k[y>>2]|0;y=io(c|0,k[y+4>>2]|0,z|0,((z|0)<0)<<31>>31|0)|0;Gh((k[k[J>>2]>>2]|0)+y|0,L|0,c|0)|0;k[(k[R>>2]|0)+(B<<2)>>2]=z;c=z+1|0}else{k[(k[R>>2]|0)+(B<<2)>>2]=k[c+16>>2];c=z}B=B+1|0;e=k[Q>>2]|0;if((B|0)>=(e|0)){n=c;break}else z=c}}else n=0;if((n|0)!=(e|0)){m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;c=(k[a+72>>2]|0)-e|0;if((c|0)>0){f=k[R>>2]|0;d=c>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[m>>0]=0;c=a+68|0;d=a+72|0;h=k[d>>2]|0;g=k[c>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(P=g+(e<<2)|0,(h|0)!=(P|0)):0)k[d>>2]=h+(~((h+-4-P|0)>>>2)<<2)}else{Yh(c,e-f|0,1448);e=k[Q>>2]|0}if((e|0)>0){f=k[R>>2]|0;if(i[m>>0]|0)Ka(19400,19419,89,19521);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[Q>>2]=n}e=k[R>>2]|0;if(e|0){c=R+4|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e)}c=k[S+8>>2]|0;if(c|0)do{R=c;c=k[c>>2]|0;_r(R)}while((c|0)!=0);c=k[S>>2]|0;k[S>>2]=0;if(!c){u=T;return n|0}_r(c);u=T;return n|0}function Wb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=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;C=u;u=u+32|0;w=C+20|0;A=C+8|0;B=C+4|0;z=C;x=a+4|0;do if((l[(k[x>>2]|0)+36>>0]<<8&65535)<512){t=b+8|0;v=k[t>>2]|0;t=k[t+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=Fp(d|0,k[e+4>>2]|0,4,0)|0;f=M;if((t|0)<(f|0)|(t|0)==(f|0)&v>>>0>>0){B=-1;u=C;return B|0}else{v=(k[b>>2]|0)+d|0;v=l[v>>0]|l[v+1>>0]<<8|l[v+2>>0]<<16|l[v+3>>0]<<24;k[w>>2]=v;k[c>>2]=e;k[c+4>>2]=f;c=v;break}}else if(sk(w,b)|0){c=k[w>>2]|0;break}else{B=-1;u=C;return B|0}while(0);a:do if(c|0){v=k[x>>2]|0;if(((l[v+36>>0]<<8|l[v+37>>0])&65535)<=257){o=b+8|0;p=b+16|0;q=A+4|0;r=A+8|0;s=a+40|0;t=a+44|0;v=a+36|0;n=0;while(1){g=o;f=k[g>>2]|0;g=k[g+4>>2]|0;j=p;h=k[j>>2]|0;j=k[j+4>>2]|0;d=Fp(h|0,j|0,4,0)|0;e=M;if((g|0)<(e|0)|(g|0)==(e|0)&f>>>0>>0)break;m=k[b>>2]|0;D=m+h|0;k[A>>2]=l[D>>0]|l[D+1>>0]<<8|l[D+2>>0]<<16|l[D+3>>0]<<24;D=p;k[D>>2]=d;k[D+4>>2]=e;e=Fp(h|0,j|0,8,0)|0;D=M;if((g|0)<(D|0)|(g|0)==(D|0)&f>>>0>>0)break;d=m+d|0;k[q>>2]=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;d=Fp(h|0,j|0,8,0)|0;D=M;e=p;k[e>>2]=d;k[e+4>>2]=D;if(!((g|0)>(D|0)|(g|0)==(D|0)&f>>>0>d>>>0))break;d=i[m+d>>0]|0;m=Fp(h|0,j|0,9,0)|0;D=p;k[D>>2]=m;k[D+4>>2]=M;i[r>>0]=d&3|i[r>>0]&-4;d=k[s>>2]|0;if((d|0)==(k[t>>2]|0)){jj(v,A);c=k[w>>2]|0}else{k[d>>2]=k[A>>2];k[d+4>>2]=k[A+4>>2];k[d+8>>2]=k[A+8>>2];k[s>>2]=(k[s>>2]|0)+12}n=n+1|0;if(n>>>0>=c>>>0)break a}D=-1;u=C;return D|0}e=A+4|0;f=a+40|0;g=a+44|0;h=a+36|0;c=0;d=0;do{sk(B,b)|0;k[e>>2]=(k[B>>2]|0)+d;sk(B,b)|0;d=k[e>>2]|0;k[A>>2]=d-(k[B>>2]|0);j=k[f>>2]|0;if((j|0)==(k[g>>2]|0))jj(h,A);else{k[j>>2]=k[A>>2];k[j+4>>2]=k[A+4>>2];k[j+8>>2]=k[A+8>>2];k[f>>2]=(k[f>>2]|0)+12}c=c+1|0}while(c>>>0<(k[w>>2]|0)>>>0);Sh(b,0,0)|0;j=k[w>>2]|0;if(j|0){m=b+36|0;n=a+36|0;o=b+32|0;p=b+24|0;q=b+28|0;h=0;c=0;do{if(i[m>>0]|0){d=k[o>>2]|0;e=k[p>>2]|0;g=k[q>>2]|0;c=e+(d>>>3)|0;if(c>>>0>>0){f=(l[c>>0]|0)>>>(d&7)&1;d=d+1|0;k[o>>2]=d}else f=0;c=e+(d>>>3)|0;if(c>>>0>>0){c=(l[c>>0]|0)>>>(d&7)&1;k[o>>2]=d+1}else c=0;c=c<<1|f}D=(k[n>>2]|0)+(h*12|0)+8|0;i[D>>0]=c&3|i[D>>0]&-4;h=h+1|0}while(h>>>0>>0)}bn(b)}while(0);if((l[(k[x>>2]|0)+36>>0]<<8&65535)<512){w=b+8|0;D=k[w>>2]|0;w=k[w+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=Fp(d|0,k[e+4>>2]|0,4,0)|0;f=M;if((w|0)<(f|0)|(w|0)==(f|0)&D>>>0>>0)c=-1;else{y=(k[b>>2]|0)+d|0;y=l[y>>0]|l[y+1>>0]<<8|l[y+2>>0]<<16|l[y+3>>0]<<24;k[A>>2]=y;k[c>>2]=e;k[c+4>>2]=f;c=y;y=35}}else if(sk(A,b)|0){c=k[A>>2]|0;y=35}else c=-1;b:do if((y|0)==35){c:do if(c|0){D=k[x>>2]|0;if(((l[D+36>>0]<<8|l[D+37>>0])&65535)>257){g=a+52|0;h=a+56|0;e=a+48|0;c=0;d=0;while(1){k[B>>2]=0;sk(z,b)|0;d=(k[z>>2]|0)+d|0;k[B>>2]=d;f=k[g>>2]|0;if((f|0)==(k[h>>2]|0))Dj(e,B);else{k[f>>2]=d;k[g>>2]=f+4}c=c+1|0;if(c>>>0>=(k[A>>2]|0)>>>0)break c}}j=b+8|0;m=b+16|0;n=a+52|0;o=a+56|0;h=a+48|0;g=0;while(1){k[B>>2]=0;z=j;D=k[z>>2]|0;z=k[z+4>>2]|0;d=m;c=k[d>>2]|0;d=Fp(c|0,k[d+4>>2]|0,4,0)|0;e=M;if((z|0)<(e|0)|(z|0)==(e|0)&D>>>0>>0)break;f=(k[b>>2]|0)+c|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;k[B>>2]=f;c=m;k[c>>2]=d;k[c+4>>2]=e;c=k[n>>2]|0;if((c|0)==(k[o>>2]|0))Dj(h,B);else{k[c>>2]=f;k[n>>2]=c+4}g=g+1|0;if(g>>>0>=(k[A>>2]|0)>>>0)break c}c=-1;break b}while(0);c=k[b+16>>2]|0}while(0);D=c;u=C;return D|0}function Xb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;A=u;u=u+176|0;s=A+144|0;w=A+72|0;v=A+8|0;t=A+40|0;x=A;y=a+4|0;q=k[y>>2]|0;c=k[q+32>>2]|0;j=c+8|0;h=k[j>>2]|0;j=k[j+4>>2]|0;m=c+16|0;o=m;n=k[o>>2]|0;o=k[o+4>>2]|0;if(!((j|0)>(o|0)|(j|0)==(o|0)&h>>>0>n>>>0)){z=0;u=A;return z|0}g=k[c>>2]|0;r=i[g+n>>0]|0;c=Fp(n|0,o|0,1,0)|0;p=M;f=m;k[f>>2]=c;k[f+4>>2]=p;if(!((j|0)>(p|0)|(j|0)==(p|0)&h>>>0>c>>>0)){z=0;u=A;return z|0}p=i[g+c>>0]|0;c=Fp(n|0,o|0,2,0)|0;d=M;f=m;k[f>>2]=c;k[f+4>>2]=d;do if(r<<24>>24>-1){e=r<<24>>24;f=k[a+228>>2]|0;if(e>>>0<(((k[a+232>>2]|0)-f|0)/116|0)>>>0){k[f+(e*116|0)>>2]=b;break}else{z=0;u=A;return z|0}}while(0);do if((((l[q+36>>0]|0)<<8|(l[q+37>>0]|0))&65535)>257)if((j|0)>(d|0)|(j|0)==(d|0)&h>>>0>c>>>0){d=i[g+c>>0]|0;n=Fp(n|0,o|0,3,0)|0;o=m;k[o>>2]=n;k[o+4>>2]=M;d=d&255;break}else{z=0;u=A;return z|0}else d=0;while(0);n=k[q+44>>2]|0;if(!(p<<24>>24)){if(r<<24>>24<0)c=a+200|0;else{c=r<<24>>24;w=k[a+228>>2]|0;i[w+(c*116|0)+72>>0]=0;c=w+(c*116|0)+76|0}switch((d&255)<<24>>24){case 0:{c=Zd(a,c)|0;break}case 1:{c=Sf(a,c)|0;break}default:{z=0;u=A;return z|0}}if(!c){z=0;u=A;return z|0}}else{if(d|0){z=0;u=A;return z|0}g=r<<24>>24;if(r<<24>>24<0){z=0;u=A;return z|0}c=jo(88)|0;f=k[a+228>>2]|0;h=f+(g*116|0)+76|0;k[c+4>>2]=0;k[c>>2]=4316;j=c+12|0;k[j>>2]=4340;m=c+64|0;k[m>>2]=0;k[c+68>>2]=0;k[c+72>>2]=0;d=c+16|0;e=d+44|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));k[c+76>>2]=n;k[c+80>>2]=h;k[c+84>>2]=0;p=w+4|0;k[p>>2]=4340;o=w+56|0;k[o>>2]=0;q=w+60|0;k[q>>2]=0;k[w+64>>2]=0;d=w+8|0;e=d+44|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));e=f+(g*116|0)+4|0;k[v>>2]=4340;d=v+4|0;a=d+4|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;k[d>>2]=e;f=k[f+(g*116|0)+68>>2]|0;f=((k[f+4>>2]|0)-(k[f>>2]|0)>>2>>>0)/3|0;i[s>>0]=0;Qh(v+8|0,f,s);Ta[k[(k[v>>2]|0)+8>>2]&127](v);Bg(t,v);Bg(s,t);k[w>>2]=k[s+4>>2];f=w+4|0;gh(f,s)|0;k[s>>2]=4340;d=k[s+20>>2]|0;if(d|0)_r(d);d=k[s+8>>2]|0;if(d|0)_r(d);k[w+36>>2]=e;k[w+40>>2]=h;k[w+44>>2]=n;k[w+48>>2]=c;k[t>>2]=4340;d=k[t+20>>2]|0;if(d|0)_r(d);d=k[t+8>>2]|0;if(d|0)_r(d);k[c+8>>2]=k[w>>2];gh(j,f)|0;d=c+44|0;t=w+36|0;k[d>>2]=k[t>>2];k[d+4>>2]=k[t+4>>2];k[d+8>>2]=k[t+8>>2];k[d+12>>2]=k[t+12>>2];i[d+16>>0]=i[t+16>>0]|0;Gg(m,k[o>>2]|0,k[q>>2]|0);k[v>>2]=4340;d=k[v+20>>2]|0;if(d|0)_r(d);d=k[v+8>>2]|0;if(d|0)_r(d);d=k[o>>2]|0;if(d|0){e=k[q>>2]|0;if((e|0)!=(d|0))k[q>>2]=e+(~((e+-4-d|0)>>>2)<<2);_r(d)}k[p>>2]=4340;d=k[w+24>>2]|0;if(d|0)_r(d);d=k[w+12>>2]|0;if(d|0)_r(d)}j=jo(64)|0;k[x>>2]=c;km(j,x);c=k[x>>2]|0;k[x>>2]=0;if(c|0)Ta[k[(k[c>>2]|0)+4>>2]&127](c);h=k[y>>2]|0;g=h+8|0;h=h+12|0;c=k[h>>2]|0;d=k[g>>2]|0;e=c-d>>2;do if((e|0)<=(b|0)){f=b+1|0;if(f>>>0>e>>>0){bh(g,f-e|0);break}if(f>>>0>>0?(z=d+(f<<2)|0,(c|0)!=(z|0)):0)do{y=c+-4|0;k[h>>2]=y;c=k[y>>2]|0;k[y>>2]=0;if(c|0)Ta[k[(k[c>>2]|0)+4>>2]&127](c);c=k[h>>2]|0}while((c|0)!=(z|0))}while(0);z=(k[g>>2]|0)+(b<<2)|0;c=k[z>>2]|0;k[z>>2]=j;if(!c){z=1;u=A;return z|0}Ta[k[(k[c>>2]|0)+4>>2]&127](c);z=1;u=A;return z|0}function Yb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=Pa,p=Pa,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,N=0,O=0,P=0,Q=0,R=0,S=0,T=Pa;S=u;u=u+48|0;R=S+20|0;K=S+16|0;L=S+12|0;Q=S;N=R+16|0;k[R>>2]=0;k[R+4>>2]=0;k[R+8>>2]=0;k[R+12>>2]=0;o[N>>2]=da(1.0);P=a+80|0;xl(Q,k[P>>2]|0);e=k[P>>2]|0;if((e|0)>0){B=k[c>>2]|0;C=b+48|0;D=b+40|0;E=R+4|0;F=R+12|0;G=R+8|0;H=a+40|0;I=a+64|0;A=0;y=0;while(1){v=B+A|0;c=C;x=k[c>>2]|0;c=k[c+4>>2]|0;w=D;w=io(v|0,((v|0)<0)<<31>>31|0,k[w>>2]|0,k[w+4>>2]|0)|0;c=Fp(w|0,M|0,x|0,c|0)|0;c=(k[k[b>>2]>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;k[K>>2]=c;k[L>>2]=c;c=_g(R,L)|0;if(!c){s=k[L>>2]|0;h=s&255;t=s>>>8;j=t&255;v=s>>>16;m=v&255;r=s>>>24;q=r&255;s=s&255;t=t&255;v=v&255;x=(((s^318)+239^t)+239^v)+239^r;e=k[E>>2]|0;w=(e|0)==0;a:do if(!w){g=e+-1|0;d=(g&e|0)==0;if(d)c=x&g;else c=(x>>>0)%(e>>>0)|0;f=k[(k[R>>2]|0)+(c<<2)>>2]|0;if((f|0)!=0?(J=k[f>>2]|0,(J|0)!=0):0)if(d){d=J;while(1){if((k[d+4>>2]&g|0)!=(c|0)){z=25;break a}if((((i[d+8>>0]|0)==h<<24>>24?(i[d+9>>0]|0)==j<<24>>24:0)?(i[d+10>>0]|0)==m<<24>>24:0)?(i[d+11>>0]|0)==q<<24>>24:0)break a;d=k[d>>2]|0;if(!d){z=25;break}}}else{d=J;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(c|0)){z=25;break a}if((((i[d+8>>0]|0)==h<<24>>24?(i[d+9>>0]|0)==j<<24>>24:0)?(i[d+10>>0]|0)==m<<24>>24:0)?(i[d+11>>0]|0)==q<<24>>24:0)break a;d=k[d>>2]|0;if(!d){z=25;break}}}else z=25}else{c=0;z=25}while(0);if((z|0)==25){z=0;f=jo(16)|0;q=f+8|0;v=r<<24|s|v<<16|t<<8;i[q>>0]=v;i[q+1>>0]=v>>8;i[q+2>>0]=v>>16;i[q+3>>0]=v>>24;k[f+12>>2]=y;k[f+4>>2]=x;k[f>>2]=0;n=da(((k[F>>2]|0)+1|0)>>>0);T=da(e>>>0);p=da(o[N>>2]);do if(w|n>da(T*p)){c=(e>>>0<3|(e+-1&e|0)!=0)&1|e<<1;d=~~da(_(da(n/p)))>>>0;Ki(R,c>>>0>>0?d:c);c=k[E>>2]|0;d=c+-1|0;if(!(d&c)){e=c;c=d&x;break}else{e=c;c=(x>>>0)%(c>>>0)|0;break}}while(0);d=(k[R>>2]|0)+(c<<2)|0;c=k[d>>2]|0;if(!c){k[f>>2]=k[G>>2];k[G>>2]=f;k[d>>2]=G;c=k[f>>2]|0;if(c|0){c=k[c+4>>2]|0;d=e+-1|0;if(!(d&e))c=c&d;else c=(c>>>0)%(e>>>0)|0;c=(k[R>>2]|0)+(c<<2)|0;z=36}}else{k[f>>2]=k[c>>2];z=36}if((z|0)==36){z=0;k[c>>2]=f}k[F>>2]=(k[F>>2]|0)+1}x=H;c=k[x>>2]|0;x=io(c|0,k[x+4>>2]|0,y|0,((y|0)<0)<<31>>31|0)|0;Gh((k[k[I>>2]>>2]|0)+x|0,K|0,c|0)|0;k[(k[Q>>2]|0)+(A<<2)>>2]=y;c=y+1|0}else{k[(k[Q>>2]|0)+(A<<2)>>2]=k[c+12>>2];c=y}A=A+1|0;e=k[P>>2]|0;if((A|0)>=(e|0)){m=c;break}else y=c}}else m=0;if((m|0)!=(e|0)){j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;c=(k[a+72>>2]|0)-e|0;if((c|0)>0){f=k[Q>>2]|0;d=c>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[j>>0]=0;c=a+68|0;d=a+72|0;h=k[d>>2]|0;g=k[c>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(O=g+(e<<2)|0,(h|0)!=(O|0)):0)k[d>>2]=h+(~((h+-4-O|0)>>>2)<<2)}else{Yh(c,e-f|0,1448);e=k[P>>2]|0}if((e|0)>0){f=k[Q>>2]|0;if(i[j>>0]|0)Ka(19400,19419,89,19521);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[P>>2]=m}e=k[Q>>2]|0;if(e|0){c=Q+4|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e)}c=k[R+8>>2]|0;if(c|0)do{Q=c;c=k[c>>2]|0;_r(Q)}while((c|0)!=0);c=k[R>>2]|0;k[R>>2]=0;if(!c){u=S;return m|0}_r(c);u=S;return m|0}function Zb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=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+736|0;C=D+720|0;s=D+16|0;v=D+72|0;f=D+64|0;w=D+56|0;x=D+48|0;y=D+40|0;z=D+32|0;A=D+24|0;B=D+8|0;t=D;d=_a[k[(k[a>>2]|0)+20>>2]&127](a,0)|0;a=(Wa[k[(k[a>>2]|0)+28>>2]&255](a)|0)+4|0;a=k[a>>2]|0;if((d|0)<=-1)Ka(20132,20148,63,20247);c=k[a+8>>2]|0;if(((k[a+12>>2]|0)-c>>2|0)<=(d|0))Ka(20257,20148,64,20247);a=k[c+(d<<2)>>2]|0;i[a+84>>0]=1;c=k[a+68>>2]|0;d=a+72|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);m=b+8|0;j=k[m>>2]|0;m=k[m+4>>2]|0;n=b+16|0;h=n;g=k[h>>2]|0;h=k[h+4>>2]|0;if(!((m|0)>(h|0)|(m|0)==(h|0)&j>>>0>g>>>0)){C=0;u=D;return C|0}o=k[b>>2]|0;e=i[o+g>>0]|0;c=Fp(g|0,h|0,1,0)|0;d=M;E=n;k[E>>2]=c;k[E+4>>2]=d;switch(e<<24>>24){case 0:{if(((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0?(p=Fp(g|0,h|0,2,0)|0,q=n,k[q>>2]=p,k[q+4>>2]=M,q=Fp(g|0,h|0,6,0)|0,r=M,!((m|0)<(r|0)|(m|0)==(r|0)&j>>>0>>0)):0)?(E=o+p|0,E=l[E>>0]|l[E+1>>0]<<8|l[E+2>>0]<<16|l[E+3>>0]<<24,B=n,k[B>>2]=q,k[B+4>>2]=r,jk(a,E)|0,Bp(v),k[f>>2]=a,k[f+4>>2]=0,k[C>>2]=k[f>>2],k[C+4>>2]=k[f+4>>2],tf(v,b,C)|0):0){E=1;u=D;return E|0}E=0;u=D;return E|0}case 1:{a:do if((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0){f=i[o+c>>0]|0;e=Fp(g|0,h|0,2,0)|0;E=n;k[E>>2]=e;k[E+4>>2]=M;if((f&255)>6){k[s>>2]=f&255;Ho(6150,s)|0;break}c=Fp(g|0,h|0,6,0)|0;d=M;if(!((m|0)<(d|0)|(m|0)==(d|0)&j>>>0>>0)){E=o+e|0;E=l[E>>0]|l[E+1>>0]<<8|l[E+2>>0]<<16|l[E+3>>0]<<24;s=n;k[s>>2]=c;k[s+4>>2]=d;jk(a,E)|0;switch(f<<24>>24){case 0:{Vi(v,3);k[w>>2]=a;k[w+4>>2]=0;k[C>>2]=k[w>>2];k[C+4>>2]=k[w+4>>2];E=Nf(v,b,C)|0;Ng(v);if(E)a=1;else break a;u=D;return a|0}case 1:{Vi(v,3);k[x>>2]=a;k[x+4>>2]=0;k[C>>2]=k[x>>2];k[C+4>>2]=k[x+4>>2];E=Mf(v,b,C)|0;Ng(v);if(E)a=1;else break a;u=D;return a|0}case 2:{Yi(v,3);k[y>>2]=a;k[y+4>>2]=0;k[C>>2]=k[y>>2];k[C+4>>2]=k[y+4>>2];E=Pf(v,b,C)|0;Qg(v);if(E)a=1;else break a;u=D;return a|0}case 3:{Yi(v,3);k[z>>2]=a;k[z+4>>2]=0;k[C>>2]=k[z>>2];k[C+4>>2]=k[z+4>>2];E=Of(v,b,C)|0;Qg(v);if(E)a=1;else break a;u=D;return a|0}case 4:{Ci(v,3);k[A>>2]=a;k[A+4>>2]=0;k[C>>2]=k[A>>2];k[C+4>>2]=k[A+4>>2];E=nf(v,b,C)|0;Ag(v);if(E)a=1;else break a;u=D;return a|0}case 5:{Ci(v,3);k[B>>2]=a;k[B+4>>2]=0;k[C>>2]=k[B>>2];k[C+4>>2]=k[B+4>>2];E=mf(v,b,C)|0;Ag(v);if(E)a=1;else break a;u=D;return a|0}case 6:{Ci(v,3);k[t>>2]=a;k[t+4>>2]=0;k[C>>2]=k[t>>2];k[C+4>>2]=k[t+4>>2];E=lf(v,b,C)|0;Ag(v);if(E)a=1;else break a;u=D;return a|0}default:break a}}}while(0);E=0;u=D;return E|0}default:{E=0;u=D;return E|0}}return 0}function _b(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=Pa,p=Pa,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=Pa;J=u;u=u+48|0;I=J+12|0;D=J+32|0;H=J;E=I+16|0;k[I>>2]=0;k[I+4>>2]=0;k[I+8>>2]=0;k[I+12>>2]=0;o[E>>2]=da(1.0);G=a+80|0;xl(H,k[G>>2]|0);e=k[G>>2]|0;a:do if((e|0)>0){w=b+48|0;x=b+40|0;y=I+4|0;z=I+12|0;A=I+8|0;B=a+40|0;C=a+64|0;v=k[c>>2]|0;h=0;t=0;s=0;while(1){f=v+t|0;m=w;q=k[m>>2]|0;m=k[m+4>>2]|0;g=x;g=io(f|0,((f|0)<0)<<31>>31|0,k[g>>2]|0,k[g+4>>2]|0)|0;m=Fp(g|0,M|0,q|0,m|0)|0;m=(k[k[b>>2]>>2]|0)+m|0;m=l[m>>0]|l[m+1>>0]<<8;j[D>>1]=m;q=(m^318)&65535;b:do if(h){g=h+-1|0;f=(g&h|0)==0;if(f)d=g&q;else d=(q>>>0)%(h>>>0)|0;e=k[I>>2]|0;c=k[e+(d<<2)>>2]|0;c:do if(c|0){if(f)do{c=k[c>>2]|0;if(!c)break c;if((k[c+4>>2]&g|0)!=(d|0))break c}while((j[c+8>>1]|0)!=m<<16>>16);else do{c=k[c>>2]|0;if(!c)break c;if((((k[c+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(d|0))break c}while((j[c+8>>1]|0)!=m<<16>>16);k[(k[H>>2]|0)+(t<<2)>>2]=k[c+12>>2];d=s;break b}while(0);if(f)c=g&q;else c=(q>>>0)%(h>>>0)|0;d=k[e+(c<<2)>>2]|0;if(d)if(f)while(1){d=k[d>>2]|0;if(!d){d=h;e=0;r=28;break b}if((k[d+4>>2]&g|0)!=(c|0)){d=h;e=0;r=28;break b}if((j[d+8>>1]|0)==m<<16>>16){r=41;break}}else while(1){d=k[d>>2]|0;if(!d){d=h;e=0;r=28;break b}if((((k[d+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(c|0)){d=h;e=0;r=28;break b}if((j[d+8>>1]|0)==m<<16>>16){r=41;break}}else{d=h;e=0;r=28}}else{c=0;d=0;e=1;r=28}while(0);if((r|0)==28){r=0;f=jo(16)|0;j[f+8>>1]=m;k[f+12>>2]=s;k[f+4>>2]=q;k[f>>2]=0;n=da(((k[z>>2]|0)+1|0)>>>0);K=da(d>>>0);p=da(o[E>>2]);do if(e|n>da(K*p)){c=(d>>>0<3|(d+-1&d|0)!=0)&1|d<<1;d=~~da(_(da(n/p)))>>>0;Gi(I,c>>>0>>0?d:c);c=k[y>>2]|0;d=c+-1|0;if(!(d&c)){e=c;c=d&q;break}else{e=c;c=(q>>>0)%(c>>>0)|0;break}}else e=d;while(0);d=(k[I>>2]|0)+(c<<2)|0;c=k[d>>2]|0;if(!c){k[f>>2]=k[A>>2];k[A>>2]=f;k[d>>2]=A;c=k[f>>2]|0;if(c|0){c=k[c+4>>2]|0;d=e+-1|0;if(!(d&e))c=c&d;else c=(c>>>0)%(e>>>0)|0;c=(k[I>>2]|0)+(c<<2)|0;r=39}}else{k[f>>2]=k[c>>2];r=39}if((r|0)==39)k[c>>2]=f;k[z>>2]=(k[z>>2]|0)+1;r=41}if((r|0)==41){r=0;q=B;d=k[q>>2]|0;q=io(d|0,k[q+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;Gh((k[k[C>>2]>>2]|0)+q|0,D|0,d|0)|0;k[(k[H>>2]|0)+(t<<2)>>2]=s;d=s+1|0}c=t+1|0;e=k[G>>2]|0;if((c|0)>=(e|0)){q=d;break a}h=k[y>>2]|0;t=c;s=d}}else q=0;while(0);if((q|0)!=(e|0)){m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;c=(k[a+72>>2]|0)-e|0;if((c|0)>0){f=k[H>>2]|0;d=c>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[m>>0]=0;c=a+68|0;d=a+72|0;h=k[d>>2]|0;g=k[c>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(F=g+(e<<2)|0,(h|0)!=(F|0)):0)k[d>>2]=h+(~((h+-4-F|0)>>>2)<<2)}else{Yh(c,e-f|0,1448);e=k[G>>2]|0}if((e|0)>0){f=k[H>>2]|0;if(i[m>>0]|0)Ka(19400,19419,89,19521);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[G>>2]=q}e=k[H>>2]|0;if(e|0){c=H+4|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e)}c=k[I+8>>2]|0;if(c|0)do{H=c;c=k[c>>2]|0;_r(H)}while((c|0)!=0);c=k[I>>2]|0;k[I>>2]=0;if(!c){u=J;return q|0}_r(c);u=J;return q|0}function $b(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=Pa,h=0,j=Pa,m=Pa,n=Pa;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}e=b+d|0;i[s>>0]=i[e>>0];i[s+1>>0]=i[e+1>>0];i[s+2>>0]=i[e+2>>0];i[s+3>>0]=i[e+3>>0];g=da(o[s>>2]);e=+O(+g)>=1.0?(+g>0.0?~~+aa(+N(+g/4294967296.0),4294967295.0)>>>0:~~+_((+g-+(~~+g>>>0))/4294967296.0)>>>0):0;f=c;k[f>>2]=~~+g>>>0;k[f+4>>2]=e;f=c+8|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[f+16>>2]=0;k[f+20>>2]=0;f=1;return f|0}case 2:{h=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,8,0)|0;h=M;f=k[a>>2]|0;b=k[f>>2]|0;if((h|0)>0|((h|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){h=0;return h|0}f=b+d|0;e=f;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=(k[s>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24,da(o[s>>2]));e=+O(+g)>=1.0?(+g>0.0?~~+aa(+N(+g/4294967296.0),4294967295.0)>>>0:~~+_((+g-+(~~+g>>>0))/4294967296.0)>>>0):0;h=c;k[h>>2]=~~+g>>>0;k[h+4>>2]=e;g=(k[s>>2]=f,da(o[s>>2]));f=+O(+g)>=1.0?(+g>0.0?~~+aa(+N(+g/4294967296.0),4294967295.0)>>>0:~~+_((+g-+(~~+g>>>0))/4294967296.0)>>>0):0;h=c+8|0;k[h>>2]=~~+g>>>0;k[h+4>>2]=f;h=c+16|0;k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;k[h+12>>2]=0;h=1;return h|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;h=a+40|0;d=Fp(io(k[h>>2]|0,k[h+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,12,0)|0;e=M;h=k[a>>2]|0;b=k[h>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[h+4>>2]|0)-b|0)>>>0:0)){h=0;return h|0}f=b+d|0;i[s>>0]=i[f>>0];i[s+1>>0]=i[f+1>>0];i[s+2>>0]=i[f+2>>0];i[s+3>>0]=i[f+3>>0];m=da(o[s>>2]);h=f+4|0;i[s>>0]=i[h>>0];i[s+1>>0]=i[h+1>>0];i[s+2>>0]=i[h+2>>0];i[s+3>>0]=i[h+3>>0];j=da(o[s>>2]);f=f+8|0;i[s>>0]=i[f>>0];i[s+1>>0]=i[f+1>>0];i[s+2>>0]=i[f+2>>0];i[s+3>>0]=i[f+3>>0];g=da(o[s>>2]);f=+O(+m)>=1.0?(+m>0.0?~~+aa(+N(+m/4294967296.0),4294967295.0)>>>0:~~+_((+m-+(~~+m>>>0))/4294967296.0)>>>0):0;h=c;k[h>>2]=~~+m>>>0;k[h+4>>2]=f;h=+O(+j)>=1.0?(+j>0.0?~~+aa(+N(+j/4294967296.0),4294967295.0)>>>0:~~+_((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;f=c+8|0;k[f>>2]=~~+j>>>0;k[f+4>>2]=h;f=+O(+g)>=1.0?(+g>0.0?~~+aa(+N(+g/4294967296.0),4294967295.0)>>>0:~~+_((+g-+(~~+g>>>0))/4294967296.0)>>>0):0;h=c+16|0;k[h>>2]=~~+g>>>0;k[h+4>>2]=f;h=c+24|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;h=a+40|0;d=Fp(io(k[h>>2]|0,k[h+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,16,0)|0;e=M;h=k[a>>2]|0;b=k[h>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[h+4>>2]|0)-b|0)>>>0:0)){h=0;return h|0}h=b+d|0;i[s>>0]=i[h>>0];i[s+1>>0]=i[h+1>>0];i[s+2>>0]=i[h+2>>0];i[s+3>>0]=i[h+3>>0];n=da(o[s>>2]);f=h+4|0;i[s>>0]=i[f>>0];i[s+1>>0]=i[f+1>>0];i[s+2>>0]=i[f+2>>0];i[s+3>>0]=i[f+3>>0];g=da(o[s>>2]);f=h+8|0;i[s>>0]=i[f>>0];i[s+1>>0]=i[f+1>>0];i[s+2>>0]=i[f+2>>0];i[s+3>>0]=i[f+3>>0];j=da(o[s>>2]);h=h+12|0;i[s>>0]=i[h>>0];i[s+1>>0]=i[h+1>>0];i[s+2>>0]=i[h+2>>0];i[s+3>>0]=i[h+3>>0];m=da(o[s>>2]);h=+O(+n)>=1.0?(+n>0.0?~~+aa(+N(+n/4294967296.0),4294967295.0)>>>0:~~+_((+n-+(~~+n>>>0))/4294967296.0)>>>0):0;f=c;k[f>>2]=~~+n>>>0;k[f+4>>2]=h;f=+O(+g)>=1.0?(+g>0.0?~~+aa(+N(+g/4294967296.0),4294967295.0)>>>0:~~+_((+g-+(~~+g>>>0))/4294967296.0)>>>0):0;h=c+8|0;k[h>>2]=~~+g>>>0;k[h+4>>2]=f;h=+O(+j)>=1.0?(+j>0.0?~~+aa(+N(+j/4294967296.0),4294967295.0)>>>0:~~+_((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;f=c+16|0;k[f>>2]=~~+j>>>0;k[f+4>>2]=h;f=+O(+m)>=1.0?(+m>0.0?~~+aa(+N(+m/4294967296.0),4294967295.0)>>>0:~~+_((+m-+(~~+m>>>0))/4294967296.0)>>>0):0;h=c+24|0;k[h>>2]=~~+m>>>0;k[h+4>>2]=f;h=1;return h|0}default:{h=0;return h|0}}return 0}function ac(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=Pa,n=Pa,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=Pa;I=u;u=u+48|0;H=I+16|0;C=I+12|0;G=I;D=H+16|0;k[H>>2]=0;k[H+4>>2]=0;k[H+8>>2]=0;k[H+12>>2]=0;o[D>>2]=da(1.0);F=a+80|0;xl(G,k[F>>2]|0);e=k[F>>2]|0;a:do if((e|0)>0){v=b+48|0;w=b+40|0;x=H+4|0;y=H+12|0;z=H+8|0;A=a+40|0;B=a+64|0;t=k[c>>2]|0;h=0;s=0;r=0;while(1){f=t+s|0;j=v;p=k[j>>2]|0;j=k[j+4>>2]|0;g=w;g=io(f|0,((f|0)<0)<<31>>31|0,k[g>>2]|0,k[g+4>>2]|0)|0;j=Fp(g|0,M|0,p|0,j|0)|0;j=(k[k[b>>2]>>2]|0)+j|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;k[C>>2]=j;p=j^318;b:do if(h){g=h+-1|0;f=(g&h|0)==0;if(f)d=g&p;else d=(p>>>0)%(h>>>0)|0;e=k[H>>2]|0;c=k[e+(d<<2)>>2]|0;c:do if(c|0){if(f)do{c=k[c>>2]|0;if(!c)break c;if((k[c+4>>2]&g|0)!=(d|0))break c}while((k[c+8>>2]|0)!=(j|0));else do{c=k[c>>2]|0;if(!c)break c;if((((k[c+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(d|0))break c}while((k[c+8>>2]|0)!=(j|0));k[(k[G>>2]|0)+(s<<2)>>2]=k[c+12>>2];d=r;break b}while(0);if(f)c=g&p;else c=(p>>>0)%(h>>>0)|0;d=k[e+(c<<2)>>2]|0;if(d)if(f)while(1){d=k[d>>2]|0;if(!d){d=h;e=0;q=28;break b}if((k[d+4>>2]&g|0)!=(c|0)){d=h;e=0;q=28;break b}if((k[d+8>>2]|0)==(j|0)){q=41;break}}else while(1){d=k[d>>2]|0;if(!d){d=h;e=0;q=28;break b}if((((k[d+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(c|0)){d=h;e=0;q=28;break b}if((k[d+8>>2]|0)==(j|0)){q=41;break}}else{d=h;e=0;q=28}}else{c=0;d=0;e=1;q=28}while(0);if((q|0)==28){q=0;f=jo(16)|0;k[f+8>>2]=j;k[f+12>>2]=r;k[f+4>>2]=p;k[f>>2]=0;m=da(((k[y>>2]|0)+1|0)>>>0);J=da(d>>>0);n=da(o[D>>2]);do if(e|m>da(J*n)){c=(d>>>0<3|(d+-1&d|0)!=0)&1|d<<1;d=~~da(_(da(m/n)))>>>0;fj(H,c>>>0>>0?d:c);c=k[x>>2]|0;d=c+-1|0;if(!(d&c)){e=c;c=d&p;break}else{e=c;c=(p>>>0)%(c>>>0)|0;break}}else e=d;while(0);d=(k[H>>2]|0)+(c<<2)|0;c=k[d>>2]|0;if(!c){k[f>>2]=k[z>>2];k[z>>2]=f;k[d>>2]=z;c=k[f>>2]|0;if(c|0){c=k[c+4>>2]|0;d=e+-1|0;if(!(d&e))c=c&d;else c=(c>>>0)%(e>>>0)|0;c=(k[H>>2]|0)+(c<<2)|0;q=39}}else{k[f>>2]=k[c>>2];q=39}if((q|0)==39)k[c>>2]=f;k[y>>2]=(k[y>>2]|0)+1;q=41}if((q|0)==41){q=0;p=A;d=k[p>>2]|0;p=io(d|0,k[p+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;Gh((k[k[B>>2]>>2]|0)+p|0,C|0,d|0)|0;k[(k[G>>2]|0)+(s<<2)>>2]=r;d=r+1|0}c=s+1|0;e=k[F>>2]|0;if((c|0)>=(e|0)){p=d;break a}h=k[x>>2]|0;s=c;r=d}}else p=0;while(0);if((p|0)!=(e|0)){j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;c=(k[a+72>>2]|0)-e|0;if((c|0)>0){f=k[G>>2]|0;d=c>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[j>>0]=0;c=a+68|0;d=a+72|0;h=k[d>>2]|0;g=k[c>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(E=g+(e<<2)|0,(h|0)!=(E|0)):0)k[d>>2]=h+(~((h+-4-E|0)>>>2)<<2)}else{Yh(c,e-f|0,1448);e=k[F>>2]|0}if((e|0)>0){f=k[G>>2]|0;if(i[j>>0]|0)Ka(19400,19419,89,19521);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[F>>2]=p}e=k[G>>2]|0;if(e|0){c=G+4|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e)}c=k[H+8>>2]|0;if(c|0)do{G=c;c=k[c>>2]|0;_r(G)}while((c|0)!=0);c=k[H>>2]|0;k[H>>2]=0;if(!c){u=I;return p|0}_r(c);u=I;return p|0}function bc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=Pa,n=Pa,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,N=0,O=0,P=0,Q=0,R=Pa;Q=u;u=u+80|0;P=Q+48|0;I=Q+32|0;J=Q+16|0;O=Q;K=P+16|0;k[P>>2]=0;k[P+4>>2]=0;k[P+8>>2]=0;k[P+12>>2]=0;o[K>>2]=da(1.0);N=a+80|0;xl(O,k[N>>2]|0);e=k[N>>2]|0;if((e|0)>0){z=k[c>>2]|0;A=b+48|0;B=b+40|0;w=J+4|0;x=J+8|0;y=J+12|0;C=P+4|0;D=P+12|0;E=P+8|0;F=a+40|0;G=a+64|0;s=0;v=0;while(1){e=z+v|0;c=A;d=k[c>>2]|0;c=k[c+4>>2]|0;f=B;e=io(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;c=Fp(e|0,M|0,d|0,c|0)|0;c=(k[k[b>>2]>>2]|0)+c|0;d=I;e=c;f=d+16|0;do{i[d>>0]=i[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));mn(J|0,c|0,16)|0;c=ch(P,J)|0;if(!c){g=k[J>>2]|0;h=k[w>>2]|0;j=k[x>>2]|0;l=k[y>>2]|0;r=(((g^318)+239^h)+239^j)+239^l;p=k[C>>2]|0;q=(p|0)==0;a:do if(!q){f=p+-1|0;d=(f&p|0)==0;if(d)c=r&f;else c=(r>>>0)%(p>>>0)|0;e=k[(k[P>>2]|0)+(c<<2)>>2]|0;if((e|0)!=0?(H=k[e>>2]|0,(H|0)!=0):0)if(d){d=H;while(1){if((k[d+4>>2]&f|0)!=(c|0)){t=25;break a}if((((k[d+8>>2]|0)==(g|0)?(k[d+12>>2]|0)==(h|0):0)?(k[d+16>>2]|0)==(j|0):0)?(k[d+20>>2]|0)==(l|0):0)break a;d=k[d>>2]|0;if(!d){t=25;break}}}else{d=H;while(1){if((((k[d+4>>2]|0)>>>0)%(p>>>0)|0|0)!=(c|0)){t=25;break a}if((((k[d+8>>2]|0)==(g|0)?(k[d+12>>2]|0)==(h|0):0)?(k[d+16>>2]|0)==(j|0):0)?(k[d+20>>2]|0)==(l|0):0)break a;d=k[d>>2]|0;if(!d){t=25;break}}}else t=25}else{c=0;t=25}while(0);if((t|0)==25){t=0;f=jo(28)|0;k[f+8>>2]=g;k[f+12>>2]=h;k[f+16>>2]=j;k[f+20>>2]=l;k[f+24>>2]=s;k[f+4>>2]=r;k[f>>2]=0;m=da(((k[D>>2]|0)+1|0)>>>0);R=da(p>>>0);n=da(o[K>>2]);do if(q|m>da(R*n)){c=(p>>>0<3|(p+-1&p|0)!=0)&1|p<<1;d=~~da(_(da(m/n)))>>>0;Hi(P,c>>>0>>0?d:c);c=k[C>>2]|0;d=c+-1|0;if(!(d&c)){e=c;c=d&r;break}else{e=c;c=(r>>>0)%(c>>>0)|0;break}}else e=p;while(0);d=(k[P>>2]|0)+(c<<2)|0;c=k[d>>2]|0;if(!c){k[f>>2]=k[E>>2];k[E>>2]=f;k[d>>2]=E;c=k[f>>2]|0;if(c|0){c=k[c+4>>2]|0;d=e+-1|0;if(!(d&e))c=c&d;else c=(c>>>0)%(e>>>0)|0;c=(k[P>>2]|0)+(c<<2)|0;t=36}}else{k[f>>2]=k[c>>2];t=36}if((t|0)==36){t=0;k[c>>2]=f}k[D>>2]=(k[D>>2]|0)+1}r=F;c=k[r>>2]|0;r=io(c|0,k[r+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;Gh((k[k[G>>2]>>2]|0)+r|0,I|0,c|0)|0;k[(k[O>>2]|0)+(v<<2)>>2]=s;c=s+1|0}else{k[(k[O>>2]|0)+(v<<2)>>2]=k[c+24>>2];c=s}v=v+1|0;e=k[N>>2]|0;if((v|0)>=(e|0)){l=c;break}else s=c}}else l=0;if((l|0)!=(e|0)){j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;c=(k[a+72>>2]|0)-e|0;if((c|0)>0){f=k[O>>2]|0;d=c>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[j>>0]=0;c=a+68|0;d=a+72|0;h=k[d>>2]|0;g=k[c>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(L=g+(e<<2)|0,(h|0)!=(L|0)):0)k[d>>2]=h+(~((h+-4-L|0)>>>2)<<2)}else{Yh(c,e-f|0,1448);e=k[N>>2]|0}if((e|0)>0){f=k[O>>2]|0;if(i[j>>0]|0)Ka(19400,19419,89,19521);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[N>>2]=l}e=k[O>>2]|0;if(e|0){c=O+4|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e)}c=k[P+8>>2]|0;if(c|0)do{O=c;c=k[c>>2]|0;_r(O)}while((c|0)!=0);c=k[P>>2]|0;k[P>>2]=0;if(!c){u=Q;return l|0}_r(c);u=Q;return l|0}function cc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=Pa,m=Pa,n=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=Pa;H=u;u=u+48|0;G=H+12|0;B=H+32|0;F=H;C=G+16|0;k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;k[G+12>>2]=0;o[C>>2]=da(1.0);E=a+80|0;xl(F,k[E>>2]|0);e=k[E>>2]|0;a:do if((e|0)>0){t=b+48|0;v=b+40|0;w=G+4|0;x=G+12|0;y=G+8|0;z=a+40|0;A=a+64|0;s=k[c>>2]|0;h=0;r=0;q=0;while(1){f=s+r|0;j=t;n=k[j>>2]|0;j=k[j+4>>2]|0;g=v;g=io(f|0,((f|0)<0)<<31>>31|0,k[g>>2]|0,k[g+4>>2]|0)|0;j=Fp(g|0,M|0,n|0,j|0)|0;j=i[(k[k[b>>2]>>2]|0)+j>>0]|0;i[B>>0]=j;n=j&255^318;b:do if(h){g=h+-1|0;f=(g&h|0)==0;if(f)d=g&n;else d=(n>>>0)%(h>>>0)|0;e=k[G>>2]|0;c=k[e+(d<<2)>>2]|0;c:do if(c|0){if(f)do{c=k[c>>2]|0;if(!c)break c;if((k[c+4>>2]&g|0)!=(d|0))break c}while((i[c+8>>0]|0)!=j<<24>>24);else do{c=k[c>>2]|0;if(!c)break c;if((((k[c+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(d|0))break c}while((i[c+8>>0]|0)!=j<<24>>24);k[(k[F>>2]|0)+(r<<2)>>2]=k[c+12>>2];d=q;break b}while(0);if(f)c=g&n;else c=(n>>>0)%(h>>>0)|0;d=k[e+(c<<2)>>2]|0;if(d)if(f)while(1){d=k[d>>2]|0;if(!d){d=h;e=0;p=28;break b}if((k[d+4>>2]&g|0)!=(c|0)){d=h;e=0;p=28;break b}if((i[d+8>>0]|0)==j<<24>>24){p=41;break}}else while(1){d=k[d>>2]|0;if(!d){d=h;e=0;p=28;break b}if((((k[d+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(c|0)){d=h;e=0;p=28;break b}if((i[d+8>>0]|0)==j<<24>>24){p=41;break}}else{d=h;e=0;p=28}}else{c=0;d=0;e=1;p=28}while(0);if((p|0)==28){p=0;f=jo(16)|0;i[f+8>>0]=j;k[f+12>>2]=q;k[f+4>>2]=n;k[f>>2]=0;l=da(((k[x>>2]|0)+1|0)>>>0);I=da(d>>>0);m=da(o[C>>2]);do if(e|l>da(I*m)){c=(d>>>0<3|(d+-1&d|0)!=0)&1|d<<1;d=~~da(_(da(l/m)))>>>0;Ni(G,c>>>0>>0?d:c);c=k[w>>2]|0;d=c+-1|0;if(!(d&c)){e=c;c=d&n;break}else{e=c;c=(n>>>0)%(c>>>0)|0;break}}else e=d;while(0);d=(k[G>>2]|0)+(c<<2)|0;c=k[d>>2]|0;if(!c){k[f>>2]=k[y>>2];k[y>>2]=f;k[d>>2]=y;c=k[f>>2]|0;if(c|0){c=k[c+4>>2]|0;d=e+-1|0;if(!(d&e))c=c&d;else c=(c>>>0)%(e>>>0)|0;c=(k[G>>2]|0)+(c<<2)|0;p=39}}else{k[f>>2]=k[c>>2];p=39}if((p|0)==39)k[c>>2]=f;k[x>>2]=(k[x>>2]|0)+1;p=41}if((p|0)==41){p=0;n=z;d=k[n>>2]|0;n=io(d|0,k[n+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;Gh((k[k[A>>2]>>2]|0)+n|0,B|0,d|0)|0;k[(k[F>>2]|0)+(r<<2)>>2]=q;d=q+1|0}c=r+1|0;e=k[E>>2]|0;if((c|0)>=(e|0)){n=d;break a}h=k[w>>2]|0;r=c;q=d}}else n=0;while(0);if((n|0)!=(e|0)){j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;c=(k[a+72>>2]|0)-e|0;if((c|0)>0){f=k[F>>2]|0;d=c>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[j>>0]=0;c=a+68|0;d=a+72|0;h=k[d>>2]|0;g=k[c>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(D=g+(e<<2)|0,(h|0)!=(D|0)):0)k[d>>2]=h+(~((h+-4-D|0)>>>2)<<2)}else{Yh(c,e-f|0,1448);e=k[E>>2]|0}if((e|0)>0){f=k[F>>2]|0;if(i[j>>0]|0)Ka(19400,19419,89,19521);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[E>>2]=n}e=k[F>>2]|0;if(e|0){c=F+4|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e)}c=k[G+8>>2]|0;if(c|0)do{F=c;c=k[c>>2]|0;_r(F)}while((c|0)!=0);c=k[G>>2]|0;k[G>>2]=0;if(!c){u=H;return n|0}_r(c);u=H;return n|0}function dc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;B=a+8|0;k[B>>2]=e;h=a+32|0;i=a+36|0;g=k[i>>2]|0;f=k[h>>2]|0;d=g-f>>2;if(d>>>0>=e>>>0){if(d>>>0>e>>>0?(j=f+(e<<2)|0,(g|0)!=(j|0)):0)k[i>>2]=g+(~((g+-4-j|0)>>>2)<<2)}else oj(h,e-d|0);y=e>>>0>1073741823?-1:e<<2;z=Xr(y)|0;_j(z|0,0,y|0)|0;A=Xr(y)|0;_j(A|0,0,y|0)|0;if((k[B>>2]|0)>0){j=a+16|0;h=a+32|0;l=a+12|0;g=0;do{d=k[z+(g<<2)>>2]|0;f=k[j>>2]|0;if((d|0)>(f|0)){i=k[h>>2]|0;k[i+(g<<2)>>2]=f}else{y=k[l>>2]|0;i=k[h>>2]|0;k[i+(g<<2)>>2]=(d|0)<(y|0)?y:d}g=g+1|0;d=k[B>>2]|0}while((g|0)<(d|0));if((d|0)>0){g=a+20|0;f=0;do{d=(k[b+(f<<2)>>2]|0)+(k[i+(f<<2)>>2]|0)|0;h=c+(f<<2)|0;k[h>>2]=d;if((d|0)<=(k[j>>2]|0)){if((d|0)<(k[l>>2]|0)){d=(k[g>>2]|0)+d|0;K=18}}else{d=d-(k[g>>2]|0)|0;K=18}if((K|0)==18){K=0;k[h>>2]=d}f=f+1|0}while((f|0)<(k[B>>2]|0))}}r=k[a+48>>2]|0;s=a+56|0;g=k[s>>2]|0;h=k[g+4>>2]|0;f=k[g>>2]|0;y=h-f|0;t=y>>2;if((y|0)<=4){Yr(A);Yr(z);return 1}u=k[a+52>>2]|0;v=(e|0)>0;w=a+16|0;x=a+32|0;y=a+12|0;n=a+20|0;o=r+64|0;p=r+28|0;q=e<<2;d=1;while(1){if(h-f>>2>>>0<=d>>>0){Iq(g);f=k[g>>2]|0}m=k[f+(d<<2)>>2]|0;if(v)_j(z|0,0,q|0)|0;if((m|0)>-1){a=k[r>>2]|0;j=0;l=m;do{if(((k[a+(l>>>5<<2)>>2]&1<<(l&31)|0)==0?(C=k[(k[(k[o>>2]|0)+12>>2]|0)+(l<<2)>>2]|0,(C|0)>=0):0)?(F=k[p>>2]|0,i=k[u>>2]|0,D=k[i+(k[F+(C<<2)>>2]<<2)>>2]|0,E=C+1|0,E=k[i+(k[F+((((E|0)%3|0|0)==0?C+-2|0:E)<<2)>>2]<<2)>>2]|0,F=k[i+(k[F+((((C>>>0)%3|0|0)==0?2:-1)+C<<2)>>2]<<2)>>2]|0,(D|0)<(d|0)&(E|0)<(d|0)&(F|0)<(d|0)):0){g=$(D,e)|0;h=$(E,e)|0;i=$(F,e)|0;if(v){f=0;do{k[A+(f<<2)>>2]=(k[c+(f+i<<2)>>2]|0)+(k[c+(f+h<<2)>>2]|0)-(k[c+(f+g<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0));if(v){f=0;do{i=z+(f<<2)|0;k[i>>2]=(k[i>>2]|0)+(k[A+(f<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0))}}j=j+1|0}f=(((l>>>0)%3|0|0)==0?2:-1)+l|0;do if(!(k[a+(f>>>5<<2)>>2]&1<<(f&31))){if((f|0)>=0){f=k[(k[(k[o>>2]|0)+12>>2]|0)+(f<<2)>>2]|0;if((f|0)>=0)if(!((f>>>0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}}else f=-1073741824;while(0);l=(f|0)==(m|0)?-1073741824:f}while((l|0)>-1);g=$(d,e)|0;if(j){if(v){f=0;do{m=z+(f<<2)|0;k[m>>2]=(k[m>>2]|0)/(j|0)|0;f=f+1|0}while((f|0)!=(e|0))}l=b+(g<<2)|0;j=c+(g<<2)|0;if((k[B>>2]|0)>0){h=0;do{f=k[z+(h<<2)>>2]|0;g=k[w>>2]|0;if((f|0)>(g|0)){i=k[x>>2]|0;k[i+(h<<2)>>2]=g}else{m=k[y>>2]|0;i=k[x>>2]|0;k[i+(h<<2)>>2]=(f|0)<(m|0)?m:f}h=h+1|0;f=k[B>>2]|0}while((h|0)<(f|0));if((f|0)>0){g=0;do{f=(k[l+(g<<2)>>2]|0)+(k[i+(g<<2)>>2]|0)|0;h=j+(g<<2)|0;k[h>>2]=f;if((f|0)<=(k[w>>2]|0)){if((f|0)<(k[y>>2]|0)){f=(k[n>>2]|0)+f|0;K=70}}else{f=f-(k[n>>2]|0)|0;K=70}if((K|0)==70){K=0;k[h>>2]=f}g=g+1|0}while((g|0)<(k[B>>2]|0))}}}else{I=g;K=48}}else{I=$(d,e)|0;K=48}if((K|0)==48?(K=0,G=c+(($(d+-1|0,e)|0)<<2)|0,H=b+(I<<2)|0,J=c+(I<<2)|0,(k[B>>2]|0)>0):0){h=0;do{f=k[G+(h<<2)>>2]|0;g=k[w>>2]|0;if((f|0)>(g|0)){i=k[x>>2]|0;k[i+(h<<2)>>2]=g}else{m=k[y>>2]|0;i=k[x>>2]|0;k[i+(h<<2)>>2]=(f|0)<(m|0)?m:f}h=h+1|0;f=k[B>>2]|0}while((h|0)<(f|0));if((f|0)>0){g=0;do{f=(k[H+(g<<2)>>2]|0)+(k[i+(g<<2)>>2]|0)|0;h=J+(g<<2)|0;k[h>>2]=f;if((f|0)<=(k[w>>2]|0)){if((f|0)<(k[y>>2]|0)){f=(k[n>>2]|0)+f|0;K=58}}else{f=f-(k[n>>2]|0)|0;K=58}if((K|0)==58){K=0;k[h>>2]=f}g=g+1|0}while((g|0)<(k[B>>2]|0))}}d=d+1|0;if((d|0)>=(t|0))break;g=k[s>>2]|0;f=k[g>>2]|0;h=k[g+4>>2]|0}Yr(A);Yr(z);return 1}function ec(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;C=a+8|0;k[C>>2]=e;h=a+32|0;i=a+36|0;g=k[i>>2]|0;f=k[h>>2]|0;d=g-f>>2;if(d>>>0>=e>>>0){if(d>>>0>e>>>0?(j=f+(e<<2)|0,(g|0)!=(j|0)):0)k[i>>2]=g+(~((g+-4-j|0)>>>2)<<2)}else oj(h,e-d|0);z=e>>>0>1073741823?-1:e<<2;A=Xr(z)|0;_j(A|0,0,z|0)|0;B=Xr(z)|0;_j(B|0,0,z|0)|0;if((k[C>>2]|0)>0){j=a+16|0;h=a+32|0;l=a+12|0;g=0;do{d=k[A+(g<<2)>>2]|0;f=k[j>>2]|0;if((d|0)>(f|0)){i=k[h>>2]|0;k[i+(g<<2)>>2]=f}else{z=k[l>>2]|0;i=k[h>>2]|0;k[i+(g<<2)>>2]=(d|0)<(z|0)?z:d}g=g+1|0;d=k[C>>2]|0}while((g|0)<(d|0));if((d|0)>0){g=a+20|0;f=0;do{d=(k[b+(f<<2)>>2]|0)+(k[i+(f<<2)>>2]|0)|0;h=c+(f<<2)|0;k[h>>2]=d;if((d|0)<=(k[j>>2]|0)){if((d|0)<(k[l>>2]|0)){d=(k[g>>2]|0)+d|0;H=18}}else{d=d-(k[g>>2]|0)|0;H=18}if((H|0)==18){H=0;k[h>>2]=d}f=f+1|0}while((f|0)<(k[C>>2]|0))}}s=k[a+48>>2]|0;t=a+56|0;g=k[t>>2]|0;h=k[g+4>>2]|0;f=k[g>>2]|0;z=h-f|0;u=z>>2;if((z|0)<=4){Yr(B);Yr(A);return 1}v=k[a+52>>2]|0;w=(e|0)>0;x=a+16|0;y=a+32|0;z=a+12|0;p=a+20|0;q=s+12|0;r=e<<2;d=1;while(1){if(h-f>>2>>>0<=d>>>0){Iq(g);f=k[g>>2]|0}o=k[f+(d<<2)>>2]|0;if(w)_j(A|0,0,r|0)|0;if((o|0)>-1){n=k[q>>2]|0;h=0;m=o;do{g=k[n+(m<<2)>>2]|0;if((g|0)>=0){i=k[s>>2]|0;j=k[v>>2]|0;a=k[j+(k[i+(g<<2)>>2]<<2)>>2]|0;f=g+1|0;f=((f|0)%3|0|0)==0?g+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[i+(f<<2)>>2]|0;l=k[j+(f<<2)>>2]|0;f=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((f|0)<0)f=-1073741824;else f=k[i+(f<<2)>>2]|0;f=k[j+(f<<2)>>2]|0;if((a|0)<(d|0)&(l|0)<(d|0)&(f|0)<(d|0)){j=$(a,e)|0;i=$(l,e)|0;g=$(f,e)|0;if(w){f=0;do{k[B+(f<<2)>>2]=(k[c+(f+g<<2)>>2]|0)+(k[c+(f+i<<2)>>2]|0)-(k[c+(f+j<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0));if(w){f=0;do{a=A+(f<<2)|0;k[a>>2]=(k[a>>2]|0)+(k[B+(f<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0))}}h=h+1|0}}f=(((m>>>0)%3|0|0)==0?2:-1)+m|0;do if((f|0)>=0){f=k[n+(f<<2)>>2]|0;if((f|0)>=0)if(!((f>>>0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}while(0);m=(f|0)==(o|0)?-1073741824:f}while((m|0)>-1);g=$(d,e)|0;if(h){if(w){f=0;do{o=A+(f<<2)|0;k[o>>2]=(k[o>>2]|0)/(h|0)|0;f=f+1|0}while((f|0)!=(e|0))}l=b+(g<<2)|0;j=c+(g<<2)|0;if((k[C>>2]|0)>0){h=0;do{f=k[A+(h<<2)>>2]|0;g=k[x>>2]|0;if((f|0)>(g|0)){i=k[y>>2]|0;k[i+(h<<2)>>2]=g}else{o=k[z>>2]|0;i=k[y>>2]|0;k[i+(h<<2)>>2]=(f|0)<(o|0)?o:f}h=h+1|0;f=k[C>>2]|0}while((h|0)<(f|0));if((f|0)>0){g=0;do{f=(k[l+(g<<2)>>2]|0)+(k[i+(g<<2)>>2]|0)|0;h=j+(g<<2)|0;k[h>>2]=f;if((f|0)<=(k[x>>2]|0)){if((f|0)<(k[z>>2]|0)){f=(k[p>>2]|0)+f|0;H=72}}else{f=f-(k[p>>2]|0)|0;H=72}if((H|0)==72){H=0;k[h>>2]=f}g=g+1|0}while((g|0)<(k[C>>2]|0))}}}else{F=g;H=50}}else{F=$(d,e)|0;H=50}if((H|0)==50?(H=0,D=c+(($(d+-1|0,e)|0)<<2)|0,E=b+(F<<2)|0,G=c+(F<<2)|0,(k[C>>2]|0)>0):0){h=0;do{f=k[D+(h<<2)>>2]|0;g=k[x>>2]|0;if((f|0)>(g|0)){i=k[y>>2]|0;k[i+(h<<2)>>2]=g}else{o=k[z>>2]|0;i=k[y>>2]|0;k[i+(h<<2)>>2]=(f|0)<(o|0)?o:f}h=h+1|0;f=k[C>>2]|0}while((h|0)<(f|0));if((f|0)>0){g=0;do{f=(k[E+(g<<2)>>2]|0)+(k[i+(g<<2)>>2]|0)|0;h=G+(g<<2)|0;k[h>>2]=f;if((f|0)<=(k[x>>2]|0)){if((f|0)<(k[z>>2]|0)){f=(k[p>>2]|0)+f|0;H=60}}else{f=f-(k[p>>2]|0)|0;H=60}if((H|0)==60){H=0;k[h>>2]=f}g=g+1|0}while((g|0)<(k[C>>2]|0))}}d=d+1|0;if((d|0)>=(u|0))break;g=k[t>>2]|0;f=k[g>>2]|0;h=k[g+4>>2]|0}Yr(B);Yr(A);return 1}function fc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;z=u;u=u+32|0;q=z+28|0;p=z+24|0;i=z+20|0;j=z+16|0;l=z+12|0;m=z+8|0;v=z+4|0;w=z;e=k[b>>2]|0;if((e|0)<0){u=z;return}t=(e>>>0)/3|0;r=a+12|0;if(k[(k[r>>2]|0)+(t>>>5<<2)>>2]&1<<(t&31)|0){u=z;return}s=a+56|0;c=k[s>>2]|0;t=a+60|0;d=k[t>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;k[t>>2]=c}o=a+64|0;if((c|0)==(k[o>>2]|0))Dj(s,b);else{k[c>>2]=e;k[t>>2]=c+4}c=k[a>>2]|0;d=k[b>>2]|0;e=d+1|0;do if((d|0)>=0){f=k[c+28>>2]|0;c=k[f+((((e|0)%3|0|0)==0?d+-2|0:e)<<2)>>2]|0;if(!((d>>>0)%3|0)){g=c;d=d+2|0;c=f;break}else{g=c;d=d+-1|0;c=f;break}}else{c=k[c+28>>2]|0;g=k[c+(d<<2)>>2]|0}while(0);h=k[c+(d<<2)>>2]|0;n=a+24|0;c=k[n>>2]|0;d=c+(g>>>5<<2)|0;e=1<<(g&31);f=k[d>>2]|0;if(!(f&e)){k[d>>2]=f|e;k[i>>2]=g;c=k[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;k[j>>2]=c;k[p>>2]=k[i>>2];k[q>>2]=k[j>>2];ph(a+36|0,p,q);c=k[n>>2]|0}c=c+(h>>>5<<2)|0;d=1<<(h&31);e=k[c>>2]|0;if(!(e&d)){k[c>>2]=e|d;d=a+36|0;k[l>>2]=h;c=k[b>>2]|0;do if((c|0)>=0)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);k[m>>2]=c;k[p>>2]=k[l>>2];k[q>>2]=k[m>>2];ph(d,p,q)}d=k[s>>2]|0;c=k[t>>2]|0;if((d|0)==(c|0)){u=z;return}j=a+36|0;do{e=k[c+-4>>2]|0;k[b>>2]=e;f=(e|0)/3|0;if((e|0)>=0?(x=k[r>>2]|0,(k[x+(f>>>5<<2)>>2]&1<<(f&31)|0)==0):0){c=e;d=x;e=k[a>>2]|0;a:while(1){h=(c|0)/3|0;c=d+(h>>>5<<2)|0;k[c>>2]=1<<(h&31)|k[c>>2];c=k[b>>2]|0;h=k[(k[e+28>>2]|0)+(c<<2)>>2]|0;d=k[(k[e+40>>2]|0)+(h<<2)>>2]|0;if((d|0)<0)i=1;else{i=k[(k[k[e+64>>2]>>2]|0)+(d<<2)>>2]|0;i=(1<<(i&31)&k[(k[e+12>>2]|0)+(i>>>5<<2)>>2]|0)!=0}d=(k[n>>2]|0)+(h>>>5<<2)|0;f=1<<(h&31);g=k[d>>2]|0;if(!(g&f)){k[d>>2]=g|f;k[v>>2]=h;k[w>>2]=k[b>>2];k[p>>2]=k[v>>2];k[q>>2]=k[w>>2];ph(j,p,q);e=k[a>>2]|0;c=k[b>>2]|0;if(i){i=e;y=40}else{d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;do if(!(1<<(c&31)&k[(k[e>>2]|0)+(c>>>5<<2)>>2])){if((c|0)<0)break;c=k[(k[(k[e+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;while(0);k[b>>2]=c}}else{i=e;y=40}if((y|0)==40){y=0;e=(c|0)<0;d=c+1|0;if(e)d=c;else d=((d|0)%3|0|0)==0?c+-2|0:d;if(!(1<<(d&31)&k[(k[i>>2]|0)+(d>>>5<<2)>>2])){if((d|0)>=0)d=k[(k[(k[i+64>>2]|0)+12>>2]|0)+(d<<2)>>2]|0}else d=-1073741824;k[q>>2]=d;do if(!e)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);do if(!(1<<(c&31)&k[(k[i>>2]|0)+(c>>>5<<2)>>2])){if((c|0)<0)break;c=k[(k[(k[i+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;while(0);m=(d|0)<0;e=m?-1:(d>>>0)/3|0;f=(c|0)<0;g=f?-1:(c>>>0)/3|0;do if(!m){h=k[r>>2]|0;if(k[h+(e>>>5<<2)>>2]&1<<(e&31)|0){y=54;break}if(f){c=d;break}if(!(k[h+(g>>>5<<2)>>2]&1<<(g&31))){y=59;break a}else c=d}else y=54;while(0);if((y|0)==54){y=0;if(f){y=56;break}if(k[(k[r>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)){y=56;break}}k[b>>2]=c;e=i}d=k[r>>2]|0}do if((y|0)==56){y=0;c=(k[t>>2]|0)+-4|0;k[t>>2]=c}else if((y|0)==59){y=0;d=k[t>>2]|0;k[d+-4>>2]=c;if((d|0)==(k[o>>2]|0)){Dj(s,q);c=k[t>>2]|0;break}else{k[d>>2]=k[q>>2];c=d+4|0;k[t>>2]=c;break}}while(0);d=k[s>>2]|0}else{c=c+-4|0;k[t>>2]=c}}while((d|0)!=(c|0));u=z;return}function gc(a,b,c){a=a|0;b=b|0;c=c|0;var 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,v=0,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,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;N=u;u=u+96|0;G=N+72|0;H=N+48|0;I=N+24|0;J=N;if(!(k[a>>2]|0))Ka(10840,11269,78,11436);K=a+4|0;if(!(k[K>>2]|0))Ka(10840,11269,78,11436);F=a+12|0;j=k[F>>2]|0;n=k[b>>2]|0;k[G>>2]=j;k[G+4>>2]=n;E=G+8|0;k[E>>2]=n;i[G+12>>0]=1;m=(n|0)<0;if(m)l=-1073741824;else l=k[(k[j>>2]|0)+(n<<2)>>2]|0;D=a+16|0;j=k[D>>2]|0;b=k[j>>2]|0;if((k[j+4>>2]|0)-b>>2>>>0<=l>>>0){Iq(j);b=k[j>>2]|0}eh(H,a,k[b+(l<<2)>>2]|0);a:do if(!m){w=I+8|0;x=H+8|0;y=I+16|0;z=H+16|0;A=J+8|0;B=J+16|0;v=n+1|0;v=((v|0)%3|0|0)==0?n+-2|0:v;C=(v|0)<0;s=n+(((n>>>0)%3|0|0)==0?2:-1)|0;t=(s|0)<0;p=0;m=0;q=0;n=0;r=0;o=0;while(1){if(!(k[a>>2]|0)){b=13;break}if(!(k[K>>2]|0)){b=13;break}if(C)l=-1073741824;else l=k[(k[k[F>>2]>>2]|0)+(v<<2)>>2]|0;j=k[D>>2]|0;b=k[j>>2]|0;if((k[j+4>>2]|0)-b>>2>>>0<=l>>>0){Iq(j);b=k[j>>2]|0}eh(I,a,k[b+(l<<2)>>2]|0);if(!(k[a>>2]|0)){b=21;break}if(!(k[K>>2]|0)){b=21;break}if(t)l=-1073741824;else l=k[(k[k[F>>2]>>2]|0)+(s<<2)>>2]|0;j=k[D>>2]|0;b=k[j>>2]|0;if((k[j+4>>2]|0)-b>>2>>>0<=l>>>0){Iq(j);b=k[j>>2]|0}eh(J,a,k[b+(l<<2)>>2]|0);l=I;Y=H;X=k[Y>>2]|0;Y=k[Y+4>>2]|0;l=Wo(k[l>>2]|0,k[l+4>>2]|0,X|0,Y|0)|0;O=M;P=w;_=x;Z=k[_>>2]|0;_=k[_+4>>2]|0;P=Wo(k[P>>2]|0,k[P+4>>2]|0,Z|0,_|0)|0;Q=M;S=y;j=z;R=k[j>>2]|0;j=k[j+4>>2]|0;S=Wo(k[S>>2]|0,k[S+4>>2]|0,R|0,j|0)|0;T=M;U=J;Y=Wo(k[U>>2]|0,k[U+4>>2]|0,X|0,Y|0)|0;X=M;U=A;_=Wo(k[U>>2]|0,k[U+4>>2]|0,Z|0,_|0)|0;Z=M;U=B;j=Wo(k[U>>2]|0,k[U+4>>2]|0,R|0,j|0)|0;R=M;U=io(j|0,R|0,P|0,Q|0)|0;b=M;W=io(_|0,Z|0,S|0,T|0)|0;V=M;T=io(Y|0,X|0,S|0,T|0)|0;S=M;R=io(j|0,R|0,l|0,O|0)|0;j=M;O=io(_|0,Z|0,l|0,O|0)|0;l=M;Q=io(Y|0,X|0,P|0,Q|0)|0;P=M;m=Wo(p|0,m|0,W|0,V|0)|0;b=Fp(m|0,M|0,U|0,b|0)|0;m=M;n=Fp(T|0,S|0,q|0,n|0)|0;j=Wo(n|0,M|0,R|0,j|0)|0;n=M;o=Wo(r|0,o|0,Q|0,P|0)|0;l=Fp(o|0,M|0,O|0,l|0)|0;o=M;Rh(G);if((k[E>>2]|0)<0){h=m;g=b;f=n;e=j;L=o;d=l;break a}else{p=b;q=j;r=l}}if((b|0)==13)Ka(10840,11269,62,11458);else if((b|0)==21)Ka(10840,11269,62,11458)}else{h=0;g=0;f=0;e=0;L=0;d=0}while(0);Z=(h|0)>-1|(h|0)==-1&g>>>0>4294967295;_=Wo(0,0,g|0,h|0)|0;b=Z?h:M;U=(f|0)>-1|(f|0)==-1&e>>>0>4294967295;V=Wo(0,0,e|0,f|0)|0;W=U?f:M;Y=(L|0)>-1|(L|0)==-1&d>>>0>4294967295;X=Wo(0,0,d|0,L|0)|0;Y=Fp((U?e:V)|0,W|0,(Y?d:X)|0,(Y?L:M)|0)|0;b=Fp(Y|0,M|0,(Z?g:_)|0,b|0)|0;if((b|0)>536870912){b=So(b|0,M|0,29)|0;b=b&7;g=kl(g|0,h|0,b|0,0)|0;h=M;e=kl(e|0,f|0,b|0,0)|0;f=M;d=kl(d|0,L|0,b|0,0)|0;b=M}else b=L;Y=(h|0)>-1|(h|0)==-1&g>>>0>4294967295;Z=Wo(0,0,g|0,h|0)|0;_=Y?h:M;T=(f|0)>-1|(f|0)==-1&e>>>0>4294967295;U=Wo(0,0,e|0,f|0)|0;V=T?f:M;X=(b|0)>-1|(b|0)==-1&d>>>0>4294967295;W=Wo(0,0,d|0,b|0)|0;X=Fp((T?e:U)|0,V|0,(X?d:W)|0,(X?b:M)|0)|0;_=Fp(X|0,M|0,(Y?g:Z)|0,_|0)|0;Z=M;if((Z|0)<0|(Z|0)==0&_>>>0<536870913){k[c>>2]=g;k[c+4>>2]=e;k[c+8>>2]=d;u=N;return}else Ka(11479,11269,116,11436)}function hc(a,b,c){a=a|0;b=b|0;c=c|0;var 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,v=0,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,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;K=u;u=u+96|0;E=K+72|0;F=K+48|0;G=K+24|0;H=K;if(!(k[a>>2]|0))Ka(10840,11269,78,11436);I=a+4|0;if(!(k[I>>2]|0))Ka(10840,11269,78,11436);D=a+12|0;l=k[D>>2]|0;m=k[b>>2]|0;k[E>>2]=l;k[E+4>>2]=m;B=E+8|0;k[B>>2]=m;i[E+12>>0]=1;l=k[(k[l+28>>2]|0)+(m<<2)>>2]|0;C=a+16|0;j=k[C>>2]|0;b=k[j>>2]|0;if((k[j+4>>2]|0)-b>>2>>>0<=l>>>0){Iq(j);b=k[j>>2]|0}eh(F,a,k[b+(l<<2)>>2]|0);a:do if((m|0)>=0){v=G+8|0;w=F+8|0;x=G+16|0;y=F+16|0;z=H+8|0;A=H+16|0;t=m+1|0;t=((t|0)%3|0|0)==0?m+-2|0:t;s=m+(((m>>>0)%3|0|0)==0?2:-1)|0;p=0;m=0;q=0;n=0;r=0;o=0;while(1){if(!(k[a>>2]|0)){b=11;break}if(!(k[I>>2]|0)){b=11;break}l=k[(k[(k[D>>2]|0)+28>>2]|0)+(t<<2)>>2]|0;j=k[C>>2]|0;b=k[j>>2]|0;if((k[j+4>>2]|0)-b>>2>>>0<=l>>>0){Iq(j);b=k[j>>2]|0}eh(G,a,k[b+(l<<2)>>2]|0);if(!(k[a>>2]|0)){b=17;break}if(!(k[I>>2]|0)){b=17;break}l=k[(k[(k[D>>2]|0)+28>>2]|0)+(s<<2)>>2]|0;j=k[C>>2]|0;b=k[j>>2]|0;if((k[j+4>>2]|0)-b>>2>>>0<=l>>>0){Iq(j);b=k[j>>2]|0}eh(H,a,k[b+(l<<2)>>2]|0);l=G;W=F;V=k[W>>2]|0;W=k[W+4>>2]|0;l=Wo(k[l>>2]|0,k[l+4>>2]|0,V|0,W|0)|0;L=M;N=v;Y=w;X=k[Y>>2]|0;Y=k[Y+4>>2]|0;N=Wo(k[N>>2]|0,k[N+4>>2]|0,X|0,Y|0)|0;O=M;Q=x;j=y;P=k[j>>2]|0;j=k[j+4>>2]|0;Q=Wo(k[Q>>2]|0,k[Q+4>>2]|0,P|0,j|0)|0;R=M;S=H;W=Wo(k[S>>2]|0,k[S+4>>2]|0,V|0,W|0)|0;V=M;S=z;Y=Wo(k[S>>2]|0,k[S+4>>2]|0,X|0,Y|0)|0;X=M;S=A;j=Wo(k[S>>2]|0,k[S+4>>2]|0,P|0,j|0)|0;P=M;S=io(j|0,P|0,N|0,O|0)|0;b=M;U=io(Y|0,X|0,Q|0,R|0)|0;T=M;R=io(W|0,V|0,Q|0,R|0)|0;Q=M;P=io(j|0,P|0,l|0,L|0)|0;j=M;L=io(Y|0,X|0,l|0,L|0)|0;l=M;O=io(W|0,V|0,N|0,O|0)|0;N=M;m=Wo(p|0,m|0,U|0,T|0)|0;b=Fp(m|0,M|0,S|0,b|0)|0;m=M;n=Fp(R|0,Q|0,q|0,n|0)|0;j=Wo(n|0,M|0,P|0,j|0)|0;n=M;o=Wo(r|0,o|0,O|0,N|0)|0;l=Fp(o|0,M|0,L|0,l|0)|0;o=M;Ig(E);if((k[B>>2]|0)<0){h=m;g=b;f=n;e=j;J=o;d=l;break a}else{p=b;q=j;r=l}}if((b|0)==11)Ka(10840,11269,62,11458);else if((b|0)==17)Ka(10840,11269,62,11458)}else{h=0;g=0;f=0;e=0;J=0;d=0}while(0);X=(h|0)>-1|(h|0)==-1&g>>>0>4294967295;Y=Wo(0,0,g|0,h|0)|0;b=X?h:M;S=(f|0)>-1|(f|0)==-1&e>>>0>4294967295;T=Wo(0,0,e|0,f|0)|0;U=S?f:M;W=(J|0)>-1|(J|0)==-1&d>>>0>4294967295;V=Wo(0,0,d|0,J|0)|0;W=Fp((S?e:T)|0,U|0,(W?d:V)|0,(W?J:M)|0)|0;b=Fp(W|0,M|0,(X?g:Y)|0,b|0)|0;if((b|0)>536870912){b=So(b|0,M|0,29)|0;b=b&7;g=kl(g|0,h|0,b|0,0)|0;h=M;e=kl(e|0,f|0,b|0,0)|0;f=M;d=kl(d|0,J|0,b|0,0)|0;b=M}else b=J;W=(h|0)>-1|(h|0)==-1&g>>>0>4294967295;X=Wo(0,0,g|0,h|0)|0;Y=W?h:M;R=(f|0)>-1|(f|0)==-1&e>>>0>4294967295;S=Wo(0,0,e|0,f|0)|0;T=R?f:M;V=(b|0)>-1|(b|0)==-1&d>>>0>4294967295;U=Wo(0,0,d|0,b|0)|0;V=Fp((R?e:S)|0,T|0,(V?d:U)|0,(V?b:M)|0)|0;Y=Fp(V|0,M|0,(W?g:X)|0,Y|0)|0;X=M;if((X|0)<0|(X|0)==0&Y>>>0<536870913){k[c>>2]=g;k[c+4>>2]=e;k[c+8>>2]=d;u=K;return}else Ka(11479,11269,116,11436)}function ic(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;z=u;u=u+32|0;q=z+28|0;p=z+24|0;i=z+20|0;j=z+16|0;l=z+12|0;m=z+8|0;v=z+4|0;w=z;e=k[b>>2]|0;if((e|0)<0){u=z;return}t=(e>>>0)/3|0;r=a+12|0;if(k[(k[r>>2]|0)+(t>>>5<<2)>>2]&1<<(t&31)|0){u=z;return}s=a+56|0;c=k[s>>2]|0;t=a+60|0;d=k[t>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;k[t>>2]=c}o=a+64|0;if((c|0)==(k[o>>2]|0))Dj(s,b);else{k[c>>2]=e;k[t>>2]=c+4}e=k[a>>2]|0;d=k[b>>2]|0;c=d+1|0;if((d|0)>=0){c=((c|0)%3|0|0)==0?d+-2|0:c;if((c|0)<0)c=-1073741824;else c=k[(k[e>>2]|0)+(c<<2)>>2]|0;d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((d|0)<0){g=c;h=-1073741824}else{g=c;h=k[(k[e>>2]|0)+(d<<2)>>2]|0}}else{g=-1073741824;h=-1073741824}n=a+24|0;c=k[n>>2]|0;d=c+(g>>>5<<2)|0;e=1<<(g&31);f=k[d>>2]|0;if(!(f&e)){k[d>>2]=f|e;k[i>>2]=g;c=k[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;k[j>>2]=c;k[p>>2]=k[i>>2];k[q>>2]=k[j>>2];ph(a+36|0,p,q);c=k[n>>2]|0}c=c+(h>>>5<<2)|0;d=1<<(h&31);e=k[c>>2]|0;if(!(e&d)){k[c>>2]=e|d;d=a+36|0;k[l>>2]=h;c=k[b>>2]|0;do if((c|0)>=0)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);k[m>>2]=c;k[p>>2]=k[l>>2];k[q>>2]=k[m>>2];ph(d,p,q)}c=k[s>>2]|0;e=k[t>>2]|0;if((c|0)==(e|0)){u=z;return}j=a+36|0;d=c;while(1){c=k[e+-4>>2]|0;k[b>>2]=c;f=(c|0)/3|0;if((c|0)>=0?(x=k[r>>2]|0,(k[x+(f>>>5<<2)>>2]&1<<(f&31)|0)==0):0){d=x;a:while(1){e=(c|0)/3|0;f=d+(e>>>5<<2)|0;k[f>>2]=1<<(e&31)|k[f>>2];f=k[b>>2]|0;e=k[a>>2]|0;if((f|0)<0)i=-1073741824;else i=k[(k[e>>2]|0)+(f<<2)>>2]|0;c=k[(k[e+24>>2]|0)+(i<<2)>>2]|0;d=c+1|0;if((c|0)>=0){c=((d|0)%3|0|0)==0?c+-2|0:d;if((c|0)>=0){c=k[(k[e+12>>2]|0)+(c<<2)>>2]|0;d=c+1|0;if((c|0)<0)h=c;else h=((d|0)%3|0|0)==0?c+-2|0:d}else h=c}else h=c;c=(k[n>>2]|0)+(i>>>5<<2)|0;d=1<<(i&31);g=k[c>>2]|0;if(!(g&d)){k[c>>2]=g|d;k[v>>2]=i;k[w>>2]=k[b>>2];k[p>>2]=k[v>>2];k[q>>2]=k[w>>2];ph(j,p,q);d=k[a>>2]|0;c=k[b>>2]|0;if((h|0)<0){f=c;e=d;y=41}else{do if((c|0)<0)c=-1073741824;else{m=c+1|0;c=((m|0)%3|0|0)==0?c+-2|0:m;if((c|0)<0)break;c=k[(k[d+12>>2]|0)+(c<<2)>>2]|0}while(0);k[b>>2]=c}}else y=41;if((y|0)==41){y=0;if((f|0)<0){y=44;break}c=f+1|0;c=((c|0)%3|0|0)==0?f+-2|0:c;if((c|0)>=0)c=k[(k[e+12>>2]|0)+(c<<2)>>2]|0;k[q>>2]=c;d=(((f>>>0)%3|0|0)==0?2:-1)+f|0;if((d|0)>=0)d=k[(k[e+12>>2]|0)+(d<<2)>>2]|0;m=(c|0)<0;e=m?-1:(c>>>0)/3|0;f=(d|0)<0;g=f?-1:(d>>>0)/3|0;do if(!m){h=k[r>>2]|0;if(k[h+(e>>>5<<2)>>2]&1<<(e&31)|0){y=49;break}if(f)break;if(!(k[h+(g>>>5<<2)>>2]&1<<(g&31))){y=54;break a}}else y=49;while(0);if((y|0)==49){y=0;if(f){y=51;break}if(!(k[(k[r>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)))c=d;else{y=51;break}}k[b>>2]=c}d=k[r>>2]|0}do if((y|0)==44){k[q>>2]=-1073741824;y=51}else if((y|0)==54){y=0;c=k[t>>2]|0;k[c+-4>>2]=d;if((c|0)==(k[o>>2]|0)){Dj(s,q);c=k[t>>2]|0;break}else{k[c>>2]=k[q>>2];c=c+4|0;k[t>>2]=c;break}}while(0);if((y|0)==51){y=0;c=(k[t>>2]|0)+-4|0;k[t>>2]=c}d=k[s>>2]|0}else{c=e+-4|0;k[t>>2]=c}if((d|0)==(c|0))break;else e=c}u=z;return}function jc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=Pa,h=0,j=Pa,m=Pa;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}e=b+d|0;i[s>>0]=i[e>>0];i[s+1>>0]=i[e+1>>0];i[s+2>>0]=i[e+2>>0];i[s+3>>0]=i[e+3>>0];g=da(o[s>>2]);e=+O(+g)>=1.0?(+g>0.0?~~+aa(+N(+g/4294967296.0),4294967295.0)>>>0:~~+_((+g-+(~~+g>>>0))/4294967296.0)>>>0):0;f=c;k[f>>2]=~~+g>>>0;k[f+4>>2]=e;f=c+8|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;f=1;return f|0}case 2:{h=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,8,0)|0;h=M;f=k[a>>2]|0;b=k[f>>2]|0;if((h|0)>0|((h|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){h=0;return h|0}f=b+d|0;e=f;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=(k[s>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24,da(o[s>>2]));e=+O(+g)>=1.0?(+g>0.0?~~+aa(+N(+g/4294967296.0),4294967295.0)>>>0:~~+_((+g-+(~~+g>>>0))/4294967296.0)>>>0):0;h=c;k[h>>2]=~~+g>>>0;k[h+4>>2]=e;g=(k[s>>2]=f,da(o[s>>2]));f=+O(+g)>=1.0?(+g>0.0?~~+aa(+N(+g/4294967296.0),4294967295.0)>>>0:~~+_((+g-+(~~+g>>>0))/4294967296.0)>>>0):0;h=c+8|0;k[h>>2]=~~+g>>>0;k[h+4>>2]=f;h=c+16|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;h=a+40|0;d=Fp(io(k[h>>2]|0,k[h+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,12,0)|0;e=M;h=k[a>>2]|0;b=k[h>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[h+4>>2]|0)-b|0)>>>0:0)){h=0;return h|0}f=b+d|0;i[s>>0]=i[f>>0];i[s+1>>0]=i[f+1>>0];i[s+2>>0]=i[f+2>>0];i[s+3>>0]=i[f+3>>0];m=da(o[s>>2]);h=f+4|0;i[s>>0]=i[h>>0];i[s+1>>0]=i[h+1>>0];i[s+2>>0]=i[h+2>>0];i[s+3>>0]=i[h+3>>0];j=da(o[s>>2]);f=f+8|0;i[s>>0]=i[f>>0];i[s+1>>0]=i[f+1>>0];i[s+2>>0]=i[f+2>>0];i[s+3>>0]=i[f+3>>0];g=da(o[s>>2]);f=+O(+m)>=1.0?(+m>0.0?~~+aa(+N(+m/4294967296.0),4294967295.0)>>>0:~~+_((+m-+(~~+m>>>0))/4294967296.0)>>>0):0;h=c;k[h>>2]=~~+m>>>0;k[h+4>>2]=f;h=+O(+j)>=1.0?(+j>0.0?~~+aa(+N(+j/4294967296.0),4294967295.0)>>>0:~~+_((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;f=c+8|0;k[f>>2]=~~+j>>>0;k[f+4>>2]=h;f=+O(+g)>=1.0?(+g>0.0?~~+aa(+N(+g/4294967296.0),4294967295.0)>>>0:~~+_((+g-+(~~+g>>>0))/4294967296.0)>>>0):0;h=c+16|0;k[h>>2]=~~+g>>>0;k[h+4>>2]=f;h=1;return h|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;h=a+40|0;d=Fp(io(k[h>>2]|0,k[h+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,16,0)|0;e=M;h=k[a>>2]|0;b=k[h>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[h+4>>2]|0)-b|0)>>>0:0)){h=0;return h|0}f=b+d|0;i[s>>0]=i[f>>0];i[s+1>>0]=i[f+1>>0];i[s+2>>0]=i[f+2>>0];i[s+3>>0]=i[f+3>>0];g=da(o[s>>2]);h=f+4|0;i[s>>0]=i[h>>0];i[s+1>>0]=i[h+1>>0];i[s+2>>0]=i[h+2>>0];i[s+3>>0]=i[h+3>>0];j=da(o[s>>2]);f=f+8|0;i[s>>0]=i[f>>0];i[s+1>>0]=i[f+1>>0];i[s+2>>0]=i[f+2>>0];i[s+3>>0]=i[f+3>>0];m=da(o[s>>2]);f=+O(+g)>=1.0?(+g>0.0?~~+aa(+N(+g/4294967296.0),4294967295.0)>>>0:~~+_((+g-+(~~+g>>>0))/4294967296.0)>>>0):0;h=c;k[h>>2]=~~+g>>>0;k[h+4>>2]=f;h=+O(+j)>=1.0?(+j>0.0?~~+aa(+N(+j/4294967296.0),4294967295.0)>>>0:~~+_((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;f=c+8|0;k[f>>2]=~~+j>>>0;k[f+4>>2]=h;f=+O(+m)>=1.0?(+m>0.0?~~+aa(+N(+m/4294967296.0),4294967295.0)>>>0:~~+_((+m-+(~~+m>>>0))/4294967296.0)>>>0):0;h=c+16|0;k[h>>2]=~~+m>>>0;k[h+4>>2]=f;h=1;return h|0}default:{h=0;return h|0}}return 0}function kc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=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;w=u;u=u+688|0;m=w+680|0;j=w;o=w+8|0;p=w+676|0;q=w+672|0;r=w+668|0;s=w+664|0;t=w+660|0;v=w+656|0;n=w+4|0;f=b+8|0;y=f;e=k[y>>2]|0;y=k[y+4>>2]|0;h=b+16|0;g=h;d=k[g>>2]|0;g=Fp(d|0,k[g+4>>2]|0,4,0)|0;x=M;if((y|0)<(x|0)|(y|0)==(x|0)&e>>>0>>0){y=0;u=w;return y|0}y=(k[b>>2]|0)+d|0;y=l[y>>0]|l[y+1>>0]<<8|l[y+2>>0]<<16|l[y+3>>0]<<24;i[a>>0]=y;i[a+1>>0]=y>>8;i[a+2>>0]=y>>16;i[a+3>>0]=y>>24;y=h;g=k[y>>2]|0;y=k[y+4>>2]|0;d=Fp(g|0,y|0,4,0)|0;e=h;k[e>>2]=d;k[e+4>>2]=M;e=f;x=k[e>>2]|0;e=k[e+4>>2]|0;y=Fp(g|0,y|0,8,0)|0;g=M;if((e|0)<(g|0)|(e|0)==(g|0)&x>>>0>>0){y=0;u=w;return y|0}y=a+4|0;e=(k[b>>2]|0)+d|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;i[y>>0]=e;i[y+1>>0]=e>>8;i[y+2>>0]=e>>16;i[y+3>>0]=e>>24;y=h;e=k[y>>2]|0;y=k[y+4>>2]|0;d=Fp(e|0,y|0,4,0)|0;g=h;k[g>>2]=d;k[g+4>>2]=M;g=a+12|0;z=f;x=k[z>>2]|0;z=k[z+4>>2]|0;y=Fp(e|0,y|0,8,0)|0;e=M;if((z|0)<(e|0)|(z|0)==(e|0)&x>>>0>>0){z=0;u=w;return z|0}e=(k[b>>2]|0)+d|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;i[g>>0]=e;i[g+1>>0]=e>>8;i[g+2>>0]=e>>16;i[g+3>>0]=e>>24;z=h;x=k[z>>2]|0;z=k[z+4>>2]|0;d=Fp(x|0,z|0,4,0)|0;y=h;k[y>>2]=d;k[y+4>>2]=M;a=a+16|0;y=k[f>>2]|0;f=k[f+4>>2]|0;z=Fp(x|0,z|0,8,0)|0;x=M;if((f|0)<(x|0)|(f|0)==(x|0)&y>>>0>>0){z=0;u=w;return z|0}d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;y=h;y=Fp(k[y>>2]|0,k[y+4>>2]|0,4,0)|0;z=h;k[z>>2]=y;k[z+4>>2]=M;if(d>>>0>6){k[j>>2]=d;Ho(19684,j)|0;z=0;u=w;return z|0}d=c;a:do if(e|0){Mj(c,e);switch(k[a>>2]|0){case 0:{Vi(o,3);k[p>>2]=d;k[m>>2]=k[p>>2];Gf(o,b,m)|0;Ng(o);break a}case 1:{Vi(o,3);k[q>>2]=d;k[m>>2]=k[q>>2];Ff(o,b,m)|0;Ng(o);break a}case 2:{Yi(o,3);k[r>>2]=d;k[m>>2]=k[r>>2];If(o,b,m)|0;Qg(o);break a}case 3:{Yi(o,3);k[s>>2]=d;k[m>>2]=k[s>>2];Hf(o,b,m)|0;Qg(o);break a}case 4:{Ci(o,3);k[t>>2]=d;k[m>>2]=k[t>>2];ef(o,b,m)|0;Ag(o);break a}case 5:{Ci(o,3);k[v>>2]=d;k[m>>2]=k[v>>2];df(o,b,m)|0;Ag(o);break a}case 6:{Ci(o,3);k[n>>2]=d;k[m>>2]=k[n>>2];cf(o,b,m)|0;Ag(o);break a}default:{z=0;u=w;return z|0}}}while(0);z=(((k[c+4>>2]|0)-(k[c>>2]|0)|0)/12|0|0)==(k[g>>2]|0);u=w;return z|0}function lc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=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;G=u;u=u+80|0;z=G+76|0;B=G;C=G+72|0;D=G+64|0;E=G+68|0;F=a+28|0;do if(((l[(k[F>>2]|0)+36>>0]|0)<<8&65535)<512){x=b+8|0;y=k[x>>2]|0;x=k[x+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=Fp(d|0,k[e+4>>2]|0,4,0)|0;f=M;if((x|0)<(f|0)|(x|0)==(f|0)&y>>>0>>0){F=0;u=G;return F|0}else{y=(k[b>>2]|0)+d|0;y=l[y>>0]|l[y+1>>0]<<8|l[y+2>>0]<<16|l[y+3>>0]<<24;k[z>>2]=y;k[c>>2]=e;k[c+4>>2]=f;c=y;break}}else if(sk(z,b)|0){c=k[z>>2]|0;break}else{F=0;u=G;return F|0}while(0);if(!c){F=0;u=G;return F|0}x=a+4|0;y=a+8|0;f=k[y>>2]|0;e=k[x>>2]|0;d=f-e>>2;if(c>>>0>d>>>0){oj(x,c-d|0);if(!(k[z>>2]|0)){F=1;u=G;return F|0}}else if(c>>>0>>0?(g=e+(c<<2)|0,(f|0)!=(g|0)):0)k[y>>2]=f+(~((f+-4-g|0)>>>2)<<2);p=k[a+32>>2]|0;q=b+8|0;r=b+16|0;s=B+60|0;t=p+8|0;v=p+12|0;w=a+16|0;o=a+20|0;n=0;while(1){f=q;d=k[f>>2]|0;f=k[f+4>>2]|0;j=r;h=k[j>>2]|0;j=k[j+4>>2]|0;if(!((f|0)>(j|0)|(f|0)==(j|0)&d>>>0>h>>>0)){c=0;d=53;break}g=k[b>>2]|0;m=i[g+h>>0]|0;c=Fp(h|0,j|0,1,0)|0;a=M;e=r;k[e>>2]=c;k[e+4>>2]=a;if(!((f|0)>(a|0)|(f|0)==(a|0)&d>>>0>c>>>0)){c=0;d=53;break}a=i[g+c>>0]|0;c=Fp(h|0,j|0,2,0)|0;e=M;H=r;k[H>>2]=c;k[H+4>>2]=e;if(!((f|0)>(e|0)|(f|0)==(e|0)&d>>>0>c>>>0)){c=0;d=53;break}e=i[g+c>>0]|0;c=Fp(h|0,j|0,3,0)|0;H=M;I=r;k[I>>2]=c;k[I+4>>2]=H;if(!((f|0)>(H|0)|(f|0)==(H|0)&d>>>0>c>>>0)){c=0;d=53;break}d=i[g+c>>0]|0;I=Fp(h|0,j|0,4,0)|0;c=r;k[c>>2]=I;k[c+4>>2]=M;c=a&255;if((a+-1&255)>10){c=0;d=53;break}Jm(B);I=$(Zm(c)|0,e&255)|0;rk(B,m&255,0,e,c,d<<24>>24!=0,I,((I|0)<0)<<31>>31,0,0);I=k[F>>2]|0;if((((l[I+36>>0]|0)<<8|(l[I+37>>0]|0))&65535)>258){sk(C,b)|0;c=k[C>>2]|0}else{H=q;I=k[H>>2]|0;H=k[H+4>>2]|0;d=r;c=k[d>>2]|0;d=Fp(c|0,k[d+4>>2]|0,2,0)|0;e=M;if((H|0)<(e|0)|(H|0)==(e|0)&I>>>0>>0){d=51;break}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8;I=r;k[I>>2]=d;k[I+4>>2]=e;c=c&65535;k[C>>2]=c}k[s>>2]=c;a=jo(96)|0;vm(a,B);k[D>>2]=a;a=hi(p,D)|0;f=k[D>>2]|0;k[D>>2]=0;if(f|0){I=f+88|0;c=k[I>>2]|0;k[I>>2]=0;if(c|0){d=k[c+8>>2]|0;if(d|0){e=c+12|0;if((k[e>>2]|0)!=(d|0))k[e>>2]=d;_r(d)}_r(c)}c=k[f+68>>2]|0;if(c|0){d=f+72|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);_r(c)}I=f+64|0;c=k[I>>2]|0;k[I>>2]=0;if(c|0){d=k[c>>2]|0;if(d|0){e=c+4|0;if((k[e>>2]|0)!=(d|0))k[e>>2]=d;_r(d)}_r(c)}_r(f)}if((a|0)<=-1){d=41;break}c=k[t>>2]|0;if(((k[v>>2]|0)-c>>2|0)<=(a|0)){d=43;break}k[(k[c+(a<<2)>>2]|0)+60>>2]=k[C>>2];d=k[x>>2]|0;k[d+(n<<2)>>2]=a;e=k[o>>2]|0;c=k[w>>2]|0;f=e-c>>2;if((a|0)>=(f|0)){g=a+1|0;k[E>>2]=-1;if(g>>>0<=f>>>0){if(g>>>0>>0?(A=c+(g<<2)|0,(e|0)!=(A|0)):0)k[o>>2]=e+(~((e+-4-A|0)>>>2)<<2)}else{Yh(w,g-f|0,E);d=k[x>>2]|0;c=k[w>>2]|0}}k[c+(a<<2)>>2]=((k[y>>2]|0)-d>>2)+-1;n=n+1|0;if(n>>>0>=(k[z>>2]|0)>>>0){c=1;d=53;break}}if((d|0)==41)Ka(20132,20148,63,20247);else if((d|0)==43)Ka(20257,20148,64,20247);else if((d|0)==51){I=0;u=G;return I|0}else if((d|0)==53){u=G;return c|0}return 0}function mc(a,b){a=a|0;b=b|0;var c=0,d=0,e=Pa,f=Pa,g=0,h=0,j=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=Pa;t=i[b+11>>0]|0;v=t<<24>>24<0;u=v?k[b>>2]|0:b;t=v?k[b+4>>2]|0:t&255;if(t>>>0>3){g=u;m=t;h=t;while(1){v=$(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24,1540483477)|0;m=($(v>>>24^v,1540483477)|0)^($(m,1540483477)|0);h=h+-4|0;if(h>>>0<=3)break;else g=g+4|0}h=t+-4|0;j=h&-4;h=h-j|0;j=u+(j+4)|0;g=m}else{h=t;j=u;g=t}switch(h|0){case 3:{n=l[j+2>>0]<<16^g;x=6;break}case 2:{n=g;x=6;break}case 1:{p=g;x=7;break}default:q=g}if((x|0)==6){p=l[j+1>>0]<<8^n;x=7}if((x|0)==7)q=$(l[j>>0]^p,1540483477)|0;v=$(q>>>13^q,1540483477)|0;v=v>>>15^v;r=a+4|0;g=k[r>>2]|0;s=(g|0)==0;a:do if(!s){p=g+-1|0;j=(p&g|0)==0;if(j)q=v&p;else q=(v>>>0)%(g>>>0)|0;h=k[(k[a>>2]|0)+(q<<2)>>2]|0;if((h|0)!=0?(d=k[h>>2]|0,(d|0)!=0):0){h=(t|0)==0;if(j){if(h){while(1){if((k[d+4>>2]&p|0)!=(q|0)){c=q;break a}u=i[d+8+11>>0]|0;if(!((u<<24>>24<0?k[d+12>>2]|0:u&255)|0))break;d=k[d>>2]|0;if(!d){c=q;break a}}a=d+20|0;return a|0}b:while(1){if((k[d+4>>2]&p|0)!=(q|0)){c=q;break a}h=d+8|0;j=i[h+11>>0]|0;n=j<<24>>24<0;j=j&255;do if(((n?k[d+12>>2]|0:j)|0)==(t|0)){m=k[h>>2]|0;if(n)if(!(lm(m,u,t)|0)){x=54;break b}else break;if((m&255)<<24>>24==(i[u>>0]|0)){m=u;do{j=j+-1|0;h=h+1|0;if(!j){x=54;break b}m=m+1|0}while((i[h>>0]|0)==(i[m>>0]|0))}}while(0);d=k[d>>2]|0;if(!d){c=q;break a}}if((x|0)==54){a=d+20|0;return a|0}}else{if(h){c=d;while(1){if((((k[c+4>>2]|0)>>>0)%(g>>>0)|0|0)!=(q|0)){c=q;break a}u=i[c+8+11>>0]|0;if(!((u<<24>>24<0?k[c+12>>2]|0:u&255)|0)){d=c;break}c=k[c>>2]|0;if(!c){c=q;break a}}a=d+20|0;return a|0}c:while(1){if((((k[d+4>>2]|0)>>>0)%(g>>>0)|0|0)!=(q|0)){c=q;break a}h=d+8|0;j=i[h+11>>0]|0;m=j<<24>>24<0;j=j&255;do if(((m?k[d+12>>2]|0:j)|0)==(t|0)){n=k[h>>2]|0;if(m)if(!(lm(n,u,t)|0)){x=54;break c}else break;if((n&255)<<24>>24==(i[u>>0]|0)){m=u;do{j=j+-1|0;h=h+1|0;if(!j){x=54;break c}m=m+1|0}while((i[h>>0]|0)==(i[m>>0]|0))}}while(0);d=k[d>>2]|0;if(!d){c=q;break a}}if((x|0)==54){a=d+20|0;return a|0}}}else c=q}else c=0;while(0);j=jo(24)|0;gm(j+8|0,b);k[j+20>>2]=0;k[j+4>>2]=v;k[j>>2]=0;h=a+12|0;e=da(((k[h>>2]|0)+1|0)>>>0);y=da(g>>>0);f=da(o[a+16>>2]);do if(s|e>da(y*f)){c=(g>>>0<3|(g+-1&g|0)!=0)&1|g<<1;d=~~da(_(da(e/f)))>>>0;Ti(a,c>>>0>>0?d:c);c=k[r>>2]|0;d=c+-1|0;if(!(d&c)){g=c;c=d&v;break}else{g=c;c=(v>>>0)%(c>>>0)|0;break}}while(0);c=(k[a>>2]|0)+(c<<2)|0;d=k[c>>2]|0;if(!d){b=a+8|0;k[j>>2]=k[b>>2];k[b>>2]=j;k[c>>2]=b;c=k[j>>2]|0;if(c|0){c=k[c+4>>2]|0;d=g+-1|0;if(!(d&g))c=c&d;else c=(c>>>0)%(g>>>0)|0;w=(k[a>>2]|0)+(c<<2)|0;x=52}}else{k[j>>2]=k[d>>2];w=d;x=52}if((x|0)==52)k[w>>2]=j;k[h>>2]=(k[h>>2]|0)+1;a=j;a=a+20|0;return a|0}function nc(a,b,c){a=a|0;b=b|0;c=c|0;var 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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=u;u=u+16|0;x=C+8|0;y=C+4|0;z=C;A=a+64|0;d=k[A>>2]|0;if(((k[d+28>>2]|0)-(k[d+24>>2]|0)|0)<=0){u=C;return}w=b+84|0;s=b+88|0;t=a+52|0;v=c+84|0;j=c+68|0;l=a+56|0;m=a+60|0;n=a+12|0;o=a+28|0;p=a+40|0;q=a+44|0;r=a+48|0;c=0;h=0;a:while(1){b=k[(k[d+24>>2]|0)+(h<<2)>>2]|0;if((b|0)<0)b=d;else{g=c+1|0;d=(b>>>0)/3|0;e=k[w>>2]|0;if((d|0)>=(((k[s>>2]|0)-e|0)/12|0|0)){B=6;break}d=k[e+(d*12|0)+(((b>>>0)%3|0)<<2)>>2]|0;if(!(i[v>>0]|0))d=k[(k[j>>2]|0)+(d<<2)>>2]|0;k[x>>2]=d;e=k[l>>2]|0;if(e>>>0<(k[m>>2]|0)>>>0){k[e>>2]=d;k[l>>2]=e+4}else Dj(t,x);k[x>>2]=b;k[y>>2]=0;b:do if(k[(k[n>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)){d=b+1|0;d=((d|0)%3|0|0)==0?b+-2|0:d;f=k[a>>2]|0;if(!(1<<(d&31)&k[f+(d>>>5<<2)>>2])){if((d|0)>=0){d=k[(k[(k[A>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;e=d+1|0;if((d|0)>=0){d=((e|0)%3|0|0)==0?d+-2|0:e;k[y>>2]=d;if((d|0)>-1)b=d;else break;while(1){k[x>>2]=b;d=b+1|0;d=((d|0)%3|0|0)==0?b+-2|0:d;if(1<<(d&31)&k[f+(d>>>5<<2)>>2]|0){d=-1073741824;break}if((d|0)<0)break;d=k[(k[(k[A>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;e=d+1|0;if((d|0)<0)break;d=((e|0)%3|0|0)==0?d+-2|0:e;k[y>>2]=d;if((d|0)>-1)b=d;else break b}k[y>>2]=d;break}}}else d=-1073741824;k[y>>2]=d}while(0);k[(k[o>>2]|0)+(b<<2)>>2]=c;b=k[q>>2]|0;if((b|0)==(k[r>>2]|0))Dj(p,x);else{k[b>>2]=k[x>>2];k[q>>2]=b+4}f=k[A>>2]|0;d=k[x>>2]|0;c:do if((d|0)>=0){b=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((b|0)>=0){b=k[(k[f+12>>2]|0)+(b<<2)>>2]|0;if((b|0)>=0){e=b+(((b>>>0)%3|0|0)==0?2:-1)|0;k[y>>2]=e;if((e|0)>-1&(e|0)!=(d|0)){f=g;b=c;while(1){g=e+1|0;g=((g|0)%3|0|0)==0?e+-2|0:g;do if(k[(k[a>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)){c=f+1|0;b=(e>>>0)/3|0;d=k[w>>2]|0;if((b|0)>=(((k[s>>2]|0)-d|0)/12|0|0)){B=33;break a}b=k[d+(b*12|0)+(((e>>>0)%3|0)<<2)>>2]|0;if(!(i[v>>0]|0))b=k[(k[j>>2]|0)+(b<<2)>>2]|0;k[z>>2]=b;d=k[l>>2]|0;if(d>>>0<(k[m>>2]|0)>>>0){k[d>>2]=b;k[l>>2]=d+4}else Dj(t,z);b=k[q>>2]|0;if((b|0)==(k[r>>2]|0)){Dj(p,y);d=f;break}else{k[b>>2]=k[y>>2];k[q>>2]=b+4;d=f;break}}else{c=f;d=b}while(0);k[(k[o>>2]|0)+(k[y>>2]<<2)>>2]=d;f=k[A>>2]|0;b=k[y>>2]|0;if((b|0)<0)break;b=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((b|0)<0)break;b=k[(k[f+12>>2]|0)+(b<<2)>>2]|0;if((b|0)<0)break;e=b+(((b>>>0)%3|0|0)==0?2:-1)|0;k[y>>2]=e;if(!((e|0)>-1?(e|0)!=(k[x>>2]|0):0)){b=f;break c}else{f=c;b=d}}k[y>>2]=b;b=f}else{c=g;b=f}}else B=30}else B=30}else{b=d;B=30}while(0);if((B|0)==30){B=0;k[y>>2]=b;c=g;b=f}}h=h+1|0;if((h|0)>=((k[b+28>>2]|0)-(k[b+24>>2]|0)>>2|0)){B=3;break}else d=b}if((B|0)==3){u=C;return}else if((B|0)==6)Ka(20431,20341,64,20426);else if((B|0)==33)Ka(20431,20341,64,20426)}function oc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;x=a+8|0;k[x>>2]=e;h=a+32|0;i=a+36|0;g=k[i>>2]|0;f=k[h>>2]|0;d=g-f>>2;if(d>>>0>=e>>>0)if(d>>>0>e>>>0?(j=f+(e<<2)|0,(g|0)!=(j|0)):0){k[i>>2]=g+(~((g+-4-j|0)>>>2)<<2);d=e}else d=e;else{oj(h,e-d|0);d=k[x>>2]|0}u=k[a+48>>2]|0;v=k[a+52>>2]|0;t=e>>>0>1073741823?-1:e<<2;w=Xr(t)|0;_j(w|0,0,t|0)|0;if((d|0)>0){j=a+16|0;h=a+32|0;l=a+12|0;g=0;do{d=k[w+(g<<2)>>2]|0;f=k[j>>2]|0;if((d|0)>(f|0)){i=k[h>>2]|0;k[i+(g<<2)>>2]=f}else{t=k[l>>2]|0;i=k[h>>2]|0;k[i+(g<<2)>>2]=(d|0)<(t|0)?t:d}g=g+1|0;d=k[x>>2]|0}while((g|0)<(d|0));if((d|0)>0){g=a+20|0;f=0;do{d=(k[b+(f<<2)>>2]|0)+(k[i+(f<<2)>>2]|0)|0;h=c+(f<<2)|0;k[h>>2]=d;if((d|0)<=(k[j>>2]|0)){if((d|0)<(k[l>>2]|0)){d=(k[g>>2]|0)+d|0;C=18}}else{d=d-(k[g>>2]|0)|0;C=18}if((C|0)==18){C=0;k[h>>2]=d}f=f+1|0}while((f|0)<(k[x>>2]|0))}}p=a+56|0;g=k[p>>2]|0;h=k[g+4>>2]|0;f=k[g>>2]|0;t=h-f|0;q=t>>2;if((t|0)<=4){Yr(w);return 1}r=a+16|0;s=a+32|0;t=a+12|0;m=a+20|0;n=u+12|0;o=(e|0)>0;d=1;while(1){if(h-f>>2>>>0<=d>>>0){Iq(g);f=k[g>>2]|0}f=k[f+(d<<2)>>2]|0;a=$(d,e)|0;if((f|0)>=0?(y=k[(k[n>>2]|0)+(f<<2)>>2]|0,(y|0)>=0):0){g=k[u>>2]|0;i=k[v>>2]|0;j=k[i+(k[g+(y<<2)>>2]<<2)>>2]|0;f=y+1|0;f=((f|0)%3|0|0)==0?y+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[g+(f<<2)>>2]|0;h=k[i+(f<<2)>>2]|0;f=(((y>>>0)%3|0|0)==0?2:-1)+y|0;if((f|0)<0)f=-1073741824;else f=k[g+(f<<2)>>2]|0;f=k[i+(f<<2)>>2]|0;if((j|0)<(d|0)&(h|0)<(d|0)&(f|0)<(d|0)){i=$(j,e)|0;h=$(h,e)|0;g=$(f,e)|0;if(o){f=0;do{k[w+(f<<2)>>2]=(k[c+(f+g<<2)>>2]|0)+(k[c+(f+h<<2)>>2]|0)-(k[c+(f+i<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0))}j=b+(a<<2)|0;l=c+(a<<2)|0;if((k[x>>2]|0)>0){h=0;do{f=k[w+(h<<2)>>2]|0;g=k[r>>2]|0;if((f|0)>(g|0)){i=k[s>>2]|0;k[i+(h<<2)>>2]=g}else{g=k[t>>2]|0;i=k[s>>2]|0;k[i+(h<<2)>>2]=(f|0)<(g|0)?g:f}h=h+1|0;f=k[x>>2]|0}while((h|0)<(f|0));if((f|0)>0){g=0;do{f=(k[j+(g<<2)>>2]|0)+(k[i+(g<<2)>>2]|0)|0;h=l+(g<<2)|0;k[h>>2]=f;if((f|0)<=(k[r>>2]|0)){if((f|0)<(k[t>>2]|0)){f=(k[m>>2]|0)+f|0;C=57}}else{f=f-(k[m>>2]|0)|0;C=57}if((C|0)==57){C=0;k[h>>2]=f}g=g+1|0}while((g|0)<(k[x>>2]|0))}}}else C=35}else C=35;if((C|0)==35?(C=0,z=c+(($(d+-1|0,e)|0)<<2)|0,A=b+(a<<2)|0,B=c+(a<<2)|0,(k[x>>2]|0)>0):0){h=0;do{f=k[z+(h<<2)>>2]|0;g=k[r>>2]|0;if((f|0)>(g|0)){i=k[s>>2]|0;k[i+(h<<2)>>2]=g}else{a=k[t>>2]|0;i=k[s>>2]|0;k[i+(h<<2)>>2]=(f|0)<(a|0)?a:f}h=h+1|0;f=k[x>>2]|0}while((h|0)<(f|0));if((f|0)>0){g=0;do{f=(k[A+(g<<2)>>2]|0)+(k[i+(g<<2)>>2]|0)|0;h=B+(g<<2)|0;k[h>>2]=f;if((f|0)<=(k[r>>2]|0)){if((f|0)<(k[t>>2]|0)){f=(k[m>>2]|0)+f|0;C=45}}else{f=f-(k[m>>2]|0)|0;C=45}if((C|0)==45){C=0;k[h>>2]=f}g=g+1|0}while((g|0)<(k[x>>2]|0))}}d=d+1|0;if((d|0)>=(q|0))break;g=k[p>>2]|0;f=k[g>>2]|0;h=k[g+4>>2]|0}Yr(w);return 1}function pc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;y=a+8|0;k[y>>2]=e;h=a+32|0;i=a+36|0;g=k[i>>2]|0;f=k[h>>2]|0;d=g-f>>2;if(d>>>0>=e>>>0)if(d>>>0>e>>>0?(j=f+(e<<2)|0,(g|0)!=(j|0)):0){k[i>>2]=g+(~((g+-4-j|0)>>>2)<<2);d=e}else d=e;else{oj(h,e-d|0);d=k[y>>2]|0}v=k[a+48>>2]|0;w=k[a+52>>2]|0;u=e>>>0>1073741823?-1:e<<2;x=Xr(u)|0;_j(x|0,0,u|0)|0;if((d|0)>0){j=a+16|0;h=a+32|0;l=a+12|0;g=0;do{d=k[x+(g<<2)>>2]|0;f=k[j>>2]|0;if((d|0)>(f|0)){i=k[h>>2]|0;k[i+(g<<2)>>2]=f}else{u=k[l>>2]|0;i=k[h>>2]|0;k[i+(g<<2)>>2]=(d|0)<(u|0)?u:d}g=g+1|0;d=k[y>>2]|0}while((g|0)<(d|0));if((d|0)>0){g=a+20|0;f=0;do{d=(k[b+(f<<2)>>2]|0)+(k[i+(f<<2)>>2]|0)|0;h=c+(f<<2)|0;k[h>>2]=d;if((d|0)<=(k[j>>2]|0)){if((d|0)<(k[l>>2]|0)){d=(k[g>>2]|0)+d|0;G=18}}else{d=d-(k[g>>2]|0)|0;G=18}if((G|0)==18){G=0;k[h>>2]=d}f=f+1|0}while((f|0)<(k[y>>2]|0))}}q=a+56|0;g=k[q>>2]|0;h=k[g+4>>2]|0;f=k[g>>2]|0;u=h-f|0;r=u>>2;if((u|0)<=4){Yr(x);return 1}s=a+16|0;t=a+32|0;u=a+12|0;m=a+20|0;n=v+64|0;o=v+28|0;p=(e|0)>0;d=1;while(1){if(h-f>>2>>>0<=d>>>0){Iq(g);f=k[g>>2]|0}f=k[f+(d<<2)>>2]|0;a=$(d,e)|0;if((!((f|0)<0?1:(1<<(f&31)&k[(k[v>>2]|0)+(f>>>5<<2)>>2]|0)!=0)?(z=k[(k[(k[n>>2]|0)+12>>2]|0)+(f<<2)>>2]|0,(z|0)>=0):0)?(C=k[o>>2]|0,l=k[w>>2]|0,A=k[l+(k[C+(z<<2)>>2]<<2)>>2]|0,B=z+1|0,B=k[l+(k[C+((((B|0)%3|0|0)==0?z+-2|0:B)<<2)>>2]<<2)>>2]|0,C=k[l+(k[C+((((z>>>0)%3|0|0)==0?2:-1)+z<<2)>>2]<<2)>>2]|0,(A|0)<(d|0)&(B|0)<(d|0)&(C|0)<(d|0)):0){g=$(A,e)|0;h=$(B,e)|0;i=$(C,e)|0;if(p){f=0;do{k[x+(f<<2)>>2]=(k[c+(f+i<<2)>>2]|0)+(k[c+(f+h<<2)>>2]|0)-(k[c+(f+g<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0))}j=b+(a<<2)|0;l=c+(a<<2)|0;if((k[y>>2]|0)>0){h=0;do{f=k[x+(h<<2)>>2]|0;g=k[s>>2]|0;if((f|0)>(g|0)){i=k[t>>2]|0;k[i+(h<<2)>>2]=g}else{g=k[u>>2]|0;i=k[t>>2]|0;k[i+(h<<2)>>2]=(f|0)<(g|0)?g:f}h=h+1|0;f=k[y>>2]|0}while((h|0)<(f|0));if((f|0)>0){g=0;do{f=(k[j+(g<<2)>>2]|0)+(k[i+(g<<2)>>2]|0)|0;h=l+(g<<2)|0;k[h>>2]=f;if((f|0)<=(k[s>>2]|0)){if((f|0)<(k[u>>2]|0)){f=(k[m>>2]|0)+f|0;G=53}}else{f=f-(k[m>>2]|0)|0;G=53}if((G|0)==53){G=0;k[h>>2]=f}g=g+1|0}while((g|0)<(k[y>>2]|0))}}}else G=31;if((G|0)==31?(G=0,D=c+(($(d+-1|0,e)|0)<<2)|0,E=b+(a<<2)|0,F=c+(a<<2)|0,(k[y>>2]|0)>0):0){h=0;do{f=k[D+(h<<2)>>2]|0;g=k[s>>2]|0;if((f|0)>(g|0)){i=k[t>>2]|0;k[i+(h<<2)>>2]=g}else{a=k[u>>2]|0;i=k[t>>2]|0;k[i+(h<<2)>>2]=(f|0)<(a|0)?a:f}h=h+1|0;f=k[y>>2]|0}while((h|0)<(f|0));if((f|0)>0){g=0;do{f=(k[E+(g<<2)>>2]|0)+(k[i+(g<<2)>>2]|0)|0;h=F+(g<<2)|0;k[h>>2]=f;if((f|0)<=(k[s>>2]|0)){if((f|0)<(k[u>>2]|0)){f=(k[m>>2]|0)+f|0;G=41}}else{f=f-(k[m>>2]|0)|0;G=41}if((G|0)==41){G=0;k[h>>2]=f}g=g+1|0}while((g|0)<(k[y>>2]|0))}}d=d+1|0;if((d|0)>=(r|0))break;g=k[q>>2]|0;f=k[g>>2]|0;h=k[g+4>>2]|0}Yr(x);return 1}function qc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=Pa,h=0,j=Pa;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}e=b+d|0;i[s>>0]=i[e>>0];i[s+1>>0]=i[e+1>>0];i[s+2>>0]=i[e+2>>0];i[s+3>>0]=i[e+3>>0];g=da(o[s>>2]);e=+O(+g)>=1.0?(+g>0.0?~~+aa(+N(+g/4294967296.0),4294967295.0)>>>0:~~+_((+g-+(~~+g>>>0))/4294967296.0)>>>0):0;f=c;k[f>>2]=~~+g>>>0;k[f+4>>2]=e;f=c+8|0;k[f>>2]=0;k[f+4>>2]=0;f=1;return f|0}case 2:{h=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,8,0)|0;h=M;f=k[a>>2]|0;b=k[f>>2]|0;if((h|0)>0|((h|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){h=0;return h|0}f=b+d|0;e=f;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=(k[s>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24,da(o[s>>2]));e=+O(+g)>=1.0?(+g>0.0?~~+aa(+N(+g/4294967296.0),4294967295.0)>>>0:~~+_((+g-+(~~+g>>>0))/4294967296.0)>>>0):0;h=c;k[h>>2]=~~+g>>>0;k[h+4>>2]=e;g=(k[s>>2]=f,da(o[s>>2]));f=+O(+g)>=1.0?(+g>0.0?~~+aa(+N(+g/4294967296.0),4294967295.0)>>>0:~~+_((+g-+(~~+g>>>0))/4294967296.0)>>>0):0;h=c+8|0;k[h>>2]=~~+g>>>0;k[h+4>>2]=f;h=1;return h|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;h=a+40|0;d=Fp(io(k[h>>2]|0,k[h+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,12,0)|0;e=M;h=k[a>>2]|0;b=k[h>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[h+4>>2]|0)-b|0)>>>0:0)){h=0;return h|0}h=b+d|0;i[s>>0]=i[h>>0];i[s+1>>0]=i[h+1>>0];i[s+2>>0]=i[h+2>>0];i[s+3>>0]=i[h+3>>0];j=da(o[s>>2]);h=h+4|0;i[s>>0]=i[h>>0];i[s+1>>0]=i[h+1>>0];i[s+2>>0]=i[h+2>>0];i[s+3>>0]=i[h+3>>0];g=da(o[s>>2]);h=+O(+j)>=1.0?(+j>0.0?~~+aa(+N(+j/4294967296.0),4294967295.0)>>>0:~~+_((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;f=c;k[f>>2]=~~+j>>>0;k[f+4>>2]=h;f=+O(+g)>=1.0?(+g>0.0?~~+aa(+N(+g/4294967296.0),4294967295.0)>>>0:~~+_((+g-+(~~+g>>>0))/4294967296.0)>>>0):0;h=c+8|0;k[h>>2]=~~+g>>>0;k[h+4>>2]=f;h=1;return h|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;h=a+40|0;d=Fp(io(k[h>>2]|0,k[h+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,16,0)|0;e=M;h=k[a>>2]|0;b=k[h>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[h+4>>2]|0)-b|0)>>>0:0)){h=0;return h|0}h=b+d|0;i[s>>0]=i[h>>0];i[s+1>>0]=i[h+1>>0];i[s+2>>0]=i[h+2>>0];i[s+3>>0]=i[h+3>>0];g=da(o[s>>2]);h=h+4|0;i[s>>0]=i[h>>0];i[s+1>>0]=i[h+1>>0];i[s+2>>0]=i[h+2>>0];i[s+3>>0]=i[h+3>>0];j=da(o[s>>2]);h=+O(+g)>=1.0?(+g>0.0?~~+aa(+N(+g/4294967296.0),4294967295.0)>>>0:~~+_((+g-+(~~+g>>>0))/4294967296.0)>>>0):0;f=c;k[f>>2]=~~+g>>>0;k[f+4>>2]=h;f=+O(+j)>=1.0?(+j>0.0?~~+aa(+N(+j/4294967296.0),4294967295.0)>>>0:~~+_((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;h=c+8|0;k[h>>2]=~~+j>>>0;k[h+4>>2]=f;h=1;return h|0}default:{h=0;return h|0}}return 0}function rc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 1:{f=jo(60)|0;k[f>>2]=1740;k[f+4>>2]=c;c=f+8|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[c+16>>2]=k[d+16>>2];k[c+20>>2]=k[d+20>>2];yk(f+32|0,d+24|0);d=f+44|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[f>>2]=2188;e=f;return e|0}case 2:{f=jo(60)|0;k[f>>2]=1740;k[f+4>>2]=c;c=f+8|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[c+16>>2]=k[d+16>>2];k[c+20>>2]=k[d+20>>2];yk(f+32|0,d+24|0);d=f+44|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[f>>2]=2244;e=f;return e|0}case 4:{f=jo(112)|0;k[f>>2]=1740;k[f+4>>2]=c;a=f+8|0;k[a>>2]=k[d>>2];k[a+4>>2]=k[d+4>>2];k[a+8>>2]=k[d+8>>2];k[a+12>>2]=k[d+12>>2];k[a+16>>2]=k[d+16>>2];k[a+20>>2]=k[d+20>>2];yk(f+32|0,d+24|0);a=f+44|0;k[a>>2]=k[e>>2];k[a+4>>2]=k[e+4>>2];k[a+8>>2]=k[e+8>>2];k[a+12>>2]=k[e+12>>2];k[f>>2]=2300;a=f+60|0;b=a+52|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));e=f;return e|0}case 3:{b=jo(92)|0;k[b>>2]=1740;k[b+4>>2]=c;c=b+8|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[c+16>>2]=k[d+16>>2];k[c+20>>2]=k[d+20>>2];yk(b+32|0,d+24|0);d=b+44|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[b>>2]=2356;e=b+60|0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[e+16>>2]=0;k[e+20>>2]=0;k[e+24>>2]=0;k[b+88>>2]=f&65535;e=b;return e|0}case 5:{f=jo(104)|0;k[f>>2]=1740;k[f+4>>2]=c;c=f+8|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[c+16>>2]=k[d+16>>2];k[c+20>>2]=k[d+20>>2];yk(f+32|0,d+24|0);d=f+44|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[f>>2]=2412;k[f+60>>2]=0;k[f+64>>2]=0;k[f+76>>2]=0;k[f+80>>2]=0;k[f+84>>2]=0;d=f+88|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];e=f;return e|0}case 6:{f=jo(116)|0;k[f>>2]=1740;k[f+4>>2]=c;c=f+8|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[c+16>>2]=k[d+16>>2];k[c+20>>2]=k[d+20>>2];yk(f+32|0,d+24|0);d=f+44|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[f>>2]=2468;k[f+60>>2]=0;k[f+64>>2]=0;d=f+68|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];e=f+84|0;k[e>>2]=-1;k[e+4>>2]=-1;k[e+8>>2]=-1;k[e+12>>2]=-1;vr(f+100|0);e=f;return e|0}default:{e=0;return e|0}}return 0}function sc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 1:{f=jo(60)|0;k[f>>2]=1740;k[f+4>>2]=c;c=f+8|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[c+16>>2]=k[d+16>>2];k[c+20>>2]=k[d+20>>2];yk(f+32|0,d+24|0);d=f+44|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[f>>2]=1852;e=f;return e|0}case 2:{f=jo(60)|0;k[f>>2]=1740;k[f+4>>2]=c;c=f+8|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[c+16>>2]=k[d+16>>2];k[c+20>>2]=k[d+20>>2];yk(f+32|0,d+24|0);d=f+44|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[f>>2]=1908;e=f;return e|0}case 4:{f=jo(112)|0;k[f>>2]=1740;k[f+4>>2]=c;a=f+8|0;k[a>>2]=k[d>>2];k[a+4>>2]=k[d+4>>2];k[a+8>>2]=k[d+8>>2];k[a+12>>2]=k[d+12>>2];k[a+16>>2]=k[d+16>>2];k[a+20>>2]=k[d+20>>2];yk(f+32|0,d+24|0);a=f+44|0;k[a>>2]=k[e>>2];k[a+4>>2]=k[e+4>>2];k[a+8>>2]=k[e+8>>2];k[a+12>>2]=k[e+12>>2];k[f>>2]=1964;a=f+60|0;b=a+52|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));e=f;return e|0}case 3:{b=jo(92)|0;k[b>>2]=1740;k[b+4>>2]=c;c=b+8|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[c+16>>2]=k[d+16>>2];k[c+20>>2]=k[d+20>>2];yk(b+32|0,d+24|0);d=b+44|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[b>>2]=2020;e=b+60|0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[e+16>>2]=0;k[e+20>>2]=0;k[e+24>>2]=0;k[b+88>>2]=f&65535;e=b;return e|0}case 5:{f=jo(104)|0;k[f>>2]=1740;k[f+4>>2]=c;c=f+8|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[c+16>>2]=k[d+16>>2];k[c+20>>2]=k[d+20>>2];yk(f+32|0,d+24|0);d=f+44|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[f>>2]=2076;k[f+60>>2]=0;k[f+64>>2]=0;k[f+76>>2]=0;k[f+80>>2]=0;k[f+84>>2]=0;d=f+88|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];e=f;return e|0}case 6:{f=jo(116)|0;k[f>>2]=1740;k[f+4>>2]=c;c=f+8|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[c+16>>2]=k[d+16>>2];k[c+20>>2]=k[d+20>>2];yk(f+32|0,d+24|0);d=f+44|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[f>>2]=2132;k[f+60>>2]=0;k[f+64>>2]=0;d=f+68|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];e=f+84|0;k[e>>2]=-1;k[e+4>>2]=-1;k[e+8>>2]=-1;k[e+12>>2]=-1;vr(f+100|0);e=f;return e|0}default:{e=0;return e|0}}return 0}function tc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;j=u;u=u+16|0;g=j;h=b+8|0;o=h;m=k[o>>2]|0;o=k[o+4>>2]|0;f=b+16|0;e=f;d=k[e>>2]|0;e=Fp(d|0,k[e+4>>2]|0,5,0)|0;n=M;if((o|0)<(n|0)|(o|0)==(n|0)&m>>>0>>0){k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;Jk(g,18789,29);k[a>>2]=-2;gm(a+4|0,g);Jp(g);u=j;return}d=(k[b>>2]|0)+d|0;i[c>>0]=i[d>>0]|0;i[c+1>>0]=i[d+1>>0]|0;i[c+2>>0]=i[d+2>>0]|0;i[c+3>>0]=i[d+3>>0]|0;i[c+4>>0]=i[d+4>>0]|0;d=f;d=Fp(k[d>>2]|0,k[d+4>>2]|0,5,0)|0;e=M;o=f;k[o>>2]=d;k[o+4>>2]=e;if(lm(c,18819,5)|0){k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;Jk(g,18825,17);k[a>>2]=-1;gm(a+4|0,g);Jp(g);u=j;return}o=h;n=k[o+4>>2]|0;if(!((n|0)>(e|0)|((n|0)==(e|0)?(k[o>>2]|0)>>>0>d>>>0:0))){k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;Jk(g,18789,29);k[a>>2]=-2;gm(a+4|0,g);Jp(g);u=j;return}i[c+5>>0]=i[(k[b>>2]|0)+d>>0]|0;d=f;d=Fp(k[d>>2]|0,k[d+4>>2]|0,1,0)|0;n=M;o=f;k[o>>2]=d;k[o+4>>2]=n;o=h;m=k[o+4>>2]|0;if(!((m|0)>(n|0)|((m|0)==(n|0)?(k[o>>2]|0)>>>0>d>>>0:0))){k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;Jk(g,18789,29);k[a>>2]=-2;gm(a+4|0,g);Jp(g);u=j;return}i[c+6>>0]=i[(k[b>>2]|0)+d>>0]|0;d=f;d=Fp(k[d>>2]|0,k[d+4>>2]|0,1,0)|0;n=M;o=f;k[o>>2]=d;k[o+4>>2]=n;o=h;m=k[o+4>>2]|0;if(!((m|0)>(n|0)|((m|0)==(n|0)?(k[o>>2]|0)>>>0>d>>>0:0))){k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;Jk(g,18789,29);k[a>>2]=-2;gm(a+4|0,g);Jp(g);u=j;return}i[c+7>>0]=i[(k[b>>2]|0)+d>>0]|0;d=f;d=Fp(k[d>>2]|0,k[d+4>>2]|0,1,0)|0;n=M;o=f;k[o>>2]=d;k[o+4>>2]=n;o=h;m=k[o+4>>2]|0;if(!((m|0)>(n|0)|((m|0)==(n|0)?(k[o>>2]|0)>>>0>d>>>0:0))){k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;Jk(g,18789,29);k[a>>2]=-2;gm(a+4|0,g);Jp(g);u=j;return}i[c+8>>0]=i[(k[b>>2]|0)+d>>0]|0;o=f;m=k[o>>2]|0;o=k[o+4>>2]|0;d=Fp(m|0,o|0,1,0)|0;n=f;k[n>>2]=d;k[n+4>>2]=M;n=k[h>>2]|0;h=k[h+4>>2]|0;o=Fp(m|0,o|0,3,0)|0;m=M;if((h|0)<(m|0)|(h|0)==(m|0)&n>>>0>>0){k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;Jk(g,18789,29);k[a>>2]=-2;gm(a+4|0,g);Jp(g);u=j;return}else{n=c+10|0;o=(k[b>>2]|0)+d|0;o=l[o>>0]|l[o+1>>0]<<8;i[n>>0]=o;i[n+1>>0]=o>>8;n=f;n=Fp(k[n>>2]|0,k[n+4>>2]|0,2,0)|0;o=f;k[o>>2]=n;k[o+4>>2]=M;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;u=j;return}}function uc(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=u;u=u+32|0;j=o+4|0;i=o;b=a+16|0;c=k[b>>2]|0;if(c>>>0>340){k[b>>2]=c+-341;l=a+4|0;j=k[l>>2]|0;n=k[j>>2]|0;j=j+4|0;k[l>>2]=j;m=a+8|0;h=k[m>>2]|0;i=a+12|0;g=k[i>>2]|0;b=g;f=h;do if((h|0)==(g|0)){c=k[a>>2]|0;d=c;if(j>>>0>c>>>0){b=j;d=((b-d>>2)+1|0)/-2|0;e=j+(d<<2)|0;b=f-b|0;c=b>>2;if(!c)b=j;else{mn(e|0,j|0,b|0)|0;b=k[l>>2]|0}a=e+(c<<2)|0;k[m>>2]=a;k[l>>2]=b+(d<<2);b=a;break}b=b-d>>1;b=(b|0)==0?1:b;if(b>>>0>1073741823){o=Ma(4)|0;Cr(o);wa(o|0,1344,125)}e=jo(b<<2)|0;f=e;d=e+(b>>>2<<2)|0;g=d;e=e+(b<<2)|0;if((j|0)==(h|0))b=g;else{b=g;c=j;do{k[d>>2]=k[c>>2];d=b+4|0;b=d;c=c+4|0}while((c|0)!=(h|0));c=k[a>>2]|0}k[a>>2]=f;k[l>>2]=g;k[m>>2]=b;k[i>>2]=e;if(c){_r(c);b=k[m>>2]|0}}else b=h;while(0);k[b>>2]=n;k[m>>2]=(k[m>>2]|0)+4;u=o;return}n=a+8|0;b=k[n>>2]|0;m=a+4|0;e=b-(k[m>>2]|0)|0;l=a+12|0;c=k[l>>2]|0;d=c-(k[a>>2]|0)|0;if(e>>>0>=d>>>0){b=d>>1;b=(b|0)==0?1:b;k[j+12>>2]=0;k[j+16>>2]=a+12;if(b>>>0>1073741823){o=Ma(4)|0;Cr(o);wa(o|0,1344,125)}d=jo(b<<2)|0;k[j>>2]=d;g=d+(e>>2<<2)|0;h=j+8|0;k[h>>2]=g;f=j+4|0;k[f>>2]=g;g=j+12|0;k[g>>2]=d+(b<<2);e=jo(4092)|0;k[i>>2]=e;Ah(j,i);e=k[n>>2]|0;while(1){b=k[m>>2]|0;if((e|0)==(b|0))break;i=e+-4|0;th(j,i);e=i}c=b;d=k[a>>2]|0;k[a>>2]=k[j>>2];k[j>>2]=d;k[m>>2]=k[f>>2];k[f>>2]=c;b=k[n>>2]|0;k[n>>2]=k[h>>2];k[h>>2]=b;a=k[l>>2]|0;k[l>>2]=k[g>>2];k[g>>2]=a;if((b|0)!=(e|0))k[h>>2]=b+(~((b+-4-c|0)>>>2)<<2);if(d|0)_r(d);u=o;return}if((c|0)!=(b|0)){n=jo(4092)|0;k[j>>2]=n;Ah(a,j);u=o;return}i=jo(4092)|0;k[j>>2]=i;th(a,j);i=k[m>>2]|0;j=k[i>>2]|0;i=i+4|0;k[m>>2]=i;h=k[n>>2]|0;g=k[l>>2]|0;b=g;f=h;do if((h|0)==(g|0)){c=k[a>>2]|0;d=c;if(i>>>0>c>>>0){b=i;d=((b-d>>2)+1|0)/-2|0;e=i+(d<<2)|0;b=f-b|0;c=b>>2;if(!c)b=i;else{mn(e|0,i|0,b|0)|0;b=k[m>>2]|0}a=e+(c<<2)|0;k[n>>2]=a;k[m>>2]=b+(d<<2);b=a;break}b=b-d>>1;b=(b|0)==0?1:b;if(b>>>0>1073741823){o=Ma(4)|0;Cr(o);wa(o|0,1344,125)}e=jo(b<<2)|0;f=e;d=e+(b>>>2<<2)|0;g=d;e=e+(b<<2)|0;if((i|0)==(h|0))b=g;else{b=g;c=i;do{k[d>>2]=k[c>>2];d=b+4|0;b=d;c=c+4|0}while((c|0)!=(h|0));c=k[a>>2]|0}k[a>>2]=f;k[m>>2]=g;k[n>>2]=b;k[l>>2]=e;if(c){_r(c);b=k[n>>2]|0}}else b=h;while(0);k[b>>2]=j;k[n>>2]=(k[n>>2]|0)+4;u=o;return}function vc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=Pa,j=Pa,m=Pa,n=Pa;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}f=b+d|0;i[s>>0]=i[f>>0];i[s+1>>0]=i[f+1>>0];i[s+2>>0]=i[f+2>>0];i[s+3>>0]=i[f+3>>0];f=~~da(o[s>>2]);k[c>>2]=f;f=c+4|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,8,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;f=g;g=g+4|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;f=~~(k[s>>2]=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24,da(o[s>>2]));k[c>>2]=f;g=~~(k[s>>2]=g,da(o[s>>2]));k[c+4>>2]=g;g=c+8|0;k[g>>2]=0;k[g+4>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,12,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;i[s>>0]=i[g>>0];i[s+1>>0]=i[g+1>>0];i[s+2>>0]=i[g+2>>0];i[s+3>>0]=i[g+3>>0];m=da(o[s>>2]);f=g+4|0;i[s>>0]=i[f>>0];i[s+1>>0]=i[f+1>>0];i[s+2>>0]=i[f+2>>0];i[s+3>>0]=i[f+3>>0];j=da(o[s>>2]);g=g+8|0;i[s>>0]=i[g>>0];i[s+1>>0]=i[g+1>>0];i[s+2>>0]=i[g+2>>0];i[s+3>>0]=i[g+3>>0];h=da(o[s>>2]);k[c>>2]=~~m;k[c+4>>2]=~~j;k[c+8>>2]=~~h;k[c+12>>2]=0;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,16,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;i[s>>0]=i[g>>0];i[s+1>>0]=i[g+1>>0];i[s+2>>0]=i[g+2>>0];i[s+3>>0]=i[g+3>>0];n=da(o[s>>2]);f=g+4|0;i[s>>0]=i[f>>0];i[s+1>>0]=i[f+1>>0];i[s+2>>0]=i[f+2>>0];i[s+3>>0]=i[f+3>>0];h=da(o[s>>2]);f=g+8|0;i[s>>0]=i[f>>0];i[s+1>>0]=i[f+1>>0];i[s+2>>0]=i[f+2>>0];i[s+3>>0]=i[f+3>>0];j=da(o[s>>2]);g=g+12|0;i[s>>0]=i[g>>0];i[s+1>>0]=i[g+1>>0];i[s+2>>0]=i[g+2>>0];i[s+3>>0]=i[g+3>>0];m=da(o[s>>2]);k[c>>2]=~~n;k[c+4>>2]=~~h;k[c+8>>2]=~~j;k[c+12>>2]=~~m;g=1;return g|0}default:{g=0;return g|0}}return 0}function wc(a,b,c){a=a|0;b=b|0;c=c|0;var d=Pa,e=Pa,f=0,g=0,h=0,j=0;switch(i[a+24>>0]|0){case 1:{j=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=Fp(io(k[g>>2]|0,k[g+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,M|0,h|0,b|0)|0;h=Fp(b|0,M|0,4,0)|0;j=M;g=k[a>>2]|0;f=k[g>>2]|0;if((j|0)>0|((j|0)==0?h>>>0>((k[g+4>>2]|0)-f|0)>>>0:0)){j=0;return j|0}j=f+b|0;d=da((l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24)>>>0);e=da(d*da(2.32830644e-10));o[c>>2]=(i[a+32>>0]|0)==0?d:e;j=c+4|0;k[j>>2]=0;k[j+4>>2]=0;k[j+8>>2]=0;j=1;return j|0}case 2:{g=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,h|0,b|0)|0;h=Fp(b|0,M|0,8,0)|0;g=M;j=k[a>>2]|0;f=k[j>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((k[j+4>>2]|0)-f|0)>>>0:0)){j=0;return j|0}b=f+b|0;j=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=da((l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=da(b>>>0)}else{d=da(d*da(2.32830644e-10));o[c>>2]=d;d=da(da(b>>>0)*da(2.32830644e-10))}o[c+4>>2]=d;j=c+8|0;k[j>>2]=0;k[j+4>>2]=0;j=1;return j|0}case 3:{g=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,h|0,b|0)|0;h=Fp(b|0,M|0,12,0)|0;g=M;j=k[a>>2]|0;f=k[j>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((k[j+4>>2]|0)-f|0)>>>0:0)){j=0;return j|0}j=f+b|0;f=j+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;b=j+8|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=da((l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=da(b>>>0);d=da(f>>>0)}else{e=da(d*da(2.32830644e-10));o[c>>2]=e;e=da(da(b>>>0)*da(2.32830644e-10));d=da(da(f>>>0)*da(2.32830644e-10))}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=da(0.0);j=1;return j|0}case 4:{g=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,h|0,b|0)|0;h=Fp(b|0,M|0,16,0)|0;g=M;j=k[a>>2]|0;f=k[j>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((k[j+4>>2]|0)-f|0)>>>0:0)){j=0;return j|0}j=f+b|0;b=j+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;f=j+8|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=j+12|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;d=da((l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=da(b>>>0);o[c+4>>2]=e;e=da(f>>>0);o[c+8>>2]=e;e=da(g>>>0);o[c+12>>2]=e;j=1;return j|0}else{e=da(d*da(2.32830644e-10));o[c>>2]=e;e=da(da(b>>>0)*da(2.32830644e-10));o[c+4>>2]=e;e=da(da(f>>>0)*da(2.32830644e-10));o[c+8>>2]=e;e=da(da(g>>>0)*da(2.32830644e-10));o[c+12>>2]=e;j=1;return j|0}}default:{j=0;return j|0}}return 0}function xc(a,b,c){a=a|0;b=b|0;c=c|0;var d=Pa,e=Pa,f=0,g=0,h=0,j=0;switch(i[a+24>>0]|0){case 1:{j=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=Fp(io(k[g>>2]|0,k[g+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,M|0,h|0,b|0)|0;h=Fp(b|0,M|0,4,0)|0;j=M;g=k[a>>2]|0;f=k[g>>2]|0;if((j|0)>0|((j|0)==0?h>>>0>((k[g+4>>2]|0)-f|0)>>>0:0)){j=0;return j|0}j=f+b|0;d=da(l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24|0);e=da(d*da(4.65661287e-10));o[c>>2]=(i[a+32>>0]|0)==0?d:e;j=c+4|0;k[j>>2]=0;k[j+4>>2]=0;k[j+8>>2]=0;j=1;return j|0}case 2:{g=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,h|0,b|0)|0;h=Fp(b|0,M|0,8,0)|0;g=M;j=k[a>>2]|0;f=k[j>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((k[j+4>>2]|0)-f|0)>>>0:0)){j=0;return j|0}b=f+b|0;j=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=da(l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=da(b|0)}else{d=da(d*da(4.65661287e-10));o[c>>2]=d;d=da(da(b|0)*da(4.65661287e-10))}o[c+4>>2]=d;j=c+8|0;k[j>>2]=0;k[j+4>>2]=0;j=1;return j|0}case 3:{g=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,h|0,b|0)|0;h=Fp(b|0,M|0,12,0)|0;g=M;j=k[a>>2]|0;f=k[j>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((k[j+4>>2]|0)-f|0)>>>0:0)){j=0;return j|0}j=f+b|0;f=j+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;b=j+8|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=da(l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=da(b|0);d=da(f|0)}else{e=da(d*da(4.65661287e-10));o[c>>2]=e;e=da(da(b|0)*da(4.65661287e-10));d=da(da(f|0)*da(4.65661287e-10))}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=da(0.0);j=1;return j|0}case 4:{g=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,h|0,b|0)|0;h=Fp(b|0,M|0,16,0)|0;g=M;j=k[a>>2]|0;f=k[j>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((k[j+4>>2]|0)-f|0)>>>0:0)){j=0;return j|0}j=f+b|0;b=j+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;f=j+8|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=j+12|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;d=da(l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=da(b|0);o[c+4>>2]=e;e=da(f|0);o[c+8>>2]=e;e=da(g|0);o[c+12>>2]=e;j=1;return j|0}else{e=da(d*da(4.65661287e-10));o[c>>2]=e;e=da(da(b|0)*da(4.65661287e-10));o[c+4>>2]=e;e=da(da(f|0)*da(4.65661287e-10));o[c+8>>2]=e;e=da(da(g|0)*da(4.65661287e-10));o[c+12>>2]=e;j=1;return j|0}}default:{j=0;return j|0}}return 0}function yc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=Pa,h=0,i=Pa,j=Pa,l=Pa,m=Pa,n=0,p=0,q=Pa,r=Pa,s=0,t=Pa,v=Pa,w=Pa,x=Pa,y=0,z=0,A=0,B=0,C=Pa;B=u;u=u+48|0;A=B+24|0;y=B+12|0;z=B;f=a+32|0;e=k[b>>2]|0;b=e+1|0;if((e|0)>=0){b=((b|0)%3|0|0)==0?e+-2|0:b;e=e+(((e>>>0)%3|0|0)==0?2:-1)|0;if((b|0)<0)b=-1073741824;else b=k[(k[k[f>>2]>>2]|0)+(b<<2)>>2]|0;if((e|0)<0)s=-1073741824;else s=k[(k[k[f>>2]>>2]|0)+(e<<2)>>2]|0}else{s=-1073741824;b=-1073741824}e=a+36|0;n=k[e>>2]|0;h=k[n+4>>2]|0;f=k[n>>2]|0;if(h-f>>2>>>0>b>>>0){p=f;e=f;f=n}else{Iq(n);f=k[e>>2]|0;p=k[n>>2]|0;e=k[f>>2]|0;h=k[f+4>>2]|0}b=k[p+(b<<2)>>2]|0;if(h-e>>2>>>0<=s>>>0){Iq(f);e=k[f>>2]|0}f=k[e+(s<<2)>>2]|0;e=(b|0)<(d|0);if(e&(f|0)<(d|0)){s=k[a+56>>2]|0;p=$(s,b)|0;v=da(k[c+(p<<2)>>2]|0);w=da(k[c+(p+1<<2)>>2]|0);s=$(s,f)|0;x=da(k[c+(s<<2)>>2]|0);t=da(k[c+(s+1<<2)>>2]|0);if(!(x!=v|t!=w)){a=k[a+52>>2]|0;k[a>>2]=~~x;k[a+4>>2]=~~t;u=B;return}Ph(A,a,d);Ph(y,a,b);Ph(z,a,f);q=da(o[z>>2]);j=da(o[y>>2]);q=da(q-j);r=da(o[z+4>>2]);l=da(o[y+4>>2]);r=da(r-l);i=da(o[z+8>>2]);g=da(o[y+8>>2]);i=da(i-g);j=da(da(o[A>>2])-j);l=da(da(o[A+4>>2])-l);g=da(da(o[A+8>>2])-g);m=da(da(da(da(q*q)+da(0.0))+da(r*r))+da(i*i));if(m>da(0.0)?1:(k[a+72>>2]|0)<258){C=da(da(da(da(da(q*j)+da(0.0))+da(r*l))+da(i*g))/m);q=da(j-da(q*C));r=da(l-da(r*C));g=da(g-da(i*C));i=C;g=da(P(da(da(da(g*g)+da(da(r*r)+da(da(q*q)+da(0.0))))/m)))}else{i=da(0.0);g=da(0.0)}C=da(x-v);x=da(t-w);v=da(v+da(C*i));C=da(C*g);t=da(w+da(x*i));w=da(x*g);c=a+64|0;z=(k[c>>2]|0)+-1|0;A=(1<<(z&31)&k[(k[a+60>>2]|0)+(z>>>5<<2)>>2]|0)==0;k[c>>2]=z;x=da(-C);C=da(t+(A?x:C));x=da(-w);A=~~+N(+(+da(v+(A?w:x))+.5));a=k[a+52>>2]|0;k[a>>2]=A;A=~~+N(+(+C+.5));k[a+4>>2]=A;u=B;return}do if(!e){if((d|0)>0){b=d+-1|0;break}f=a+56|0;if((k[f>>2]|0)<=0){u=B;return}e=k[a+52>>2]|0;b=0;do{k[e+(b<<2)>>2]=0;b=b+1|0}while((b|0)<(k[f>>2]|0));u=B;return}while(0);h=a+56|0;A=k[h>>2]|0;f=$(A,b)|0;if((A|0)<=0){u=B;return}e=k[a+52>>2]|0;b=0;do{k[e+(b<<2)>>2]=k[c+(b+f<<2)>>2];b=b+1|0}while((b|0)<(k[h>>2]|0));u=B;return}function zc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=Pa,h=0,i=Pa,j=Pa,l=Pa,m=Pa,n=0,p=0,q=Pa,r=Pa,s=0,t=Pa,v=Pa,w=Pa,x=Pa,y=0,z=0,A=0,B=0,C=Pa;B=u;u=u+48|0;A=B+24|0;y=B+12|0;z=B;f=a+48|0;e=k[b>>2]|0;b=e+1|0;if((e|0)>=0){b=((b|0)%3|0|0)==0?e+-2|0:b;e=e+(((e>>>0)%3|0|0)==0?2:-1)|0;if((b|0)<0)b=-1073741824;else b=k[(k[k[f>>2]>>2]|0)+(b<<2)>>2]|0;if((e|0)<0)s=-1073741824;else s=k[(k[k[f>>2]>>2]|0)+(e<<2)>>2]|0}else{s=-1073741824;b=-1073741824}e=a+52|0;n=k[e>>2]|0;h=k[n+4>>2]|0;f=k[n>>2]|0;if(h-f>>2>>>0>b>>>0){p=f;e=f;f=n}else{Iq(n);f=k[e>>2]|0;p=k[n>>2]|0;e=k[f>>2]|0;h=k[f+4>>2]|0}b=k[p+(b<<2)>>2]|0;if(h-e>>2>>>0<=s>>>0){Iq(f);e=k[f>>2]|0}f=k[e+(s<<2)>>2]|0;e=(b|0)<(d|0);if(e&(f|0)<(d|0)){s=k[a+72>>2]|0;p=$(s,b)|0;v=da(k[c+(p<<2)>>2]|0);w=da(k[c+(p+1<<2)>>2]|0);s=$(s,f)|0;x=da(k[c+(s<<2)>>2]|0);t=da(k[c+(s+1<<2)>>2]|0);if(!(x!=v|t!=w)){a=k[a+68>>2]|0;k[a>>2]=~~x;k[a+4>>2]=~~t;u=B;return}Uh(A,a,d);Uh(y,a,b);Uh(z,a,f);q=da(o[z>>2]);j=da(o[y>>2]);q=da(q-j);r=da(o[z+4>>2]);l=da(o[y+4>>2]);r=da(r-l);i=da(o[z+8>>2]);g=da(o[y+8>>2]);i=da(i-g);j=da(da(o[A>>2])-j);l=da(da(o[A+4>>2])-l);g=da(da(o[A+8>>2])-g);m=da(da(da(da(q*q)+da(0.0))+da(r*r))+da(i*i));if(m>da(0.0)?1:(k[a+88>>2]|0)<258){C=da(da(da(da(da(q*j)+da(0.0))+da(r*l))+da(i*g))/m);q=da(j-da(q*C));r=da(l-da(r*C));g=da(g-da(i*C));i=C;g=da(P(da(da(da(g*g)+da(da(r*r)+da(da(q*q)+da(0.0))))/m)))}else{i=da(0.0);g=da(0.0)}C=da(x-v);x=da(t-w);v=da(v+da(C*i));C=da(C*g);t=da(w+da(x*i));w=da(x*g);c=a+80|0;z=(k[c>>2]|0)+-1|0;A=(1<<(z&31)&k[(k[a+76>>2]|0)+(z>>>5<<2)>>2]|0)==0;k[c>>2]=z;x=da(-C);C=da(t+(A?x:C));x=da(-w);A=~~+N(+(+da(v+(A?w:x))+.5));a=k[a+68>>2]|0;k[a>>2]=A;A=~~+N(+(+C+.5));k[a+4>>2]=A;u=B;return}do if(!e){if((d|0)>0){b=d+-1|0;break}f=a+72|0;if((k[f>>2]|0)<=0){u=B;return}e=k[a+68>>2]|0;b=0;do{k[e+(b<<2)>>2]=0;b=b+1|0}while((b|0)<(k[f>>2]|0));u=B;return}while(0);h=a+72|0;A=k[h>>2]|0;f=$(A,b)|0;if((A|0)<=0){u=B;return}e=k[a+68>>2]|0;b=0;do{k[e+(b<<2)>>2]=k[c+(b+f<<2)>>2];b=b+1|0}while((b|0)<(k[h>>2]|0));u=B;return}function Ac(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=Pa,h=0,i=Pa,j=Pa,l=Pa,m=Pa,n=Pa,p=Pa,q=0,r=0,s=Pa,t=Pa,v=Pa,w=Pa,x=0,y=0,z=0,A=0,B=0,C=Pa;A=u;u=u+48|0;z=A+24|0;x=A+12|0;y=A;h=a+32|0;e=k[b>>2]|0;b=e+1|0;do if((e|0)>=0){b=((b|0)%3|0|0)==0?e+-2|0:b;if(!((e>>>0)%3|0)){f=e+2|0;break}else{f=e+-1|0;break}}else{f=e;b=e}while(0);r=k[(k[h>>2]|0)+28>>2]|0;q=k[r+(b<<2)>>2]|0;r=k[r+(f<<2)>>2]|0;b=a+36|0;f=k[b>>2]|0;h=k[f+4>>2]|0;e=k[f>>2]|0;if(h-e>>2>>>0>q>>>0)b=e;else{Iq(f);B=k[b>>2]|0;b=k[f>>2]|0;e=k[B>>2]|0;h=k[B+4>>2]|0;f=B}b=k[b+(q<<2)>>2]|0;if(h-e>>2>>>0<=r>>>0){Iq(f);e=k[f>>2]|0}f=k[e+(r<<2)>>2]|0;e=(b|0)<(d|0);if(e&(f|0)<(d|0)){B=k[a+56>>2]|0;r=$(B,b)|0;t=da(k[c+(r<<2)>>2]|0);v=da(k[c+(r+1<<2)>>2]|0);B=$(B,f)|0;w=da(k[c+(B<<2)>>2]|0);s=da(k[c+(B+1<<2)>>2]|0);if(!(w!=t|s!=v)){B=k[a+52>>2]|0;k[B>>2]=~~w;k[B+4>>2]=~~s;u=A;return}Ph(z,a,d);Ph(x,a,b);Ph(y,a,f);n=da(o[y>>2]);j=da(o[x>>2]);n=da(n-j);p=da(o[y+4>>2]);l=da(o[x+4>>2]);p=da(p-l);i=da(o[y+8>>2]);g=da(o[x+8>>2]);i=da(i-g);j=da(da(o[z>>2])-j);l=da(da(o[z+4>>2])-l);g=da(da(o[z+8>>2])-g);m=da(da(da(da(n*n)+da(0.0))+da(p*p))+da(i*i));if(m>da(0.0)?1:(k[a+72>>2]|0)<258){C=da(da(da(da(da(n*j)+da(0.0))+da(p*l))+da(i*g))/m);n=da(j-da(n*C));p=da(l-da(p*C));g=da(g-da(i*C));i=C;g=da(P(da(da(da(g*g)+da(da(p*p)+da(da(n*n)+da(0.0))))/m)))}else{i=da(0.0);g=da(0.0)}C=da(w-t);w=da(s-v);t=da(t+da(C*i));C=da(C*g);s=da(v+da(w*i));v=da(w*g);B=a+64|0;c=(k[B>>2]|0)+-1|0;z=(1<<(c&31)&k[(k[a+60>>2]|0)+(c>>>5<<2)>>2]|0)==0;k[B>>2]=c;w=da(-C);C=da(s+(z?w:C));w=da(-v);z=~~+N(+(+da(t+(z?v:w))+.5));B=k[a+52>>2]|0;k[B>>2]=z;a=~~+N(+(+C+.5));k[B+4>>2]=a;u=A;return}do if(!e){if((d|0)>0){b=d+-1|0;break}f=a+56|0;if((k[f>>2]|0)<=0){u=A;return}e=k[a+52>>2]|0;b=0;do{k[e+(b<<2)>>2]=0;b=b+1|0}while((b|0)<(k[f>>2]|0));u=A;return}while(0);h=a+56|0;B=k[h>>2]|0;f=$(B,b)|0;if((B|0)<=0){u=A;return}e=k[a+52>>2]|0;b=0;do{k[e+(b<<2)>>2]=k[c+(b+f<<2)>>2];b=b+1|0}while((b|0)<(k[h>>2]|0));u=A;return}function Bc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;v=u;u=u+16|0;q=v+8|0;r=v+4|0;s=v;t=a+64|0;b=k[t>>2]|0;if(((k[b+28>>2]|0)-(k[b+24>>2]|0)|0)<=0){u=v;return}h=a+52|0;i=a+56|0;j=a+60|0;l=a+12|0;m=a+28|0;n=a+40|0;o=a+44|0;p=a+48|0;c=0;g=0;do{e=k[(k[b+24>>2]|0)+(g<<2)>>2]|0;if((e|0)>=0){d=c+1|0;k[q>>2]=c;b=k[i>>2]|0;if((b|0)==(k[j>>2]|0))Dj(h,q);else{k[b>>2]=c;k[i>>2]=b+4}k[r>>2]=e;k[s>>2]=0;a:do if(!(k[(k[l>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)))b=e;else{b=e+1|0;b=((b|0)%3|0|0)==0?e+-2|0:b;f=k[a>>2]|0;if(!(1<<(b&31)&k[f+(b>>>5<<2)>>2])){if((b|0)>=0){b=k[(k[(k[t>>2]|0)+12>>2]|0)+(b<<2)>>2]|0;c=b+1|0;if((b|0)>=0){b=((c|0)%3|0|0)==0?b+-2|0:c;k[s>>2]=b;if((b|0)<=-1){b=e;break}while(1){k[r>>2]=b;c=b+1|0;c=((c|0)%3|0|0)==0?b+-2|0:c;if(1<<(c&31)&k[f+(c>>>5<<2)>>2]|0){c=-1073741824;break}if((c|0)<0)break;c=k[(k[(k[t>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;e=c+1|0;if((c|0)<0)break;c=((e|0)%3|0|0)==0?c+-2|0:e;k[s>>2]=c;if((c|0)>-1)b=c;else break a}k[s>>2]=c;break}}}else b=-1073741824;k[s>>2]=b;b=e}while(0);k[(k[m>>2]|0)+(b<<2)>>2]=k[q>>2];b=k[o>>2]|0;if((b|0)==(k[p>>2]|0))Dj(n,r);else{k[b>>2]=k[r>>2];k[o>>2]=b+4}b=k[t>>2]|0;e=k[r>>2]|0;b:do if((e|0)>=0){c=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((c|0)>=0){c=k[(k[b+12>>2]|0)+(c<<2)>>2]|0;if((c|0)>=0){c=c+(((c>>>0)%3|0|0)==0?2:-1)|0;k[s>>2]=c;if((c|0)>-1&(c|0)!=(e|0)){while(1){f=c+1|0;f=((f|0)%3|0|0)==0?c+-2|0:f;do if(k[(k[a>>2]|0)+(f>>>5<<2)>>2]&1<<(f&31)){c=d+1|0;k[q>>2]=d;b=k[i>>2]|0;if((b|0)==(k[j>>2]|0))Dj(h,q);else{k[b>>2]=d;k[i>>2]=b+4}b=k[o>>2]|0;if((b|0)==(k[p>>2]|0)){Dj(n,s);d=c;break}else{k[b>>2]=k[s>>2];k[o>>2]=b+4;d=c;break}}while(0);k[(k[m>>2]|0)+(k[s>>2]<<2)>>2]=k[q>>2];b=k[t>>2]|0;c=k[s>>2]|0;if((c|0)<0)break;c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((c|0)<0)break;c=k[(k[b+12>>2]|0)+(c<<2)>>2]|0;if((c|0)<0)break;c=c+(((c>>>0)%3|0|0)==0?2:-1)|0;k[s>>2]=c;if(!((c|0)>-1?(c|0)!=(k[r>>2]|0):0)){c=d;break b}}k[s>>2]=c;c=d}else c=d}else w=26}else w=26}else{c=e;w=26}while(0);if((w|0)==26){w=0;k[s>>2]=c;c=d}}g=g+1|0}while((g|0)<((k[b+28>>2]|0)-(k[b+24>>2]|0)>>2|0));u=v;return}function Cc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=Pa,h=0,i=Pa,j=Pa,l=Pa,m=Pa,n=Pa,p=Pa,q=0,r=0,s=Pa,t=Pa,v=Pa,w=Pa,x=0,y=0,z=0,A=0,B=0,C=Pa;A=u;u=u+48|0;z=A+24|0;x=A+12|0;y=A;h=a+48|0;e=k[b>>2]|0;b=e+1|0;do if((e|0)>=0){b=((b|0)%3|0|0)==0?e+-2|0:b;if(!((e>>>0)%3|0)){f=e+2|0;break}else{f=e+-1|0;break}}else{f=e;b=e}while(0);r=k[(k[h>>2]|0)+28>>2]|0;q=k[r+(b<<2)>>2]|0;r=k[r+(f<<2)>>2]|0;b=a+52|0;f=k[b>>2]|0;h=k[f+4>>2]|0;e=k[f>>2]|0;if(h-e>>2>>>0>q>>>0)b=e;else{Iq(f);B=k[b>>2]|0;b=k[f>>2]|0;e=k[B>>2]|0;h=k[B+4>>2]|0;f=B}b=k[b+(q<<2)>>2]|0;if(h-e>>2>>>0<=r>>>0){Iq(f);e=k[f>>2]|0}f=k[e+(r<<2)>>2]|0;e=(b|0)<(d|0);if(e&(f|0)<(d|0)){B=k[a+72>>2]|0;r=$(B,b)|0;t=da(k[c+(r<<2)>>2]|0);v=da(k[c+(r+1<<2)>>2]|0);B=$(B,f)|0;w=da(k[c+(B<<2)>>2]|0);s=da(k[c+(B+1<<2)>>2]|0);if(!(w!=t|s!=v)){B=k[a+68>>2]|0;k[B>>2]=~~w;k[B+4>>2]=~~s;u=A;return}Uh(z,a,d);Uh(x,a,b);Uh(y,a,f);n=da(o[y>>2]);j=da(o[x>>2]);n=da(n-j);p=da(o[y+4>>2]);l=da(o[x+4>>2]);p=da(p-l);i=da(o[y+8>>2]);g=da(o[x+8>>2]);i=da(i-g);j=da(da(o[z>>2])-j);l=da(da(o[z+4>>2])-l);g=da(da(o[z+8>>2])-g);m=da(da(da(da(n*n)+da(0.0))+da(p*p))+da(i*i));if(m>da(0.0)?1:(k[a+88>>2]|0)<258){C=da(da(da(da(da(n*j)+da(0.0))+da(p*l))+da(i*g))/m);n=da(j-da(n*C));p=da(l-da(p*C));g=da(g-da(i*C));i=C;g=da(P(da(da(da(g*g)+da(da(p*p)+da(da(n*n)+da(0.0))))/m)))}else{i=da(0.0);g=da(0.0)}C=da(w-t);w=da(s-v);t=da(t+da(C*i));C=da(C*g);s=da(v+da(w*i));v=da(w*g);B=a+80|0;c=(k[B>>2]|0)+-1|0;z=(1<<(c&31)&k[(k[a+76>>2]|0)+(c>>>5<<2)>>2]|0)==0;k[B>>2]=c;w=da(-C);C=da(s+(z?w:C));w=da(-v);z=~~+N(+(+da(t+(z?v:w))+.5));B=k[a+68>>2]|0;k[B>>2]=z;a=~~+N(+(+C+.5));k[B+4>>2]=a;u=A;return}do if(!e){if((d|0)>0){b=d+-1|0;break}f=a+72|0;if((k[f>>2]|0)<=0){u=A;return}e=k[a+68>>2]|0;b=0;do{k[e+(b<<2)>>2]=0;b=b+1|0}while((b|0)<(k[f>>2]|0));u=A;return}while(0);h=a+72|0;B=k[h>>2]|0;f=$(B,b)|0;if((B|0)<=0){u=A;return}e=k[a+68>>2]|0;b=0;do{k[e+(b<<2)>>2]=k[c+(b+f<<2)>>2];b=b+1|0}while((b|0)<(k[h>>2]|0));u=A;return}function Dc(a,b,c){a=a|0;b=b|0;c=c|0;var d=Pa,e=0,f=0,g=0,h=0,j=Pa;switch(i[a+24>>0]|0){case 1:{h=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;f=a+40|0;b=Fp(io(k[f>>2]|0,k[f+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,4,0)|0;h=M;f=k[a>>2]|0;e=k[f>>2]|0;if((h|0)>0|((h|0)==0?g>>>0>((k[f+4>>2]|0)-e|0)>>>0:0)){h=0;return h|0}h=e+b|0;j=da((l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24)>>>0);d=da(j*da(2.32830644e-10));o[c>>2]=(i[a+32>>0]|0)==0?j:d;h=c+4|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 2:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=Fp(io(k[h>>2]|0,k[h+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,8,0)|0;f=M;h=k[a>>2]|0;e=k[h>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[h+4>>2]|0)-e|0)>>>0:0)){h=0;return h|0}b=e+b|0;h=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=da((l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=da(b>>>0)}else{d=da(d*da(2.32830644e-10));o[c>>2]=d;d=da(da(b>>>0)*da(2.32830644e-10))}o[c+4>>2]=d;o[c+8>>2]=da(0.0);h=1;return h|0}case 3:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=Fp(io(k[h>>2]|0,k[h+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,12,0)|0;f=M;h=k[a>>2]|0;e=k[h>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[h+4>>2]|0)-e|0)>>>0:0)){h=0;return h|0}h=e+b|0;b=h+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=h+8|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;d=da((l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;j=da(b>>>0);o[c+4>>2]=j;j=da(e>>>0);o[c+8>>2]=j;h=1;return h|0}else{j=da(d*da(2.32830644e-10));o[c>>2]=j;j=da(da(b>>>0)*da(2.32830644e-10));o[c+4>>2]=j;j=da(da(e>>>0)*da(2.32830644e-10));o[c+8>>2]=j;h=1;return h|0}}case 4:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=Fp(io(k[h>>2]|0,k[h+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,16,0)|0;f=M;h=k[a>>2]|0;e=k[h>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[h+4>>2]|0)-e|0)>>>0:0)){h=0;return h|0}h=e+b|0;b=h+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=h+8|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;d=da((l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;j=da(b>>>0);o[c+4>>2]=j;j=da(e>>>0);o[c+8>>2]=j;h=1;return h|0}else{j=da(d*da(2.32830644e-10));o[c>>2]=j;j=da(da(b>>>0)*da(2.32830644e-10));o[c+4>>2]=j;j=da(da(e>>>0)*da(2.32830644e-10));o[c+8>>2]=j;h=1;return h|0}}default:{h=0;return h|0}}return 0}function Ec(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=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;C=u;u=u+32|0;v=C+28|0;w=C+16|0;x=C+8|0;y=C;z=a+8|0;d=k[a+12>>2]|0;if((d|0)<=1)Ka(9450,9461,60,9584);if((d|0)>=31)Ka(9604,9461,61,9584);k[a+68>>2]=d;t=1<>2]=t+-1;t=t+-2|0;r=a+76|0;k[r>>2]=t;s=a+80|0;k[s>>2]=(t|0)/2|0;t=a+44|0;k[a+48>>2]=f;if(!(Wa[k[(k[a>>2]|0)+16>>2]&255](a)|0))Ka(10840,10862,98,11027);if((e|0)!=2)Ka(11049,10862,101,11027);q=a+84|0;l=a+40|0;e=k[l>>2]|0;p=(k[e+4>>2]|0)-(k[e>>2]|0)|0;m=p>>2;k[w>>2]=0;k[w+4>>2]=0;k[w+8>>2]=0;if((p|0)<=0){u=C;return 1}n=w+4|0;o=w+8|0;p=x+4|0;d=0;while(1){f=k[e>>2]|0;if((k[e+4>>2]|0)-f>>2>>>0>d>>>0)e=f;else{Iq(e);e=k[e>>2]|0}k[y>>2]=k[e+(d<<2)>>2];k[v>>2]=k[y>>2];hc(t,v,w);e=k[w>>2]|0;g=(e|0)>-1?e:0-e|0;f=k[n>>2]|0;a=(f|0)>-1?f:0-f|0;g=Fp(a|0,((a|0)<0)<<31>>31|0,g|0,((g|0)<0)<<31>>31|0)|0;a=k[o>>2]|0;h=(a|0)>-1;a=h?a:0-a|0;a=Fp(g|0,M|0,a|0,((a|0)<0)<<31>>31|0)|0;g=M;i=k[s>>2]|0;if((a|0)==0&(g|0)==0){e=i;f=w}else{D=((i|0)<0)<<31>>31;j=io(i|0,D|0,e|0,((e|0)<0)<<31>>31|0)|0;j=kl(j|0,M|0,a|0,g|0)|0;k[w>>2]=j;e=io(i|0,D|0,f|0,((f|0)<0)<<31>>31|0)|0;e=kl(e|0,M|0,a|0,g|0)|0;k[n>>2]=e;e=i-((j|0)>-1?j:0-j|0)-((e|0)>-1?e:0-e|0)|0;e=h?e:0-e|0;f=o}k[f>>2]=e;j=k[w>>2]|0;h=k[n>>2]|0;D=k[o>>2]|0;if((((h|0)>-1?h:0-h|0)+((j|0)>-1?j:0-j|0)+((D|0)>-1?D:0-D|0)|0)!=(i|0)){d=18;break}D=Nl(q)|0;e=k[w>>2]|0;if(D){e=0-e|0;g=0-(k[n>>2]|0)|0;i=0-(k[o>>2]|0)|0;k[w>>2]=e;k[n>>2]=g;k[o>>2]=i}else{g=k[n>>2]|0;i=k[o>>2]|0}a=(e|0)>-1;h=(g|0)>-1?g:0-g|0;f=(i|0)>-1?i:0-i|0;j=h+(a?e:0-e|0)+f|0;if((j|0)!=(k[s>>2]|0)){d=23;break}if(!a){if((g|0)>=0)f=(k[r>>2]|0)-f|0;if((i|0)<0)e=h;else e=(k[r>>2]|0)-h|0}else{e=j+i|0;f=j+g|0}a=(f|0)==0;g=(e|0)==0;h=k[r>>2]|0;do if((e|f|0)!=0?(A=(h|0)==(e|0),B=(h|0)==(f|0),!(a&A|g&B)):0){if(a&(j|0)<(e|0)){f=0;e=(j<<1)-e|0;break}if((j|0)>(e|0)&B){e=(j<<1)-e|0;break}if((j|0)>(f|0)&A){f=(j<<1)-f|0;break}else{f=(j|0)<(f|0)&g?(j<<1)-f|0:f;break}}else{f=h;e=h}while(0);k[x>>2]=f;k[p>>2]=e;D=d<<1;dj(z,x,b+(D<<2)|0,c+(D<<2)|0);d=d+1|0;if((d|0)>=(m|0)){d=11;break}e=k[l>>2]|0}if((d|0)==11){u=C;return 1}else if((d|0)==18)Ka(11073,10862,117,11027);else if((d|0)==23)Ka(11140,9461,99,11228);return 0}function Fc(a,b,c){a=a|0;b=b|0;c=c|0;var d=Pa,e=0,f=0,g=0,h=0,j=Pa;switch(i[a+24>>0]|0){case 1:{h=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;f=a+40|0;b=Fp(io(k[f>>2]|0,k[f+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,4,0)|0;h=M;f=k[a>>2]|0;e=k[f>>2]|0;if((h|0)>0|((h|0)==0?g>>>0>((k[f+4>>2]|0)-e|0)>>>0:0)){h=0;return h|0}h=e+b|0;j=da(l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24|0);d=da(j*da(4.65661287e-10));o[c>>2]=(i[a+32>>0]|0)==0?j:d;h=c+4|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 2:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=Fp(io(k[h>>2]|0,k[h+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,8,0)|0;f=M;h=k[a>>2]|0;e=k[h>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[h+4>>2]|0)-e|0)>>>0:0)){h=0;return h|0}b=e+b|0;h=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=da(l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=da(b|0)}else{d=da(d*da(4.65661287e-10));o[c>>2]=d;d=da(da(b|0)*da(4.65661287e-10))}o[c+4>>2]=d;o[c+8>>2]=da(0.0);h=1;return h|0}case 3:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=Fp(io(k[h>>2]|0,k[h+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,12,0)|0;f=M;h=k[a>>2]|0;e=k[h>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[h+4>>2]|0)-e|0)>>>0:0)){h=0;return h|0}h=e+b|0;b=h+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=h+8|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;d=da(l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;j=da(b|0);o[c+4>>2]=j;j=da(e|0);o[c+8>>2]=j;h=1;return h|0}else{j=da(d*da(4.65661287e-10));o[c>>2]=j;j=da(da(b|0)*da(4.65661287e-10));o[c+4>>2]=j;j=da(da(e|0)*da(4.65661287e-10));o[c+8>>2]=j;h=1;return h|0}}case 4:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=Fp(io(k[h>>2]|0,k[h+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,16,0)|0;f=M;h=k[a>>2]|0;e=k[h>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[h+4>>2]|0)-e|0)>>>0:0)){h=0;return h|0}h=e+b|0;b=h+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=h+8|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;d=da(l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;j=da(b|0);o[c+4>>2]=j;j=da(e|0);o[c+8>>2]=j;h=1;return h|0}else{j=da(d*da(4.65661287e-10));o[c>>2]=j;j=da(da(b|0)*da(4.65661287e-10));o[c+4>>2]=j;j=da(da(e|0)*da(4.65661287e-10));o[c+8>>2]=j;h=1;return h|0}}default:{h=0;return h|0}}return 0}function Gc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=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;C=u;u=u+32|0;v=C+28|0;w=C+16|0;x=C+8|0;y=C;z=a+8|0;d=k[a+12>>2]|0;if((d|0)<=1)Ka(9450,9461,60,9584);if((d|0)>=31)Ka(9604,9461,61,9584);k[a+68>>2]=d;t=1<>2]=t+-1;t=t+-2|0;r=a+76|0;k[r>>2]=t;s=a+80|0;k[s>>2]=(t|0)/2|0;t=a+44|0;k[a+48>>2]=f;if(!(Wa[k[(k[a>>2]|0)+16>>2]&255](a)|0))Ka(10840,10862,98,11027);if((e|0)!=2)Ka(11049,10862,101,11027);q=a+84|0;l=a+40|0;e=k[l>>2]|0;p=(k[e+4>>2]|0)-(k[e>>2]|0)|0;m=p>>2;k[w>>2]=0;k[w+4>>2]=0;k[w+8>>2]=0;if((p|0)<=0){u=C;return 1}n=w+4|0;o=w+8|0;p=x+4|0;d=0;while(1){f=k[e>>2]|0;if((k[e+4>>2]|0)-f>>2>>>0>d>>>0)e=f;else{Iq(e);e=k[e>>2]|0}k[y>>2]=k[e+(d<<2)>>2];k[v>>2]=k[y>>2];gc(t,v,w);e=k[w>>2]|0;g=(e|0)>-1?e:0-e|0;f=k[n>>2]|0;a=(f|0)>-1?f:0-f|0;g=Fp(a|0,((a|0)<0)<<31>>31|0,g|0,((g|0)<0)<<31>>31|0)|0;a=k[o>>2]|0;h=(a|0)>-1;a=h?a:0-a|0;a=Fp(g|0,M|0,a|0,((a|0)<0)<<31>>31|0)|0;g=M;i=k[s>>2]|0;if((a|0)==0&(g|0)==0){e=i;f=w}else{D=((i|0)<0)<<31>>31;j=io(i|0,D|0,e|0,((e|0)<0)<<31>>31|0)|0;j=kl(j|0,M|0,a|0,g|0)|0;k[w>>2]=j;e=io(i|0,D|0,f|0,((f|0)<0)<<31>>31|0)|0;e=kl(e|0,M|0,a|0,g|0)|0;k[n>>2]=e;e=i-((j|0)>-1?j:0-j|0)-((e|0)>-1?e:0-e|0)|0;e=h?e:0-e|0;f=o}k[f>>2]=e;j=k[w>>2]|0;h=k[n>>2]|0;D=k[o>>2]|0;if((((h|0)>-1?h:0-h|0)+((j|0)>-1?j:0-j|0)+((D|0)>-1?D:0-D|0)|0)!=(i|0)){d=18;break}D=Nl(q)|0;e=k[w>>2]|0;if(D){e=0-e|0;g=0-(k[n>>2]|0)|0;i=0-(k[o>>2]|0)|0;k[w>>2]=e;k[n>>2]=g;k[o>>2]=i}else{g=k[n>>2]|0;i=k[o>>2]|0}a=(e|0)>-1;h=(g|0)>-1?g:0-g|0;f=(i|0)>-1?i:0-i|0;j=h+(a?e:0-e|0)+f|0;if((j|0)!=(k[s>>2]|0)){d=23;break}if(!a){if((g|0)>=0)f=(k[r>>2]|0)-f|0;if((i|0)<0)e=h;else e=(k[r>>2]|0)-h|0}else{e=j+i|0;f=j+g|0}a=(f|0)==0;g=(e|0)==0;h=k[r>>2]|0;do if((e|f|0)!=0?(A=(h|0)==(e|0),B=(h|0)==(f|0),!(a&A|g&B)):0){if(a&(j|0)<(e|0)){f=0;e=(j<<1)-e|0;break}if((j|0)>(e|0)&B){e=(j<<1)-e|0;break}if((j|0)>(f|0)&A){f=(j<<1)-f|0;break}else{f=(j|0)<(f|0)&g?(j<<1)-f|0:f;break}}else{f=h;e=h}while(0);k[x>>2]=f;k[p>>2]=e;D=d<<1;dj(z,x,b+(D<<2)|0,c+(D<<2)|0);d=d+1|0;if((d|0)>=(m|0)){d=11;break}e=k[l>>2]|0}if((d|0)==11){u=C;return 1}else if((d|0)==18)Ka(11073,10862,117,11027);else if((d|0)==23)Ka(11140,9461,99,11228);return 0}function Hc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=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;C=u;u=u+32|0;v=C+28|0;w=C+16|0;x=C+8|0;y=C;z=a+8|0;d=k[a+12>>2]|0;if((d|0)<=1)Ka(9450,9461,60,9584);if((d|0)>=31)Ka(9604,9461,61,9584);k[a+68>>2]=d;t=1<>2]=t+-1;t=t+-2|0;r=a+76|0;k[r>>2]=t;s=a+80|0;k[s>>2]=(t|0)/2|0;t=a+44|0;k[a+48>>2]=f;if(!(Wa[k[(k[a>>2]|0)+16>>2]&255](a)|0))Ka(10840,10862,98,11027);if((e|0)!=2)Ka(11049,10862,101,11027);q=a+84|0;l=a+40|0;e=k[l>>2]|0;p=(k[e+4>>2]|0)-(k[e>>2]|0)|0;m=p>>2;k[w>>2]=0;k[w+4>>2]=0;k[w+8>>2]=0;if((p|0)<=0){u=C;return 1}n=w+4|0;o=w+8|0;p=x+4|0;d=0;while(1){f=k[e>>2]|0;if((k[e+4>>2]|0)-f>>2>>>0>d>>>0)e=f;else{Iq(e);e=k[e>>2]|0}k[y>>2]=k[e+(d<<2)>>2];k[v>>2]=k[y>>2];hc(t,v,w);e=k[w>>2]|0;g=(e|0)>-1?e:0-e|0;f=k[n>>2]|0;a=(f|0)>-1?f:0-f|0;g=Fp(a|0,((a|0)<0)<<31>>31|0,g|0,((g|0)<0)<<31>>31|0)|0;a=k[o>>2]|0;h=(a|0)>-1;a=h?a:0-a|0;a=Fp(g|0,M|0,a|0,((a|0)<0)<<31>>31|0)|0;g=M;i=k[s>>2]|0;if((a|0)==0&(g|0)==0){e=i;f=w}else{D=((i|0)<0)<<31>>31;j=io(i|0,D|0,e|0,((e|0)<0)<<31>>31|0)|0;j=kl(j|0,M|0,a|0,g|0)|0;k[w>>2]=j;e=io(i|0,D|0,f|0,((f|0)<0)<<31>>31|0)|0;e=kl(e|0,M|0,a|0,g|0)|0;k[n>>2]=e;e=i-((j|0)>-1?j:0-j|0)-((e|0)>-1?e:0-e|0)|0;e=h?e:0-e|0;f=o}k[f>>2]=e;j=k[w>>2]|0;h=k[n>>2]|0;D=k[o>>2]|0;if((((h|0)>-1?h:0-h|0)+((j|0)>-1?j:0-j|0)+((D|0)>-1?D:0-D|0)|0)!=(i|0)){d=18;break}D=Nl(q)|0;e=k[w>>2]|0;if(D){e=0-e|0;g=0-(k[n>>2]|0)|0;i=0-(k[o>>2]|0)|0;k[w>>2]=e;k[n>>2]=g;k[o>>2]=i}else{g=k[n>>2]|0;i=k[o>>2]|0}a=(e|0)>-1;h=(g|0)>-1?g:0-g|0;f=(i|0)>-1?i:0-i|0;j=h+(a?e:0-e|0)+f|0;if((j|0)!=(k[s>>2]|0)){d=23;break}if(!a){if((g|0)>=0)f=(k[r>>2]|0)-f|0;if((i|0)<0)e=h;else e=(k[r>>2]|0)-h|0}else{e=j+i|0;f=j+g|0}a=(f|0)==0;g=(e|0)==0;h=k[r>>2]|0;do if((e|f|0)!=0?(A=(h|0)==(e|0),B=(h|0)==(f|0),!(a&A|g&B)):0){if(a&(j|0)<(e|0)){f=0;e=(j<<1)-e|0;break}if((j|0)>(e|0)&B){e=(j<<1)-e|0;break}if((j|0)>(f|0)&A){f=(j<<1)-f|0;break}else{f=(j|0)<(f|0)&g?(j<<1)-f|0:f;break}}else{f=h;e=h}while(0);k[x>>2]=f;k[p>>2]=e;D=d<<1;gj(z,x,b+(D<<2)|0,c+(D<<2)|0);d=d+1|0;if((d|0)>=(m|0)){d=11;break}e=k[l>>2]|0}if((d|0)==11){u=C;return 1}else if((d|0)==18)Ka(11073,10862,117,11027);else if((d|0)==23)Ka(11140,9461,99,11228);return 0}function Ic(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=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;C=u;u=u+32|0;v=C+28|0;w=C+16|0;x=C+8|0;y=C;z=a+8|0;d=k[a+12>>2]|0;if((d|0)<=1)Ka(9450,9461,60,9584);if((d|0)>=31)Ka(9604,9461,61,9584);k[a+68>>2]=d;t=1<>2]=t+-1;t=t+-2|0;r=a+76|0;k[r>>2]=t;s=a+80|0;k[s>>2]=(t|0)/2|0;t=a+44|0;k[a+48>>2]=f;if(!(Wa[k[(k[a>>2]|0)+16>>2]&255](a)|0))Ka(10840,10862,98,11027);if((e|0)!=2)Ka(11049,10862,101,11027);q=a+84|0;l=a+40|0;e=k[l>>2]|0;p=(k[e+4>>2]|0)-(k[e>>2]|0)|0;m=p>>2;k[w>>2]=0;k[w+4>>2]=0;k[w+8>>2]=0;if((p|0)<=0){u=C;return 1}n=w+4|0;o=w+8|0;p=x+4|0;d=0;while(1){f=k[e>>2]|0;if((k[e+4>>2]|0)-f>>2>>>0>d>>>0)e=f;else{Iq(e);e=k[e>>2]|0}k[y>>2]=k[e+(d<<2)>>2];k[v>>2]=k[y>>2];gc(t,v,w);e=k[w>>2]|0;g=(e|0)>-1?e:0-e|0;f=k[n>>2]|0;a=(f|0)>-1?f:0-f|0;g=Fp(a|0,((a|0)<0)<<31>>31|0,g|0,((g|0)<0)<<31>>31|0)|0;a=k[o>>2]|0;h=(a|0)>-1;a=h?a:0-a|0;a=Fp(g|0,M|0,a|0,((a|0)<0)<<31>>31|0)|0;g=M;i=k[s>>2]|0;if((a|0)==0&(g|0)==0){e=i;f=w}else{D=((i|0)<0)<<31>>31;j=io(i|0,D|0,e|0,((e|0)<0)<<31>>31|0)|0;j=kl(j|0,M|0,a|0,g|0)|0;k[w>>2]=j;e=io(i|0,D|0,f|0,((f|0)<0)<<31>>31|0)|0;e=kl(e|0,M|0,a|0,g|0)|0;k[n>>2]=e;e=i-((j|0)>-1?j:0-j|0)-((e|0)>-1?e:0-e|0)|0;e=h?e:0-e|0;f=o}k[f>>2]=e;j=k[w>>2]|0;h=k[n>>2]|0;D=k[o>>2]|0;if((((h|0)>-1?h:0-h|0)+((j|0)>-1?j:0-j|0)+((D|0)>-1?D:0-D|0)|0)!=(i|0)){d=18;break}D=Nl(q)|0;e=k[w>>2]|0;if(D){e=0-e|0;g=0-(k[n>>2]|0)|0;i=0-(k[o>>2]|0)|0;k[w>>2]=e;k[n>>2]=g;k[o>>2]=i}else{g=k[n>>2]|0;i=k[o>>2]|0}a=(e|0)>-1;h=(g|0)>-1?g:0-g|0;f=(i|0)>-1?i:0-i|0;j=h+(a?e:0-e|0)+f|0;if((j|0)!=(k[s>>2]|0)){d=23;break}if(!a){if((g|0)>=0)f=(k[r>>2]|0)-f|0;if((i|0)<0)e=h;else e=(k[r>>2]|0)-h|0}else{e=j+i|0;f=j+g|0}a=(f|0)==0;g=(e|0)==0;h=k[r>>2]|0;do if((e|f|0)!=0?(A=(h|0)==(e|0),B=(h|0)==(f|0),!(a&A|g&B)):0){if(a&(j|0)<(e|0)){f=0;e=(j<<1)-e|0;break}if((j|0)>(e|0)&B){e=(j<<1)-e|0;break}if((j|0)>(f|0)&A){f=(j<<1)-f|0;break}else{f=(j|0)<(f|0)&g?(j<<1)-f|0:f;break}}else{f=h;e=h}while(0);k[x>>2]=f;k[p>>2]=e;D=d<<1;gj(z,x,b+(D<<2)|0,c+(D<<2)|0);d=d+1|0;if((d|0)>=(m|0)){d=11;break}e=k[l>>2]|0}if((d|0)==11){u=C;return 1}else if((d|0)==18)Ka(11073,10862,117,11027);else if((d|0)==23)Ka(11140,9461,99,11228);return 0}function Jc(a,b,c){a=a|0;b=b|0;c=c|0;var d=Pa,e=Pa,f=0,g=0,h=0,j=0;switch(i[a+24>>0]|0){case 1:{j=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=Fp(io(k[g>>2]|0,k[g+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,M|0,h|0,b|0)|0;h=Fp(b|0,M|0,2,0)|0;j=M;g=k[a>>2]|0;f=k[g>>2]|0;if((j|0)>0|((j|0)==0?h>>>0>((k[g+4>>2]|0)-f|0)>>>0:0)){j=0;return j|0}j=f+b|0;d=da((l[j>>0]|l[j+1>>0]<<8)<<16>>16);e=da(d/da(32767.0));o[c>>2]=(i[a+32>>0]|0)==0?d:e;j=c+4|0;k[j>>2]=0;k[j+4>>2]=0;k[j+8>>2]=0;j=1;return j|0}case 2:{g=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,h|0,b|0)|0;h=Fp(b|0,M|0,4,0)|0;g=M;j=k[a>>2]|0;f=k[j>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((k[j+4>>2]|0)-f|0)>>>0:0)){j=0;return j|0}j=f+b|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;b=j>>>16&65535;d=da((j&65535)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=da(b<<16>>16)}else{d=da(d/da(32767.0));o[c>>2]=d;d=da(da(b<<16>>16)/da(32767.0))}o[c+4>>2]=d;j=c+8|0;k[j>>2]=0;k[j+4>>2]=0;j=1;return j|0}case 3:{g=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,h|0,b|0)|0;h=Fp(b|0,M|0,6,0)|0;g=M;j=k[a>>2]|0;f=k[j>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((k[j+4>>2]|0)-f|0)>>>0:0)){j=0;return j|0}j=f+b|0;f=j+2|0;f=l[f>>0]|l[f+1>>0]<<8;b=j+4|0;b=l[b>>0]|l[b+1>>0]<<8;d=da((l[j>>0]|l[j+1>>0]<<8)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=da(b<<16>>16);d=da(f<<16>>16)}else{e=da(d/da(32767.0));o[c>>2]=e;e=da(da(b<<16>>16)/da(32767.0));d=da(da(f<<16>>16)/da(32767.0))}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=da(0.0);j=1;return j|0}case 4:{g=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,h|0,b|0)|0;h=Fp(b|0,M|0,8,0)|0;g=M;j=k[a>>2]|0;f=k[j>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((k[j+4>>2]|0)-f|0)>>>0:0)){j=0;return j|0}g=f+b|0;h=g;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;g=g+4|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;j=(i[a+32>>0]|0)==0;b=(So(h|0,g|0,16)|0)&65535;f=g&65535;a=(So(h|0,g|0,48)|0)&65535;d=da((h&65535)<<16>>16);if(j){o[c>>2]=d;e=da(b<<16>>16);o[c+4>>2]=e;e=da(f<<16>>16);o[c+8>>2]=e;e=da(a<<16>>16);o[c+12>>2]=e;j=1;return j|0}else{e=da(d/da(32767.0));o[c>>2]=e;e=da(da(b<<16>>16)/da(32767.0));o[c+4>>2]=e;e=da(da(f<<16>>16)/da(32767.0));o[c+8>>2]=e;e=da(da(a<<16>>16)/da(32767.0));o[c+12>>2]=e;j=1;return j|0}}default:{j=0;return j|0}}return 0}function Kc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=Pa,j=Pa,m=Pa;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}f=b+d|0;i[s>>0]=i[f>>0];i[s+1>>0]=i[f+1>>0];i[s+2>>0]=i[f+2>>0];i[s+3>>0]=i[f+3>>0];f=~~da(o[s>>2]);k[c>>2]=f;f=c+4|0;k[f>>2]=0;k[f+4>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,8,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;f=g;g=g+4|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;f=~~(k[s>>2]=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24,da(o[s>>2]));k[c>>2]=f;g=~~(k[s>>2]=g,da(o[s>>2]));k[c+4>>2]=g;k[c+8>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,12,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;i[s>>0]=i[g>>0];i[s+1>>0]=i[g+1>>0];i[s+2>>0]=i[g+2>>0];i[s+3>>0]=i[g+3>>0];m=da(o[s>>2]);f=g+4|0;i[s>>0]=i[f>>0];i[s+1>>0]=i[f+1>>0];i[s+2>>0]=i[f+2>>0];i[s+3>>0]=i[f+3>>0];j=da(o[s>>2]);g=g+8|0;i[s>>0]=i[g>>0];i[s+1>>0]=i[g+1>>0];i[s+2>>0]=i[g+2>>0];i[s+3>>0]=i[g+3>>0];h=da(o[s>>2]);k[c>>2]=~~m;k[c+4>>2]=~~j;k[c+8>>2]=~~h;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,16,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;i[s>>0]=i[g>>0];i[s+1>>0]=i[g+1>>0];i[s+2>>0]=i[g+2>>0];i[s+3>>0]=i[g+3>>0];h=da(o[s>>2]);f=g+4|0;i[s>>0]=i[f>>0];i[s+1>>0]=i[f+1>>0];i[s+2>>0]=i[f+2>>0];i[s+3>>0]=i[f+3>>0];j=da(o[s>>2]);g=g+8|0;i[s>>0]=i[g>>0];i[s+1>>0]=i[g+1>>0];i[s+2>>0]=i[g+2>>0];i[s+3>>0]=i[g+3>>0];m=da(o[s>>2]);k[c>>2]=~~h;k[c+4>>2]=~~j;k[c+8>>2]=~~m;g=1;return g|0}default:{g=0;return g|0}}return 0}function Lc(a,b,c){a=a|0;b=b|0;c=c|0;var d=Pa,e=Pa,f=0,g=0,h=0,j=0;switch(i[a+24>>0]|0){case 1:{j=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=Fp(io(k[g>>2]|0,k[g+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,M|0,h|0,b|0)|0;h=Fp(b|0,M|0,2,0)|0;j=M;g=k[a>>2]|0;f=k[g>>2]|0;if((j|0)>0|((j|0)==0?h>>>0>((k[g+4>>2]|0)-f|0)>>>0:0)){j=0;return j|0}j=f+b|0;d=da((l[j>>0]|l[j+1>>0]<<8)&65535);e=da(d/da(65535.0));o[c>>2]=(i[a+32>>0]|0)==0?d:e;j=c+4|0;k[j>>2]=0;k[j+4>>2]=0;k[j+8>>2]=0;j=1;return j|0}case 2:{g=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,h|0,b|0)|0;h=Fp(b|0,M|0,4,0)|0;g=M;j=k[a>>2]|0;f=k[j>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((k[j+4>>2]|0)-f|0)>>>0:0)){j=0;return j|0}j=f+b|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;b=j>>>16&65535;d=da(j&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=da(b&65535)}else{d=da(d/da(65535.0));o[c>>2]=d;d=da(da(b&65535)/da(65535.0))}o[c+4>>2]=d;j=c+8|0;k[j>>2]=0;k[j+4>>2]=0;j=1;return j|0}case 3:{g=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,h|0,b|0)|0;h=Fp(b|0,M|0,6,0)|0;g=M;j=k[a>>2]|0;f=k[j>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((k[j+4>>2]|0)-f|0)>>>0:0)){j=0;return j|0}j=f+b|0;f=j+2|0;f=l[f>>0]|l[f+1>>0]<<8;b=j+4|0;b=l[b>>0]|l[b+1>>0]<<8;d=da((l[j>>0]|l[j+1>>0]<<8)&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=da(b&65535);d=da(f&65535)}else{e=da(d/da(65535.0));o[c>>2]=e;e=da(da(b&65535)/da(65535.0));d=da(da(f&65535)/da(65535.0))}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=da(0.0);j=1;return j|0}case 4:{g=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,h|0,b|0)|0;h=Fp(b|0,M|0,8,0)|0;g=M;j=k[a>>2]|0;f=k[j>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((k[j+4>>2]|0)-f|0)>>>0:0)){j=0;return j|0}g=f+b|0;h=g;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;g=g+4|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;j=(i[a+32>>0]|0)==0;b=(So(h|0,g|0,16)|0)&65535;f=g&65535;a=(So(h|0,g|0,48)|0)&65535;d=da(h&65535);if(j){o[c>>2]=d;e=da(b&65535);o[c+4>>2]=e;e=da(f&65535);o[c+8>>2]=e;e=da(a&65535);o[c+12>>2]=e;j=1;return j|0}else{e=da(d/da(65535.0));o[c>>2]=e;e=da(da(b&65535)/da(65535.0));o[c+4>>2]=e;e=da(da(f&65535)/da(65535.0));o[c+8>>2]=e;e=da(da(a&65535)/da(65535.0));o[c+12>>2]=e;j=1;return j|0}}default:{j=0;return j|0}}return 0}function Mc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}e=b+d|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;f=c;k[f>>2]=e;k[f+4>>2]=((e|0)<0)<<31>>31;f=c+8|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[f+16>>2]=0;k[f+20>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,8,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;g=f;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;a=zo(0,g|0,32)|0;e=c;k[e>>2]=a;k[e+4>>2]=M;f=zo(g|0,f|0,32)|0;g=c+8|0;k[g>>2]=f;k[g+4>>2]=M;g=c+16|0;k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;k[g+12>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,12,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;a=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;e=f+4|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;f=f+8|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=a;k[g+4>>2]=((a|0)<0)<<31>>31;g=c+8|0;k[g>>2]=e;k[g+4>>2]=((e|0)<0)<<31>>31;g=c+16|0;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=c+24|0;k[g>>2]=0;k[g+4>>2]=0;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,16,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;d=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;a=f+4|0;a=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;e=f+8|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;f=f+12|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=d;k[g+4>>2]=((d|0)<0)<<31>>31;g=c+8|0;k[g>>2]=a;k[g+4>>2]=((a|0)<0)<<31>>31;g=c+16|0;k[g>>2]=e;k[g+4>>2]=((e|0)<0)<<31>>31;g=c+24|0;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=1;return g|0}default:{g=0;return g|0}}return 0}function Nc(a,b,c){a=a|0;b=b|0;c=c|0;var d=Pa,e=0,f=0,g=0,h=0,j=Pa;switch(i[a+24>>0]|0){case 1:{h=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;f=a+40|0;b=Fp(io(k[f>>2]|0,k[f+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,2,0)|0;h=M;f=k[a>>2]|0;e=k[f>>2]|0;if((h|0)>0|((h|0)==0?g>>>0>((k[f+4>>2]|0)-e|0)>>>0:0)){h=0;return h|0}h=e+b|0;j=da((l[h>>0]|l[h+1>>0]<<8)<<16>>16);d=da(j/da(32767.0));o[c>>2]=(i[a+32>>0]|0)==0?j:d;h=c+4|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 2:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=Fp(io(k[h>>2]|0,k[h+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,4,0)|0;f=M;h=k[a>>2]|0;e=k[h>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[h+4>>2]|0)-e|0)>>>0:0)){h=0;return h|0}h=e+b|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;b=h>>>16&65535;d=da((h&65535)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=da(b<<16>>16)}else{d=da(d/da(32767.0));o[c>>2]=d;d=da(da(b<<16>>16)/da(32767.0))}o[c+4>>2]=d;o[c+8>>2]=da(0.0);h=1;return h|0}case 3:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=Fp(io(k[h>>2]|0,k[h+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,6,0)|0;f=M;h=k[a>>2]|0;e=k[h>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[h+4>>2]|0)-e|0)>>>0:0)){h=0;return h|0}h=e+b|0;b=h+2|0;b=l[b>>0]|l[b+1>>0]<<8;e=h+4|0;e=l[e>>0]|l[e+1>>0]<<8;d=da((l[h>>0]|l[h+1>>0]<<8)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;j=da(b<<16>>16);o[c+4>>2]=j;j=da(e<<16>>16);o[c+8>>2]=j;h=1;return h|0}else{j=da(d/da(32767.0));o[c>>2]=j;j=da(da(b<<16>>16)/da(32767.0));o[c+4>>2]=j;j=da(da(e<<16>>16)/da(32767.0));o[c+8>>2]=j;h=1;return h|0}}case 4:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=Fp(io(k[h>>2]|0,k[h+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,8,0)|0;f=M;h=k[a>>2]|0;e=k[h>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[h+4>>2]|0)-e|0)>>>0:0)){h=0;return h|0}e=e+b|0;g=e;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;e=e+4|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;h=(i[a+32>>0]|0)==0;b=(So(g|0,e|0,16)|0)&65535;e=e&65535;d=da((g&65535)<<16>>16);if(h){o[c>>2]=d;j=da(b<<16>>16);o[c+4>>2]=j;j=da(e<<16>>16);o[c+8>>2]=j;h=1;return h|0}else{j=da(d/da(32767.0));o[c>>2]=j;j=da(da(b<<16>>16)/da(32767.0));o[c+4>>2]=j;j=da(da(e<<16>>16)/da(32767.0));o[c+8>>2]=j;h=1;return h|0}}default:{h=0;return h|0}}return 0}function Oc(a,b,c){a=a|0;b=b|0;c=c|0;var d=Pa,e=0,f=0,g=0,h=0,j=Pa;switch(i[a+24>>0]|0){case 1:{h=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;f=a+40|0;b=Fp(io(k[f>>2]|0,k[f+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,2,0)|0;h=M;f=k[a>>2]|0;e=k[f>>2]|0;if((h|0)>0|((h|0)==0?g>>>0>((k[f+4>>2]|0)-e|0)>>>0:0)){h=0;return h|0}h=e+b|0;j=da((l[h>>0]|l[h+1>>0]<<8)&65535);d=da(j/da(65535.0));o[c>>2]=(i[a+32>>0]|0)==0?j:d;h=c+4|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 2:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=Fp(io(k[h>>2]|0,k[h+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,4,0)|0;f=M;h=k[a>>2]|0;e=k[h>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[h+4>>2]|0)-e|0)>>>0:0)){h=0;return h|0}h=e+b|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;b=h>>>16&65535;d=da(h&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=da(b&65535)}else{d=da(d/da(65535.0));o[c>>2]=d;d=da(da(b&65535)/da(65535.0))}o[c+4>>2]=d;o[c+8>>2]=da(0.0);h=1;return h|0}case 3:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=Fp(io(k[h>>2]|0,k[h+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,6,0)|0;f=M;h=k[a>>2]|0;e=k[h>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[h+4>>2]|0)-e|0)>>>0:0)){h=0;return h|0}h=e+b|0;b=h+2|0;b=l[b>>0]|l[b+1>>0]<<8;e=h+4|0;e=l[e>>0]|l[e+1>>0]<<8;d=da((l[h>>0]|l[h+1>>0]<<8)&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;j=da(b&65535);o[c+4>>2]=j;j=da(e&65535);o[c+8>>2]=j;h=1;return h|0}else{j=da(d/da(65535.0));o[c>>2]=j;j=da(da(b&65535)/da(65535.0));o[c+4>>2]=j;j=da(da(e&65535)/da(65535.0));o[c+8>>2]=j;h=1;return h|0}}case 4:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=Fp(io(k[h>>2]|0,k[h+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,8,0)|0;f=M;h=k[a>>2]|0;e=k[h>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[h+4>>2]|0)-e|0)>>>0:0)){h=0;return h|0}e=e+b|0;g=e;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;e=e+4|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;h=(i[a+32>>0]|0)==0;b=(So(g|0,e|0,16)|0)&65535;e=e&65535;d=da(g&65535);if(h){o[c>>2]=d;j=da(b&65535);o[c+4>>2]=j;j=da(e&65535);o[c+8>>2]=j;h=1;return h|0}else{j=da(d/da(65535.0));o[c>>2]=j;j=da(da(b&65535)/da(65535.0));o[c+4>>2]=j;j=da(da(e&65535)/da(65535.0));o[c+8>>2]=j;h=1;return h|0}}default:{h=0;return h|0}}return 0}function Pc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 1:{f=jo(44)|0;k[f+4>>2]=c;c=f+12|0;d=d+4|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[f+8>>2]=2604;d=f+28|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[f>>2]=3016;e=f;return e|0}case 2:{f=jo(44)|0;k[f+4>>2]=c;c=f+12|0;d=d+4|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[f+8>>2]=2604;d=f+28|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[f>>2]=3072;e=f;return e|0}case 4:{f=jo(96)|0;k[f+4>>2]=c;a=f+12|0;b=d+4|0;k[a>>2]=k[b>>2];k[a+4>>2]=k[b+4>>2];k[a+8>>2]=k[b+8>>2];k[a+12>>2]=k[b+12>>2];k[f+8>>2]=2604;a=f+28|0;k[a>>2]=k[e>>2];k[a+4>>2]=k[e+4>>2];k[a+8>>2]=k[e+8>>2];k[a+12>>2]=k[e+12>>2];k[f>>2]=3128;a=f+44|0;b=a+52|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));e=f;return e|0}case 3:{b=jo(76)|0;k[b+4>>2]=c;c=b+12|0;d=d+4|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[b+8>>2]=2604;d=b+28|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[b>>2]=3184;e=b+44|0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[e+16>>2]=0;k[e+20>>2]=0;k[e+24>>2]=0;k[b+72>>2]=f&65535;e=b;return e|0}case 5:{f=jo(88)|0;k[f+4>>2]=c;c=f+12|0;d=d+4|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[f+8>>2]=2604;d=f+28|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[f>>2]=3240;k[f+44>>2]=0;k[f+48>>2]=0;k[f+60>>2]=0;k[f+64>>2]=0;k[f+68>>2]=0;d=f+72|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];e=f;return e|0}case 6:{f=jo(100)|0;k[f+4>>2]=c;c=f+12|0;d=d+4|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[f+8>>2]=2604;d=f+28|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[f>>2]=3296;k[f+44>>2]=0;k[f+48>>2]=0;d=f+52|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];e=f+68|0;k[e>>2]=-1;k[e+4>>2]=-1;k[e+8>>2]=-1;k[e+12>>2]=-1;vr(f+84|0);e=f;return e|0}default:{e=0;return e|0}}return 0}function Qc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 1:{f=jo(44)|0;k[f+4>>2]=c;c=f+12|0;d=d+4|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[f+8>>2]=2604;d=f+28|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[f>>2]=2680;e=f;return e|0}case 2:{f=jo(44)|0;k[f+4>>2]=c;c=f+12|0;d=d+4|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[f+8>>2]=2604;d=f+28|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[f>>2]=2736;e=f;return e|0}case 4:{f=jo(96)|0;k[f+4>>2]=c;a=f+12|0;b=d+4|0;k[a>>2]=k[b>>2];k[a+4>>2]=k[b+4>>2];k[a+8>>2]=k[b+8>>2];k[a+12>>2]=k[b+12>>2];k[f+8>>2]=2604;a=f+28|0;k[a>>2]=k[e>>2];k[a+4>>2]=k[e+4>>2];k[a+8>>2]=k[e+8>>2];k[a+12>>2]=k[e+12>>2];k[f>>2]=2792;a=f+44|0;b=a+52|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));e=f;return e|0}case 3:{b=jo(76)|0;k[b+4>>2]=c;c=b+12|0;d=d+4|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[b+8>>2]=2604;d=b+28|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[b>>2]=2848;e=b+44|0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[e+16>>2]=0;k[e+20>>2]=0;k[e+24>>2]=0;k[b+72>>2]=f&65535;e=b;return e|0}case 5:{f=jo(88)|0;k[f+4>>2]=c;c=f+12|0;d=d+4|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[f+8>>2]=2604;d=f+28|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[f>>2]=2904;k[f+44>>2]=0;k[f+48>>2]=0;k[f+60>>2]=0;k[f+64>>2]=0;k[f+68>>2]=0;d=f+72|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];e=f;return e|0}case 6:{f=jo(100)|0;k[f+4>>2]=c;c=f+12|0;d=d+4|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[f+8>>2]=2604;d=f+28|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[f>>2]=2960;k[f+44>>2]=0;k[f+48>>2]=0;d=f+52|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];e=f+68|0;k[e>>2]=-1;k[e+4>>2]=-1;k[e+8>>2]=-1;k[e+12>>2]=-1;vr(f+84|0);e=f;return e|0}default:{e=0;return e|0}}return 0}function Rc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 1:{f=jo(44)|0;k[f+4>>2]=c;c=f+12|0;d=d+4|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[f+8>>2]=2584;d=f+28|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[f>>2]=3744;e=f;return e|0}case 2:{f=jo(44)|0;k[f+4>>2]=c;c=f+12|0;d=d+4|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[f+8>>2]=2584;d=f+28|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[f>>2]=3800;e=f;return e|0}case 4:{f=jo(96)|0;k[f+4>>2]=c;a=f+12|0;b=d+4|0;k[a>>2]=k[b>>2];k[a+4>>2]=k[b+4>>2];k[a+8>>2]=k[b+8>>2];k[a+12>>2]=k[b+12>>2];k[f+8>>2]=2584;a=f+28|0;k[a>>2]=k[e>>2];k[a+4>>2]=k[e+4>>2];k[a+8>>2]=k[e+8>>2];k[a+12>>2]=k[e+12>>2];k[f>>2]=3856;a=f+44|0;b=a+52|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));e=f;return e|0}case 3:{b=jo(76)|0;k[b+4>>2]=c;c=b+12|0;d=d+4|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[b+8>>2]=2584;d=b+28|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[b>>2]=3912;e=b+44|0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[e+16>>2]=0;k[e+20>>2]=0;k[e+24>>2]=0;k[b+72>>2]=f&65535;e=b;return e|0}case 5:{f=jo(88)|0;k[f+4>>2]=c;c=f+12|0;d=d+4|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[f+8>>2]=2584;d=f+28|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[f>>2]=3968;k[f+44>>2]=0;k[f+48>>2]=0;k[f+60>>2]=0;k[f+64>>2]=0;k[f+68>>2]=0;d=f+72|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];e=f;return e|0}case 6:{f=jo(100)|0;k[f+4>>2]=c;c=f+12|0;d=d+4|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[f+8>>2]=2584;d=f+28|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[f>>2]=4024;k[f+44>>2]=0;k[f+48>>2]=0;d=f+52|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];e=f+68|0;k[e>>2]=-1;k[e+4>>2]=-1;k[e+8>>2]=-1;k[e+12>>2]=-1;vr(f+84|0);e=f;return e|0}default:{e=0;return e|0}}return 0}function Sc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 1:{f=jo(44)|0;k[f+4>>2]=c;c=f+12|0;d=d+4|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[f+8>>2]=2584;d=f+28|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[f>>2]=3408;e=f;return e|0}case 2:{f=jo(44)|0;k[f+4>>2]=c;c=f+12|0;d=d+4|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[f+8>>2]=2584;d=f+28|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[f>>2]=3464;e=f;return e|0}case 4:{f=jo(96)|0;k[f+4>>2]=c;a=f+12|0;b=d+4|0;k[a>>2]=k[b>>2];k[a+4>>2]=k[b+4>>2];k[a+8>>2]=k[b+8>>2];k[a+12>>2]=k[b+12>>2];k[f+8>>2]=2584;a=f+28|0;k[a>>2]=k[e>>2];k[a+4>>2]=k[e+4>>2];k[a+8>>2]=k[e+8>>2];k[a+12>>2]=k[e+12>>2];k[f>>2]=3520;a=f+44|0;b=a+52|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));e=f;return e|0}case 3:{b=jo(76)|0;k[b+4>>2]=c;c=b+12|0;d=d+4|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[b+8>>2]=2584;d=b+28|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[b>>2]=3576;e=b+44|0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[e+16>>2]=0;k[e+20>>2]=0;k[e+24>>2]=0;k[b+72>>2]=f&65535;e=b;return e|0}case 5:{f=jo(88)|0;k[f+4>>2]=c;c=f+12|0;d=d+4|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[f+8>>2]=2584;d=f+28|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[f>>2]=3632;k[f+44>>2]=0;k[f+48>>2]=0;k[f+60>>2]=0;k[f+64>>2]=0;k[f+68>>2]=0;d=f+72|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];e=f;return e|0}case 6:{f=jo(100)|0;k[f+4>>2]=c;c=f+12|0;d=d+4|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[f+8>>2]=2584;d=f+28|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[f>>2]=3688;k[f+44>>2]=0;k[f+48>>2]=0;d=f+52|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];e=f+68|0;k[e>>2]=-1;k[e+4>>2]=-1;k[e+8>>2]=-1;k[e+12>>2]=-1;vr(f+84|0);e=f;return e|0}default:{e=0;return e|0}}return 0}function Tc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}e=b+d|0;e=(l[e>>0]|l[e+1>>0]<<8)<<16>>16;f=c;k[f>>2]=e;k[f+4>>2]=((e|0)<0)<<31>>31;f=c+8|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[f+16>>2]=0;k[f+20>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;e=(f&65535)<<16>>16;g=c;k[g>>2]=e;k[g+4>>2]=((e|0)<0)<<31>>31;f=(f>>>16&65535)<<16>>16;g=c+8|0;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=c+16|0;k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;k[g+12>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,6,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}a=b+d|0;e=a+2|0;e=l[e>>0]|l[e+1>>0]<<8;f=a+4|0;f=l[f>>0]|l[f+1>>0]<<8;a=(l[a>>0]|l[a+1>>0]<<8)<<16>>16;g=c;k[g>>2]=a;k[g+4>>2]=((a|0)<0)<<31>>31;e=e<<16>>16;g=c+8|0;k[g>>2]=e;k[g+4>>2]=((e|0)<0)<<31>>31;f=f<<16>>16;g=c+16|0;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=c+24|0;k[g>>2]=0;k[g+4>>2]=0;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,8,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;g=f;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;a=zo(No(g|0,f|0,48)|0,M|0,48)|0;e=c;k[e>>2]=a;k[e+4>>2]=M;e=zo(0,g|0,48)|0;a=c+8|0;k[a>>2]=e;k[a+4>>2]=M;a=zo(No(g|0,f|0,16)|0,M|0,48)|0;e=c+16|0;k[e>>2]=a;k[e+4>>2]=M;f=zo(g|0,f|0,48)|0;g=c+24|0;k[g>>2]=f;k[g+4>>2]=M;g=1;return g|0}default:{g=0;return g|0}}return 0} function sf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}f=b+d|0;k[c>>2]=(l[f>>0]|l[f+1>>0]<<8)&65535;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;k[c>>2]=(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)&65535;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,6,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;k[c>>2]=(l[g>>0]|l[g+1>>0]<<8)&65535;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,8,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;k[c>>2]=(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)&65535;g=1;return g|0}default:{g=0;return g|0}}return 0}function tf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=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;w=u;u=u+48|0;s=w+40|0;t=w+24|0;o=w+20|0;p=w+16|0;q=w;r=w+8|0;k[t>>2]=0;v=t+4|0;k[v>>2]=0;k[t+8>>2]=0;e=b+8|0;d=k[e>>2]|0;e=k[e+4>>2]|0;f=b+16|0;h=f;g=k[h>>2]|0;h=k[h+4>>2]|0;j=Fp(g|0,h|0,4,0)|0;m=M;a:do if((e|0)<(m|0)|(e|0)==(m|0)&d>>>0>>0)d=0;else{n=k[b>>2]|0;x=n+g|0;x=l[x>>0]|l[x+1>>0]<<8|l[x+2>>0]<<16|l[x+3>>0]<<24;y=f;k[y>>2]=j;k[y+4>>2]=m;b:do switch(x|0){case 3:{if(!((e|0)>(m|0)|(e|0)==(m|0)&d>>>0>j>>>0)){d=0;break a}y=i[n+j>>0]|0;n=Fp(g|0,h|0,5,0)|0;x=f;k[x>>2]=n;k[x+4>>2]=M;k[a+8>>2]=y<<24>>24;if(y<<24>>24==1)if(kc(a,b,t)|0)break b;else{d=0;break a}else{Im(6378,23,1,k[1276]|0)|0;d=0;break a}}case 2:{if(!(kc(a,b,t)|0)){d=0;break a}break}default:{Im(6402,24,1,k[1276]|0)|0;d=0;break a}}while(0);k[o>>2]=k[t>>2];k[p>>2]=k[v>>2];x=c;y=k[x+4>>2]|0;d=q;k[d>>2]=k[x>>2];k[d+4>>2]=y;k[s>>2]=k[q>>2];k[s+4>>2]=k[q+4>>2];Rf(r,o,p,a,s);d=1}while(0);a=k[t>>2]|0;if(!a){u=w;return d|0}b=k[v>>2]|0;if((b|0)!=(a|0))k[v>>2]=b+(~(((b+-12-a|0)>>>0)/12|0)*12|0);_r(a);u=w;return d|0}function uf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=M;a=k[a>>2]|0;b=k[a>>2]|0;if(!((e|0)<0|((e|0)==0?d>>>0<((k[a+4>>2]|0)-b|0)>>>0:0))){f=0;return f|0}f=c;k[f>>2]=l[b+d>>0];k[f+4>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;g=c;k[g>>2]=(l[f>>0]|l[f+1>>0]<<8)&255;k[g+4>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,3,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=c;k[g>>2]=l[b+d>>0];k[g+4>>2]=0;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,4,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;g=c;k[g>>2]=(l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24)&255;k[g+4>>2]=0;g=1;return g|0}default:{g=0;return g|0}}return 0}function vf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;p=u;u=u+32|0;m=p+8|0;i=p;n=a+4|0;f=k[n>>2]|0;if(f>>>0>=b>>>0){k[n>>2]=b;u=p;return}o=a+8|0;d=k[o>>2]|0;l=d<<5;e=b-f|0;if(l>>>0>>0|f>>>0>(l-e|0)>>>0){k[m>>2]=0;j=m+4|0;k[j>>2]=0;l=m+8|0;k[l>>2]=0;if((b|0)<0){Jq(a);d=k[o>>2]|0}f=d<<6;b=b+31&-32;lj(m,d<<5>>>0<1073741823?(f>>>0>>0?b:f):2147483647);b=k[n>>2]|0;k[j>>2]=b+e;f=k[a>>2]|0;g=f;d=k[m>>2]|0;b=(g+(b>>>5<<2)-f<<3)+(b&31)|0;if((b|0)>0){h=b>>>5;mn(d|0,f|0,h<<2|0)|0;f=b-(h<<5)|0;b=d+(h<<2)|0;d=b;if((f|0)>0){q=-1>>>(32-f|0);k[b>>2]=k[b>>2]&~q|k[g+(h<<2)>>2]&q}else f=0}else f=0;k[i>>2]=d;k[i+4>>2]=f;b=i;d=k[b>>2]|0;b=k[b+4>>2]|0;f=k[a>>2]|0;k[a>>2]=k[m>>2];k[m>>2]=f;q=k[n>>2]|0;k[n>>2]=k[j>>2];k[j>>2]=q;q=k[o>>2]|0;k[o>>2]=k[l>>2];k[l>>2]=q;if(f|0)_r(f)}else{d=(k[a>>2]|0)+(f>>>5<<2)|0;k[n>>2]=b;b=f&31}if(!e){u=p;return}g=(b|0)==0;f=d;if(c){if(!g){q=32-b|0;d=q>>>0>e>>>0?e:q;k[f>>2]=k[f>>2]|-1>>>(q-d|0)&-1<>>5;_j(d|0,-1,q<<2|0)|0;e=e-(q<<5)|0;d=f+(q<<2)|0;if(!e){u=p;return}k[d>>2]=k[d>>2]|-1>>>(32-e|0);u=p;return}else{if(!g){q=32-b|0;d=q>>>0>e>>>0?e:q;k[f>>2]=k[f>>2]&~(-1>>>(q-d|0)&-1<>>5;_j(d|0,0,q<<2|0)|0;e=e-(q<<5)|0;d=f+(q<<2)|0;if(!e){u=p;return}k[d>>2]=k[d>>2]&~(-1>>>(32-e|0));u=p;return}}function wf(a,b){a=a|0;b=b|0;var c=0,d=Pa,e=Pa,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,p=Pa;l=k[b>>2]|0;h=a+4|0;i=k[h>>2]|0;j=(i|0)==0;a:do if(!j){f=i+-1|0;c=(f&i|0)==0;if(c)g=f&l;else g=(l>>>0)%(i>>>0)|0;b=k[(k[a>>2]|0)+(g<<2)>>2]|0;if(b)if(c){do{b=k[b>>2]|0;if(!b){b=g;break a}if((k[b+4>>2]&f|0)!=(g|0)){b=g;break a}}while((k[b+8>>2]|0)!=(l|0));a=b+12|0;return a|0}else{do{b=k[b>>2]|0;if(!b){b=g;break a}if((((k[b+4>>2]|0)>>>0)%(i>>>0)|0|0)!=(g|0)){b=g;break a}}while((k[b+8>>2]|0)!=(l|0));a=b+12|0;return a|0}else b=g}else b=0;while(0);g=jo(16)|0;k[g+8>>2]=l;k[g+12>>2]=0;k[g+4>>2]=l;k[g>>2]=0;m=a+12|0;d=da(((k[m>>2]|0)+1|0)>>>0);p=da(i>>>0);e=da(o[a+16>>2]);do if(j|d>da(p*e)){b=(i>>>0<3|(i+-1&i|0)!=0)&1|i<<1;c=~~da(_(da(d/e)))>>>0;fj(a,b>>>0>>0?c:b);b=k[h>>2]|0;c=b+-1|0;if(!(c&b)){f=b;b=c&l;break}else{f=b;b=(l>>>0)%(b>>>0)|0;break}}else f=i;while(0);c=(k[a>>2]|0)+(b<<2)|0;b=k[c>>2]|0;if(!b){b=a+8|0;k[g>>2]=k[b>>2];k[b>>2]=g;k[c>>2]=b;b=k[g>>2]|0;if(b|0){b=k[b+4>>2]|0;c=f+-1|0;if(!(c&f))b=b&c;else b=(b>>>0)%(f>>>0)|0;b=(k[a>>2]|0)+(b<<2)|0;n=24}}else{k[g>>2]=k[b>>2];n=24}if((n|0)==24)k[b>>2]=g;k[m>>2]=(k[m>>2]|0)+1;a=g;a=a+12|0;return a|0}function xf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;r=k[a+32>>2]|0;s=k[a+36>>2]|0;q=e>>>0>1073741823?-1:e<<2;p=Xr(q)|0;_j(p|0,0,q|0)|0;q=a+8|0;dj(q,p,b,c);l=a+40|0;a=k[l>>2]|0;g=k[a+4>>2]|0;f=k[a>>2]|0;o=g-f|0;m=o>>2;if((o|0)<=4){Yr(p);return 1}n=r+12|0;o=(e|0)>0;d=1;while(1){if(g-f>>2>>>0<=d>>>0){Iq(a);f=k[a>>2]|0}f=k[f+(d<<2)>>2]|0;j=$(d,e)|0;if((f|0)>=0?(t=k[(k[n>>2]|0)+(f<<2)>>2]|0,(t|0)>=0):0){a=k[r>>2]|0;g=k[s>>2]|0;h=k[g+(k[a+(t<<2)>>2]<<2)>>2]|0;f=t+1|0;f=((f|0)%3|0|0)==0?t+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[a+(f<<2)>>2]|0;i=k[g+(f<<2)>>2]|0;f=(((t>>>0)%3|0|0)==0?2:-1)+t|0;if((f|0)<0)f=-1073741824;else f=k[a+(f<<2)>>2]|0;f=k[g+(f<<2)>>2]|0;if((h|0)<(d|0)&(i|0)<(d|0)&(f|0)<(d|0)){h=$(h,e)|0;g=$(i,e)|0;a=$(f,e)|0;if(o){f=0;do{k[p+(f<<2)>>2]=(k[c+(f+a<<2)>>2]|0)+(k[c+(f+g<<2)>>2]|0)-(k[c+(f+h<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0))}dj(q,p,b+(j<<2)|0,c+(j<<2)|0)}else u=16}else u=16;if((u|0)==16){u=0;dj(q,c+(($(d+-1|0,e)|0)<<2)|0,b+(j<<2)|0,c+(j<<2)|0)}d=d+1|0;if((d|0)>=(m|0))break;a=k[l>>2]|0;f=k[a>>2]|0;g=k[a+4>>2]|0}Yr(p);return 1}function yf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+32|0;f=o+16|0;g=o;h=b+8|0;m=h;j=k[m+4>>2]|0;n=b+16|0;d=n;c=k[d>>2]|0;d=k[d+4>>2]|0;if(!((j|0)>(d|0)|((j|0)==(d|0)?(k[m>>2]|0)>>>0>c>>>0:0))){a=0;u=o;return a|0}m=i[(k[b>>2]|0)+c>>0]|0;e=Fp(c|0,d|0,1,0)|0;j=n;k[j>>2]=e;k[j+4>>2]=M;if(m<<24>>24){a=0;u=o;return a|0}d=0;do{sk(f,b)|0;c=k[f>>2]|0;if(c|0){e=a+60+(d*12|0)|0;vf(e,c,0);vr(g);Cg(g,b)|0;if(k[f>>2]|0){c=0;do{q=Nl(g)|0;m=(k[e>>2]|0)+(c>>>5<<2)|0;j=1<<(c&31);p=k[m>>2]|0;k[m>>2]=q?p|j:p&~j;c=c+1|0}while(c>>>0<(k[f>>2]|0)>>>0)}ds(g)}d=d+1|0}while((d|0)<4);j=h;h=k[j>>2]|0;j=k[j+4>>2]|0;d=n;c=k[d>>2]|0;d=k[d+4>>2]|0;m=Fp(c|0,d|0,4,0)|0;e=M;if((j|0)<(e|0)|(j|0)==(e|0)&h>>>0>>0){q=0;u=o;return q|0}f=k[b>>2]|0;g=f+c|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;q=n;k[q>>2]=m;k[q+4>>2]=e;c=Fp(c|0,d|0,8,0)|0;d=M;if((j|0)<(d|0)|(j|0)==(d|0)&h>>>0>>0){q=0;u=o;return q|0}q=f+m|0;q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24;p=n;k[p>>2]=c;k[p+4>>2]=d;k[a+12>>2]=g;k[a+16>>2]=q;q=q+(1-g)|0;k[a+20>>2]=q;c=(q|0)/2|0;d=a+24|0;k[d>>2]=c;k[a+28>>2]=0-c;if(q&1|0){q=1;u=o;return q|0}k[d>>2]=c+-1;q=1;u=o;return q|0}function zf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+16|0;i=p;l=Wa[k[(k[a>>2]|0)+24>>2]&255](a)|0;if((l|0)<=0){n=1;o=1;o=n|o;u=p;return o|0}m=a+36|0;n=a+48|0;b=0;while(1){h=(Wa[k[(k[a>>2]|0)+28>>2]&255](a)|0)+40|0;if(k[h>>2]|0){g=k[(k[(k[m>>2]|0)+(b<<2)>>2]|0)+8>>2]|0;f=(Wa[k[(k[a>>2]|0)+28>>2]&255](a)|0)+40|0;f=k[f>>2]|0;g=k[g+56>>2]|0;k[i>>2]=0;k[i+4>>2]=0;k[i+8>>2]=0;Jk(i,17615,24);h=f+16|0;d=k[h>>2]|0;if(d){c=h;a:while(1){e=d;while(1){if((k[e+16>>2]|0)>=(g|0))break;d=k[e+4>>2]|0;if(!d)break a;else e=d}d=k[e>>2]|0;if(!d){c=e;break}else c=e}if(((c|0)!=(h|0)?(j=c+20|0,(g|0)>=(k[c+16>>2]|0)):0)?(Oi(j,i)|0)!=0:0)c=Pk(j,i,0)|0;else o=13}else o=13;if((o|0)==13){o=0;c=Pk(f,i,0)|0}Jp(i);if(c){o=15;break}}h=k[(k[m>>2]|0)+(b<<2)>>2]|0;if(!(_a[k[(k[h>>2]|0)+24>>2]&127](h,n)|0)){b=0;c=0;o=18;break}b=b+1|0;if((b|0)>=(l|0)){b=1;c=1;o=18;break}}if((o|0)==15){n=k[(k[m>>2]|0)+(b<<2)>>2]|0;o=k[n+8>>2]|0;Tf(o,Th(n)|0);n=0;o=1;o=n|o;u=p;return o|0}else if((o|0)==18){o=b|c;u=p;return o|0}return 0}function Af(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;r=k[a+32>>2]|0;s=k[a+36>>2]|0;q=e>>>0>1073741823?-1:e<<2;p=Xr(q)|0;_j(p|0,0,q|0)|0;q=a+8|0;gj(q,p,b,c);l=a+40|0;a=k[l>>2]|0;g=k[a+4>>2]|0;f=k[a>>2]|0;o=g-f|0;m=o>>2;if((o|0)<=4){Yr(p);return 1}n=r+12|0;o=(e|0)>0;d=1;while(1){if(g-f>>2>>>0<=d>>>0){Iq(a);f=k[a>>2]|0}f=k[f+(d<<2)>>2]|0;j=$(d,e)|0;if((f|0)>=0?(t=k[(k[n>>2]|0)+(f<<2)>>2]|0,(t|0)>=0):0){a=k[r>>2]|0;g=k[s>>2]|0;h=k[g+(k[a+(t<<2)>>2]<<2)>>2]|0;f=t+1|0;f=((f|0)%3|0|0)==0?t+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[a+(f<<2)>>2]|0;i=k[g+(f<<2)>>2]|0;f=(((t>>>0)%3|0|0)==0?2:-1)+t|0;if((f|0)<0)f=-1073741824;else f=k[a+(f<<2)>>2]|0;f=k[g+(f<<2)>>2]|0;if((h|0)<(d|0)&(i|0)<(d|0)&(f|0)<(d|0)){h=$(h,e)|0;g=$(i,e)|0;a=$(f,e)|0;if(o){f=0;do{k[p+(f<<2)>>2]=(k[c+(f+a<<2)>>2]|0)+(k[c+(f+g<<2)>>2]|0)-(k[c+(f+h<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0))}gj(q,p,b+(j<<2)|0,c+(j<<2)|0)}else u=16}else u=16;if((u|0)==16){u=0;gj(q,c+(($(d+-1|0,e)|0)<<2)|0,b+(j<<2)|0,c+(j<<2)|0)}d=d+1|0;if((d|0)>=(m|0))break;a=k[l>>2]|0;f=k[a>>2]|0;g=k[a+4>>2]|0}Yr(p);return 1}function Bf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=M;a=k[a>>2]|0;b=k[a>>2]|0;if(!((e|0)<0|((e|0)==0?d>>>0<((k[a+4>>2]|0)-b|0)>>>0:0))){f=0;return f|0}k[c>>2]=i[b+d>>0];f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;k[c>>2]=((l[g>>0]|l[g+1>>0]<<8)&65535)<<24>>24;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,3,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}k[c>>2]=i[b+d>>0];g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,4,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;k[c>>2]=(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)<<24>>24;g=1;return g|0}default:{g=0;return g|0}}return 0}function Cf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=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;r=k[a+32>>2]|0;s=k[a+36>>2]|0;q=e>>>0>1073741823?-1:e<<2;p=Xr(q)|0;_j(p|0,0,q|0)|0;q=a+8|0;dj(q,p,b,c);j=a+40|0;a=k[j>>2]|0;g=k[a+4>>2]|0;f=k[a>>2]|0;o=g-f|0;l=o>>2;if((o|0)<=4){Yr(p);return 1}m=r+64|0;n=r+28|0;o=(e|0)>0;d=1;while(1){if(g-f>>2>>>0<=d>>>0){Iq(a);f=k[a>>2]|0}f=k[f+(d<<2)>>2]|0;i=$(d,e)|0;if((!((f|0)<0?1:(1<<(f&31)&k[(k[r>>2]|0)+(f>>>5<<2)>>2]|0)!=0)?(t=k[(k[(k[m>>2]|0)+12>>2]|0)+(f<<2)>>2]|0,(t|0)>=0):0)?(w=k[n>>2]|0,h=k[s>>2]|0,u=k[h+(k[w+(t<<2)>>2]<<2)>>2]|0,v=t+1|0,v=k[h+(k[w+((((v|0)%3|0|0)==0?t+-2|0:v)<<2)>>2]<<2)>>2]|0,w=k[h+(k[w+((((t>>>0)%3|0|0)==0?2:-1)+t<<2)>>2]<<2)>>2]|0,(u|0)<(d|0)&(v|0)<(d|0)&(w|0)<(d|0)):0){a=$(u,e)|0;g=$(v,e)|0;h=$(w,e)|0;if(o){f=0;do{k[p+(f<<2)>>2]=(k[c+(f+h<<2)>>2]|0)+(k[c+(f+g<<2)>>2]|0)-(k[c+(f+a<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0))}dj(q,p,b+(i<<2)|0,c+(i<<2)|0)}else dj(q,c+(($(d+-1|0,e)|0)<<2)|0,b+(i<<2)|0,c+(i<<2)|0);d=d+1|0;if((d|0)>=(l|0))break;a=k[j>>2]|0;f=k[a>>2]|0;g=k[a+4>>2]|0}Yr(p);return 1}function Df(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=M;a=k[a>>2]|0;b=k[a>>2]|0;if(!((e|0)<0|((e|0)==0?d>>>0<((k[a+4>>2]|0)-b|0)>>>0:0))){f=0;return f|0}k[c>>2]=l[b+d>>0];f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;k[c>>2]=(l[g>>0]|l[g+1>>0]<<8)&255;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,3,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}k[c>>2]=l[b+d>>0];g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,4,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;k[c>>2]=(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)&255;g=1;return g|0}default:{g=0;return g|0}}return 0}function Ef(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=(b|0)==(a|0);i[b+12>>0]=g&1;if(g)return;while(1){g=k[b+8>>2]|0;e=g+12|0;if(i[e>>0]|0){d=23;break}f=g+8|0;c=k[f>>2]|0;d=k[c>>2]|0;if((d|0)==(g|0)){d=k[c+4>>2]|0;if(!d){d=7;break}d=d+12|0;if(!(i[d>>0]|0))b=d;else{d=7;break}}else{if(!d){d=16;break}d=d+12|0;if(!(i[d>>0]|0))b=d;else{d=16;break}}i[e>>0]=1;g=(c|0)==(a|0);i[c+12>>0]=g&1;i[b>>0]=1;if(g){d=23;break}else b=c}if((d|0)==7){if((k[g>>2]|0)==(b|0))b=g;else{a=g+4|0;b=k[a>>2]|0;d=k[b>>2]|0;k[a>>2]=d;if(d){k[d+8>>2]=g;c=k[f>>2]|0}a=b+8|0;k[a>>2]=c;c=k[f>>2]|0;k[((k[c>>2]|0)==(g|0)?c:c+4|0)>>2]=b;k[b>>2]=g;k[f>>2]=b;c=k[a>>2]|0}i[b+12>>0]=1;i[c+12>>0]=0;b=k[c>>2]|0;d=b+4|0;e=k[d>>2]|0;k[c>>2]=e;if(e|0)k[e+8>>2]=c;g=c+8|0;k[b+8>>2]=k[g>>2];f=k[g>>2]|0;k[((k[f>>2]|0)==(c|0)?f:f+4|0)>>2]=b;k[d>>2]=c;k[g>>2]=b;return}else if((d|0)==16){if((k[g>>2]|0)==(b|0)){b=k[g>>2]|0;e=b+4|0;d=k[e>>2]|0;k[g>>2]=d;if(d){k[d+8>>2]=g;c=k[f>>2]|0}d=b+8|0;k[d>>2]=c;a=k[f>>2]|0;k[((k[a>>2]|0)==(g|0)?a:a+4|0)>>2]=b;k[e>>2]=g;k[f>>2]=b;d=k[d>>2]|0}else{b=g;d=c}i[b+12>>0]=1;i[d+12>>0]=0;g=d+4|0;b=k[g>>2]|0;c=k[b>>2]|0;k[g>>2]=c;if(c|0)k[c+8>>2]=d;g=d+8|0;k[b+8>>2]=k[g>>2];f=k[g>>2]|0;k[((k[f>>2]|0)==(d|0)?f:f+4|0)>>2]=b;k[b>>2]=d;k[g>>2]=b;return}else if((d|0)==23)return}function Ff(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;m=o+4|0;n=o;e=b+8|0;h=e;g=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;f=j;d=k[f>>2]|0;f=k[f+4>>2]|0;p=Fp(d|0,f|0,4,0)|0;q=M;if((h|0)<(q|0)|(h|0)==(q|0)&g>>>0

>>0)e=g;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=Fp(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=M;h=j;k[h>>2]=d;k[h+4>>2]=f;h=k[e+4>>2]|0;e=k[e>>2]|0}g=a+4|0;q=Fp(d|0,f|0,4,0)|0;p=M;if((h|0)<(p|0)|(h|0)==(p|0)&e>>>0>>0)d=k[g>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[g>>0]=d;i[g+1>>0]=d>>8;i[g+2>>0]=d>>16;i[g+3>>0]=d>>24;p=j;p=Fp(k[p>>2]|0,k[p+4>>2]|0,4,0)|0;q=j;k[q>>2]=p;k[q+4>>2]=M}if(!d){q=1;u=o;return q|0}if(!(Jg(a+12|0,b)|0)){q=0;u=o;return q|0}if(!(Jg(a+32|0,b)|0)){q=0;u=o;return q|0}if(!(Jg(a+52|0,b)|0)){q=0;u=o;return q|0}if(!(Jg(a+72|0,b)|0)){q=0;u=o;return q|0}q=k[g>>2]|0;k[n>>2]=k[c>>2];k[m>>2]=k[n>>2];lb(a,q,m);q=1;u=o;return q|0}function Gf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;m=o+4|0;n=o;e=b+8|0;h=e;g=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;f=j;d=k[f>>2]|0;f=k[f+4>>2]|0;p=Fp(d|0,f|0,4,0)|0;q=M;if((h|0)<(q|0)|(h|0)==(q|0)&g>>>0

>>0)e=g;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=Fp(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=M;h=j;k[h>>2]=d;k[h+4>>2]=f;h=k[e+4>>2]|0;e=k[e>>2]|0}g=a+4|0;q=Fp(d|0,f|0,4,0)|0;p=M;if((h|0)<(p|0)|(h|0)==(p|0)&e>>>0>>0)d=k[g>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[g>>0]=d;i[g+1>>0]=d>>8;i[g+2>>0]=d>>16;i[g+3>>0]=d>>24;p=j;p=Fp(k[p>>2]|0,k[p+4>>2]|0,4,0)|0;q=j;k[q>>2]=p;k[q+4>>2]=M}if(!d){q=1;u=o;return q|0}if(!(Jg(a+12|0,b)|0)){q=0;u=o;return q|0}if(!(Jg(a+32|0,b)|0)){q=0;u=o;return q|0}if(!(Jg(a+52|0,b)|0)){q=0;u=o;return q|0}if(!(Jg(a+72|0,b)|0)){q=0;u=o;return q|0}q=k[g>>2]|0;k[n>>2]=k[c>>2];k[m>>2]=k[n>>2];jb(a,q,m);q=1;u=o;return q|0}function Hf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;m=o+4|0;n=o;e=b+8|0;h=e;g=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;f=j;d=k[f>>2]|0;f=k[f+4>>2]|0;p=Fp(d|0,f|0,4,0)|0;q=M;if((h|0)<(q|0)|(h|0)==(q|0)&g>>>0

>>0)e=g;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=Fp(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=M;h=j;k[h>>2]=d;k[h+4>>2]=f;h=k[e+4>>2]|0;e=k[e>>2]|0}g=a+4|0;q=Fp(d|0,f|0,4,0)|0;p=M;if((h|0)<(p|0)|(h|0)==(p|0)&e>>>0>>0)d=k[g>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[g>>0]=d;i[g+1>>0]=d>>8;i[g+2>>0]=d>>16;i[g+3>>0]=d>>24;p=j;p=Fp(k[p>>2]|0,k[p+4>>2]|0,4,0)|0;q=j;k[q>>2]=p;k[q+4>>2]=M}if(!d){q=1;u=o;return q|0}if(!(Cg(a+12|0,b)|0)){q=0;u=o;return q|0}if(!(Jg(a+28|0,b)|0)){q=0;u=o;return q|0}if(!(Jg(a+48|0,b)|0)){q=0;u=o;return q|0}if(!(Jg(a+68|0,b)|0)){q=0;u=o;return q|0}q=k[g>>2]|0;k[n>>2]=k[c>>2];k[m>>2]=k[n>>2];yb(a,q,m);q=1;u=o;return q|0}function If(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;m=o+4|0;n=o;e=b+8|0;h=e;g=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;f=j;d=k[f>>2]|0;f=k[f+4>>2]|0;p=Fp(d|0,f|0,4,0)|0;q=M;if((h|0)<(q|0)|(h|0)==(q|0)&g>>>0

>>0)e=g;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=Fp(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=M;h=j;k[h>>2]=d;k[h+4>>2]=f;h=k[e+4>>2]|0;e=k[e>>2]|0}g=a+4|0;q=Fp(d|0,f|0,4,0)|0;p=M;if((h|0)<(p|0)|(h|0)==(p|0)&e>>>0>>0)d=k[g>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[g>>0]=d;i[g+1>>0]=d>>8;i[g+2>>0]=d>>16;i[g+3>>0]=d>>24;p=j;p=Fp(k[p>>2]|0,k[p+4>>2]|0,4,0)|0;q=j;k[q>>2]=p;k[q+4>>2]=M}if(!d){q=1;u=o;return q|0}if(!(Cg(a+12|0,b)|0)){q=0;u=o;return q|0}if(!(Jg(a+28|0,b)|0)){q=0;u=o;return q|0}if(!(Jg(a+48|0,b)|0)){q=0;u=o;return q|0}if(!(Jg(a+68|0,b)|0)){q=0;u=o;return q|0}q=k[g>>2]|0;k[n>>2]=k[c>>2];k[m>>2]=k[n>>2];xb(a,q,m);q=1;u=o;return q|0}function Jf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=u;u=u+16|0;p=q;g=b+8|0;f=g;h=k[f>>2]|0;f=k[f+4>>2]|0;i=b+16|0;d=i;c=k[d>>2]|0;d=Fp(c|0,k[d+4>>2]|0,4,0)|0;e=M;if((f|0)<(e|0)|(f|0)==(e|0)&h>>>0>>0){p=0;u=q;return p|0}f=(k[b>>2]|0)+c|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;h=i;k[h>>2]=d;k[h+4>>2]=e;if((f|0)<0){p=0;u=q;return p|0}vf(a+76|0,f,0);vr(p);if(Cg(p,b)|0){if((f|0)>0){e=a+76|0;c=1;d=0;do{c=c^((Nl(p)|0)^1);h=(k[e>>2]|0)+(d>>>5<<2)|0;r=1<<(d&31);s=k[h>>2]|0;k[h>>2]=c?s|r:s&~r;d=d+1|0}while((d|0)<(f|0))}d=g;c=k[d>>2]|0;d=k[d+4>>2]|0;f=i;e=k[f>>2]|0;f=k[f+4>>2]|0;g=Fp(e|0,f|0,4,0)|0;h=M;if(!((d|0)<(h|0)|(d|0)==(h|0)&c>>>0>>0)?(j=k[b>>2]|0,m=j+e|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,n=i,k[n>>2]=g,k[n+4>>2]=h,n=Fp(e|0,f|0,8,0)|0,o=M,!((d|0)<(o|0)|(d|0)==(o|0)&c>>>0>>0)):0){s=j+g|0;s=l[s>>0]|l[s+1>>0]<<8|l[s+2>>0]<<16|l[s+3>>0]<<24;c=i;k[c>>2]=n;k[c+4>>2]=o;k[a+12>>2]=m;k[a+16>>2]=s;s=s+(1-m)|0;k[a+20>>2]=s;c=(s|0)/2|0;d=a+24|0;k[d>>2]=c;k[a+28>>2]=0-c;if(!(s&1)){k[d>>2]=c+-1;c=1}else c=1}else c=0}else c=0;ds(p);s=c;u=q;return s|0}function Kf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=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;r=k[a+32>>2]|0;s=k[a+36>>2]|0;q=e>>>0>1073741823?-1:e<<2;p=Xr(q)|0;_j(p|0,0,q|0)|0;q=a+8|0;gj(q,p,b,c);j=a+40|0;a=k[j>>2]|0;g=k[a+4>>2]|0;f=k[a>>2]|0;o=g-f|0;l=o>>2;if((o|0)<=4){Yr(p);return 1}m=r+64|0;n=r+28|0;o=(e|0)>0;d=1;while(1){if(g-f>>2>>>0<=d>>>0){Iq(a);f=k[a>>2]|0}f=k[f+(d<<2)>>2]|0;i=$(d,e)|0;if((!((f|0)<0?1:(1<<(f&31)&k[(k[r>>2]|0)+(f>>>5<<2)>>2]|0)!=0)?(t=k[(k[(k[m>>2]|0)+12>>2]|0)+(f<<2)>>2]|0,(t|0)>=0):0)?(w=k[n>>2]|0,h=k[s>>2]|0,u=k[h+(k[w+(t<<2)>>2]<<2)>>2]|0,v=t+1|0,v=k[h+(k[w+((((v|0)%3|0|0)==0?t+-2|0:v)<<2)>>2]<<2)>>2]|0,w=k[h+(k[w+((((t>>>0)%3|0|0)==0?2:-1)+t<<2)>>2]<<2)>>2]|0,(u|0)<(d|0)&(v|0)<(d|0)&(w|0)<(d|0)):0){a=$(u,e)|0;g=$(v,e)|0;h=$(w,e)|0;if(o){f=0;do{k[p+(f<<2)>>2]=(k[c+(f+h<<2)>>2]|0)+(k[c+(f+g<<2)>>2]|0)-(k[c+(f+a<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0))}gj(q,p,b+(i<<2)|0,c+(i<<2)|0)}else gj(q,c+(($(d+-1|0,e)|0)<<2)|0,b+(i<<2)|0,c+(i<<2)|0);d=d+1|0;if((d|0)>=(l|0))break;a=k[j>>2]|0;f=k[a>>2]|0;g=k[a+4>>2]|0}Yr(p);return 1}function Lf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=u;u=u+16|0;p=q;g=b+8|0;f=g;h=k[f>>2]|0;f=k[f+4>>2]|0;i=b+16|0;d=i;c=k[d>>2]|0;d=Fp(c|0,k[d+4>>2]|0,4,0)|0;e=M;if((f|0)<(e|0)|(f|0)==(e|0)&h>>>0>>0){p=0;u=q;return p|0}f=(k[b>>2]|0)+c|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;h=i;k[h>>2]=d;k[h+4>>2]=e;if((f|0)<0){p=0;u=q;return p|0}e=a+76|0;vf(e,f,0);vr(p);if(Cg(p,b)|0){if((f|0)>0){c=1;d=0;do{c=c^((Nl(p)|0)^1);h=(k[e>>2]|0)+(d>>>5<<2)|0;r=1<<(d&31);s=k[h>>2]|0;k[h>>2]=c?s|r:s&~r;d=d+1|0}while((d|0)<(f|0))}d=g;c=k[d>>2]|0;d=k[d+4>>2]|0;f=i;e=k[f>>2]|0;f=k[f+4>>2]|0;g=Fp(e|0,f|0,4,0)|0;h=M;if(!((d|0)<(h|0)|(d|0)==(h|0)&c>>>0>>0)?(j=k[b>>2]|0,m=j+e|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,n=i,k[n>>2]=g,k[n+4>>2]=h,n=Fp(e|0,f|0,8,0)|0,o=M,!((d|0)<(o|0)|(d|0)==(o|0)&c>>>0>>0)):0){s=j+g|0;s=l[s>>0]|l[s+1>>0]<<8|l[s+2>>0]<<16|l[s+3>>0]<<24;c=i;k[c>>2]=n;k[c+4>>2]=o;k[a+12>>2]=m;k[a+16>>2]=s;s=s+(1-m)|0;k[a+20>>2]=s;c=(s|0)/2|0;d=a+24|0;k[d>>2]=c;k[a+28>>2]=0-c;if(!(s&1)){k[d>>2]=c+-1;c=1}else c=1}else c=0}else c=0;ds(p);s=c;u=q;return s|0}function Mf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;n=o+8|0;m=o;e=b+8|0;h=e;g=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;f=j;d=k[f>>2]|0;f=k[f+4>>2]|0;p=Fp(d|0,f|0,4,0)|0;q=M;if((h|0)<(q|0)|(h|0)==(q|0)&g>>>0

>>0)e=g;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=Fp(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=M;h=j;k[h>>2]=d;k[h+4>>2]=f;h=k[e+4>>2]|0;e=k[e>>2]|0}g=a+4|0;q=Fp(d|0,f|0,4,0)|0;p=M;if((h|0)<(p|0)|(h|0)==(p|0)&e>>>0>>0)d=k[g>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[g>>0]=d;i[g+1>>0]=d>>8;i[g+2>>0]=d>>16;i[g+3>>0]=d>>24;p=j;p=Fp(k[p>>2]|0,k[p+4>>2]|0,4,0)|0;q=j;k[q>>2]=p;k[q+4>>2]=M}if(!d){q=1;u=o;return q|0}if(!(Jg(a+12|0,b)|0)){q=0;u=o;return q|0}if(!(Jg(a+32|0,b)|0)){q=0;u=o;return q|0}if(!(Jg(a+52|0,b)|0)){q=0;u=o;return q|0}if(!(Jg(a+72|0,b)|0)){q=0;u=o;return q|0}q=k[g>>2]|0;b=c;c=k[b+4>>2]|0;p=m;k[p>>2]=k[b>>2];k[p+4>>2]=c;k[n>>2]=k[m>>2];k[n+4>>2]=k[m+4>>2];kb(a,q,n);q=1;u=o;return q|0}function Nf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;n=o+8|0;m=o;e=b+8|0;h=e;g=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;f=j;d=k[f>>2]|0;f=k[f+4>>2]|0;p=Fp(d|0,f|0,4,0)|0;q=M;if((h|0)<(q|0)|(h|0)==(q|0)&g>>>0

>>0)e=g;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=Fp(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=M;h=j;k[h>>2]=d;k[h+4>>2]=f;h=k[e+4>>2]|0;e=k[e>>2]|0}g=a+4|0;q=Fp(d|0,f|0,4,0)|0;p=M;if((h|0)<(p|0)|(h|0)==(p|0)&e>>>0>>0)d=k[g>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[g>>0]=d;i[g+1>>0]=d>>8;i[g+2>>0]=d>>16;i[g+3>>0]=d>>24;p=j;p=Fp(k[p>>2]|0,k[p+4>>2]|0,4,0)|0;q=j;k[q>>2]=p;k[q+4>>2]=M}if(!d){q=1;u=o;return q|0}if(!(Jg(a+12|0,b)|0)){q=0;u=o;return q|0}if(!(Jg(a+32|0,b)|0)){q=0;u=o;return q|0}if(!(Jg(a+52|0,b)|0)){q=0;u=o;return q|0}if(!(Jg(a+72|0,b)|0)){q=0;u=o;return q|0}q=k[g>>2]|0;b=c;c=k[b+4>>2]|0;p=m;k[p>>2]=k[b>>2];k[p+4>>2]=c;k[n>>2]=k[m>>2];k[n+4>>2]=k[m+4>>2];ib(a,q,n);q=1;u=o;return q|0}function Of(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;n=o+8|0;m=o;e=b+8|0;h=e;g=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;f=j;d=k[f>>2]|0;f=k[f+4>>2]|0;p=Fp(d|0,f|0,4,0)|0;q=M;if((h|0)<(q|0)|(h|0)==(q|0)&g>>>0

>>0)e=g;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=Fp(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=M;h=j;k[h>>2]=d;k[h+4>>2]=f;h=k[e+4>>2]|0;e=k[e>>2]|0}g=a+4|0;q=Fp(d|0,f|0,4,0)|0;p=M;if((h|0)<(p|0)|(h|0)==(p|0)&e>>>0>>0)d=k[g>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[g>>0]=d;i[g+1>>0]=d>>8;i[g+2>>0]=d>>16;i[g+3>>0]=d>>24;p=j;p=Fp(k[p>>2]|0,k[p+4>>2]|0,4,0)|0;q=j;k[q>>2]=p;k[q+4>>2]=M}if(!d){q=1;u=o;return q|0}if(!(Cg(a+12|0,b)|0)){q=0;u=o;return q|0}if(!(Jg(a+28|0,b)|0)){q=0;u=o;return q|0}if(!(Jg(a+48|0,b)|0)){q=0;u=o;return q|0}if(!(Jg(a+68|0,b)|0)){q=0;u=o;return q|0}q=k[g>>2]|0;b=c;c=k[b+4>>2]|0;p=m;k[p>>2]=k[b>>2];k[p+4>>2]=c;k[n>>2]=k[m>>2];k[n+4>>2]=k[m+4>>2];wb(a,q,n);q=1;u=o;return q|0}function Pf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;n=o+8|0;m=o;e=b+8|0;h=e;g=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;f=j;d=k[f>>2]|0;f=k[f+4>>2]|0;p=Fp(d|0,f|0,4,0)|0;q=M;if((h|0)<(q|0)|(h|0)==(q|0)&g>>>0

>>0)e=g;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=Fp(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=M;h=j;k[h>>2]=d;k[h+4>>2]=f;h=k[e+4>>2]|0;e=k[e>>2]|0}g=a+4|0;q=Fp(d|0,f|0,4,0)|0;p=M;if((h|0)<(p|0)|(h|0)==(p|0)&e>>>0>>0)d=k[g>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[g>>0]=d;i[g+1>>0]=d>>8;i[g+2>>0]=d>>16;i[g+3>>0]=d>>24;p=j;p=Fp(k[p>>2]|0,k[p+4>>2]|0,4,0)|0;q=j;k[q>>2]=p;k[q+4>>2]=M}if(!d){q=1;u=o;return q|0}if(!(Cg(a+12|0,b)|0)){q=0;u=o;return q|0}if(!(Jg(a+28|0,b)|0)){q=0;u=o;return q|0}if(!(Jg(a+48|0,b)|0)){q=0;u=o;return q|0}if(!(Jg(a+68|0,b)|0)){q=0;u=o;return q|0}q=k[g>>2]|0;b=c;c=k[b+4>>2]|0;p=m;k[p>>2]=k[b>>2];k[p+4>>2]=c;k[n>>2]=k[m>>2];k[n+4>>2]=k[m+4>>2];vb(a,q,n);q=1;u=o;return q|0}function Qf(a){a=a|0;var 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;q=u;u=u+32|0;o=q+12|0;n=q;m=jm(a,0)|0;if(!m){p=0;u=q;return p|0}f=a+84|0;g=a+88|0;a=k[g>>2]|0;b=k[f>>2]|0;c=a-b|0;d=(c|0)/12|0;k[o>>2]=0;p=o+4|0;k[p>>2]=0;k[o+8>>2]=0;if(!c)l=0;else{if(d>>>0>357913941){Jq(o);q=Ma(4)|0;Cr(q);wa(q|0,1344,125)}e=jo(c)|0;k[p>>2]=e;k[o>>2]=e;k[o+8>>2]=e+(d*12|0);a=d;c=e;b=e;while(1){k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;b=b+12|0;a=a+-1|0;if(!a)break;else c=b}k[p>>2]=b;b=k[f>>2]|0;a=k[g>>2]|0;l=e}k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;a=a-b|0;if((a|0)>0){g=m+68|0;h=n+4|0;j=n+8|0;f=(i[m+84>>0]|0)==0;e=(a|0)/12|0;d=0;do{a=k[b+(d*12|0)>>2]|0;if(f){c=k[g>>2]|0;a=k[c+(a<<2)>>2]|0;k[n>>2]=a;k[h>>2]=k[c+(k[b+(d*12|0)+4>>2]<<2)>>2];c=c+(k[b+(d*12|0)+8>>2]<<2)|0}else{k[n>>2]=a;k[h>>2]=k[b+(d*12|0)+4>>2];c=b+(d*12|0)+8|0}m=k[c>>2]|0;k[j>>2]=m;k[l+(d*12|0)>>2]=a;k[l+(d*12|0)+4>>2]=k[h>>2];k[l+(d*12|0)+8>>2]=m;d=d+1|0}while((d|0)<(e|0))}c=gl(o)|0;a=k[o>>2]|0;if(a|0){b=k[p>>2]|0;if((b|0)!=(a|0))k[p>>2]=b+(~(((b+-12-a|0)>>>0)/12|0)*12|0);_r(a)}p=c;u=q;return p|0}function Rf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=Pa,g=0,h=0,j=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=Pa,y=Pa,z=Pa,A=Pa,B=0,C=0;w=u;u=u+32|0;v=w+16|0;t=w;f=da(o[d+4>>2]);if(!(f>=da(0.0)))Ka(6427,6447,66,6575);s=(1<>2])+-1|0;tq(v);Do(v,f,s);d=k[b>>2]|0;if((d|0)==(k[c>>2]|0)){t=e;t=k[t>>2]|0;e=e+4|0;e=k[e>>2]|0;v=a;c=v;k[c>>2]=t;v=v+4|0;k[v>>2]=e;u=w;return}m=v+4|0;h=t+4|0;j=t+8|0;l=e+4|0;r=k[e>>2]|0;n=r+84|0;p=r+68|0;q=r+40|0;r=r+64|0;g=k[l>>2]|0;do{B=(k[d>>2]|0)-s|0;b=(B|0)<0;y=da((b?0-B|0:B)|0);f=da(o[m>>2]);y=da(f*y);x=da(-y);A=da(o[v>>2]);y=da(A*(b?x:y));b=(k[d+4>>2]|0)-s|0;B=(b|0)<0;x=da(f*da((B?0-b|0:b)|0));z=da(-x);x=da(A*(B?z:x));B=(k[d+8>>2]|0)-s|0;b=(B|0)<0;f=da(f*da((b?0-B|0:B)|0));z=da(-f);f=da(A*(b?z:f));o[t>>2]=y;o[h>>2]=x;o[j>>2]=f;b=g;g=g+1|0;k[l>>2]=g;if(!(i[n>>0]|0))b=k[(k[p>>2]|0)+(b<<2)>>2]|0;C=q;B=k[C>>2]|0;b=io(b|0,((b|0)<0)<<31>>31|0,B|0,k[C+4>>2]|0)|0;Gh((k[k[r>>2]>>2]|0)+b|0,t|0,B|0)|0;d=d+12|0}while((d|0)!=(k[c>>2]|0));B=e;e=B;e=k[e>>2]|0;B=B+4|0;B=k[B>>2]|0;C=a;v=C;k[v>>2]=e;C=C+4|0;k[C>>2]=B;u=w;return}function Sf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=u;u=u+144|0;c=l+136|0;h=l+32|0;g=l;d=k[(k[a+4>>2]|0)+44>>2]|0;j=jo(124)|0;k[j+4>>2]=0;k[j>>2]=4364;k[j+12>>2]=4388;k[j+100>>2]=0;k[j+104>>2]=0;k[j+108>>2]=0;e=j+16|0;f=e+80|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));k[j+112>>2]=d;k[j+116>>2]=b;k[j+120>>2]=0;k[h+4>>2]=4388;k[h+92>>2]=0;k[h+96>>2]=0;k[h+100>>2]=0;e=h+8|0;f=e+80|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));a=k[a+8>>2]|0;k[g>>2]=4388;f=g+4|0;e=f+4|0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[e+16>>2]=0;k[e+20>>2]=0;e=a;k[f>>2]=e;e=((k[e+4>>2]|0)-(k[a>>2]|0)>>2>>>0)/3|0;i[c>>0]=0;Qh(g+8|0,e,c);Ta[k[(k[g>>2]|0)+8>>2]&127](g);k[h>>2]=k[f>>2];gh(h+4|0,g)|0;k[h+36>>2]=a;k[h+40>>2]=b;k[h+44>>2]=d;k[h+48>>2]=j;kh(j,h);k[g>>2]=4388;a=k[g+20>>2]|0;if(a|0)_r(a);a=k[g+8>>2]|0;if(!a){Bj(h);u=l;return j|0}_r(a);Bj(h);u=l;return j|0}function Tf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;if(!(k[a+64>>2]|0)){c=jo(32)|0;vo(c);e=a+64|0;f=k[e>>2]|0;k[e>>2]=c;if(f){c=k[f>>2]|0;if(c|0){d=f+4|0;if((k[d>>2]|0)!=(c|0))k[d>>2]=c;_r(c)}_r(f);c=k[e>>2]|0}tl(a,c,0,0,0,0);c=a}else c=a;if(!(Rj(c,b)|0))return;i[a+84>>0]=i[b+84>>0]|0;k[a+80>>2]=k[b+80>>2];if((a|0)!=(b|0))Gg(a+68|0,k[b+68>>2]|0,k[b+72>>2]|0);g=k[b+88>>2]|0;if(!g){a=a+88|0;c=k[a>>2]|0;k[a>>2]=0;if(!c)return;d=k[c+8>>2]|0;if(d|0){e=c+12|0;if((k[e>>2]|0)!=(d|0))k[e>>2]=d;_r(d)}_r(c);return}l=jo(40)|0;k[l>>2]=k[g>>2];c=l+8|0;d=g+8|0;k[c>>2]=0;h=l+12|0;k[h>>2]=0;e=l+16|0;k[e>>2]=0;b=g+12|0;f=(k[b>>2]|0)-(k[d>>2]|0)|0;if(f|0){if((f|0)<0)Jq(c);j=jo(f)|0;k[h>>2]=j;k[c>>2]=j;k[e>>2]=j+f;d=k[d>>2]|0;c=(k[b>>2]|0)-d|0;if((c|0)>0){Gh(j|0,d|0,c|0)|0;k[h>>2]=j+c}}e=l+24|0;j=g+24|0;k[e>>2]=k[j>>2];k[e+4>>2]=k[j+4>>2];k[e+8>>2]=k[j+8>>2];k[e+12>>2]=k[j+12>>2];a=a+88|0;e=k[a>>2]|0;k[a>>2]=l;if(!e)return;c=k[e+8>>2]|0;if(c|0){d=e+12|0;if((k[d>>2]|0)!=(c|0))k[d>>2]=c;_r(c)}_r(e);return}function Uf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{d=(k[c>>2]|0)+(4-1)&~(4-1);b=k[d>>2]|0;k[c>>2]=d+4;k[a>>2]=b;break a}case 10:{d=(k[c>>2]|0)+(4-1)&~(4-1);b=k[d>>2]|0;k[c>>2]=d+4;d=a;k[d>>2]=b;k[d+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{d=(k[c>>2]|0)+(4-1)&~(4-1);b=k[d>>2]|0;k[c>>2]=d+4;d=a;k[d>>2]=b;k[d+4>>2]=0;break a}case 12:{d=(k[c>>2]|0)+(8-1)&~(8-1);b=d;e=k[b>>2]|0;b=k[b+4>>2]|0;k[c>>2]=d+8;d=a;k[d>>2]=e;k[d+4>>2]=b;break a}case 13:{e=(k[c>>2]|0)+(4-1)&~(4-1);d=k[e>>2]|0;k[c>>2]=e+4;d=(d&65535)<<16>>16;e=a;k[e>>2]=d;k[e+4>>2]=((d|0)<0)<<31>>31;break a}case 14:{e=(k[c>>2]|0)+(4-1)&~(4-1);d=k[e>>2]|0;k[c>>2]=e+4;e=a;k[e>>2]=d&65535;k[e+4>>2]=0;break a}case 15:{e=(k[c>>2]|0)+(4-1)&~(4-1);d=k[e>>2]|0;k[c>>2]=e+4;d=(d&255)<<24>>24;e=a;k[e>>2]=d;k[e+4>>2]=((d|0)<0)<<31>>31;break a}case 16:{e=(k[c>>2]|0)+(4-1)&~(4-1);d=k[e>>2]|0;k[c>>2]=e+4;e=a;k[e>>2]=d&255;k[e+4>>2]=0;break a}case 17:{e=(k[c>>2]|0)+(8-1)&~(8-1);f=+p[e>>3];k[c>>2]=e+8;p[a>>3]=f;break a}case 18:{e=(k[c>>2]|0)+(8-1)&~(8-1);f=+p[e>>3];k[c>>2]=e+8;p[a>>3]=f;break a}default:break a}while(0);while(0);return}function Vf(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,i=0,j=0,l=0,m=0;m=u;u=u+32|0;j=m;l=m+16|0;g=k[a+4>>2]|0;if((c|0)<=-1)Ka(20132,20148,55,20247);f=k[g+8>>2]|0;if(((k[g+12>>2]|0)-f>>2|0)<=(c|0))Ka(20257,20148,56,20247);g=k[f+(c<<2)>>2]|0;if(!((b+-1|0)>>>0<6&(Wa[k[(k[a>>2]|0)+8>>2]&255](a)|0)==1)){l=0;u=m;return l|0}h=Wa[k[(k[a>>2]|0)+36>>2]&255](a)|0;i=_a[k[(k[a>>2]|0)+44>>2]&127](a,c)|0;do if(!((h|0)==0|(i|0)==0)){f=_a[k[(k[a>>2]|0)+40>>2]&127](a,c)|0;if(!f){k[j>>2]=k[a+44>>2];k[j+4>>2]=h;k[j+12>>2]=i;k[j+8>>2]=i+12;f=Qc(l,b,g,d,j,e)|0;if(!f)f=0;else break;l=f;u=m;return l|0}else{k[j>>2]=k[a+44>>2];k[j+4>>2]=f;k[j+12>>2]=i;k[j+8>>2]=i+12;f=Pc(l,b,g,d,j,e)|0;if(!f)f=0;else break;l=f;u=m;return l|0}}else f=0;while(0);l=f;u=m;return l|0}function Wf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=u;u=u+16|0;n=s+4|0;o=s;c=k[b>>2]|0;k[n>>2]=c;m=a+8|0;b=c+1|0;do if((c|0)>=0){k[n+4>>2]=((b|0)%3|0|0)==0?c+-2|0:b;if(!((c>>>0)%3|0)){b=c+2|0;break}else{b=c+-1|0;break}}else{k[n+4>>2]=c;b=c}while(0);k[n+8>>2]=b;j=a+228|0;l=a+232|0;i=a+320|0;h=0;while(1){if((c|0)>=0?(k[(k[(k[m>>2]|0)+12>>2]|0)+(c<<2)>>2]|0)>=0:0){if((k[l>>2]|0)!=(k[j>>2]|0)){b=0;do{if(Nl((k[i>>2]|0)+(b<<4)|0)|0){a=k[j>>2]|0;k[o>>2]=c;d=a+(b*116|0)+108|0;e=k[d>>2]|0;if(e>>>0<(k[a+(b*116|0)+112>>2]|0)>>>0){k[e>>2]=c;k[d>>2]=e+4}else Dj(a+(b*116|0)+104|0,o)}b=b+1|0}while(b>>>0<(((k[l>>2]|0)-(k[j>>2]|0)|0)/116|0)>>>0)}}else r=11;if((r|0)==11?(r=0,p=k[l>>2]|0,q=k[j>>2]|0,(p|0)!=(q|0)):0){g=0;b=q;a=p;do{d=b;k[o>>2]=c;e=d+(g*116|0)+108|0;f=k[e>>2]|0;if(f>>>0<(k[d+(g*116|0)+112>>2]|0)>>>0){k[f>>2]=c;k[e>>2]=f+4}else{Dj(d+(g*116|0)+104|0,o);b=k[j>>2]|0;a=k[l>>2]|0}g=g+1|0}while(g>>>0<((a-b|0)/116|0)>>>0)}b=h+1|0;if((b|0)==3)break;h=b;c=k[n+(b<<2)>>2]|0}u=s;return 1}function Xf(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,i=0,j=0,l=0,m=0;m=u;u=u+32|0;j=m;l=m+16|0;g=k[a+4>>2]|0;if((c|0)<=-1)Ka(20132,20148,55,20247);f=k[g+8>>2]|0;if(((k[g+12>>2]|0)-f>>2|0)<=(c|0))Ka(20257,20148,56,20247);g=k[f+(c<<2)>>2]|0;if(!((b+-1|0)>>>0<6&(Wa[k[(k[a>>2]|0)+8>>2]&255](a)|0)==1)){l=0;u=m;return l|0}h=Wa[k[(k[a>>2]|0)+36>>2]&255](a)|0;i=_a[k[(k[a>>2]|0)+44>>2]&127](a,c)|0;do if(!((h|0)==0|(i|0)==0)){f=_a[k[(k[a>>2]|0)+40>>2]&127](a,c)|0;if(!f){k[j>>2]=k[a+44>>2];k[j+4>>2]=h;k[j+12>>2]=i;k[j+8>>2]=i+12;f=Sc(l,b,g,d,j,e)|0;if(!f)f=0;else break;l=f;u=m;return l|0}else{k[j>>2]=k[a+44>>2];k[j+4>>2]=f;k[j+12>>2]=i;k[j+8>>2]=i+12;f=Rc(l,b,g,d,j,e)|0;if(!f)f=0;else break;l=f;u=m;return l|0}}else f=0;while(0);l=f;u=m;return l|0}function Yf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;o=u;u=u+32|0;m=o+12|0;l=o;d=b*3|0;k[m>>2]=0;n=m+4|0;k[n>>2]=0;k[m+8>>2]=0;do if(b)if(d>>>0>1073741823){Jq(m);o=Ma(4)|0;Cr(o);wa(o|0,1344,125)}else{i=b*12|0;c=jo(i)|0;k[m>>2]=c;j=c+(d<<2)|0;k[m+8>>2]=j;_j(c|0,0,i|0)|0;k[n>>2]=j;break}else c=0;while(0);if(Pj(d,1,k[a+32>>2]|0,c)|0)if((b|0)>0){e=a+44|0;f=l+4|0;g=l+8|0;a=0;c=0;d=0;while(1){k[l>>2]=0;k[l+4>>2]=0;k[l+8>>2]=0;j=k[m>>2]|0;p=k[j+(c<<2)>>2]|0;h=p>>>1;h=((p&1|0)==0?h:0-h|0)+d|0;k[l>>2]=h;p=k[j+(c+1<<2)>>2]|0;i=p>>>1;h=((p&1|0)==0?i:0-i|0)+h|0;k[f>>2]=h;j=k[j+(c+2<<2)>>2]|0;i=j>>>1;d=((j&1|0)==0?i:0-i|0)+h|0;k[g>>2]=d;h=k[e>>2]|0;i=h+88|0;j=k[i>>2]|0;if((j|0)==(k[h+92>>2]|0))jj(h+84|0,l);else{k[j>>2]=k[l>>2];k[j+4>>2]=k[l+4>>2];k[j+8>>2]=k[l+8>>2];k[i>>2]=(k[i>>2]|0)+12}a=a+1|0;if((a|0)>=(b|0)){d=1;break}else c=c+3|0}}else d=1;else d=0;a=k[m>>2]|0;if(!a){u=o;return d|0}c=k[n>>2]|0;if((c|0)!=(a|0))k[n>>2]=c+(~((c+-4-a|0)>>>2)<<2);_r(a);u=o;return d|0}function Zf(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,i=0,j=0,l=0,m=0;m=u;u=u+32|0;j=m;l=m+16|0;g=k[a+4>>2]|0;if((c|0)<=-1)Ka(20132,20148,55,20247);f=k[g+8>>2]|0;if(((k[g+12>>2]|0)-f>>2|0)<=(c|0))Ka(20257,20148,56,20247);g=k[f+(c<<2)>>2]|0;if(!((b+-1|0)>>>0<6&(Wa[k[(k[a>>2]|0)+8>>2]&255](a)|0)==1)){l=0;u=m;return l|0}h=Wa[k[(k[a>>2]|0)+36>>2]&255](a)|0;i=_a[k[(k[a>>2]|0)+44>>2]&127](a,c)|0;do if(!((h|0)==0|(i|0)==0)){f=_a[k[(k[a>>2]|0)+40>>2]&127](a,c)|0;if(!f){k[j>>2]=k[a+44>>2];k[j+4>>2]=h;k[j+12>>2]=i;k[j+8>>2]=i+12;f=sc(l,b,g,d,j,e)|0;if(!f)f=0;else break;l=f;u=m;return l|0}else{k[j>>2]=k[a+44>>2];k[j+4>>2]=f;k[j+12>>2]=i;k[j+8>>2]=i+12;f=rc(l,b,g,d,j,e)|0;if(!f)f=0;else break;l=f;u=m;return l|0}}else f=0;while(0);l=f;u=m;return l|0}function _f(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+32|0;d=m+28|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;if(!c){l=0;u=m;return l|0}switch(k[a+28>>2]|0){case 9:{k[e>>2]=k[b>>2];k[d>>2]=k[e>>2];l=$b(a,d,c)|0;u=m;return l|0}case 2:{k[f>>2]=k[b>>2];k[d>>2]=k[f>>2];l=Rd(a,d,c)|0;u=m;return l|0}case 1:{k[g>>2]=k[b>>2];k[d>>2]=k[g>>2];l=nd(a,d,c)|0;u=m;return l|0}case 4:{k[h>>2]=k[b>>2];k[d>>2]=k[h>>2];l=ld(a,d,c)|0;u=m;return l|0}case 3:{k[i>>2]=k[b>>2];k[d>>2]=k[i>>2];l=Tc(a,d,c)|0;u=m;return l|0}case 6:{k[j>>2]=k[b>>2];k[d>>2]=k[j>>2];l=Vc(a,d,c)|0;u=m;return l|0}case 5:{k[l>>2]=k[b>>2];k[d>>2]=k[l>>2];l=Mc(a,d,c)|0;u=m;return l|0}default:{l=0;u=m;return l|0}}return 0}function $f(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+32|0;d=m+28|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;if(!c){l=0;u=m;return l|0}switch(k[a+28>>2]|0){case 9:{k[e>>2]=k[b>>2];k[d>>2]=k[e>>2];l=jc(a,d,c)|0;u=m;return l|0}case 2:{k[f>>2]=k[b>>2];k[d>>2]=k[f>>2];l=_d(a,d,c)|0;u=m;return l|0}case 1:{k[g>>2]=k[b>>2];k[d>>2]=k[g>>2];l=Kd(a,d,c)|0;u=m;return l|0}case 4:{k[h>>2]=k[b>>2];k[d>>2]=k[h>>2];l=Jd(a,d,c)|0;u=m;return l|0}case 3:{k[i>>2]=k[b>>2];k[d>>2]=k[i>>2];l=hd(a,d,c)|0;u=m;return l|0}case 6:{k[j>>2]=k[b>>2];k[d>>2]=k[j>>2];l=kd(a,d,c)|0;u=m;return l|0}case 5:{k[l>>2]=k[b>>2];k[d>>2]=k[l>>2];l=Yc(a,d,c)|0;u=m;return l|0}default:{l=0;u=m;return l|0}}return 0}function ag(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+32|0;d=m+28|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;if(!c){l=0;u=m;return l|0}switch(k[a+28>>2]|0){case 9:{k[e>>2]=k[b>>2];k[d>>2]=k[e>>2];l=qc(a,d,c)|0;u=m;return l|0}case 2:{k[f>>2]=k[b>>2];k[d>>2]=k[f>>2];l=Ce(a,d,c)|0;u=m;return l|0}case 1:{k[g>>2]=k[b>>2];k[d>>2]=k[g>>2];l=$d(a,d,c)|0;u=m;return l|0}case 4:{k[h>>2]=k[b>>2];k[d>>2]=k[h>>2];l=Yd(a,d,c)|0;u=m;return l|0}case 3:{k[i>>2]=k[b>>2];k[d>>2]=k[i>>2];l=Qd(a,d,c)|0;u=m;return l|0}case 6:{k[j>>2]=k[b>>2];k[d>>2]=k[j>>2];l=Td(a,d,c)|0;u=m;return l|0}case 5:{k[l>>2]=k[b>>2];k[d>>2]=k[l>>2];l=Cd(a,d,c)|0;u=m;return l|0}default:{l=0;u=m;return l|0}}return 0}function bg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+32|0;d=m+28|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;if(!c){l=0;u=m;return l|0}switch(k[a+28>>2]|0){case 9:{k[e>>2]=k[b>>2];k[d>>2]=k[e>>2];l=id(a,d,c)|0;u=m;return l|0}case 2:{k[f>>2]=k[b>>2];k[d>>2]=k[f>>2];l=uf(a,d,c)|0;u=m;return l|0}case 1:{k[g>>2]=k[b>>2];k[d>>2]=k[g>>2];l=Ue(a,d,c)|0;u=m;return l|0}case 4:{k[h>>2]=k[b>>2];k[d>>2]=k[h>>2];l=Se(a,d,c)|0;u=m;return l|0}case 3:{k[i>>2]=k[b>>2];k[d>>2]=k[i>>2];l=ke(a,d,c)|0;u=m;return l|0}case 6:{k[j>>2]=k[b>>2];k[d>>2]=k[j>>2];l=Pe(a,d,c)|0;u=m;return l|0}case 5:{k[l>>2]=k[b>>2];k[d>>2]=k[l>>2];l=Ae(a,d,c)|0;u=m;return l|0}default:{l=0;u=m;return l|0}}return 0}function cg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+32|0;d=m+28|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;if(!c){l=0;u=m;return l|0}switch(k[a+28>>2]|0){case 9:{k[e>>2]=k[b>>2];k[d>>2]=k[e>>2];l=vc(a,d,c)|0;u=m;return l|0}case 2:{k[f>>2]=k[b>>2];k[d>>2]=k[f>>2];l=De(a,d,c)|0;u=m;return l|0}case 1:{k[g>>2]=k[b>>2];k[d>>2]=k[g>>2];l=Be(a,d,c)|0;u=m;return l|0}case 4:{k[h>>2]=k[b>>2];k[d>>2]=k[h>>2];l=Wd(a,d,c)|0;u=m;return l|0}case 3:{k[i>>2]=k[b>>2];k[d>>2]=k[i>>2];l=Vd(a,d,c)|0;u=m;return l|0}case 6:{k[j>>2]=k[b>>2];k[d>>2]=k[j>>2];l=Je(a,d,c)|0;u=m;return l|0}case 5:{k[l>>2]=k[b>>2];k[d>>2]=k[l>>2];l=Je(a,d,c)|0;u=m;return l|0}default:{l=0;u=m;return l|0}}return 0}function dg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+32|0;d=m+28|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;if(!c){l=0;u=m;return l|0}switch(k[a+28>>2]|0){case 9:{k[e>>2]=k[b>>2];k[d>>2]=k[e>>2];l=Kc(a,d,c)|0;u=m;return l|0}case 2:{k[f>>2]=k[b>>2];k[d>>2]=k[f>>2];l=Qe(a,d,c)|0;u=m;return l|0}case 1:{k[g>>2]=k[b>>2];k[d>>2]=k[g>>2];l=Oe(a,d,c)|0;u=m;return l|0}case 4:{k[h>>2]=k[b>>2];k[d>>2]=k[h>>2];l=de(a,d,c)|0;u=m;return l|0}case 3:{k[i>>2]=k[b>>2];k[d>>2]=k[i>>2];l=ce(a,d,c)|0;u=m;return l|0}case 6:{k[j>>2]=k[b>>2];k[d>>2]=k[j>>2];l=Te(a,d,c)|0;u=m;return l|0}case 5:{k[l>>2]=k[b>>2];k[d>>2]=k[l>>2];l=Te(a,d,c)|0;u=m;return l|0}default:{l=0;u=m;return l|0}}return 0}function eg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+32|0;d=m+28|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;if(!c){l=0;u=m;return l|0}switch(k[a+28>>2]|0){case 9:{k[e>>2]=k[b>>2];k[d>>2]=k[e>>2];l=dd(a,d,c)|0;u=m;return l|0}case 2:{k[f>>2]=k[b>>2];k[d>>2]=k[f>>2];l=pf(a,d,c)|0;u=m;return l|0}case 1:{k[g>>2]=k[b>>2];k[d>>2]=k[g>>2];l=gf(a,d,c)|0;u=m;return l|0}case 4:{k[h>>2]=k[b>>2];k[d>>2]=k[h>>2];l=ye(a,d,c)|0;u=m;return l|0}case 3:{k[i>>2]=k[b>>2];k[d>>2]=k[i>>2];l=Me(a,d,c)|0;u=m;return l|0}case 6:{k[j>>2]=k[b>>2];k[d>>2]=k[j>>2];l=Hd(a,d,c)|0;u=m;return l|0}case 5:{k[l>>2]=k[b>>2];k[d>>2]=k[l>>2];l=Hd(a,d,c)|0;u=m;return l|0}default:{l=0;u=m;return l|0}}return 0}function fg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+32|0;d=m+28|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;if(!c){l=0;u=m;return l|0}switch(k[a+28>>2]|0){case 9:{k[e>>2]=k[b>>2];k[d>>2]=k[e>>2];l=ae(a,d,c)|0;u=m;return l|0}case 2:{k[f>>2]=k[b>>2];k[d>>2]=k[f>>2];l=Df(a,d,c)|0;u=m;return l|0}case 1:{k[g>>2]=k[b>>2];k[d>>2]=k[g>>2];l=Bf(a,d,c)|0;u=m;return l|0}case 4:{k[h>>2]=k[b>>2];k[d>>2]=k[h>>2];l=sf(a,d,c)|0;u=m;return l|0}case 3:{k[i>>2]=k[b>>2];k[d>>2]=k[i>>2];l=of(a,d,c)|0;u=m;return l|0}case 6:{k[j>>2]=k[b>>2];k[d>>2]=k[j>>2];l=bf(a,d,c)|0;u=m;return l|0}case 5:{k[l>>2]=k[b>>2];k[d>>2]=k[l>>2];l=bf(a,d,c)|0;u=m;return l|0}default:{l=0;u=m;return l|0}}return 0}function gg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+32|0;d=m+28|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;if(!c){l=0;u=m;return l|0}switch(k[a+28>>2]|0){case 9:{k[e>>2]=k[b>>2];k[d>>2]=k[e>>2];l=Ie(a,d,c)|0;u=m;return l|0}case 2:{k[f>>2]=k[b>>2];k[d>>2]=k[f>>2];l=$c(a,d,c)|0;u=m;return l|0}case 1:{k[g>>2]=k[b>>2];k[d>>2]=k[g>>2];l=Wc(a,d,c)|0;u=m;return l|0}case 4:{k[h>>2]=k[b>>2];k[d>>2]=k[h>>2];l=Lc(a,d,c)|0;u=m;return l|0}case 3:{k[i>>2]=k[b>>2];k[d>>2]=k[i>>2];l=Jc(a,d,c)|0;u=m;return l|0}case 6:{k[j>>2]=k[b>>2];k[d>>2]=k[j>>2];l=wc(a,d,c)|0;u=m;return l|0}case 5:{k[l>>2]=k[b>>2];k[d>>2]=k[l>>2];l=xc(a,d,c)|0;u=m;return l|0}default:{l=0;u=m;return l|0}}return 0}function hg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+32|0;d=m+28|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;if(!c){l=0;u=m;return l|0}switch(k[a+28>>2]|0){case 9:{k[e>>2]=k[b>>2];k[d>>2]=k[e>>2];l=Re(a,d,c)|0;u=m;return l|0}case 2:{k[f>>2]=k[b>>2];k[d>>2]=k[f>>2];l=jd(a,d,c)|0;u=m;return l|0}case 1:{k[g>>2]=k[b>>2];k[d>>2]=k[g>>2];l=bd(a,d,c)|0;u=m;return l|0}case 4:{k[h>>2]=k[b>>2];k[d>>2]=k[h>>2];l=Oc(a,d,c)|0;u=m;return l|0}case 3:{k[i>>2]=k[b>>2];k[d>>2]=k[i>>2];l=Nc(a,d,c)|0;u=m;return l|0}case 6:{k[j>>2]=k[b>>2];k[d>>2]=k[j>>2];l=Dc(a,d,c)|0;u=m;return l|0}case 5:{k[l>>2]=k[b>>2];k[d>>2]=k[l>>2];l=Fc(a,d,c)|0;u=m;return l|0}default:{l=0;u=m;return l|0}}return 0}function ig(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+32|0;d=m+28|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;if(!c){l=0;u=m;return l|0}switch(k[a+28>>2]|0){case 9:{k[e>>2]=k[b>>2];k[d>>2]=k[e>>2];l=Gd(a,d,c)|0;u=m;return l|0}case 2:{k[f>>2]=k[b>>2];k[d>>2]=k[f>>2];l=Fd(a,d,c)|0;u=m;return l|0}case 1:{k[g>>2]=k[b>>2];k[d>>2]=k[g>>2];l=Bd(a,d,c)|0;u=m;return l|0}case 4:{k[h>>2]=k[b>>2];k[d>>2]=k[h>>2];l=gd(a,d,c)|0;u=m;return l|0}case 3:{k[i>>2]=k[b>>2];k[d>>2]=k[i>>2];l=ad(a,d,c)|0;u=m;return l|0}case 6:{k[j>>2]=k[b>>2];k[d>>2]=k[j>>2];l=Xc(a,d,c)|0;u=m;return l|0}case 5:{k[l>>2]=k[b>>2];k[d>>2]=k[l>>2];l=_c(a,d,c)|0;u=m;return l|0}default:{l=0;u=m;return l|0}}return 0}function jg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+32|0;d=m+28|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;if(!c){l=0;u=m;return l|0}switch(k[a+28>>2]|0){case 9:{k[e>>2]=k[b>>2];k[d>>2]=k[e>>2];l=bf(a,d,c)|0;u=m;return l|0}case 2:{k[f>>2]=k[b>>2];k[d>>2]=k[f>>2];l=Le(a,d,c)|0;u=m;return l|0}case 1:{k[g>>2]=k[b>>2];k[d>>2]=k[g>>2];l=He(a,d,c)|0;u=m;return l|0}case 4:{k[h>>2]=k[b>>2];k[d>>2]=k[h>>2];l=oe(a,d,c)|0;u=m;return l|0}case 3:{k[i>>2]=k[b>>2];k[d>>2]=k[i>>2];l=le(a,d,c)|0;u=m;return l|0}case 6:{k[j>>2]=k[b>>2];k[d>>2]=k[j>>2];l=ee(a,d,c)|0;u=m;return l|0}case 5:{k[l>>2]=k[b>>2];k[d>>2]=k[l>>2];l=ge(a,d,c)|0;u=m;return l|0}default:{l=0;u=m;return l|0}}return 0}function kg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=u;u=u+16|0;e=g+12|0;c=g;f=jo(52)|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;o[f+16>>2]=da(1.0);d=f+20|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;o[f+36>>2]=da(1.0);k[f+40>>2]=0;k[f+44>>2]=0;k[f+48>>2]=0;d=f;yr(e);if(!(Bh(e,k[b+32>>2]|0,f)|0)){k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;Jk(c,18843,26);k[a>>2]=-1;gm(a+4|0,c);Jp(c);d=f+40|0;b=k[d>>2]|0;if(b|0){e=f+44|0;c=k[e>>2]|0;if((c|0)!=(b|0)){do{a=c+-4|0;k[e>>2]=a;c=k[a>>2]|0;k[a>>2]=0;if(c|0){Ij(c);_r(c)}c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}_r(b)}Ij(f);_r(f);u=g;return}e=(k[b+4>>2]|0)+4|0;f=k[e>>2]|0;k[e>>2]=d;if(f|0){d=f+40|0;b=k[d>>2]|0;if(b|0){e=f+44|0;c=k[e>>2]|0;if((c|0)!=(b|0)){do{h=c+-4|0;k[e>>2]=h;c=k[h>>2]|0;k[h>>2]=0;if(c|0){Ij(c);_r(c)}c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}_r(b)}Ij(f);_r(f)}k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;u=g;return}function lg(a,b){a=a|0;b=b|0;var 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;n=k[a+8>>2]|0;j=a+76|0;c=k[j>>2]|0;m=k[c+68>>2]|0;r=b+84|0;i[r>>0]=0;l=b+68|0;d=b+72|0;g=k[d>>2]|0;f=k[l>>2]|0;e=g-f>>2;if(m>>>0<=e>>>0){if(m>>>0>>0?(h=f+(m<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{Yh(l,m-e|0,4352);m=k[j>>2]|0;c=m;m=k[m+68>>2]|0}p=(k[c+88>>2]|0)-(k[c+84>>2]|0)|0;q=(p|0)/12|0;if((p|0)<=0){r=1;return r|0}p=n+28|0;o=a+80|0;n=b+68|0;a=c+84|0;l=c+88|0;j=0;while(1){c=k[a>>2]|0;if((j|0)>=(((k[l>>2]|0)-c|0)/12|0|0)){d=9;break}e=j*3|0;f=k[p>>2]|0;g=k[(k[o>>2]|0)+12>>2]|0;d=k[g+(k[f+(e<<2)>>2]<<2)>>2]|0;if(d>>>0>=m>>>0){c=0;d=14;break}if(i[r>>0]|0){d=12;break}h=k[n>>2]|0;k[h+(k[c+(j*12|0)>>2]<<2)>>2]=d;d=k[g+(k[f+(e+1<<2)>>2]<<2)>>2]|0;if(d>>>0>=m>>>0){c=0;d=14;break}k[h+(k[c+(j*12|0)+4>>2]<<2)>>2]=d;d=k[g+(k[f+(e+2<<2)>>2]<<2)>>2]|0;if(d>>>0>=m>>>0){c=0;d=14;break}k[h+(k[c+(j*12|0)+8>>2]<<2)>>2]=d;j=j+1|0;if((j|0)>=(q|0)){c=1;d=14;break}}if((d|0)==9)Ka(20431,20341,64,20426);else if((d|0)==12)Ka(19400,19419,89,19521);else if((d|0)==14)return c|0;return 0}function mg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;if(!(lc(a,b)|0)){j=0;return j|0}h=Wa[k[(k[a>>2]|0)+24>>2]&255](a)|0;j=a+36|0;g=a+40|0;c=k[g>>2]|0;e=k[j>>2]|0;d=c-e>>2;if(h>>>0<=d>>>0){if(h>>>0>>0?(f=e+(h<<2)|0,(c|0)!=(f|0)):0)do{e=c+-4|0;k[g>>2]=e;c=k[e>>2]|0;k[e>>2]=0;if(c|0)Ta[k[(k[c>>2]|0)+4>>2]&127](c);c=k[g>>2]|0}while((c|0)!=(f|0))}else bh(j,h-d|0);f=b+8|0;if((h|0)<=0){j=1;return j|0}g=b+16|0;e=0;while(1){l=f;m=k[l+4>>2]|0;d=g;c=k[d>>2]|0;d=k[d+4>>2]|0;if(!((m|0)>(d|0)|((m|0)==(d|0)?(k[l>>2]|0)>>>0>c>>>0:0))){c=0;d=17;break}l=i[(k[b>>2]|0)+c>>0]|0;c=Fp(c|0,d|0,1,0)|0;m=g;k[m>>2]=c;k[m+4>>2]=M;l=_a[k[(k[a>>2]|0)+48>>2]&127](a,l)|0;m=(k[j>>2]|0)+(e<<2)|0;c=k[m>>2]|0;k[m>>2]=l;if(c|0)Ta[k[(k[c>>2]|0)+4>>2]&127](c);c=k[(k[j>>2]|0)+(e<<2)>>2]|0;if(!c){c=0;d=17;break}d=k[(k[c>>2]|0)+8>>2]|0;l=Wa[k[(k[a>>2]|0)+28>>2]&255](a)|0;m=_a[k[(k[a>>2]|0)+20>>2]&127](a,e)|0;e=e+1|0;if(!(Ra[d&31](c,l,m)|0)){c=0;d=17;break}if((e|0)>=(h|0)){c=1;d=17;break}}if((d|0)==17)return c|0;return 0}function ng(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=u;u=u+32|0;j=l;f=a+8|0;e=k[f>>2]|0;h=a+4|0;c=k[h>>2]|0;if(((e-c|0)/116|0)>>>0>=b>>>0){do{k[c>>2]=-1;kn(c+4|0);i[c+72>>0]=1;c=c+76|0;d=c+40|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));c=(k[h>>2]|0)+116|0;k[h>>2]=c;b=b+-1|0}while((b|0)!=0);u=l;return}d=k[a>>2]|0;g=((c-d|0)/116|0)+b|0;if(g>>>0>37025580){Jq(a);d=k[a>>2]|0;e=k[f>>2]|0;c=k[h>>2]|0}h=(e-d|0)/116|0;e=h<<1;e=h>>>0<18512790?(e>>>0>>0?g:e):37025580;c=(c-d|0)/116|0;k[j+12>>2]=0;k[j+16>>2]=a+8;do if(e)if(e>>>0>37025580){l=Ma(4)|0;Cr(l);wa(l|0,1344,125)}else{d=jo(e*116|0)|0;break}else d=0;while(0);k[j>>2]=d;c=d+(c*116|0)|0;f=j+8|0;k[f>>2]=c;k[j+4>>2]=c;k[j+12>>2]=d+(e*116|0);do{k[c>>2]=-1;kn(c+4|0);i[c+72>>0]=1;c=c+76|0;d=c+40|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));c=(k[f>>2]|0)+116|0;k[f>>2]=c;b=b+-1|0}while((b|0)!=0);td(a,j);wj(j);u=l;return}function og(a,b){a=a|0;b=b|0;var 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;p=k[a+8>>2]|0;j=a+76|0;c=k[j>>2]|0;m=k[c+68>>2]|0;q=b+84|0;i[q>>0]=0;l=b+68|0;d=b+72|0;g=k[d>>2]|0;f=k[l>>2]|0;e=g-f>>2;if(m>>>0<=e>>>0){if(m>>>0>>0?(h=f+(m<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{Yh(l,m-e|0,4352);m=k[j>>2]|0;c=m;m=k[m+68>>2]|0}n=(k[c+88>>2]|0)-(k[c+84>>2]|0)|0;o=(n|0)/12|0;if((n|0)<=0){q=1;return q|0}n=a+80|0;l=b+68|0;a=c+84|0;j=c+88|0;h=0;while(1){c=k[a>>2]|0;if((h|0)>=(((k[j>>2]|0)-c|0)/12|0|0)){d=9;break}e=h*3|0;f=k[(k[n>>2]|0)+12>>2]|0;d=k[f+(k[(k[p>>2]|0)+(e<<2)>>2]<<2)>>2]|0;if(d>>>0>=m>>>0){c=0;d=13;break}if(i[q>>0]|0){d=12;break}g=k[l>>2]|0;k[g+(k[c+(h*12|0)>>2]<<2)>>2]=d;d=k[f+(k[(k[p>>2]|0)+(e+1<<2)>>2]<<2)>>2]|0;if(d>>>0>=m>>>0){c=0;d=13;break}k[g+(k[c+(h*12|0)+4>>2]<<2)>>2]=d;d=k[f+(k[(k[p>>2]|0)+(e+2<<2)>>2]<<2)>>2]|0;if(d>>>0>=m>>>0){c=0;d=13;break}k[g+(k[c+(h*12|0)+8>>2]<<2)>>2]=d;h=h+1|0;if((h|0)>=(o|0)){c=1;d=13;break}}if((d|0)==9)Ka(20431,20341,64,20426);else if((d|0)==12)Ka(19400,19419,89,19521);else if((d|0)==13)return c|0;return 0}function pg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;n=u;u=u+64|0;m=n;d=m;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(qe(m,b)|0){e=(a|0)>0;if(e?(k[m+12>>2]|0)==0:0){f=0;break}d=We(m,b)|0;if(d&e){f=m+44|0;g=m+48|0;h=m+40|0;i=m+16|0;j=m+28|0;b=0;d=k[g>>2]|0;while(1){a:do if(d>>>0<4194304){e=k[f>>2]|0;do{if((e|0)<=0)break a;o=k[h>>2]|0;e=e+-1|0;k[f>>2]=e;d=l[o+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<4194304)}while(0);p=d&1048575;o=k[(k[i>>2]|0)+(p<<2)>>2]|0;e=k[j>>2]|0;d=($(k[e+(o<<3)>>2]|0,d>>>20)|0)+p-(k[e+(o<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(b<<2)>>2]=o;b=b+1|0;if((b|0)==(a|0)){f=1;break}}}else f=d}else f=0;while(0);d=k[m+28>>2]|0;if(d|0){e=m+32|0;b=k[e>>2]|0;if((b|0)!=(d|0))k[e>>2]=b+(~((b+-8-d|0)>>>3)<<3);_r(d)}d=k[m+16>>2]|0;if(d|0){e=m+20|0;b=k[e>>2]|0;if((b|0)!=(d|0))k[e>>2]=b+(~((b+-4-d|0)>>>2)<<2);_r(d)}b=k[m>>2]|0;if(!b){u=n;return f|0}d=m+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);_r(b);u=n;return f|0}function qg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;n=u;u=u+64|0;m=n;d=m;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(re(m,b)|0){e=(a|0)>0;if(e?(k[m+12>>2]|0)==0:0){f=0;break}d=Xe(m,b)|0;if(d&e){f=m+44|0;g=m+48|0;h=m+40|0;i=m+16|0;j=m+28|0;b=0;d=k[g>>2]|0;while(1){a:do if(d>>>0<2097152){e=k[f>>2]|0;do{if((e|0)<=0)break a;o=k[h>>2]|0;e=e+-1|0;k[f>>2]=e;d=l[o+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<2097152)}while(0);p=d&524287;o=k[(k[i>>2]|0)+(p<<2)>>2]|0;e=k[j>>2]|0;d=($(k[e+(o<<3)>>2]|0,d>>>19)|0)+p-(k[e+(o<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(b<<2)>>2]=o;b=b+1|0;if((b|0)==(a|0)){f=1;break}}}else f=d}else f=0;while(0);d=k[m+28>>2]|0;if(d|0){e=m+32|0;b=k[e>>2]|0;if((b|0)!=(d|0))k[e>>2]=b+(~((b+-8-d|0)>>>3)<<3);_r(d)}d=k[m+16>>2]|0;if(d|0){e=m+20|0;b=k[e>>2]|0;if((b|0)!=(d|0))k[e>>2]=b+(~((b+-4-d|0)>>>2)<<2);_r(d)}b=k[m>>2]|0;if(!b){u=n;return f|0}d=m+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);_r(b);u=n;return f|0}function rg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;n=u;u=u+64|0;m=n;d=m;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(se(m,b)|0){e=(a|0)>0;if(e?(k[m+12>>2]|0)==0:0){f=0;break}d=Ye(m,b)|0;if(d&e){f=m+44|0;g=m+48|0;h=m+40|0;i=m+16|0;j=m+28|0;b=0;d=k[g>>2]|0;while(1){a:do if(d>>>0<1048576){e=k[f>>2]|0;do{if((e|0)<=0)break a;o=k[h>>2]|0;e=e+-1|0;k[f>>2]=e;d=l[o+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<1048576)}while(0);p=d&262143;o=k[(k[i>>2]|0)+(p<<2)>>2]|0;e=k[j>>2]|0;d=($(k[e+(o<<3)>>2]|0,d>>>18)|0)+p-(k[e+(o<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(b<<2)>>2]=o;b=b+1|0;if((b|0)==(a|0)){f=1;break}}}else f=d}else f=0;while(0);d=k[m+28>>2]|0;if(d|0){e=m+32|0;b=k[e>>2]|0;if((b|0)!=(d|0))k[e>>2]=b+(~((b+-8-d|0)>>>3)<<3);_r(d)}d=k[m+16>>2]|0;if(d|0){e=m+20|0;b=k[e>>2]|0;if((b|0)!=(d|0))k[e>>2]=b+(~((b+-4-d|0)>>>2)<<2);_r(d)}b=k[m>>2]|0;if(!b){u=n;return f|0}d=m+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);_r(b);u=n;return f|0}function sg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;n=u;u=u+64|0;m=n;d=m;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(te(m,b)|0){e=(a|0)>0;if(e?(k[m+12>>2]|0)==0:0){f=0;break}d=Ze(m,b)|0;if(d&e){f=m+44|0;g=m+48|0;h=m+40|0;i=m+16|0;j=m+28|0;b=0;d=k[g>>2]|0;while(1){a:do if(d>>>0<262144){e=k[f>>2]|0;do{if((e|0)<=0)break a;o=k[h>>2]|0;e=e+-1|0;k[f>>2]=e;d=l[o+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<262144)}while(0);p=d&65535;o=k[(k[i>>2]|0)+(p<<2)>>2]|0;e=k[j>>2]|0;d=($(k[e+(o<<3)>>2]|0,d>>>16)|0)+p-(k[e+(o<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(b<<2)>>2]=o;b=b+1|0;if((b|0)==(a|0)){f=1;break}}}else f=d}else f=0;while(0);d=k[m+28>>2]|0;if(d|0){e=m+32|0;b=k[e>>2]|0;if((b|0)!=(d|0))k[e>>2]=b+(~((b+-8-d|0)>>>3)<<3);_r(d)}d=k[m+16>>2]|0;if(d|0){e=m+20|0;b=k[e>>2]|0;if((b|0)!=(d|0))k[e>>2]=b+(~((b+-4-d|0)>>>2)<<2);_r(d)}b=k[m>>2]|0;if(!b){u=n;return f|0}d=m+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);_r(b);u=n;return f|0}function tg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;n=u;u=u+64|0;m=n;d=m;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(ue(m,b)|0){e=(a|0)>0;if(e?(k[m+12>>2]|0)==0:0){f=0;break}d=_e(m,b)|0;if(d&e){f=m+44|0;g=m+48|0;h=m+40|0;i=m+16|0;j=m+28|0;b=0;d=k[g>>2]|0;while(1){a:do if(d>>>0<131072){e=k[f>>2]|0;do{if((e|0)<=0)break a;o=k[h>>2]|0;e=e+-1|0;k[f>>2]=e;d=l[o+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<131072)}while(0);p=d&32767;o=k[(k[i>>2]|0)+(p<<2)>>2]|0;e=k[j>>2]|0;d=($(k[e+(o<<3)>>2]|0,d>>>15)|0)+p-(k[e+(o<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(b<<2)>>2]=o;b=b+1|0;if((b|0)==(a|0)){f=1;break}}}else f=d}else f=0;while(0);d=k[m+28>>2]|0;if(d|0){e=m+32|0;b=k[e>>2]|0;if((b|0)!=(d|0))k[e>>2]=b+(~((b+-8-d|0)>>>3)<<3);_r(d)}d=k[m+16>>2]|0;if(d|0){e=m+20|0;b=k[e>>2]|0;if((b|0)!=(d|0))k[e>>2]=b+(~((b+-4-d|0)>>>2)<<2);_r(d)}b=k[m>>2]|0;if(!b){u=n;return f|0}d=m+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);_r(b);u=n;return f|0}function ug(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;n=u;u=u+64|0;m=n;d=m;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(ve(m,b)|0){e=(a|0)>0;if(e?(k[m+12>>2]|0)==0:0){f=0;break}d=$e(m,b)|0;if(d&e){f=m+44|0;g=m+48|0;h=m+40|0;i=m+16|0;j=m+28|0;b=0;d=k[g>>2]|0;while(1){a:do if(d>>>0<32768){e=k[f>>2]|0;do{if((e|0)<=0)break a;o=k[h>>2]|0;e=e+-1|0;k[f>>2]=e;d=l[o+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<32768)}while(0);p=d&8191;o=k[(k[i>>2]|0)+(p<<2)>>2]|0;e=k[j>>2]|0;d=($(k[e+(o<<3)>>2]|0,d>>>13)|0)+p-(k[e+(o<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(b<<2)>>2]=o;b=b+1|0;if((b|0)==(a|0)){f=1;break}}}else f=d}else f=0;while(0);d=k[m+28>>2]|0;if(d|0){e=m+32|0;b=k[e>>2]|0;if((b|0)!=(d|0))k[e>>2]=b+(~((b+-8-d|0)>>>3)<<3);_r(d)}d=k[m+16>>2]|0;if(d|0){e=m+20|0;b=k[e>>2]|0;if((b|0)!=(d|0))k[e>>2]=b+(~((b+-4-d|0)>>>2)<<2);_r(d)}b=k[m>>2]|0;if(!b){u=n;return f|0}d=m+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);_r(b);u=n;return f|0}function vg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;n=u;u=u+64|0;m=n;d=m;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(we(m,b)|0){e=(a|0)>0;if(e?(k[m+12>>2]|0)==0:0){f=0;break}d=af(m,b)|0;if(d&e){f=m+44|0;g=m+48|0;h=m+40|0;i=m+16|0;j=m+28|0;b=0;d=k[g>>2]|0;while(1){a:do if(d>>>0<16384){e=k[f>>2]|0;do{if((e|0)<=0)break a;o=k[h>>2]|0;e=e+-1|0;k[f>>2]=e;d=l[o+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<16384)}while(0);p=d&4095;o=k[(k[i>>2]|0)+(p<<2)>>2]|0;e=k[j>>2]|0;d=($(k[e+(o<<3)>>2]|0,d>>>12)|0)+p-(k[e+(o<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(b<<2)>>2]=o;b=b+1|0;if((b|0)==(a|0)){f=1;break}}}else f=d}else f=0;while(0);d=k[m+28>>2]|0;if(d|0){e=m+32|0;b=k[e>>2]|0;if((b|0)!=(d|0))k[e>>2]=b+(~((b+-8-d|0)>>>3)<<3);_r(d)}d=k[m+16>>2]|0;if(d|0){e=m+20|0;b=k[e>>2]|0;if((b|0)!=(d|0))k[e>>2]=b+(~((b+-4-d|0)>>>2)<<2);_r(d)}b=k[m>>2]|0;if(!b){u=n;return f|0}d=m+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);_r(b);u=n;return f|0}function wg(a,b){a=a|0;b=b|0;var 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;p=k[a+8>>2]|0;j=a+112|0;c=k[j>>2]|0;m=k[c+68>>2]|0;q=b+84|0;i[q>>0]=0;l=b+68|0;d=b+72|0;g=k[d>>2]|0;f=k[l>>2]|0;e=g-f>>2;if(m>>>0<=e>>>0){if(m>>>0>>0?(h=f+(m<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{Yh(l,m-e|0,4352);m=k[j>>2]|0;c=m;m=k[m+68>>2]|0}n=(k[c+88>>2]|0)-(k[c+84>>2]|0)|0;o=(n|0)/12|0;if((n|0)<=0){q=1;return q|0}n=a+116|0;l=b+68|0;a=c+84|0;j=c+88|0;h=0;while(1){c=k[a>>2]|0;if((h|0)>=(((k[j>>2]|0)-c|0)/12|0|0)){d=9;break}e=h*3|0;f=k[(k[n>>2]|0)+12>>2]|0;d=k[f+(k[(k[p>>2]|0)+(e<<2)>>2]<<2)>>2]|0;if(d>>>0>=m>>>0){c=0;d=13;break}if(i[q>>0]|0){d=12;break}g=k[l>>2]|0;k[g+(k[c+(h*12|0)>>2]<<2)>>2]=d;d=k[f+(k[(k[p>>2]|0)+(e+1<<2)>>2]<<2)>>2]|0;if(d>>>0>=m>>>0){c=0;d=13;break}k[g+(k[c+(h*12|0)+4>>2]<<2)>>2]=d;d=k[f+(k[(k[p>>2]|0)+(e+2<<2)>>2]<<2)>>2]|0;if(d>>>0>=m>>>0){c=0;d=13;break}k[g+(k[c+(h*12|0)+8>>2]<<2)>>2]=d;h=h+1|0;if((h|0)>=(o|0)){c=1;d=13;break}}if((d|0)==9)Ka(20431,20341,64,20426);else if((d|0)==12)Ka(19400,19419,89,19521);else if((d|0)==13)return c|0;return 0}function xg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=b;g=c-m>>2;h=a+8|0;d=k[h>>2]|0;l=k[a>>2]|0;i=l;if(g>>>0<=d-l>>2>>>0){j=a+4|0;h=(k[j>>2]|0)-l>>2;g=g>>>0>h>>>0;h=b+(h<<2)|0;f=g?h:c;a=f;d=a-m|0;e=d>>2;if(e|0)mn(l|0,b|0,d|0)|0;d=i+(e<<2)|0;if(!g){b=k[j>>2]|0;if((b|0)==(d|0))return;k[j>>2]=b+(~((b+-4-d|0)>>>2)<<2);return}if((f|0)==(c|0))return;f=k[j>>2]|0;e=((c+-4-a|0)>>>2)+1|0;b=h;d=f;while(1){k[d>>2]=k[b>>2];b=b+4|0;if((b|0)==(c|0))break;else d=d+4|0}k[j>>2]=f+(e<<2);return}f=l;if(l){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(i|0))k[d>>2]=e+(~((e+-4-l|0)>>>2)<<2);_r(f);k[h>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(g>>>0>1073741823){Jq(a);e=k[a>>2]|0;d=k[h>>2]|0}else e=0;l=d-e|0;d=l>>1;d=l>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;if(d>>>0>1073741823){Jq(a);c=Ma(4)|0;Cr(c);wa(c|0,1344,125)}f=jo(d<<2)|0;g=a+4|0;k[g>>2]=f;k[a>>2]=f;k[h>>2]=f+(d<<2);if((b|0)==(c|0))return;e=((c+-4-m|0)>>>2)+1|0;d=f;while(1){k[d>>2]=k[b>>2];b=b+4|0;if((b|0)==(c|0))break;else d=d+4|0}k[g>>2]=f+(e<<2);return}function yg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=b;g=c-m>>2;h=a+8|0;d=k[h>>2]|0;l=k[a>>2]|0;i=l;if(g>>>0<=d-l>>2>>>0){j=a+4|0;h=(k[j>>2]|0)-l>>2;g=g>>>0>h>>>0;h=b+(h<<2)|0;f=g?h:c;a=f;d=a-m|0;e=d>>2;if(e|0)mn(l|0,b|0,d|0)|0;d=i+(e<<2)|0;if(!g){b=k[j>>2]|0;if((b|0)==(d|0))return;k[j>>2]=b+(~((b+-4-d|0)>>>2)<<2);return}if((f|0)==(c|0))return;f=k[j>>2]|0;e=c+-4-a|0;b=h;d=f;while(1){k[d>>2]=k[b>>2];b=b+4|0;if((b|0)==(c|0))break;else d=d+4|0}k[j>>2]=f+((e>>>2)+1<<2);return}f=l;if(l){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(i|0))k[d>>2]=e+(~((e+-4-l|0)>>>2)<<2);_r(f);k[h>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(g>>>0>1073741823){Jq(a);e=k[a>>2]|0;d=k[h>>2]|0}else e=0;l=d-e|0;d=l>>1;d=l>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;if(d>>>0>1073741823){Jq(a);c=Ma(4)|0;Cr(c);wa(c|0,1344,125)}f=jo(d<<2)|0;g=a+4|0;k[g>>2]=f;k[a>>2]=f;k[h>>2]=f+(d<<2);if((b|0)==(c|0))return;e=c+-4-m|0;d=f;while(1){k[d>>2]=k[b>>2];b=b+4|0;if((b|0)==(c|0))break;else d=d+4|0}k[g>>2]=f+((e>>>2)+1<<2);return}function zg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;c=i[(k[a+8>>2]|0)+24>>0]|0;f=Xr(c>>>0>1073741823?-1:c<<2)|0;g=a+28|0;b=k[g>>2]|0;k[g>>2]=f;if(b|0)Yr(b);e=a+4|0;f=k[(k[e>>2]|0)+32>>2]|0;b=c<<2;n=f+8|0;j=k[n>>2]|0;n=k[n+4>>2]|0;c=f+16|0;h=c;d=k[h>>2]|0;h=Fp(d|0,k[h+4>>2]|0,b|0,0)|0;m=M;if((n|0)<(m|0)|(n|0)==(m|0)&j>>>0>>0){n=0;return n|0}Gh(k[g>>2]|0,(k[f>>2]|0)+d|0,b|0)|0;h=c;h=Fp(k[h>>2]|0,k[h+4>>2]|0,b|0,0)|0;b=c;k[b>>2]=h;k[b+4>>2]=M;b=(k[e>>2]|0)+32|0;c=k[b>>2]|0;h=c+8|0;m=k[h>>2]|0;h=k[h+4>>2]|0;d=c+16|0;n=d;e=k[n>>2]|0;n=Fp(e|0,k[n+4>>2]|0,4,0)|0;j=M;if((h|0)<(j|0)|(h|0)==(j|0)&m>>>0>>0){n=0;return n|0}m=a+32|0;n=(k[c>>2]|0)+e|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;i[m>>0]=n;i[m+1>>0]=n>>8;i[m+2>>0]=n>>16;i[m+3>>0]=n>>24;m=d;m=Fp(k[m>>2]|0,k[m+4>>2]|0,4,0)|0;n=d;k[n>>2]=m;k[n+4>>2]=M;b=k[b>>2]|0;n=b+8|0;m=k[n+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((m|0)>(e|0)|((m|0)==(e|0)?(k[n>>2]|0)>>>0>d>>>0:0))){n=0;return n|0}b=i[(k[b>>2]|0)+d>>0]|0;m=Fp(d|0,e|0,1,0)|0;n=c;k[n>>2]=m;k[n+4>>2]=M;if((b&255)>31){n=0;return n|0}k[a+24>>2]=b&255;n=1;return n|0}function Ag(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=a+636|0;b=k[f>>2]|0;if(b|0){g=a+640|0;c=k[g>>2]|0;if((c|0)!=(b|0)){d=c;while(1){c=d+-12|0;k[g>>2]=c;e=k[c>>2]|0;if(e){c=d+-8|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e);c=k[g>>2]|0}if((c|0)==(b|0))break;else d=c}b=k[f>>2]|0}_r(b)}f=a+624|0;b=k[f>>2]|0;if(b|0){g=a+628|0;c=k[g>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;k[g>>2]=d;e=k[d>>2]|0;if(!e)c=d;else{c=c+-8|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e);c=k[g>>2]|0}}while((c|0)!=(b|0));b=k[f>>2]|0}_r(b)}b=k[a+612>>2]|0;if(b|0){c=a+616|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+600>>2]|0;if(!b){g=a+580|0;dm(g);g=a+560|0;dm(g);g=a+540|0;dm(g);g=a+524|0;ds(g);a=a+12|0;Zj(a);return}c=a+604|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b);g=a+580|0;dm(g);g=a+560|0;dm(g);g=a+540|0;dm(g);g=a+524|0;ds(g);a=a+12|0;Zj(a);return}function Bg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;j=n+24|0;i=n+16|0;l=n+8|0;m=n;k[a>>2]=4340;k[a+4>>2]=k[b+4>>2];f=a+8|0;g=b+8|0;k[f>>2]=0;h=a+12|0;k[h>>2]=0;c=a+16|0;k[c>>2]=0;d=b+12|0;e=k[d>>2]|0;if(e|0){if((e|0)<0)Jq(f);e=((e+-1|0)>>>5)+1|0;o=jo(e<<2)|0;k[f>>2]=o;k[h>>2]=0;k[c>>2]=e;g=k[g>>2]|0;k[l>>2]=g;k[l+4>>2]=0;h=k[d>>2]|0;k[m>>2]=g+(h>>>5<<2);k[m+4>>2]=h&31;k[i>>2]=k[l>>2];k[i+4>>2]=k[l+4>>2];k[j>>2]=k[m>>2];k[j+4>>2]=k[m+4>>2];Ug(f,i,j)}f=a+20|0;k[f>>2]=0;g=a+24|0;k[g>>2]=0;c=a+28|0;k[c>>2]=0;d=b+24|0;e=k[d>>2]|0;if(!e){u=n;return}if((e|0)<0)Jq(f);o=((e+-1|0)>>>5)+1|0;a=jo(o<<2)|0;k[f>>2]=a;k[g>>2]=0;k[c>>2]=o;b=k[b+20>>2]|0;k[l>>2]=b;k[l+4>>2]=0;o=k[d>>2]|0;k[m>>2]=b+(o>>>5<<2);k[m+4>>2]=o&31;k[i>>2]=k[l>>2];k[i+4>>2]=k[l+4>>2];k[j>>2]=k[m>>2];k[j+4>>2]=k[m+4>>2];Ug(f,i,j);u=n;return}function Cg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;d=b+8|0;h=d;f=k[h+4>>2]|0;j=b+16|0;g=j;c=k[g>>2]|0;g=k[g+4>>2]|0;if(!((f|0)>(g|0)|((f|0)==(g|0)?(k[h>>2]|0)>>>0>c>>>0:0))){j=0;return j|0}i[a+12>>0]=i[(k[b>>2]|0)+c>>0]|0;g=j;h=k[g>>2]|0;g=k[g+4>>2]|0;e=Fp(h|0,g|0,1,0)|0;f=j;k[f>>2]=e;k[f+4>>2]=M;f=d;d=k[f>>2]|0;f=k[f+4>>2]|0;g=Fp(h|0,g|0,5,0)|0;h=M;if((f|0)<(h|0)|(f|0)==(h|0)&d>>>0>>0){j=0;return j|0}c=k[b>>2]|0;e=c+e|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;b=j;k[b>>2]=g;k[b+4>>2]=h;f=Wo(d|0,f|0,g|0,h|0)|0;b=M;if(0>(b|0)|0==(b|0)&e>>>0>f>>>0){j=0;return j|0}c=c+g|0;if((e|0)<1){j=0;return j|0}k[a>>2]=c;d=e+-1|0;b=c+d|0;a:do switch((l[b>>0]|0)>>>6&3){case 0:{k[a+4>>2]=d;c=i[b>>0]&63;break}case 1:if((e|0)<2){j=0;return j|0}else{k[a+4>>2]=e+-2;c=c+e+-2|0;c=(l[c+1>>0]|0)<<8&16128|(l[c>>0]|0);break a}case 2:if((e|0)<3){j=0;return j|0}else{k[a+4>>2]=e+-3;c=c+e+-3|0;c=(l[c+1>>0]|0)<<8|(l[c>>0]|0)|(l[c+2>>0]|0)<<16&4128768;break a}default:{j=0;return j|0}}while(0);f=c+4096|0;k[a+8>>2]=f;if(f>>>0>1048575){j=0;return j|0}a=Fp(g|0,h|0,e|0,0)|0;k[j>>2]=a;k[j+4>>2]=M;j=1;return j|0}function Dg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=a+8|0;d=k[h>>2]|0;g=k[a>>2]|0;i=g;do if(d-g>>2>>>0>=b>>>0){a=a+4|0;h=k[a>>2]|0;f=h-g>>2;g=f>>>0>>0;d=g?f:b;if(d|0){e=i;while(1){k[e>>2]=k[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}}if(!g){d=i+(b<<2)|0;if((h|0)==(d|0))return;else{e=a;d=h+(~((h+-4-d|0)>>>2)<<2)|0;break}}else{f=b-f|0;d=f;e=h;while(1){k[e>>2]=k[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}e=a;d=h+(f<<2)|0;break}}else{f=g;if(g){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(i|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);_r(f);k[h>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(b>>>0>1073741823){Jq(a);e=k[a>>2]|0;d=k[h>>2]|0}else e=0;i=d-e|0;d=i>>1;d=i>>2>>>0<536870911?(d>>>0>>0?b:d):1073741823;if(d>>>0>1073741823){Jq(a);c=Ma(4)|0;Cr(c);wa(c|0,1344,125)}g=jo(d<<2)|0;f=a+4|0;k[f>>2]=g;k[a>>2]=g;k[h>>2]=g+(d<<2);d=b;e=g;while(1){k[e>>2]=k[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}e=f;d=g+(b<<2)|0}while(0);k[e>>2]=d;return}function Eg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;j=n+24|0;i=n+16|0;l=n+8|0;m=n;k[a>>2]=4388;k[a+4>>2]=k[b+4>>2];f=a+8|0;g=b+8|0;k[f>>2]=0;h=a+12|0;k[h>>2]=0;c=a+16|0;k[c>>2]=0;d=b+12|0;e=k[d>>2]|0;if(e|0){if((e|0)<0)Jq(f);e=((e+-1|0)>>>5)+1|0;o=jo(e<<2)|0;k[f>>2]=o;k[h>>2]=0;k[c>>2]=e;g=k[g>>2]|0;k[l>>2]=g;k[l+4>>2]=0;h=k[d>>2]|0;k[m>>2]=g+(h>>>5<<2);k[m+4>>2]=h&31;k[i>>2]=k[l>>2];k[i+4>>2]=k[l+4>>2];k[j>>2]=k[m>>2];k[j+4>>2]=k[m+4>>2];Ug(f,i,j)}f=a+20|0;k[f>>2]=0;g=a+24|0;k[g>>2]=0;c=a+28|0;k[c>>2]=0;d=b+24|0;e=k[d>>2]|0;if(!e){u=n;return}if((e|0)<0)Jq(f);o=((e+-1|0)>>>5)+1|0;a=jo(o<<2)|0;k[f>>2]=a;k[g>>2]=0;k[c>>2]=o;b=k[b+20>>2]|0;k[l>>2]=b;k[l+4>>2]=0;o=k[d>>2]|0;k[m>>2]=b+(o>>>5<<2);k[m+4>>2]=o&31;k[i>>2]=k[l>>2];k[i+4>>2]=k[l+4>>2];k[j>>2]=k[m>>2];k[j+4>>2]=k[m+4>>2];Ug(f,i,j);u=n;return}function Fg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;j=a+8|0;d=k[j>>2]|0;l=a+4|0;f=k[l>>2]|0;e=f;if(((d-f|0)/12|0)>>>0>=b>>>0){_j(f|0,0,b*12|0)|0;k[l>>2]=e+(b*12|0);return}c=k[a>>2]|0;g=((f-c|0)/12|0)+b|0;if(g>>>0>357913941){Jq(a);e=k[l>>2]|0;c=k[a>>2]|0;d=k[j>>2]|0;f=e}i=c;h=(d-c|0)/12|0;d=h<<1;g=h>>>0<178956970?(d>>>0>>0?g:d):357913941;d=(f-c|0)/12|0;do if(g)if(g>>>0>357913941){l=Ma(4)|0;Cr(l);wa(l|0,1344,125)}else{f=jo(g*12|0)|0;break}else f=0;while(0);h=f+(d*12|0)|0;d=h;g=f+(g*12|0)|0;_j(h|0,0,b*12|0)|0;f=h+(b*12|0)|0;if((e|0)==(i|0))h=c;else{c=h;do{b=c+-12|0;h=e;e=e+-12|0;k[b>>2]=0;m=c+-8|0;k[m>>2]=0;k[c+-4>>2]=0;k[b>>2]=k[e>>2];b=h+-8|0;k[m>>2]=k[b>>2];h=h+-4|0;k[c+-4>>2]=k[h>>2];k[h>>2]=0;k[b>>2]=0;k[e>>2]=0;c=d+-12|0;d=c}while((e|0)!=(i|0));h=k[a>>2]|0;e=k[l>>2]|0}k[a>>2]=d;k[l>>2]=f;k[j>>2]=g;g=h;if((e|0)!=(g|0))do{c=e;e=e+-12|0;f=k[e>>2]|0;if(f|0){c=c+-8|0;d=k[c>>2]|0;if((d|0)!=(f|0))k[c>>2]=d+(~((d+-4-f|0)>>>2)<<2);_r(f)}}while((e|0)!=(g|0));if(!h)return;_r(h);return}function Gg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=c;f=b;i=l-f|0;h=i>>2;j=a+8|0;e=k[j>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>e-g>>2>>>0){f=g;if(!g)d=e;else{e=a+4|0;c=k[e>>2]|0;if((c|0)!=(d|0))k[e>>2]=c+(~((c+-4-g|0)>>>2)<<2);_r(f);k[j>>2]=0;k[e>>2]=0;k[a>>2]=0;d=0}if(h>>>0>1073741823){Jq(a);e=k[a>>2]|0;d=k[j>>2]|0}else e=0;l=d-e|0;d=l>>1;d=l>>2>>>0<536870911?(d>>>0>>0?h:d):1073741823;if(d>>>0>1073741823){Jq(a);b=Ma(4)|0;Cr(b);wa(b|0,1344,125)}e=jo(d<<2)|0;c=a+4|0;k[c>>2]=e;k[a>>2]=e;k[j>>2]=e+(d<<2);if((i|0)<=0)return;Gh(e|0,b|0,i|0)|0;k[c>>2]=e+(i>>>2<<2);return}j=a+4|0;i=k[j>>2]|0;g=i-g>>2;a=h>>>0>g>>>0;h=a?b+(g<<2)|0:c;g=i;if((h|0)!=(b|0)){f=h+-4-f|0;e=b;c=d;while(1){k[c>>2]=k[e>>2];e=e+4|0;if((e|0)==(h|0))break;else c=c+4|0}d=d+((f>>>2)+1<<2)|0}if(a){d=l-h|0;if((d|0)<=0)return;Gh(i|0,h|0,d|0)|0;k[j>>2]=(k[j>>2]|0)+(d>>>2<<2);return}else{if((g|0)==(d|0))return;k[j>>2]=g+(~((g+-4-d|0)>>>2)<<2);return}}function Hg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=u;u=u+32|0;j=n;l=a+8|0;d=k[l>>2]|0;m=a+4|0;e=k[m>>2]|0;if(d-e>>2>>>0>=b>>>0){_j(e|0,0,b<<2|0)|0;k[m>>2]=e+(b<<2);u=n;return}c=k[a>>2]|0;f=(e-c>>2)+b|0;if(f>>>0>1073741823){Jq(a);c=k[a>>2]|0;d=k[l>>2]|0;e=k[m>>2]|0}h=d-c|0;i=h>>1;f=h>>2>>>0<536870911?(i>>>0>>0?f:i):1073741823;c=e-c>>2;k[j+12>>2]=0;k[j+16>>2]=a+8;do if(f)if(f>>>0>1073741823){n=Ma(4)|0;Cr(n);wa(n|0,1344,125)}else{d=jo(f<<2)|0;break}else d=0;while(0);k[j>>2]=d;e=d+(c<<2)|0;h=j+8|0;g=j+4|0;k[g>>2]=e;i=j+12|0;k[i>>2]=d+(f<<2);_j(e|0,0,b<<2|0)|0;k[h>>2]=e+(b<<2);e=k[a>>2]|0;c=k[m>>2]|0;if((c|0)==(e|0)){f=g;d=k[g>>2]|0}else{d=k[g>>2]|0;do{c=c+-4|0;b=k[c>>2]|0;k[c>>2]=0;k[d+-4>>2]=b;d=(k[g>>2]|0)+-4|0;k[g>>2]=d}while((c|0)!=(e|0));f=g;e=k[a>>2]|0;c=k[m>>2]|0}k[a>>2]=d;k[f>>2]=e;k[m>>2]=k[h>>2];k[h>>2]=c;m=k[l>>2]|0;k[l>>2]=k[i>>2];k[i>>2]=m;k[j>>2]=k[f>>2];_i(j);u=n;return}function Ig(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=a+12|0;f=k[a>>2]|0;h=a+8|0;b=k[h>>2]|0;c=(b|0)<0;if(!(i[g>>0]|0)){do if(!c)if(!((b>>>0)%3|0)){b=b+2|0;break}else{b=b+-1|0;break}while(0);do if(!(1<<(b&31)&k[(k[f>>2]|0)+(b>>>5<<2)>>2])){if((b|0)>=0){b=k[(k[(k[f+64>>2]|0)+12>>2]|0)+(b<<2)>>2]|0;if((b|0)>=0)if(!((b>>>0)%3|0)){b=b+2|0;break}else{b=b+-1|0;break}}}else b=-1073741824;while(0);k[h>>2]=b;return}d=b+1|0;if(!c)b=((d|0)%3|0|0)==0?b+-2|0:d;d=k[f>>2]|0;if(!(1<<(b&31)&k[d+(b>>>5<<2)>>2]))if((b|0)>=0){b=k[(k[(k[f+64>>2]|0)+12>>2]|0)+(b<<2)>>2]|0;c=b+1|0;if((b|0)>=0){b=((c|0)%3|0|0)==0?b+-2|0:c;k[h>>2]=b;if((b|0)>=0){if((b|0)!=(k[a+4>>2]|0))return;k[h>>2]=-1073741824;return}}else e=7}else e=7;else{b=-1073741824;e=7}if((e|0)==7)k[h>>2]=b;b=k[a+4>>2]|0;do if((b|0)>=0)if(!((b>>>0)%3|0)){b=b+2|0;break}else{b=b+-1|0;break}while(0);do if(!(1<<(b&31)&k[d+(b>>>5<<2)>>2])){if((b|0)>=0){b=k[(k[(k[f+64>>2]|0)+12>>2]|0)+(b<<2)>>2]|0;if((b|0)>=0)if(!((b>>>0)%3|0)){b=b+2|0;break}else{b=b+-1|0;break}}}else b=-1073741824;while(0);k[h>>2]=b;i[g>>0]=0;return}function Jg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;n=k[a>>2]|0;o=a+4|0;c=k[o>>2]|0;j=n;d=c+(~((c+-4-j|0)>>>2)<<2)|0;if((c|0)==(n|0))d=n;else{k[o>>2]=d;c=d}s=a+16|0;k[s>>2]=0;t=a+12|0;k[t>>2]=d;i=b+8|0;d=i;m=k[d>>2]|0;d=k[d+4>>2]|0;r=b+16|0;f=r;g=k[f>>2]|0;f=Fp(g|0,k[f+4>>2]|0,4,0)|0;e=M;if((d|0)<(e|0)|(d|0)==(e|0)&m>>>0>>0){b=0;return b|0}p=(k[b>>2]|0)+g|0;p=l[p>>0]|l[p+1>>0]<<8|l[p+2>>0]<<16|l[p+3>>0]<<24;h=r;k[h>>2]=f;k[h+4>>2]=e;if(!((p|0)!=0&(p&3|0)==0)){b=0;return b|0}h=Wo(m|0,d|0,f|0,e|0)|0;g=M;if(0>(g|0)|0==(g|0)&p>>>0>h>>>0){b=0;return b|0}h=p>>>2;g=c-j>>2;if(h>>>0<=g>>>0)if(h>>>0>>0?(q=n+(h<<2)|0,(c|0)!=(q|0)):0){k[o>>2]=c+(~((c+-4-q|0)>>>2)<<2);c=m}else c=m;else{oj(a,h-g|0);c=i;e=r;f=k[e>>2]|0;e=k[e+4>>2]|0;d=k[c+4>>2]|0;c=k[c>>2]|0}q=Fp(f|0,e|0,p|0,0)|0;o=M;if((d|0)<(o|0)|(d|0)==(o|0)&c>>>0>>0){b=0;return b|0}Gh(k[a>>2]|0,(k[b>>2]|0)+f|0,p|0)|0;q=r;q=Fp(k[q>>2]|0,k[q+4>>2]|0,p|0,0)|0;b=r;k[b>>2]=q;k[b+4>>2]=M;k[t>>2]=k[a>>2];k[s>>2]=0;b=1;return b|0}function Kg(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,j=0,l=0,m=0;m=u;u=u+80|0;j=m;h=m+60|0;l=m+40|0;e=j;f=c;g=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));tc(a,j,h);if(k[a>>2]|0){l=j+24|0;ds(l);u=m;return}f=a+4|0;Jp(f);if(i[h+7>>0]|0){k[l>>2]=0;k[l+4>>2]=0;k[l+8>>2]=0;Jk(l,17587,27);k[a>>2]=-1;gm(f,l);Jp(l);l=j+24|0;ds(l);u=m;return}bi(l,i[h+8>>0]|0);e=k[l>>2]|0;if(!e){h=l+16|0;e=k[h>>2]|0;k[h>>2]=0;Sd(a,e,b,c,d);if(!(k[a>>2]|0)){Jp(f);k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0}if(e|0)Ta[k[(k[e>>2]|0)+4>>2]&127](e)}else{k[a>>2]=e;gm(f,l+4|0)}d=l+16|0;e=k[d>>2]|0;k[d>>2]=0;if(e|0)Ta[k[(k[e>>2]|0)+4>>2]&127](e);Jp(l+4|0);l=j+24|0;ds(l);u=m;return}function Lg(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,j=0,l=0,m=0;m=u;u=u+80|0;j=m;h=m+60|0;l=m+40|0;e=j;f=c;g=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));tc(a,j,h);if(k[a>>2]|0){l=j+24|0;ds(l);u=m;return}f=a+4|0;Jp(f);if((i[h+7>>0]|0)!=1){k[l>>2]=0;k[l+4>>2]=0;k[l+8>>2]=0;Jk(l,17566,20);k[a>>2]=-1;gm(f,l);Jp(l);l=j+24|0;ds(l);u=m;return}kj(l,i[h+8>>0]|0);e=k[l>>2]|0;if(!e){h=l+16|0;e=k[h>>2]|0;k[h>>2]=0;fn(a,e,b,c,d);if(!(k[a>>2]|0)){Jp(f);k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0}if(e|0)Ta[k[(k[e>>2]|0)+4>>2]&127](e)}else{k[a>>2]=e;gm(f,l+4|0)}d=l+16|0;e=k[d>>2]|0;k[d>>2]=0;if(e|0)Ta[k[(k[e>>2]|0)+4>>2]&127](e);Jp(l+4|0);l=j+24|0;ds(l);u=m;return}function Mg(a,b,c,d){a=a|0;b=da(b);c=da(c);d=d|0;var e=Pa,f=Pa,g=Pa,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;if(!(b>=da(0.0)))Ka(9616,9461,191,9630);if(!(c>=da(0.0)))Ka(9659,9461,192,9630);if(!(b<=da(1.0)))Ka(9673,9461,193,9630);if(!(c<=da(1.0)))Ka(9687,9461,194,9630);e=da(b+c);f=da(b-c);if(!(f<=da(.5))|(!(f>=da(-.5))|(!(e>=da(.5))|!(e<=da(1.5))))){do if(!(e<=da(.5))){if(e>=da(1.5)){g=da(da(1.5)-c);c=da(da(1.5)-b);break}if(!(f<=da(-.5))){g=da(c+da(.5));c=da(b+da(-.5));break}else{g=da(c+da(-.5));c=da(b+da(.5));break}}else{g=da(da(.5)-c);c=da(da(.5)-b)}while(0);e=da(c+g);f=da(g-c);h=-1.0}else{h=1.0;g=b}b=da(+g*2.0+-1.0);g=da(+c*2.0+-1.0);k=+e*2.0;i=k+-1.0;k=3.0-k;l=+f*2.0;j=l+1.0;l=1.0-l;j=l>2]=da(0.0);b=da(0.0);c=da(0.0);a=d+4|0;o[a>>2]=c;d=d+8|0;o[d>>2]=b;return}else{f=da(da(1.0)/da(P(da(f))));c=da(e*f);o[d>>2]=c;c=da(g*f);b=da(b*f);a=d+4|0;o[a>>2]=b;d=d+8|0;o[d>>2]=c;return}}function Ng(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=a+128|0;b=k[f>>2]|0;if(b|0){g=a+132|0;c=k[g>>2]|0;if((c|0)!=(b|0)){d=c;while(1){c=d+-12|0;k[g>>2]=c;e=k[c>>2]|0;if(e){c=d+-8|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e);c=k[g>>2]|0}if((c|0)==(b|0))break;else d=c}b=k[f>>2]|0}_r(b)}f=a+116|0;b=k[f>>2]|0;if(b|0){g=a+120|0;c=k[g>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;k[g>>2]=d;e=k[d>>2]|0;if(!e)c=d;else{c=c+-8|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e);c=k[g>>2]|0}}while((c|0)!=(b|0));b=k[f>>2]|0}_r(b)}b=k[a+104>>2]|0;if(b|0){c=a+108|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+92>>2]|0;if(!b){g=a+72|0;dm(g);g=a+52|0;dm(g);g=a+32|0;dm(g);a=a+12|0;dm(a);return}c=a+96|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b);g=a+72|0;dm(g);g=a+52|0;dm(g);g=a+32|0;dm(g);a=a+12|0;dm(a);return}function Og(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+16|0;i=m+4|0;j=m;l=a+8|0;h=a+100|0;b=k[l>>2]|0;b=(k[b+28>>2]|0)-(k[b+24>>2]|0)>>2;k[i>>2]=0;c=a+104|0;f=k[c>>2]|0;e=k[h>>2]|0;d=f-e>>2;if(b>>>0<=d>>>0){if(b>>>0>>0?(g=e+(b<<2)|0,(f|0)!=(g|0)):0)k[c>>2]=f+(~((f+-4-g|0)>>>2)<<2)}else Yh(h,b-d|0,i);d=a+120|0;a=k[d>>2]|0;if(!a){h=k[l>>2]|0;h=(k[h+4>>2]|0)-(k[h>>2]|0)>>2;b=(h>>>0)/3|0;if(h>>>0<=2){u=m;return 1}a=0;do{k[j>>2]=a*3;k[i>>2]=k[j>>2];Qb(l,i);a=a+1|0}while((a|0)<(b|0));u=m;return 1}else{c=k[a>>2]|0;if((k[a+4>>2]|0)==(c|0)){u=m;return 1}b=0;a=c;do{k[j>>2]=k[a+(b<<2)>>2];k[i>>2]=k[j>>2];Qb(l,i);b=b+1|0;h=k[d>>2]|0;a=k[h>>2]|0}while(b>>>0<(k[h+4>>2]|0)-a>>2>>>0);u=m;return 1}return 0}function Pg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=k[b>>2]|0;l=k[j>>2]|0;g=k[a+4>>2]|0;b=k[j+4>>2]|0;h=g+-1|0;e=(h&g|0)==0;if(e)f=h&b;else f=(b>>>0)%(g>>>0)|0;c=(k[a>>2]|0)+(f<<2)|0;i=k[c>>2]|0;while(1){b=k[i>>2]|0;if((b|0)==(j|0))break;else i=b}if((i|0)!=(a+8|0)){b=k[i+4>>2]|0;if(e)b=b&h;else b=(b>>>0)%(g>>>0)|0;if((b|0)==(f|0)){c=l;d=18}else d=11}else d=11;do if((d|0)==11){if(l|0){b=k[l+4>>2]|0;if(e)b=b&h;else b=(b>>>0)%(g>>>0)|0;if((b|0)==(f|0)){c=l;b=l;d=19;break}}k[c>>2]=0;c=k[j>>2]|0;d=18}while(0);if((d|0)==18){b=c;if(c)d=19}if((d|0)==19){c=k[c+4>>2]|0;if(e)c=c&h;else c=(c>>>0)%(g>>>0)|0;if((c|0)!=(f|0)){k[(k[a>>2]|0)+(c<<2)>>2]=i;b=k[j>>2]|0}}k[i>>2]=b;k[j>>2]=0;a=a+12|0;k[a>>2]=(k[a>>2]|0)+-1;if(!j)return l|0;b=k[j+20>>2]|0;if(b|0){c=j+24|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;_r(b)}Jp(j+8|0);_r(j);return l|0}function Qg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=a+124|0;b=k[f>>2]|0;if(b|0){g=a+128|0;c=k[g>>2]|0;if((c|0)!=(b|0)){d=c;while(1){c=d+-12|0;k[g>>2]=c;e=k[c>>2]|0;if(e){c=d+-8|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e);c=k[g>>2]|0}if((c|0)==(b|0))break;else d=c}b=k[f>>2]|0}_r(b)}f=a+112|0;b=k[f>>2]|0;if(b|0){g=a+116|0;c=k[g>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;k[g>>2]=d;e=k[d>>2]|0;if(!e)c=d;else{c=c+-8|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e);c=k[g>>2]|0}}while((c|0)!=(b|0));b=k[f>>2]|0}_r(b)}b=k[a+100>>2]|0;if(b|0){c=a+104|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+88>>2]|0;if(!b){g=a+68|0;dm(g);g=a+48|0;dm(g);g=a+28|0;dm(g);a=a+12|0;ds(a);return}c=a+92|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b);g=a+68|0;dm(g);g=a+48|0;dm(g);g=a+28|0;dm(g);a=a+12|0;ds(a);return}function Rg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=u;u=u+112|0;f=j+96|0;i=j+16|0;h=j+4|0;g=j;c=i+76|0;d=i;e=d+76|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));k[c>>2]=-1073741824;k[h>>2]=0;e=h+4|0;k[e>>2]=0;k[h+8>>2]=0;k[g>>2]=h;k[f>>2]=k[g>>2];if(Nd(i,a,f)|0){f=k[h>>2]|0;yg(b,f,f+((k[e>>2]|0)-f>>2<<2)|0);f=k[i+68>>2]|0}else f=0;c=k[h>>2]|0;if(c|0){d=k[e>>2]|0;if((d|0)!=(c|0))k[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);_r(c)}c=k[i+56>>2]|0;if(c|0)_r(c);c=k[i+32>>2]|0;if(c|0){d=i+36|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);_r(c)}c=k[i+20>>2]|0;if(c|0){d=i+24|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);_r(c)}c=k[i+8>>2]|0;if(c|0){d=i+12|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);_r(c)}i=i+4|0;c=k[i>>2]|0;k[i>>2]=0;if(!c){u=j;return f|0}mk(c);_r(c);u=j;return f|0}function Sg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;k[b>>2]=1;d=a+4|0;j=b+8|0;h=b+12|0;b=k[j>>2]|0;c=(k[h>>2]|0)-b|0;if(c>>>0<4294967292){Al(j,c+4|0,0);b=k[j>>2]|0}f=b+c|0;g=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[f>>0]=g;i[f+1>>0]=g>>8;i[f+2>>0]=g>>16;i[f+3>>0]=g>>24;f=a+8|0;g=a+12|0;b=k[f>>2]|0;if((k[g>>2]|0)!=(b|0)){e=0;do{c=b+(e<<2)|0;b=k[j>>2]|0;d=(k[h>>2]|0)-b|0;if(d>>>0<4294967292){Al(j,d+4|0,0);b=k[j>>2]|0}b=b+d|0;d=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[b>>0]=d;i[b+1>>0]=d>>8;i[b+2>>0]=d>>16;i[b+3>>0]=d>>24;e=e+1|0;b=k[f>>2]|0}while(e>>>0<(k[g>>2]|0)-b>>2>>>0)}c=a+20|0;d=k[j>>2]|0;b=(k[h>>2]|0)-d|0;if(b>>>0<4294967292){Al(j,b+4|0,0);j=k[j>>2]|0;j=j+b|0;h=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[j>>0]=h;i[j+1>>0]=h>>8;i[j+2>>0]=h>>16;i[j+3>>0]=h>>24;return}else{j=d;j=j+b|0;h=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[j>>0]=h;i[j+1>>0]=h>>8;i[j+2>>0]=h>>16;i[j+3>>0]=h>>24;return}}function Tg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;i=c;g=b;h=i-g|0;f=h>>2;l=a+8|0;d=k[l>>2]|0;m=k[a>>2]|0;j=m;if(f>>>0<=d-m>>2>>>0){h=a+4|0;e=(k[h>>2]|0)-m>>2;a=f>>>0>e>>>0;f=a?b+(e<<2)|0:c;e=f;d=e-g|0;c=d>>2;if(c|0)mn(m|0,b|0,d|0)|0;c=j+(c<<2)|0;if(a){d=i-e|0;if((d|0)<=0)return;Gh(k[h>>2]|0,f|0,d|0)|0;k[h>>2]=(k[h>>2]|0)+(d>>>2<<2);return}else{d=k[h>>2]|0;if((d|0)==(c|0))return;k[h>>2]=d+(~((d+-4-c|0)>>>2)<<2);return}}e=m;if(m){d=a+4|0;c=k[d>>2]|0;if((c|0)!=(j|0))k[d>>2]=c+(~((c+-4-m|0)>>>2)<<2);_r(e);k[l>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(f>>>0>1073741823){Jq(a);c=k[a>>2]|0;d=k[l>>2]|0}else c=0;m=d-c|0;d=m>>1;d=m>>2>>>0<536870911?(d>>>0>>0?f:d):1073741823;if(d>>>0>1073741823){Jq(a);b=Ma(4)|0;Cr(b);wa(b|0,1344,125)}c=jo(d<<2)|0;e=a+4|0;k[e>>2]=c;k[a>>2]=c;k[l>>2]=c+(d<<2);if((h|0)<=0)return;Gh(c|0,b|0,h|0)|0;k[e>>2]=c+(h>>>2<<2);return}function Ug(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=u;u=u+48|0;n=q+40|0;m=q+32|0;i=q+8|0;j=q;l=q+24|0;p=q+16|0;f=a+4|0;r=k[f>>2]|0;d=b;o=k[d>>2]|0;d=k[d+4>>2]|0;g=c;e=k[g>>2]|0;g=k[g+4>>2]|0;h=e-o<<3;k[f>>2]=r-d+g+h;f=(k[a>>2]|0)+(r>>>5<<2)|0;c=r&31;b=f;if((d|0)!=(c|0)){r=i;k[r>>2]=o;k[r+4>>2]=d;r=j;k[r>>2]=e;k[r+4>>2]=g;k[l>>2]=b;k[l+4>>2]=c;k[m>>2]=k[i>>2];k[m+4>>2]=k[i+4>>2];k[n>>2]=k[j>>2];k[n+4>>2]=k[j+4>>2];Ve(p,m,n,l);u=q;return}c=g-d+h|0;g=o;if((c|0)>0){if(!d){d=0;b=o}else{b=32-d|0;r=(c|0)<(b|0)?c:b;b=-1>>>(b-r|0)&-1<>2]=k[f>>2]&~b|k[g>>2]&b;b=r+d|0;g=g+4|0;c=c-r|0;d=b&31;f=f+(b>>>5<<2)|0;b=g}e=c>>>5;mn(f|0,b|0,e<<2|0)|0;a=c-(e<<5)|0;c=f+(e<<2)|0;b=c;if((a|0)>0){d=-1>>>(32-a|0);k[c>>2]=k[c>>2]&~d|k[g+(e<<2)>>2]&d;d=a}}k[p>>2]=b;k[p+4>>2]=d;u=q;return}function Vg(a,b,c){a=a|0;b=b|0;c=c|0;var 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,v=0;v=u;u=u+16|0;s=v;d=k[a+40>>2]|0;m=k[a+44>>2]|0;if((d|0)==(m|0)){t=0;u=v;return t|0}n=s+11|0;h=s+4|0;j=c+11|0;l=c+4|0;a=d;a:while(1){k[s>>2]=0;k[s+4>>2]=0;k[s+8>>2]=0;do if($j(k[a>>2]|0,b,s)|0?(p=i[n>>0]|0,o=p<<24>>24<0,p=p&255,q=o?k[h>>2]|0:p,g=i[j>>0]|0,r=g<<24>>24<0,(q|0)==((r?k[l>>2]|0:g&255)|0)):0){e=k[s>>2]|0;f=o?e:s;d=r?k[c>>2]|0:c;g=(q|0)==0;if(o){if(g)break a;if(!(lm(f,d,q)|0))break a;else break}if(g)break a;if((e&255)<<24>>24==(i[d>>0]|0)){f=p;e=s;do{f=f+-1|0;e=e+1|0;if(!f)break a;d=d+1|0}while((i[e>>0]|0)==(i[d>>0]|0))}}while(0);Jp(s);a=a+4|0;if((a|0)==(m|0)){a=0;t=14;break}}if((t|0)==14){u=v;return a|0}t=k[a>>2]|0;Jp(s);u=v;return t|0}function Wg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;d=k[c>>2]|0;m=k[c+4>>2]|0;a:do if((d|0)==(m|0)){n=0;o=a+12|0;p=a+8|0}else{j=k[b>>2]|0;l=a+8|0;h=a+12|0;c=0;b:while(1){f=k[d>>2]|0;g=k[j+(f<<2)>>2]|0;if((g|0)>=(c|0)){c=k[l>>2]|0;b=(k[h>>2]|0)-c|0;if((b|0)>0){a=b>>2;b=0;do{e=k[c+(b<<2)>>2]|0;if(i[e+84>>0]|0)break b;e=k[e+68>>2]|0;k[e+(g<<2)>>2]=k[e+(f<<2)>>2];b=b+1|0}while((b|0)<(a|0))}c=g+1|0}d=d+4|0;if((d|0)==(m|0)){n=c;o=h;p=l;break a}}Ka(19400,19419,89,19521)}while(0);b=k[o>>2]|0;c=k[p>>2]|0;if((b-c|0)>0)h=0;else return;do{d=k[c+(h<<2)>>2]|0;i[d+84>>0]=0;a=d+68|0;d=d+72|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(n>>>0<=e>>>0){if(n>>>0>>0?(q=f+(n<<2)|0,(g|0)!=(q|0)):0)k[d>>2]=g+(~((g+-4-q|0)>>>2)<<2)}else{Yh(a,n-e|0,4840);c=k[p>>2]|0;b=k[o>>2]|0}h=h+1|0}while((h|0)<(b-c>>2|0));return}function Xg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=Pa,h=Pa,j=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,v=0,w=Pa,x=Pa,y=0,z=0;v=u;u=u+16|0;m=v;n=k[a+24>>2]|0;t=a+8|0;c=i[(k[t>>2]|0)+24>>0]|0;q=c<<24>>24;r=q<<2;s=Xr(q>>>0>1073741823?-1:q<<2)|0;tq(m);Do(m,da(o[a+32>>2]),(1<>2]|0;n=(k[k[n>>2]>>2]|0)+(k[n+48>>2]|0)|0;if(!b){Yr(s);u=v;return 1}p=m+4|0;l=a+28|0;if(c<<24>>24>0){c=0;d=0;e=0}else{a=0;c=0;while(1){Gh((k[k[(k[t>>2]|0)+64>>2]>>2]|0)+c|0,s|0,r|0)|0;a=a+1|0;if((a|0)==(b|0))break;else c=c+r|0}Yr(s);u=v;return 1}while(1){j=k[l>>2]|0;g=da(o[p>>2]);h=da(o[m>>2]);a=0;f=e;while(1){z=k[n+(f<<2)>>2]|0;y=(z|0)<0;w=da(g*da((y?0-z|0:z)|0));x=da(-w);w=da(h*(y?x:w));w=da(da(o[j+(a<<2)>>2])+w);o[s+(a<<2)>>2]=w;a=a+1|0;if((a|0)==(q|0))break;else f=f+1|0}Gh((k[k[(k[t>>2]|0)+64>>2]>>2]|0)+d|0,s|0,r|0)|0;c=c+1|0;if((c|0)==(b|0))break;else{d=d+r|0;e=q+e|0}}Yr(s);u=v;return 1}function Yg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;j=b+16|0;m=k[j>>2]|0;f=(k[c>>2]|0)-m|0;i=c+4|0;h=(k[i>>2]|0)-m|0;g=c;k[g>>2]=f;k[g+4>>2]=h;g=k[j>>2]|0;if((g|0)<(f|0))Ka(10176,9461,250,10199);if((g|0)<(h|0))Ka(10211,9461,251,10199);e=0-g|0;if((f|0)<(e|0))Ka(10234,9461,252,10199);if((h|0)<(e|0))Ka(10258,9461,253,10199);if((((h|0)>-1?h:0-h|0)+((f|0)>-1?f:0-f|0)|0)>(g|0)){Ri(b+4|0,c,i);l=0;c=k[c>>2]|0;e=k[i>>2]|0;g=k[j>>2]|0}else{l=1;c=f;e=h}c=(k[d>>2]|0)+c|0;k[a>>2]=c;e=(k[d+4>>2]|0)+e|0;f=a+4|0;k[f>>2]=e;if((g|0)>=(c|0)){if((c|0)<(0-g|0))c=(k[b+8>>2]|0)+c|0}else c=c-(k[b+8>>2]|0)|0;k[a>>2]=c;if((g|0)>=(e|0)){if((e|0)<(0-g|0))e=(k[b+8>>2]|0)+e|0}else e=e-(k[b+8>>2]|0)|0;k[f>>2]=e;if(l){l=c;b=e;l=l+m|0;b=b+m|0;m=a;a=m;k[a>>2]=l;m=m+4|0;k[m>>2]=b;return}Ri(b+4|0,a,f);l=k[a>>2]|0;b=k[f>>2]|0;l=l+m|0;b=b+m|0;m=a;a=m;k[a>>2]=l;m=m+4|0;k[m>>2]=b;return}function Zg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0;i=j[b>>1]|0;l=j[b+2>>1]|0;h=j[b+4>>1]|0;g=j[b+6>>1]|0;b=((((i^318)&65535)+239^l&65535)+239^h&65535)+239^g&65535;d=k[a+4>>2]|0;if(!d){l=0;return l|0}e=d+-1|0;c=(e&d|0)==0;if(c)f=b&e;else f=(b>>>0)%(d>>>0)|0;b=k[(k[a>>2]|0)+(f<<2)>>2]|0;if(!b){l=0;return l|0}b=k[b>>2]|0;if(!b){l=0;return l|0}if(c){while(1){if((k[b+4>>2]&e|0)!=(f|0)){b=0;a=20;break}if((((j[b+8>>1]|0)==i<<16>>16?(j[b+10>>1]|0)==l<<16>>16:0)?(j[b+12>>1]|0)==h<<16>>16:0)?(j[b+14>>1]|0)==g<<16>>16:0){a=20;break}b=k[b>>2]|0;if(!b){b=0;a=20;break}}if((a|0)==20)return b|0}else{while(1){if((((k[b+4>>2]|0)>>>0)%(d>>>0)|0|0)!=(f|0)){b=0;a=20;break}if((((j[b+8>>1]|0)==i<<16>>16?(j[b+10>>1]|0)==l<<16>>16:0)?(j[b+12>>1]|0)==h<<16>>16:0)?(j[b+14>>1]|0)==g<<16>>16:0){a=20;break}b=k[b>>2]|0;if(!b){b=0;a=20;break}}if((a|0)==20)return b|0}return 0}function _g(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;j=i[b>>0]|0;l=i[b+1>>0]|0;h=i[b+2>>0]|0;g=i[b+3>>0]|0;b=(((j&255^318)+239^l&255)+239^h&255)+239^g&255;d=k[a+4>>2]|0;if(!d){l=0;return l|0}e=d+-1|0;c=(e&d|0)==0;if(c)f=b&e;else f=(b>>>0)%(d>>>0)|0;b=k[(k[a>>2]|0)+(f<<2)>>2]|0;if(!b){l=0;return l|0}b=k[b>>2]|0;if(!b){l=0;return l|0}if(c){while(1){if((k[b+4>>2]&e|0)!=(f|0)){b=0;a=20;break}if((((i[b+8>>0]|0)==j<<24>>24?(i[b+9>>0]|0)==l<<24>>24:0)?(i[b+10>>0]|0)==h<<24>>24:0)?(i[b+11>>0]|0)==g<<24>>24:0){a=20;break}b=k[b>>2]|0;if(!b){b=0;a=20;break}}if((a|0)==20)return b|0}else{while(1){if((((k[b+4>>2]|0)>>>0)%(d>>>0)|0|0)!=(f|0)){b=0;a=20;break}if((((i[b+8>>0]|0)==j<<24>>24?(i[b+9>>0]|0)==l<<24>>24:0)?(i[b+10>>0]|0)==h<<24>>24:0)?(i[b+11>>0]|0)==g<<24>>24:0){a=20;break}b=k[b>>2]|0;if(!b){b=0;a=20;break}}if((a|0)==20)return b|0}return 0}function $g(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+16|0;g=i;k[g>>2]=b;if((b|0)<=-1)Ka(19538,19550,94,19650);h=a+8|0;if(((k[a+12>>2]|0)-(k[h>>2]|0)>>2|0)<=(b|0))si(h,b+1|0);d=k[(k[c>>2]|0)+56>>2]|0;do if((d|0)<4){e=a+20+(d*12|0)+4|0;f=k[e>>2]|0;if((f|0)==(k[a+20+(d*12|0)+8>>2]|0)){Dj(a+20+(d*12|0)|0,g);break}else{k[f>>2]=b;k[e>>2]=f+4;break}}while(0);f=k[c>>2]|0;e=k[g>>2]|0;k[f+60>>2]=e;h=(k[h>>2]|0)+(e<<2)|0;k[c>>2]=0;e=k[h>>2]|0;k[h>>2]=f;if(!e){u=i;return}h=e+88|0;a=k[h>>2]|0;k[h>>2]=0;if(a|0){b=k[a+8>>2]|0;if(b|0){d=a+12|0;if((k[d>>2]|0)!=(b|0))k[d>>2]=b;_r(b)}_r(a)}a=k[e+68>>2]|0;if(a|0){b=e+72|0;d=k[b>>2]|0;if((d|0)!=(a|0))k[b>>2]=d+(~((d+-4-a|0)>>>2)<<2);_r(a)}h=e+64|0;a=k[h>>2]|0;k[h>>2]=0;if(a|0){b=k[a>>2]|0;if(b|0){d=a+4|0;if((k[d>>2]|0)!=(b|0))k[d>>2]=b;_r(b)}_r(a)}_r(e);u=i;return}function ah(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;g=b;f=c-g|0;h=a+8|0;d=k[h>>2]|0;e=k[a>>2]|0;j=e;if(f>>>0>(d-e|0)>>>0){if(e){d=a+4|0;if((k[d>>2]|0)!=(j|0))k[d>>2]=j;_r(j);k[h>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if((f|0)<0){Jq(a);e=k[a>>2]|0;d=k[h>>2]|0}else e=0;j=d-e|0;e=j<<1;e=j>>>0<1073741823?(e>>>0>>0?f:e):2147483647;if((e|0)<0)Jq(a);d=jo(e)|0;f=a+4|0;k[f>>2]=d;k[a>>2]=d;k[h>>2]=d+e;if((b|0)==(c|0))return;do{i[d>>0]=i[b>>0]|0;b=b+1|0;d=(k[f>>2]|0)+1|0;k[f>>2]=d}while((b|0)!=(c|0));return}else{h=a+4|0;d=(k[h>>2]|0)-e|0;a=f>>>0>d>>>0;d=b+d|0;f=a?d:c;e=f-g|0;if(e|0)mn(j|0,b|0,e|0)|0;b=j+e|0;if(!a){if((k[h>>2]|0)==(b|0))return;k[h>>2]=b;return}if((f|0)==(c|0))return;b=k[h>>2]|0;do{i[b>>0]=i[d>>0]|0;d=d+1|0;b=(k[h>>2]|0)+1|0;k[h>>2]=b}while((d|0)!=(c|0));return}}function bh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=a+8|0;e=k[m>>2]|0;n=a+4|0;d=k[n>>2]|0;if(e-d>>2>>>0>=b>>>0){_j(d|0,0,b<<2|0)|0;k[n>>2]=d+(b<<2);return}c=k[a>>2]|0;g=(d-c>>2)+b|0;if(g>>>0>1073741823){Jq(a);f=k[a>>2]|0;d=k[n>>2]|0;e=k[m>>2]|0}else f=c;c=d;l=f;j=e-f|0;h=j>>1;g=j>>2>>>0<536870911?(h>>>0>>0?g:h):1073741823;h=d-f>>2;do if(g)if(g>>>0>1073741823){n=Ma(4)|0;Cr(n);wa(n|0,1344,125)}else{i=jo(g<<2)|0;break}else i=0;while(0);d=i+(h<<2)|0;_j(d|0,0,b<<2|0)|0;e=d;j=i+(g<<2)|0;g=i+(h+b<<2)|0;if((c|0)!=(l|0)){do{c=c+-4|0;b=k[c>>2]|0;k[c>>2]=0;k[d+-4>>2]=b;d=e+-4|0;e=d}while((c|0)!=(l|0));f=k[a>>2]|0;c=k[n>>2]|0}k[a>>2]=e;k[n>>2]=g;k[m>>2]=j;e=f;if((c|0)!=(e|0))do{c=c+-4|0;d=k[c>>2]|0;k[c>>2]=0;if(d|0)Ta[k[(k[d>>2]|0)+4>>2]&127](d)}while((c|0)!=(e|0));if(!f)return;_r(f);return}function ch(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=k[b>>2]|0;i=k[b+4>>2]|0;j=k[b+8>>2]|0;g=k[b+12>>2]|0;b=(((h^318)+239^i)+239^j)+239^g;d=k[a+4>>2]|0;if(!d){j=0;return j|0}e=d+-1|0;c=(e&d|0)==0;if(c)f=b&e;else f=(b>>>0)%(d>>>0)|0;b=k[(k[a>>2]|0)+(f<<2)>>2]|0;if(!b){j=0;return j|0}b=k[b>>2]|0;if(!b){j=0;return j|0}if(c){while(1){if((k[b+4>>2]&e|0)!=(f|0)){b=0;a=20;break}if((((k[b+8>>2]|0)==(h|0)?(k[b+12>>2]|0)==(i|0):0)?(k[b+16>>2]|0)==(j|0):0)?(k[b+20>>2]|0)==(g|0):0){a=20;break}b=k[b>>2]|0;if(!b){b=0;a=20;break}}if((a|0)==20)return b|0}else{while(1){if((((k[b+4>>2]|0)>>>0)%(d>>>0)|0|0)!=(f|0)){b=0;a=20;break}if((((k[b+8>>2]|0)==(h|0)?(k[b+12>>2]|0)==(i|0):0)?(k[b+16>>2]|0)==(j|0):0)?(k[b+20>>2]|0)==(g|0):0){a=20;break}b=k[b>>2]|0;if(!b){b=0;a=20;break}}if((a|0)==20)return b|0}return 0}function dh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;n=(k[b+4>>2]|0)-(k[b>>2]|0)>>2;h=c+8|0;g=k[h>>2]|0;h=k[h+4>>2]|0;j=c+16|0;e=j;d=k[e>>2]|0;e=k[e+4>>2]|0;if((h|0)>(e|0)|(h|0)==(e|0)&g>>>0>d>>>0){f=i[(k[c>>2]|0)+d>>0]|0;d=Fp(d|0,e|0,1,0)|0;e=M;o=j;k[o>>2]=d;k[o+4>>2]=e;if(f<<24>>24!=-2)m=3}else{f=0;m=3}if((m|0)==3){if((h|0)>(e|0)|(h|0)==(e|0)&g>>>0>d>>>0){o=i[(k[c>>2]|0)+d>>0]|0;m=Fp(d|0,e|0,1,0)|0;d=j;k[d>>2]=m;k[d+4>>2]=M;d=o}else d=0;m=Ra[k[(k[a>>2]|0)+40>>2]&31](a,f<<24>>24,d<<24>>24)|0;o=a+20|0;d=k[o>>2]|0;k[o>>2]=m;if(d|0)Ta[k[(k[d>>2]|0)+4>>2]&127](d)}d=k[a+20>>2]|0;if(d|0?!(_a[k[(k[a>>2]|0)+28>>2]&127](a,d)|0):0){o=0;return o|0}if(!(Ra[k[(k[a>>2]|0)+36>>2]&31](a,b,c)|0)){o=0;return o|0}o=k[a+4>>2]|0;if((o|0?((l[o+36>>0]|0)<<8&65535)<512:0)?!(_a[k[(k[a>>2]|0)+48>>2]&127](a,n)|0):0){o=0;return o|0}o=1;return o|0}function eh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=u;u=u+32|0;d=l+16|0;e=l+12|0;f=l+8|0;g=l+4|0;h=l;j=k[b>>2]|0;if(!j)Ka(10840,11269,54,11514);b=k[b+4>>2]|0;if(!b)Ka(10840,11269,54,11514);b=k[b+(c<<2)>>2]|0;if(!(i[j+84>>0]|0))b=k[(k[j+68>>2]|0)+(b<<2)>>2]|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;switch(i[j+24>>0]|0){case 1:{k[e>>2]=b;k[d>>2]=k[e>>2];bg(j,d,a)|0;u=l;return}case 2:{k[f>>2]=b;k[d>>2]=k[f>>2];ag(j,d,a)|0;u=l;return}case 3:{k[g>>2]=b;k[d>>2]=k[g>>2];$f(j,d,a)|0;u=l;return}case 4:{k[h>>2]=b;k[d>>2]=k[h>>2];_f(j,d,a)|0;u=l;return}default:{u=l;return}}}function fh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=k[a+32>>2]|0;f=b+8|0;h=k[f+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((h|0)>(e|0)|((h|0)==(e|0)?(k[f>>2]|0)>>>0>d>>>0:0))){h=0;return h|0}f=i[(k[b>>2]|0)+d>>0]|0;b=Fp(d|0,e|0,1,0)|0;d=c;k[d>>2]=b;k[d+4>>2]=M;d=a+48|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)Ta[k[(k[b>>2]|0)+4>>2]&127](b);switch(f<<24>>24){case 0:{b=jo(336)|0;wk(b);c=k[d>>2]|0;k[d>>2]=b;if(c){Ta[k[(k[c>>2]|0)+4>>2]&127](c);g=11}break}case 1:{b=jo(376)|0;Hk(b);c=k[d>>2]|0;k[d>>2]=b;if(c){Ta[k[(k[c>>2]|0)+4>>2]&127](c);g=11}break}case 2:{b=jo(392)|0;tj(b);c=k[d>>2]|0;k[d>>2]=b;if(c){Ta[k[(k[c>>2]|0)+4>>2]&127](c);g=11}break}default:g=11}if((g|0)==11){b=k[d>>2]|0;if(!b){h=0;return h|0}}h=_a[k[(k[b>>2]|0)+8>>2]&127](b,a)|0;return h|0}function gh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;k[a+4>>2]=k[b+4>>2];f=a+8|0;g=b+8|0;if((a|0)==(b|0))return a|0;h=b+12|0;c=k[h>>2]|0;if(!c)c=0;else{e=a+16|0;if(c>>>0>k[e>>2]<<5>>>0){d=k[f>>2]|0;if(d){_r(d);k[f>>2]=0;k[e>>2]=0;k[a+12>>2]=0;c=k[h>>2]|0}if((c|0)<0)Jq(f);d=((c+-1|0)>>>5)+1|0;c=jo(d<<2)|0;k[f>>2]=c;k[a+12>>2]=0;k[e>>2]=d;d=k[h>>2]|0}else{d=c;c=k[f>>2]|0}mn(c|0,k[g>>2]|0,((d+-1|0)>>>5<<2)+4|0)|0;c=k[h>>2]|0}k[a+12>>2]=c;f=a+20|0;h=b+20|0;g=b+24|0;c=k[g>>2]|0;if(!c)c=0;else{e=a+28|0;if(c>>>0>k[e>>2]<<5>>>0){d=k[f>>2]|0;if(d){_r(d);k[f>>2]=0;k[e>>2]=0;k[a+24>>2]=0;c=k[g>>2]|0}if((c|0)<0)Jq(f);d=((c+-1|0)>>>5)+1|0;c=jo(d<<2)|0;k[f>>2]=c;k[a+24>>2]=0;k[e>>2]=d;d=k[g>>2]|0}else{d=c;c=k[f>>2]|0}mn(c|0,k[h>>2]|0,((d+-1|0)>>>5<<2)+4|0)|0;c=k[g>>2]|0}k[a+24>>2]=c;return a|0}function hh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;h=u;u=u+32|0;f=h+16|0;g=h;j=b+8|0;l=k[j+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((l|0)>(e|0)|((l|0)==(e|0)?(k[j>>2]|0)>>>0>d>>>0:0))){l=0;u=h;return l|0}l=i[(k[b>>2]|0)+d>>0]|0;e=Fp(d|0,e|0,1,0)|0;j=c;k[j>>2]=e;k[j+4>>2]=M;if(l<<24>>24){l=0;u=h;return l|0}d=0;do{sk(f,b)|0;c=k[f>>2]|0;if(c|0){e=a+44+(d*12|0)|0;vf(e,c,0);vr(g);Cg(g,b)|0;if(k[f>>2]|0){c=0;do{n=Nl(g)|0;l=(k[e>>2]|0)+(c>>>5<<2)|0;j=1<<(c&31);m=k[l>>2]|0;k[l>>2]=n?m|j:m&~j;c=c+1|0}while(c>>>0<(k[f>>2]|0)>>>0)}ds(g)}d=d+1|0}while((d|0)<4);n=bj(a+8|0,b)|0;u=h;return n|0}function ih(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=a+8|0;f=k[i>>2]|0;j=a+4|0;d=k[j>>2]|0;if(((f-d|0)/12|0)>>>0>=b>>>0){do{k[d>>2]=k[c>>2];k[d+4>>2]=k[c+4>>2];k[d+8>>2]=k[c+8>>2];d=(k[j>>2]|0)+12|0;k[j>>2]=d;b=b+-1|0}while((b|0)!=0);return}e=k[a>>2]|0;g=((d-e|0)/12|0)+b|0;if(g>>>0>357913941){Jq(a);e=k[a>>2]|0;f=k[i>>2]|0;d=k[j>>2]|0}h=(f-e|0)/12|0;f=h<<1;f=h>>>0<178956970?(f>>>0>>0?g:f):357913941;d=(d-e|0)/12|0;do if(f)if(f>>>0>357913941){j=Ma(4)|0;Cr(j);wa(j|0,1344,125)}else{e=jo(f*12|0)|0;break}else e=0;while(0);h=e+(d*12|0)|0;g=e+(f*12|0)|0;d=h;f=h;do{k[d>>2]=k[c>>2];k[d+4>>2]=k[c+4>>2];k[d+8>>2]=k[c+8>>2];d=f+12|0;f=d;b=b+-1|0}while((b|0)!=0);b=k[a>>2]|0;e=(k[j>>2]|0)-b|0;d=h+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)Gh(d|0,b|0,e|0)|0;k[a>>2]=d;k[j>>2]=f;k[i>>2]=g;if(!b)return;_r(b);return}function jh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a=a+20|0;if(Ld(a,b)|0){e=0;return e|0}d=mc(a,b)|0;b=k[c>>2]|0;k[c>>2]=0;e=k[d>>2]|0;k[d>>2]=b;if(!e){e=1;return e|0}a=k[e+28>>2]|0;if(a|0)do{d=a;a=k[a>>2]|0;ij(d+8|0);_r(d)}while((a|0)!=0);d=e+20|0;a=k[d>>2]|0;k[d>>2]=0;if(a|0)_r(a);a=k[e+8>>2]|0;if(a|0)do{b=a;a=k[a>>2]|0;c=k[b+20>>2]|0;if(c|0){d=b+24|0;if((k[d>>2]|0)!=(c|0))k[d>>2]=c;_r(c)}Jp(b+8|0);_r(b)}while((a|0)!=0);a=k[e>>2]|0;k[e>>2]=0;if(a|0)_r(a);_r(e);e=1;return e|0}function kh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+8|0;k[c>>2]=k[b>>2];gh(a+12|0,b+4|0)|0;d=a+44|0;e=b+36|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];if((c|0)==(b|0)){k[a+96>>2]=k[b+88>>2];return}else{Gg(a+60|0,k[b+52>>2]|0,k[b+56>>2]|0);Gg(a+72|0,k[b+64>>2]|0,k[b+68>>2]|0);Gg(a+84|0,k[b+76>>2]|0,k[b+80>>2]|0);k[a+96>>2]=k[b+88>>2];Tg(a+100|0,k[b+92>>2]|0,k[b+96>>2]|0);return}}function lh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;a=a+4|0;d=k[a>>2]|0;if(!d){k[b>>2]=a;n=a;return n|0}l=i[c+11>>0]|0;j=l<<24>>24<0;l=j?k[c+4>>2]|0:l&255;j=j?k[c>>2]|0:c;a=d;while(1){e=a+16|0;d=i[e+11>>0]|0;f=d<<24>>24<0;d=f?k[a+20>>2]|0:d&255;g=d>>>0>>0;c=g?d:l;if((c|0)!=0?(m=lm(j,f?k[e>>2]|0:e,c)|0,(m|0)!=0):0)if((m|0)<0)h=7;else h=9;else if(l>>>0>>0)h=7;else h=9;if((h|0)==7){c=k[a>>2]|0;if(!c){h=8;break}else a=c}else if((h|0)==9){h=0;c=l>>>0>>0?l:d;if((c|0)!=0?(n=lm(f?k[e>>2]|0:e,j,c)|0,(n|0)!=0):0){if((n|0)>=0){h=16;break}}else h=11;if((h|0)==11?(0,!g):0){h=16;break}d=a+4|0;c=k[d>>2]|0;if(!c){h=15;break}else a=c}}if((h|0)==8){k[b>>2]=a;n=a;return n|0}else if((h|0)==15){k[b>>2]=a;n=d;return n|0}else if((h|0)==16){k[b>>2]=a;n=b;return n|0}return 0}function mh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;h=u;u=u+32|0;f=h+16|0;g=h;j=b+8|0;l=k[j+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((l|0)>(e|0)|((l|0)==(e|0)?(k[j>>2]|0)>>>0>d>>>0:0))){l=0;u=h;return l|0}l=i[(k[b>>2]|0)+d>>0]|0;e=Fp(d|0,e|0,1,0)|0;j=c;k[j>>2]=e;k[j+4>>2]=M;if(l<<24>>24){l=0;u=h;return l|0}d=0;do{sk(f,b)|0;c=k[f>>2]|0;if(c|0){e=a+44+(d*12|0)|0;vf(e,c,0);vr(g);Cg(g,b)|0;if(k[f>>2]|0){c=0;do{n=Nl(g)|0;l=(k[e>>2]|0)+(c>>>5<<2)|0;j=1<<(c&31);m=k[l>>2]|0;k[l>>2]=n?m|j:m&~j;c=c+1|0}while(c>>>0<(k[f>>2]|0)>>>0)}ds(g)}d=d+1|0}while((d|0)<4);n=ej(a+8|0,b)|0;u=h;return n|0}function nh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=u;u=u+80|0;d=h;g=h+64|0;Jm(d);f=k[(k[a+8>>2]|0)+56>>2]|0;e=$(Zm(5)|0,c)|0;rk(d,f,0,c&255,5,0,e,((e|0)<0)<<31>>31,0,0);c=jo(96)|0;vm(c,d);i[c+84>>0]=1;d=k[c+68>>2]|0;e=c+72|0;f=k[e>>2]|0;if((f|0)!=(d|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);jk(c,b)|0;k[g>>2]=c;Kj(a,g);f=k[g>>2]|0;k[g>>2]=0;if(!f){u=h;return}g=f+88|0;c=k[g>>2]|0;k[g>>2]=0;if(c|0){d=k[c+8>>2]|0;if(d|0){e=c+12|0;if((k[e>>2]|0)!=(d|0))k[e>>2]=d;_r(d)}_r(c)}c=k[f+68>>2]|0;if(c|0){d=f+72|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);_r(c)}g=f+64|0;c=k[g>>2]|0;k[g>>2]=0;if(c|0){d=k[c>>2]|0;if(d|0){e=c+4|0;if((k[e>>2]|0)!=(d|0))k[e>>2]=d;_r(d)}_r(c)}_r(f);u=h;return}function oh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=a+4|0;d=k[l>>2]|0;c=k[a>>2]|0;e=(d-c>>2)+1|0;if(e>>>0>1073741823){Jq(a);c=k[a>>2]|0;d=k[l>>2]|0}j=a+8|0;i=(k[j>>2]|0)-c|0;f=i>>1;f=i>>2>>>0<536870911?(f>>>0>>0?e:f):1073741823;c=d-c>>2;do if(f)if(f>>>0>1073741823){l=Ma(4)|0;Cr(l);wa(l|0,1344,125)}else{d=jo(f<<2)|0;break}else d=0;while(0);g=d+(c<<2)|0;e=g;i=d+(f<<2)|0;h=k[b>>2]|0;k[b>>2]=0;k[g>>2]=h;h=g+4|0;b=k[a>>2]|0;c=k[l>>2]|0;if((c|0)==(b|0)){d=e;f=b;c=b}else{d=g;do{c=c+-4|0;g=k[c>>2]|0;k[c>>2]=0;k[d+-4>>2]=g;d=e+-4|0;e=d}while((c|0)!=(b|0));d=e;f=k[a>>2]|0;c=k[l>>2]|0}k[a>>2]=d;k[l>>2]=h;k[j>>2]=i;e=f;if((c|0)!=(e|0))do{c=c+-4|0;d=k[c>>2]|0;k[c>>2]=0;if(d|0){Ij(d);_r(d)}}while((c|0)!=(e|0));if(!f)return;_r(f);return}function ph(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+16|0;h=i;e=k[a+8>>2]|0;f=k[c>>2]|0;g=(f|0)/3|0;if((f|0)<=-3)Ka(20316,20341,63,20426);d=k[e+84>>2]|0;if((g|0)>=(((k[e+88>>2]|0)-d|0)/12|0|0))Ka(20431,20341,64,20426);d=k[d+(g*12|0)+(((f|0)%3|0)<<2)>>2]|0;e=k[a+12>>2]|0;k[h>>2]=d;e=k[e+4>>2]|0;f=e+4|0;g=k[f>>2]|0;if((g|0)==(k[e+8>>2]|0))Dj(e,h);else{k[g>>2]=d;k[f>>2]=g+4}d=a+4|0;e=k[d>>2]|0;f=e+4|0;g=k[f>>2]|0;if((g|0)==(k[e+8>>2]|0)){Dj(e,c);a=k[d>>2]|0;c=a+24|0;h=k[c>>2]|0;b=k[b>>2]|0;a=a+12|0;a=k[a>>2]|0;b=a+(b<<2)|0;k[b>>2]=h;b=k[c>>2]|0;b=b+1|0;k[c>>2]=b;u=i;return}else{k[g>>2]=k[c>>2];k[f>>2]=g+4;a=e;c=a+24|0;h=k[c>>2]|0;b=k[b>>2]|0;a=a+12|0;a=k[a>>2]|0;b=a+(b<<2)|0;k[b>>2]=h;b=k[c>>2]|0;b=b+1|0;k[c>>2]=b;u=i;return}}function qh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+16|0;h=i;f=k[c>>2]|0;k[c>>2]=0;k[h>>2]=f;$g(a,b,h);f=k[h>>2]|0;k[h>>2]=0;if(f|0){h=f+88|0;e=k[h>>2]|0;k[h>>2]=0;if(e|0){c=k[e+8>>2]|0;if(c|0){d=e+12|0;if((k[d>>2]|0)!=(c|0))k[d>>2]=c;_r(c)}_r(e)}c=k[f+68>>2]|0;if(c|0){d=f+72|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);_r(c)}h=f+64|0;c=k[h>>2]|0;k[h>>2]=0;if(c|0){d=k[c>>2]|0;if(d|0){e=c+4|0;if((k[e>>2]|0)!=(d|0))k[e>>2]=d;_r(d)}_r(c)}_r(f)}g=a+72|0;h=a+76|0;c=k[h>>2]|0;f=k[g>>2]|0;a=c-f>>2;if((a|0)>(b|0)){u=i;return}d=b+1|0;e=c;if(d>>>0>a>>>0){ci(g,d-a|0);u=i;return}if(d>>>0>=a>>>0){u=i;return}c=f+(d<<2)|0;if((e|0)==(c|0)){u=i;return}k[h>>2]=e+(~((e+-4-c|0)>>>2)<<2);u=i;return}function rh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;e=k[b>>2]|0;f=k[a>>2]|0;h=f+(e>>>5<<2)|0;k[h>>2]=k[h>>2]|1<<(e&31);h=k[a+64>>2]|0;d=(e|0)<0;b=e+1|0;if(!d?(c=((b|0)%3|0|0)==0?e+-2|0:b,(c|0)>=0):0)b=k[(k[h>>2]|0)+(c<<2)>>2]|0;else b=-1073741824;g=a+12|0;c=(k[g>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]|1<<(b&31);if(d){h=(k[g>>2]|0)+402653184|0;k[h>>2]=k[h>>2]|1;return}b=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((b|0)<0)b=-1073741824;else b=k[(k[h>>2]|0)+(b<<2)>>2]|0;c=(k[g>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]|1<<(b&31);if(d)return;c=k[(k[h+12>>2]|0)+(e<<2)>>2]|0;if((c|0)<=-1)return;i[a+24>>0]=0;b=f+(c>>>5<<2)|0;k[b>>2]=k[b>>2]|1<<(c&31);b=c+1|0;b=((b|0)%3|0|0)==0?c+-2|0:b;if((b|0)<0)b=-1073741824;else b=k[(k[h>>2]|0)+(b<<2)>>2]|0;a=(k[g>>2]|0)+(b>>>5<<2)|0;k[a>>2]=k[a>>2]|1<<(b&31);b=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((b|0)<0)b=-1073741824;else b=k[(k[h>>2]|0)+(b<<2)>>2]|0;h=(k[g>>2]|0)+(b>>>5<<2)|0;k[h>>2]=k[h>>2]|1<<(b&31);return}function sh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;o=u;u=u+32|0;i=o+24|0;j=o+16|0;l=o+8|0;n=o;e=a+4|0;p=k[e>>2]|0;m=k[b>>2]|0;d=k[b+4>>2]|0;h=k[c>>2]|0;f=k[c+4>>2]|0;g=h-m<<3;k[e>>2]=p-d+f+g;e=(k[a>>2]|0)+(p>>>5<<2)|0;c=p&31;b=e;if((d|0)!=(c|0)){k[i>>2]=m;k[i+4>>2]=d;k[j>>2]=h;k[j+4>>2]=f;k[l>>2]=b;k[l+4>>2]=c;qf(n,i,j,l);u=o;return}c=f-d+g|0;g=m;if((c|0)>0){if(!d){d=0;b=m}else{p=32-d|0;b=(c|0)<(p|0)?c:p;p=-1>>>(p-b|0)&-1<>2]=k[e>>2]&~p|k[g>>2]&p;d=b+d|0;g=g+4|0;c=c-b|0;e=e+(d>>>5<<2)|0;d=d&31;b=g}f=c>>>5;mn(e|0,b|0,f<<2|0)|0;a=c-(f<<5)|0;c=e+(f<<2)|0;b=c;if((a|0)>0){d=-1>>>(32-a|0);k[c>>2]=k[c>>2]&~d|k[g+(f<<2)>>2]&d;d=a}}k[n>>2]=b;k[n+4>>2]=d;u=o;return}function th(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=a+4|0;m=k[o>>2]|0;n=k[a>>2]|0;e=n;do if((m|0)==(n|0)){n=a+8|0;d=k[n>>2]|0;l=a+12|0;j=k[l>>2]|0;c=j;if(d>>>0>>0){e=d;g=((c-e>>2)+1|0)/2|0;c=d+(g<<2)|0;e=e-m|0;l=e>>2;f=c+(0-l<<2)|0;if(l){mn(f|0,m|0,e|0)|0;c=f;d=k[n>>2]|0}k[o>>2]=c;k[n>>2]=d+(g<<2);break}e=c-e>>1;e=(e|0)==0?1:e;if(e>>>0>1073741823){o=Ma(4)|0;Cr(o);wa(o|0,1344,125)}h=jo(e<<2)|0;i=h;c=h+((e+3|0)>>>2<<2)|0;j=c;h=h+(e<<2)|0;if((m|0)==(d|0)){e=j;d=m}else{g=c;e=j;f=m;do{k[g>>2]=k[f>>2];g=e+4|0;e=g;f=f+4|0}while((f|0)!=(d|0));d=k[a>>2]|0}k[a>>2]=i;k[o>>2]=j;k[n>>2]=e;k[l>>2]=h;if(d){_r(d);c=k[o>>2]|0}}else c=m;while(0);k[c+-4>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+-4;return}function uh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+16|0;n=p+4|0;o=p;k[a+56>>2]=e;k[a+48>>2]=f;l=Xr(e>>>0>1073741823?-1:e<<2)|0;m=a+52|0;d=k[m>>2]|0;k[m>>2]=l;if(d|0)Yr(d);i=a+40|0;g=k[i>>2]|0;h=k[g+4>>2]|0;f=k[g>>2]|0;l=h-f|0;j=l>>2;if((l|0)<=0){u=p;return 1}l=a+8|0;d=0;while(1){if(h-f>>2>>>0<=d>>>0){Iq(g);f=k[g>>2]|0}k[o>>2]=k[f+(d<<2)>>2];k[n>>2]=k[o>>2];Ac(a,n,c,d);h=$(d,e)|0;dj(l,k[m>>2]|0,b+(h<<2)|0,c+(h<<2)|0);d=d+1|0;if((d|0)>=(j|0))break;g=k[i>>2]|0;f=k[g>>2]|0;h=k[g+4>>2]|0}u=p;return 1}function vh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=u;u=u+48|0;d=m+32|0;e=m+28|0;f=m+24|0;g=m+20|0;h=m+16|0;l=m;j=i[a+24>>0]|0;k[l>>2]=k[1211];k[l+4>>2]=k[1212];k[l+8>>2]=k[1213];k[l+12>>2]=k[1214];j=j<<24>>24;switch(j|0){case 1:{k[e>>2]=b;k[d>>2]=k[e>>2];d=jg(a,d,l)|0;break}case 2:{k[f>>2]=b;k[d>>2]=k[f>>2];d=ig(a,d,l)|0;break}case 3:{k[g>>2]=b;k[d>>2]=k[g>>2];d=hg(a,d,l)|0;break}case 4:{k[h>>2]=b;k[d>>2]=k[h>>2];d=gg(a,d,l)|0;break}default:{l=0;u=m;return l|0}}if(!d){l=0;u=m;return l|0}xg(c,l,l+(j<<2)|0);l=1;u=m;return l|0}function wh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;o=b+8|0;n=k[o>>2]|0;o=k[o+4>>2]|0;p=b+16|0;j=p;h=k[j>>2]|0;j=k[j+4>>2]|0;d=Fp(h|0,j|0,4,0)|0;c=M;if((o|0)<(c|0)|(o|0)==(c|0)&n>>>0>>0){p=0;return p|0}m=k[b>>2]|0;e=m+h|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;f=p;k[f>>2]=d;k[f+4>>2]=c;f=Fp(h|0,j|0,8,0)|0;g=M;if((o|0)<(g|0)|(o|0)==(g|0)&n>>>0>>0){p=0;return p|0}c=m+d|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;d=p;k[d>>2]=f;k[d+4>>2]=g;k[a+12>>2]=e;k[a+16>>2]=c;e=c+(1-e)|0;k[a+20>>2]=e;c=(e|0)/2|0;d=a+24|0;k[d>>2]=c;k[a+28>>2]=0-c;if(!(e&1))k[d>>2]=c+-1;if((o|0)>(g|0)|(o|0)==(g|0)&n>>>0>f>>>0?(o=i[m+f>>0]|0,n=Fp(h|0,j|0,9,0)|0,p,k[p>>2]=n,k[p+4>>2]=M,o<<24>>24):0){p=0;return p|0}p=Cg(a+100|0,b)|0;return p|0}function xh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=u;u=u+16|0;f=h+4|0;g=h;c=k[b>>2]|0;if((c|0)<0){g=-1073741824;u=h;return g|0}d=a+4|0;e=k[d>>2]|0;b=k[(k[e+12>>2]|0)+(c<<2)>>2]|0;if((b|0)<0){g=-1073741824;u=h;return g|0}j=c+1|0;k[g>>2]=((j|0)%3|0|0)==0?c+-2|0:j;j=k[a>>2]|0;k[f>>2]=k[g>>2];j=ql(f,e,j)|0;k[g>>2]=(((b>>>0)%3|0|0)==0?2:-1)+b;i=k[d>>2]|0;e=k[a>>2]|0;k[f>>2]=k[g>>2];if((j|0)!=(ql(f,i,e)|0)){j=-1073741824;u=h;return j|0}k[g>>2]=c+(((c>>>0)%3|0|0)==0?2:-1);i=k[d>>2]|0;e=k[a>>2]|0;k[f>>2]=k[g>>2];e=ql(f,i,e)|0;i=b+1|0;k[g>>2]=((i|0)%3|0|0)==0?b+-2|0:i;i=k[d>>2]|0;j=k[a>>2]|0;k[f>>2]=k[g>>2];j=(e|0)!=(ql(f,i,j)|0);j=j?-1073741824:b;u=h;return j|0}function yh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+16|0;n=p+4|0;o=p;k[a+56>>2]=e;k[a+48>>2]=f;l=Xr(e>>>0>1073741823?-1:e<<2)|0;m=a+52|0;d=k[m>>2]|0;k[m>>2]=l;if(d|0)Yr(d);i=a+40|0;g=k[i>>2]|0;h=k[g+4>>2]|0;f=k[g>>2]|0;l=h-f|0;j=l>>2;if((l|0)<=0){u=p;return 1}l=a+8|0;d=0;while(1){if(h-f>>2>>>0<=d>>>0){Iq(g);f=k[g>>2]|0}k[o>>2]=k[f+(d<<2)>>2];k[n>>2]=k[o>>2];yc(a,n,c,d);h=$(d,e)|0;dj(l,k[m>>2]|0,b+(h<<2)|0,c+(h<<2)|0);d=d+1|0;if((d|0)>=(j|0))break;g=k[i>>2]|0;f=k[g>>2]|0;h=k[g+4>>2]|0}u=p;return 1}function zh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+16|0;n=p+4|0;o=p;k[a+56>>2]=e;k[a+48>>2]=f;l=Xr(e>>>0>1073741823?-1:e<<2)|0;m=a+52|0;d=k[m>>2]|0;k[m>>2]=l;if(d|0)Yr(d);i=a+40|0;g=k[i>>2]|0;h=k[g+4>>2]|0;f=k[g>>2]|0;l=h-f|0;j=l>>2;if((l|0)<=0){u=p;return 1}l=a+8|0;d=0;while(1){if(h-f>>2>>>0<=d>>>0){Iq(g);f=k[g>>2]|0}k[o>>2]=k[f+(d<<2)>>2];k[n>>2]=k[o>>2];Ac(a,n,c,d);h=$(d,e)|0;gj(l,k[m>>2]|0,b+(h<<2)|0,c+(h<<2)|0);d=d+1|0;if((d|0)>=(j|0))break;g=k[i>>2]|0;f=k[g>>2]|0;h=k[g+4>>2]|0}u=p;return 1}function Ah(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+8|0;i=k[n>>2]|0;j=a+12|0;m=k[j>>2]|0;e=m;g=i;do if((i|0)==(m|0)){m=a+4|0;l=k[m>>2]|0;d=k[a>>2]|0;c=d;if(l>>>0>d>>>0){d=l;e=((d-c>>2)+1|0)/-2|0;f=l+(e<<2)|0;c=g-d|0;d=c>>2;if(!d)c=l;else{mn(f|0,l|0,c|0)|0;c=k[m>>2]|0}l=f+(d<<2)|0;k[n>>2]=l;k[m>>2]=c+(e<<2);c=l;break}c=e-c>>1;c=(c|0)==0?1:c;if(c>>>0>1073741823){n=Ma(4)|0;Cr(n);wa(n|0,1344,125)}f=jo(c<<2)|0;g=f;e=f+(c>>>2<<2)|0;h=e;f=f+(c<<2)|0;if((l|0)==(i|0))c=h;else{c=h;d=l;do{k[e>>2]=k[d>>2];e=c+4|0;c=e;d=d+4|0}while((d|0)!=(i|0));d=k[a>>2]|0}k[a>>2]=g;k[m>>2]=h;k[n>>2]=c;k[j>>2]=f;if(d){_r(d);c=k[n>>2]|0}}else c=i;while(0);k[c>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+4;return}function Bh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;i=u;u=u+16|0;e=i+8|0;f=i+4|0;g=i;if(!c){h=0;u=i;return h|0}k[a>>2]=b;k[e>>2]=0;sk(e,b)|0;a:do if(!(k[e>>2]|0))h=8;else{d=0;while(1){sk(f,k[a>>2]|0)|0;b=jo(44)|0;j=k[f>>2]|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;o[b+16>>2]=da(1.0);l=b+20|0;k[l>>2]=0;k[l+4>>2]=0;k[l+8>>2]=0;k[l+12>>2]=0;o[b+36>>2]=da(1.0);k[b+40>>2]=j;if(!(me(a,b)|0))break;k[g>>2]=b;Uk(c,g)|0;b=k[g>>2]|0;k[g>>2]=0;if(b|0){Ij(b);_r(b)}d=d+1|0;if(d>>>0>=(k[e>>2]|0)>>>0){h=8;break a}}Ij(b);_r(b);b=0}while(0);if((h|0)==8)b=me(a,c)|0;l=b;u=i;return l|0}function Ch(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+16|0;n=p+4|0;o=p;k[a+56>>2]=e;k[a+48>>2]=f;l=Xr(e>>>0>1073741823?-1:e<<2)|0;m=a+52|0;d=k[m>>2]|0;k[m>>2]=l;if(d|0)Yr(d);i=a+40|0;g=k[i>>2]|0;h=k[g+4>>2]|0;f=k[g>>2]|0;l=h-f|0;j=l>>2;if((l|0)<=0){u=p;return 1}l=a+8|0;d=0;while(1){if(h-f>>2>>>0<=d>>>0){Iq(g);f=k[g>>2]|0}k[o>>2]=k[f+(d<<2)>>2];k[n>>2]=k[o>>2];yc(a,n,c,d);h=$(d,e)|0;gj(l,k[m>>2]|0,b+(h<<2)|0,c+(h<<2)|0);d=d+1|0;if((d|0)>=(j|0))break;g=k[i>>2]|0;f=k[g>>2]|0;h=k[g+4>>2]|0}u=p;return 1}function Dh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;i=u;u=u+16|0;h=i;j=b+8|0;g=k[j>>2]|0;j=k[j+4>>2]|0;d=b+16|0;e=d;c=k[e>>2]|0;e=Fp(c|0,k[e+4>>2]|0,4,0)|0;f=M;if((j|0)<(f|0)|(j|0)==(f|0)&g>>>0>>0){j=0;u=i;return j|0}g=(k[b>>2]|0)+c|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;j=d;k[j>>2]=e;k[j+4>>2]=f;if((g|0)<0){j=0;u=i;return j|0}vf(a+60|0,g,0);vr(h);if(Cg(h,b)|0){if((g|0)>0){e=a+60|0;c=1;d=0;do{c=c^((Nl(h)|0)^1);j=(k[e>>2]|0)+(d>>>5<<2)|0;f=1<<(d&31);m=k[j>>2]|0;k[j>>2]=c?m|f:m&~f;d=d+1|0}while((d|0)<(g|0))}c=bj(a+8|0,b)|0}else c=0;ds(h);m=c;u=i;return m|0}function Eh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=a+4|0;c=k[m>>2]|0;do if(c|0){l=i[b+11>>0]|0;j=l<<24>>24<0;l=j?k[b+4>>2]|0:l&255;j=j?k[b>>2]|0:b;a=m;a:while(1){b=c;while(1){d=b+16|0;f=i[d+11>>0]|0;e=f<<24>>24<0;f=e?k[b+20>>2]|0:f&255;c=l>>>0>>0?l:f;if((c|0)!=0?(g=lm(e?k[d>>2]|0:d,j,c)|0,(g|0)!=0):0){if((g|0)>=0)break}else h=6;if((h|0)==6?(h=0,f>>>0>=l>>>0):0)break;b=k[b+4>>2]|0;if(!b)break a}c=k[b>>2]|0;if(!c){a=b;break}else a=b}if((a|0)!=(m|0)){c=a+16|0;e=i[c+11>>0]|0;d=e<<24>>24<0;e=d?k[a+20>>2]|0:e&255;b=e>>>0>>0?e:l;if(b|0?(n=lm(j,d?k[c>>2]|0:c,b)|0,n|0):0){if((n|0)<0)break;return a|0}if(l>>>0>=e>>>0){n=a;return n|0}}}while(0);n=m;return n|0}function Fh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;i=u;u=u+16|0;h=i;j=b+8|0;g=k[j>>2]|0;j=k[j+4>>2]|0;d=b+16|0;e=d;c=k[e>>2]|0;e=Fp(c|0,k[e+4>>2]|0,4,0)|0;f=M;if((j|0)<(f|0)|(j|0)==(f|0)&g>>>0>>0){j=0;u=i;return j|0}g=(k[b>>2]|0)+c|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;j=d;k[j>>2]=e;k[j+4>>2]=f;if((g|0)<0){j=0;u=i;return j|0}e=a+60|0;vf(e,g,0);vr(h);if(Cg(h,b)|0){if((g|0)>0){c=1;d=0;do{c=c^((Nl(h)|0)^1);j=(k[e>>2]|0)+(d>>>5<<2)|0;f=1<<(d&31);m=k[j>>2]|0;k[j>>2]=c?m|f:m&~f;d=d+1|0}while((d|0)<(g|0))}c=bj(a+8|0,b)|0}else c=0;ds(h);m=c;u=i;return m|0}function Gh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;if((c|0)>=8192)return Fa(a|0,b|0,c|0)|0;f=a|0;e=a+c|0;if((a&3)==(b&3)){while(a&3){if(!c)return f|0;i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0;c=c-1|0}c=e&-4|0;d=c-64|0;while((a|0)<=(d|0)){k[a>>2]=k[b>>2];k[a+4>>2]=k[b+4>>2];k[a+8>>2]=k[b+8>>2];k[a+12>>2]=k[b+12>>2];k[a+16>>2]=k[b+16>>2];k[a+20>>2]=k[b+20>>2];k[a+24>>2]=k[b+24>>2];k[a+28>>2]=k[b+28>>2];k[a+32>>2]=k[b+32>>2];k[a+36>>2]=k[b+36>>2];k[a+40>>2]=k[b+40>>2];k[a+44>>2]=k[b+44>>2];k[a+48>>2]=k[b+48>>2];k[a+52>>2]=k[b+52>>2];k[a+56>>2]=k[b+56>>2];k[a+60>>2]=k[b+60>>2];a=a+64|0;b=b+64|0}while((a|0)<(c|0)){k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}}else{c=e-4|0;while((a|0)<(c|0)){i[a>>0]=i[b>>0]|0;i[a+1>>0]=i[b+1>>0]|0;i[a+2>>0]=i[b+2>>0]|0;i[a+3>>0]=i[b+3>>0]|0;a=a+4|0;b=b+4|0}}while((a|0)<(e|0)){i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0}return f|0}function Hh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=u;u=u+16|0;d=g+4|0;e=g;f=a+8|0;c=a+84|0;b=k[c>>2]|0;if(!b){c=k[(k[f>>2]|0)+64>>2]|0;c=(k[c+4>>2]|0)-(k[c>>2]|0)>>2;b=(c>>>0)/3|0;if(c>>>0<=2){u=g;return 1}a=0;do{k[e>>2]=a*3;k[d>>2]=k[e>>2];fc(f,d);a=a+1|0}while((a|0)<(b|0));u=g;return 1}else{a=k[b>>2]|0;if((k[b+4>>2]|0)==(a|0)){u=g;return 1}b=0;do{k[e>>2]=k[a+(b<<2)>>2];k[d>>2]=k[e>>2];fc(f,d);b=b+1|0;h=k[c>>2]|0;a=k[h>>2]|0}while(b>>>0<(k[h+4>>2]|0)-a>>2>>>0);u=g;return 1}return 0}function Ih(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;i=u;u=u+16|0;h=i;j=b+8|0;g=k[j>>2]|0;j=k[j+4>>2]|0;d=b+16|0;e=d;c=k[e>>2]|0;e=Fp(c|0,k[e+4>>2]|0,4,0)|0;f=M;if((j|0)<(f|0)|(j|0)==(f|0)&g>>>0>>0){j=0;u=i;return j|0}g=(k[b>>2]|0)+c|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;j=d;k[j>>2]=e;k[j+4>>2]=f;if((g|0)<0){j=0;u=i;return j|0}vf(a+60|0,g,0);vr(h);if(Cg(h,b)|0){if((g|0)>0){e=a+60|0;c=1;d=0;do{c=c^((Nl(h)|0)^1);j=(k[e>>2]|0)+(d>>>5<<2)|0;f=1<<(d&31);m=k[j>>2]|0;k[j>>2]=c?m|f:m&~f;d=d+1|0}while((d|0)<(g|0))}c=ej(a+8|0,b)|0}else c=0;ds(h);m=c;u=i;return m|0}function Jh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=a+60|0;c=k[h>>2]|0;if(!c){b=0;return b|0}k[c+4>>2]=a+48;if(!(Wa[k[(k[c>>2]|0)+12>>2]&255](c)|0)){b=0;return b|0}d=Wa[k[(k[a>>2]|0)+24>>2]&255](a)|0;a:do if((d|0)>0){c=0;while(1){e=(Wa[k[(k[a>>2]|0)+28>>2]&255](a)|0)+4|0;e=k[e>>2]|0;f=_a[k[(k[a>>2]|0)+20>>2]&127](a,c)|0;if((f|0)<=-1){d=7;break}g=k[e+8>>2]|0;if(((k[e+12>>2]|0)-g>>2|0)<=(f|0)){d=9;break}e=k[h>>2]|0;c=c+1|0;if(!(_a[k[(k[e>>2]|0)+8>>2]&127](e,k[g+(f<<2)>>2]|0)|0)){c=0;d=14;break}if((c|0)>=(d|0))break a}if((d|0)==7)Ka(20132,20148,63,20247);else if((d|0)==9)Ka(20257,20148,64,20247);else if((d|0)==14)return c|0}while(0);if(!(_a[k[(k[a>>2]|0)+36>>2]&127](a,b)|0)){b=0;return b|0}if(!(_a[k[(k[a>>2]|0)+40>>2]&127](a,b)|0)){b=0;return b|0}b=Wa[k[(k[a>>2]|0)+44>>2]&255](a)|0;return b|0}function Kh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;m=u;u=u+48|0;j=m+16|0;f=m;e=m+32|0;h=a+28|0;d=k[h>>2]|0;k[e>>2]=d;i=a+20|0;d=(k[i>>2]|0)-d|0;k[e+4>>2]=d;k[e+8>>2]=b;k[e+12>>2]=c;d=d+c|0;g=a+60|0;k[f>>2]=k[g>>2];k[f+4>>2]=e;k[f+8>>2]=2;f=Pp(Da(146,f|0)|0)|0;a:do if((d|0)!=(f|0)){b=2;while(1){if((f|0)<0)break;d=d-f|0;o=k[e+4>>2]|0;n=f>>>0>o>>>0;e=n?e+8|0:e;b=(n<<31>>31)+b|0;o=f-(n?o:0)|0;k[e>>2]=(k[e>>2]|0)+o;n=e+4|0;k[n>>2]=(k[n>>2]|0)-o;k[j>>2]=k[g>>2];k[j+4>>2]=e;k[j+8>>2]=b;f=Pp(Da(146,j|0)|0)|0;if((d|0)==(f|0)){l=3;break a}}k[a+16>>2]=0;k[h>>2]=0;k[i>>2]=0;k[a>>2]=k[a>>2]|32;if((b|0)==2)c=0;else c=c-(k[e+4>>2]|0)|0}else l=3;while(0);if((l|0)==3){o=k[a+44>>2]|0;k[a+16>>2]=o+(k[a+48>>2]|0);k[h>>2]=o;k[i>>2]=o}u=m;return c|0}function Lh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;i=u;u=u+16|0;h=i;j=b+8|0;g=k[j>>2]|0;j=k[j+4>>2]|0;d=b+16|0;e=d;c=k[e>>2]|0;e=Fp(c|0,k[e+4>>2]|0,4,0)|0;f=M;if((j|0)<(f|0)|(j|0)==(f|0)&g>>>0>>0){j=0;u=i;return j|0}g=(k[b>>2]|0)+c|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;j=d;k[j>>2]=e;k[j+4>>2]=f;if((g|0)<0){j=0;u=i;return j|0}e=a+60|0;vf(e,g,0);vr(h);if(Cg(h,b)|0){if((g|0)>0){c=1;d=0;do{c=c^((Nl(h)|0)^1);j=(k[e>>2]|0)+(d>>>5<<2)|0;f=1<<(d&31);m=k[j>>2]|0;k[j>>2]=c?m|f:m&~f;d=d+1|0}while((d|0)<(g|0))}c=ej(a+8|0,b)|0}else c=0;ds(h);m=c;u=i;return m|0}function Mh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=u;u=u+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c=k[(k[b+4>>2]|0)+(c<<2)>>2]|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;b=k[b>>2]|0;if(!(i[b+84>>0]|0))c=k[(k[b+68>>2]|0)+(c<<2)>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];bg(b,d,a)|0;u=j;return}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];ag(b,d,a)|0;u=j;return}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];$f(b,d,a)|0;u=j;return}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];_f(b,d,a)|0;u=j;return}default:{u=j;return}}}function Nh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=u;u=u+16|0;j=l;i=jo(64)|0;g=jo(12)|0;f=k[(k[a+4>>2]|0)+68>>2]|0;k[g+4>>2]=0;k[g>>2]=4608;k[g+8>>2]=f;k[j>>2]=g;km(i,j);g=a+8|0;f=a+12|0;a=k[f>>2]|0;c=k[g>>2]|0;d=a-c>>2;do if((d|0)<=(b|0)){e=b+1|0;if(e>>>0>d>>>0){bh(g,e-d|0);break}if(e>>>0>>0?(h=c+(e<<2)|0,(a|0)!=(h|0)):0)do{e=a+-4|0;k[f>>2]=e;a=k[e>>2]|0;k[e>>2]=0;if(a|0)Ta[k[(k[a>>2]|0)+4>>2]&127](a);a=k[f>>2]|0}while((a|0)!=(h|0))}while(0);h=(k[g>>2]|0)+(b<<2)|0;a=k[h>>2]|0;k[h>>2]=i;if(a|0)Ta[k[(k[a>>2]|0)+4>>2]&127](a);a=k[j>>2]|0;k[j>>2]=0;if(!a){u=l;return 1}Ta[k[(k[a>>2]|0)+4>>2]&127](a);u=l;return 1}function Oh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=u;u=u+16|0;d=g+4|0;e=g;f=a+8|0;c=a+84|0;b=k[c>>2]|0;if(!b){c=k[f>>2]|0;c=(k[c+4>>2]|0)-(k[c>>2]|0)>>2;b=(c>>>0)/3|0;if(c>>>0<=2){u=g;return 1}a=0;do{k[e>>2]=a*3;k[d>>2]=k[e>>2];ic(f,d);a=a+1|0}while((a|0)<(b|0));u=g;return 1}else{a=k[b>>2]|0;if((k[b+4>>2]|0)==(a|0)){u=g;return 1}b=0;do{k[e>>2]=k[a+(b<<2)>>2];k[d>>2]=k[e>>2];ic(f,d);b=b+1|0;h=k[c>>2]|0;a=k[h>>2]|0}while(b>>>0<(k[h+4>>2]|0)-a>>2>>>0);u=g;return 1}return 0}function Ph(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=u;u=u+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c=k[(k[b+48>>2]|0)+(c<<2)>>2]|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;b=k[b+44>>2]|0;if(!(i[b+84>>0]|0))c=k[(k[b+68>>2]|0)+(c<<2)>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];jg(b,d,a)|0;u=j;return}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];ig(b,d,a)|0;u=j;return}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];hg(b,d,a)|0;u=j;return}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];gg(b,d,a)|0;u=j;return}default:{u=j;return}}}function Qh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;l=u;u=u+16|0;g=l;h=a+4|0;k[h>>2]=0;if(!b){u=l;return}j=a+8|0;d=k[j>>2]|0;if(d<<5>>>0>>0){k[g>>2]=0;e=g+4|0;k[e>>2]=0;f=g+8|0;k[f>>2]=0;if((b|0)<0){Jq(a);d=k[j>>2]|0}m=d<<6;n=b+31&-32;lj(g,d<<5>>>0<1073741823?(m>>>0>>0?n:m):2147483647);d=k[a>>2]|0;k[a>>2]=k[g>>2];k[g>>2]=d;g=k[h>>2]|0;k[h>>2]=b;k[e>>2]=g;h=k[j>>2]|0;k[j>>2]=k[f>>2];k[f>>2]=h;if(d|0)_r(d)}else k[h>>2]=b;a=k[a>>2]|0;e=a;f=b>>>5;d=f<<2;if(!(i[c>>0]|0)){_j(a|0,0,d|0)|0;d=b-(f<<5)|0;a=e+(f<<2)|0;if(!d){u=l;return}k[a>>2]=k[a>>2]&~(-1>>>(32-d|0));u=l;return}else{_j(a|0,-1,d|0)|0;d=b-(f<<5)|0;a=e+(f<<2)|0;if(!d){u=l;return}k[a>>2]=k[a>>2]|-1>>>(32-d|0);u=l;return}}function Rh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=a+12|0;f=k[a>>2]|0;h=a+8|0;b=k[h>>2]|0;c=(b|0)<0;if(!(i[g>>0]|0)){do if(!c){b=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((b|0)>=0){b=k[(k[f+12>>2]|0)+(b<<2)>>2]|0;if((b|0)>=0)if(!((b>>>0)%3|0)){b=b+2|0;break}else{b=b+-1|0;break}}}while(0);k[h>>2]=b;return}d=b+1|0;if(!c){b=((d|0)%3|0|0)==0?b+-2|0:d;if((b|0)>=0){b=k[(k[f+12>>2]|0)+(b<<2)>>2]|0;c=b+1|0;if((b|0)>=0){b=((c|0)%3|0|0)==0?b+-2|0:c;k[h>>2]=b;if((b|0)>=0){if((b|0)!=(k[a+4>>2]|0))return;k[h>>2]=-1073741824;return}}else e=5}else e=5}else e=5;if((e|0)==5)k[h>>2]=b;b=k[a+4>>2]|0;do if((b|0)>=0){b=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((b|0)>=0){b=k[(k[f+12>>2]|0)+(b<<2)>>2]|0;if((b|0)>=0)if(!((b>>>0)%3|0)){b=b+2|0;break}else{b=b+-1|0;break}}}while(0);k[h>>2]=b;i[g>>0]=0;return}function Sh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;do if(b){b=a+8|0;j=b;g=k[j>>2]|0;j=k[j+4>>2]|0;d=a+16|0;f=d;e=k[f>>2]|0;f=Fp(e|0,k[f+4>>2]|0,8,0)|0;h=M;if((j|0)<(h|0)|(j|0)==(h|0)&g>>>0>>0){j=0;return j|0}else{j=(k[a>>2]|0)+e|0;h=j;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;j=j+4|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;e=c;c=e;i[c>>0]=h;i[c+1>>0]=h>>8;i[c+2>>0]=h>>16;i[c+3>>0]=h>>24;e=e+4|0;i[e>>0]=j;i[e+1>>0]=j>>8;i[e+2>>0]=j>>16;i[e+3>>0]=j>>24;e=d;e=Fp(k[e>>2]|0,k[e+4>>2]|0,8,0)|0;c=M;k[d>>2]=e;k[d+4>>2]=c;d=a;break}}else{c=a+16|0;b=a+8|0;d=a;e=k[c>>2]|0;c=k[c+4>>2]|0}while(0);i[a+36>>0]=1;h=(k[d>>2]|0)+e|0;j=b;j=Wo(k[j>>2]|0,k[j+4>>2]|0,e|0,c|0)|0;k[a+32>>2]=0;k[a+24>>2]=h;k[a+28>>2]=h+j;j=1;return j|0}function Th(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;h=a+8|0;b=k[h>>2]|0;l=a+16|0;if(i[b+84>>0]|0){l=k[l>>2]|0;return l|0}c=k[l>>2]|0;if(!c){l=k[l>>2]|0;return l|0}a=c+84|0;if(!(i[a>>0]|0)){l=k[l>>2]|0;return l|0}g=(k[b+72>>2]|0)-(k[b+68>>2]|0)>>2;i[a>>0]=0;f=c+68|0;a=c+72|0;e=k[a>>2]|0;d=k[f>>2]|0;c=e-d>>2;if(g>>>0<=c>>>0){if(g>>>0>>0?(j=d+(g<<2)|0,(e|0)!=(j|0)):0)k[a>>2]=e+(~((e+-4-j|0)>>>2)<<2)}else{Yh(f,g-c|0,1608);b=k[h>>2]|0}if(i[b+84>>0]|0){l=k[l>>2]|0;return l|0}j=k[b+68>>2]|0;e=j;j=(k[b+72>>2]|0)-j|0;a=j>>2;if((j|0)<=0){l=k[l>>2]|0;return l|0}d=k[l>>2]|0;c=(i[d+84>>0]|0)==0;d=d+68|0;b=0;while(1){if(!c){b=14;break}k[(k[d>>2]|0)+(b<<2)>>2]=k[e+(b<<2)>>2];b=b+1|0;if((b|0)>=(a|0)){b=15;break}}if((b|0)==14)Ka(19400,19419,89,19521);else if((b|0)==15){l=k[l>>2]|0;return l|0}return 0}function Uh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=u;u=u+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c=k[(k[b+64>>2]|0)+(c<<2)>>2]|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;b=k[b+60>>2]|0;if(!(i[b+84>>0]|0))c=k[(k[b+68>>2]|0)+(c<<2)>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];jg(b,d,a)|0;u=j;return}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];ig(b,d,a)|0;u=j;return}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];hg(b,d,a)|0;u=j;return}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];gg(b,d,a)|0;u=j;return}default:{u=j;return}}}function Vh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=4812;b=k[a+56>>2]|0;if(b|0){c=a+60|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+44>>2]|0;if(b|0){c=a+48|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+32>>2]|0;if(b|0){c=a+36|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+20>>2]|0;if(b|0){c=a+24|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}$i(a+8|0);a=a+4|0;e=k[a>>2]|0;k[a>>2]=0;if(!e)return;d=e+40|0;b=k[d>>2]|0;if(b|0){a=e+44|0;c=k[a>>2]|0;if((c|0)!=(b|0)){do{f=c+-4|0;k[a>>2]=f;c=k[f>>2]|0;k[f>>2]=0;if(c|0){Ij(c);_r(c)}c=k[a>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}_r(b)}Ij(e);_r(e);return}function Wh(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,j=0;do if(!(uq(a,k[b+8>>2]|0,e)|0)){f=a+8|0;if(!(uq(a,k[b>>2]|0,e)|0)){h=k[f>>2]|0;Sa[k[(k[h>>2]|0)+24>>2]&3](h,b,c,d,e);break}a=b+32|0;if((k[b+16>>2]|0)!=(c|0)?(g=b+20|0,(k[g>>2]|0)!=(c|0)):0){k[a>>2]=d;d=b+44|0;if((k[d>>2]|0)==4)break;a=b+52|0;i[a>>0]=0;j=b+53|0;i[j>>0]=0;f=k[f>>2]|0;Za[k[(k[f>>2]|0)+20>>2]&3](f,b,c,c,1,e);if(i[j>>0]|0)if(!(i[a>>0]|0)){a=3;h=11}else a=3;else{a=4;h=11}if((h|0)==11){k[g>>2]=c;j=b+40|0;k[j>>2]=(k[j>>2]|0)+1;if((k[b+36>>2]|0)==1?(k[b+24>>2]|0)==2:0)i[b+54>>0]=1}k[d>>2]=a;break}if((d|0)==1)k[a>>2]=1}else Jn(0,b,c,d);while(0);return}function Xh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;n=q+4|0;o=q;p=a+44|0;k[a+48>>2]=f;m=a+40|0;g=k[m>>2]|0;h=k[g+4>>2]|0;f=k[g>>2]|0;l=h-f|0;j=l>>2;if((l|0)<=0){u=q;return 1}l=a+8|0;i=a+52|0;d=0;a=h;while(1){if(a-f>>2>>>0<=d>>>0){Iq(g);f=k[g>>2]|0}k[o>>2]=k[f+(d<<2)>>2];k[n>>2]=k[o>>2];Ub(p,n,c,d);h=$(d,e)|0;dj(l,i,b+(h<<2)|0,c+(h<<2)|0);d=d+1|0;if((d|0)>=(j|0))break;g=k[m>>2]|0;f=k[g>>2]|0;a=k[g+4>>2]|0}u=q;return 1}function Yh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+8|0;e=k[j>>2]|0;l=a+4|0;g=k[l>>2]|0;f=g;if(e-g>>2>>>0>=b>>>0){d=b;e=f;while(1){k[e>>2]=k[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}k[l>>2]=f+(b<<2);return}d=k[a>>2]|0;f=(g-d>>2)+b|0;if(f>>>0>1073741823){Jq(a);d=k[a>>2]|0;e=k[j>>2]|0;i=k[l>>2]|0}else i=g;h=e-d|0;e=h>>1;f=h>>2>>>0<536870911?(e>>>0>>0?f:e):1073741823;e=i-d>>2;do if(f)if(f>>>0>1073741823){l=Ma(4)|0;Cr(l);wa(l|0,1344,125)}else{g=jo(f<<2)|0;break}else g=0;while(0);h=g+(e<<2)|0;g=g+(f<<2)|0;e=b;f=h;while(1){k[f>>2]=k[c>>2];e=e+-1|0;if(!e)break;else f=f+4|0}e=i-d|0;f=h+(0-(e>>2)<<2)|0;if((e|0)>0)Gh(f|0,d|0,e|0)|0;k[a>>2]=f;k[l>>2]=h+(b<<2);k[j>>2]=g;if(!d)return;_r(d);return}function Zh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=a+8|0;e=k[h>>2]|0;i=a+4|0;c=k[i>>2]|0;if(e-c>>3>>>0>=b>>>0){do{h=c;k[h>>2]=0;k[h+4>>2]=0;c=(k[i>>2]|0)+8|0;k[i>>2]=c;b=b+-1|0}while((b|0)!=0);return}d=k[a>>2]|0;f=(c-d>>3)+b|0;if(f>>>0>536870911){Jq(a);d=k[a>>2]|0;e=k[h>>2]|0;c=k[i>>2]|0}g=e-d|0;e=g>>2;e=g>>3>>>0<268435455?(e>>>0>>0?f:e):536870911;c=c-d>>3;do if(e)if(e>>>0>536870911){i=Ma(4)|0;Cr(i);wa(i|0,1344,125)}else{d=jo(e<<3)|0;break}else d=0;while(0);g=d+(c<<3)|0;f=d+(e<<3)|0;c=g;e=g;do{d=c;k[d>>2]=0;k[d+4>>2]=0;c=e+8|0;e=c;b=b+-1|0}while((b|0)!=0);b=k[a>>2]|0;d=(k[i>>2]|0)-b|0;c=g+(0-(d>>3)<<3)|0;if((d|0)>0)Gh(c|0,b|0,d|0)|0;k[a>>2]=c;k[i>>2]=e;k[h>>2]=f;if(!b)return;_r(b);return}function _h(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;g=u;u=u+16|0;e=g+8|0;f=g+4|0;h=g;k[h>>2]=k[b>>2];k[e>>2]=k[h>>2];e=Ad(a,e,f,c)|0;b=k[e>>2]|0;if(b|0){h=b;u=g;return h|0}c=jo(40)|0;gm(c+16|0,d);gm(c+28|0,d+12|0);b=k[f>>2]|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=b;k[e>>2]=c;b=k[k[a>>2]>>2]|0;if(!b)b=c;else{k[a>>2]=b;b=k[e>>2]|0}Ef(k[a+4>>2]|0,b);h=a+8|0;k[h>>2]=(k[h>>2]|0)+1;h=c;u=g;return h|0}function $h(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;n=q+4|0;o=q;p=a+44|0;k[a+48>>2]=f;m=a+40|0;g=k[m>>2]|0;h=k[g+4>>2]|0;f=k[g>>2]|0;l=h-f|0;j=l>>2;if((l|0)<=0){u=q;return 1}l=a+8|0;i=a+52|0;d=0;a=h;while(1){if(a-f>>2>>>0<=d>>>0){Iq(g);f=k[g>>2]|0}k[o>>2]=k[f+(d<<2)>>2];k[n>>2]=k[o>>2];Sb(p,n,c,d);h=$(d,e)|0;dj(l,i,b+(h<<2)|0,c+(h<<2)|0);d=d+1|0;if((d|0)>=(j|0))break;g=k[m>>2]|0;f=k[g>>2]|0;a=k[g+4>>2]|0}u=q;return 1}function ai(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;n=q+4|0;o=q;p=a+44|0;k[a+48>>2]=f;m=a+40|0;g=k[m>>2]|0;h=k[g+4>>2]|0;f=k[g>>2]|0;l=h-f|0;j=l>>2;if((l|0)<=0){u=q;return 1}l=a+8|0;i=a+52|0;d=0;a=h;while(1){if(a-f>>2>>>0<=d>>>0){Iq(g);f=k[g>>2]|0}k[o>>2]=k[f+(d<<2)>>2];k[n>>2]=k[o>>2];Ub(p,n,c,d);h=$(d,e)|0;gj(l,i,b+(h<<2)|0,c+(h<<2)|0);d=d+1|0;if((d|0)>=(j|0))break;g=k[m>>2]|0;f=k[g>>2]|0;a=k[g+4>>2]|0}u=q;return 1}function bi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+32|0;c=e+16|0;d=e;switch(b<<24>>24){case 0:{b=jo(44)|0;c=b;d=c+44|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));ln(b);k[b>>2]=4720;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=b;u=e;return}case 1:{b=jo(44)|0;c=b;d=c+44|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));ln(b);k[b>>2]=4676;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=b;u=e;return}default:{k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;Jk(d,17537,28);k[c>>2]=-1;b=c+4|0;gm(b,d);k[a>>2]=k[c>>2];gm(a+4|0,b);k[a+16>>2]=0;Jp(b);Jp(d);u=e;return}}}function ci(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=a+8|0;d=k[i>>2]|0;j=a+4|0;f=k[j>>2]|0;e=f;if(d-f>>2>>>0>=b>>>0){c=b;d=e;while(1){k[d>>2]=1;c=c+-1|0;if(!c)break;else d=d+4|0}k[j>>2]=e+(b<<2);return}c=k[a>>2]|0;e=(f-c>>2)+b|0;if(e>>>0>1073741823){Jq(a);c=k[a>>2]|0;d=k[i>>2]|0;h=k[j>>2]|0}else h=f;g=d-c|0;d=g>>1;e=g>>2>>>0<536870911?(d>>>0>>0?e:d):1073741823;d=h-c>>2;do if(e)if(e>>>0>1073741823){j=Ma(4)|0;Cr(j);wa(j|0,1344,125)}else{f=jo(e<<2)|0;break}else f=0;while(0);g=f+(d<<2)|0;f=f+(e<<2)|0;d=b;e=g;while(1){k[e>>2]=1;d=d+-1|0;if(!d)break;else e=e+4|0}d=h-c|0;e=g+(0-(d>>2)<<2)|0;if((d|0)>0)Gh(e|0,c|0,d|0)|0;k[a>>2]=e;k[j>>2]=g+(b<<2);k[i>>2]=f;if(!c)return;_r(c);return}function di(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;n=q+4|0;o=q;p=a+44|0;k[a+48>>2]=f;m=a+40|0;g=k[m>>2]|0;h=k[g+4>>2]|0;f=k[g>>2]|0;l=h-f|0;j=l>>2;if((l|0)<=0){u=q;return 1}l=a+8|0;i=a+52|0;d=0;a=h;while(1){if(a-f>>2>>>0<=d>>>0){Iq(g);f=k[g>>2]|0}k[o>>2]=k[f+(d<<2)>>2];k[n>>2]=k[o>>2];Sb(p,n,c,d);h=$(d,e)|0;gj(l,i,b+(h<<2)|0,c+(h<<2)|0);d=d+1|0;if((d|0)>=(j|0))break;g=k[m>>2]|0;f=k[g>>2]|0;a=k[g+4>>2]|0}u=q;return 1}function ei(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=a+4|0;c=k[m>>2]|0;d=k[a>>2]|0;f=((c-d|0)/12|0)+1|0;if(f>>>0>357913941){Jq(a);c=k[m>>2]|0;d=k[a>>2]|0}j=d;e=c;l=a+8|0;i=((k[l>>2]|0)-d|0)/12|0;g=i<<1;f=i>>>0<178956970?(g>>>0>>0?f:g):357913941;g=(c-d|0)/12|0;do if(f)if(f>>>0>357913941){m=Ma(4)|0;Cr(m);wa(m|0,1344,125)}else{h=jo(f*12|0)|0;break}else h=0;while(0);c=h+(g*12|0)|0;i=h+(f*12|0)|0;k[c>>2]=k[b>>2];k[h+(g*12|0)+4>>2]=k[b+4>>2];k[h+(g*12|0)+8>>2]=k[b+8>>2];f=c+12|0;if((e|0)!=(j|0))do{b=e;e=e+-12|0;k[c+-12>>2]=k[e>>2];k[c+-8>>2]=k[b+-8>>2];k[c+-4>>2]=k[b+-4>>2];c=c+-12|0}while((e|0)!=(j|0));k[a>>2]=c;k[m>>2]=f;k[l>>2]=i;if(!d)return;_r(d);return}function fi(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;b=k[a+140>>2]|0;if(b|0){c=a+144|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}f=a+128|0;b=k[f>>2]|0;if(b|0){g=a+132|0;c=k[g>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;k[g>>2]=d;e=k[d>>2]|0;if(!e)c=d;else{c=c+-8|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e);c=k[g>>2]|0}}while((c|0)!=(b|0));b=k[f>>2]|0}_r(b)}b=k[a+100>>2]|0;if(b|0){c=a+104|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}g=a+80|0;c=k[g>>2]|0;k[g>>2]=0;if(!c){g=a+64|0;ds(g);a=a+24|0;ds(a);return}d=c+-4|0;b=k[d>>2]|0;if(b|0){b=c+(b<<4)|0;do{b=b+-16|0;ds(b)}while((b|0)!=(c|0))}Yr(d);g=a+64|0;ds(g);a=a+24|0;ds(a);return}function gi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;if((a|0)==-2){g=0;return g|0}f=k[c+4>>2]|0;if((b|0)<=-1)Ka(20132,20148,55,20247);e=k[f+8>>2]|0;if(((k[f+12>>2]|0)-e>>2|0)<=(b|0))Ka(20257,20148,56,20247);e=k[e+(b<<2)>>2]|0;if((Wa[k[(k[c>>2]|0)+8>>2]&255](c)|0)==1?(g=Zf(c,a,b,d,((l[c+36>>0]|0)<<8|(l[c+37>>0]|0))&65535)|0,g|0):0)return g|0;g=jo(44)|0;k[g>>2]=1740;k[g+4>>2]=e;c=g+8|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[c+16>>2]=k[d+16>>2];k[c+20>>2]=k[d+20>>2];yk(g+32|0,d+24|0);k[g>>2]=1796;return g|0}function hi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;g=u;u=u+16|0;c=g;h=k[(k[a>>2]|0)+8>>2]|0;e=a+8|0;f=a+12|0;d=(k[f>>2]|0)-(k[e>>2]|0)>>2;i=k[b>>2]|0;k[b>>2]=0;k[c>>2]=i;Xa[h&7](a,d,c);d=k[c>>2]|0;k[c>>2]=0;if(!d){h=k[f>>2]|0;i=k[e>>2]|0;i=h-i|0;i=i>>2;i=i+-1|0;u=g;return i|0}i=d+88|0;a=k[i>>2]|0;k[i>>2]=0;if(a|0){b=k[a+8>>2]|0;if(b|0){c=a+12|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;_r(b)}_r(a)}a=k[d+68>>2]|0;if(a|0){b=d+72|0;c=k[b>>2]|0;if((c|0)!=(a|0))k[b>>2]=c+(~((c+-4-a|0)>>>2)<<2);_r(a)}i=d+64|0;a=k[i>>2]|0;k[i>>2]=0;if(a|0){b=k[a>>2]|0;if(b|0){c=a+4|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;_r(b)}_r(a)}_r(d);h=k[f>>2]|0;i=k[e>>2]|0;i=h-i|0;i=i>>2;i=i+-1|0;u=g;return i|0}function ii(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;if((Wa[k[(k[b>>2]|0)+20>>2]&255](b)|0)<=0){b=1;return b|0}g=a+4|0;d=0;while(1){e=k[(k[g>>2]|0)+4>>2]|0;e=gn(e,_a[k[(k[b>>2]|0)+24>>2]&127](b,d)|0)|0;if((e|0)==-1){a=0;c=12;break}a=k[g>>2]|0;f=k[(k[b>>2]|0)+28>>2]|0;if(((l[a+36>>0]|0)<<8&65535)<512){a=k[a+4>>2]|0;if((e|0)<=-1){c=6;break}c=k[a+8>>2]|0;if(((k[a+12>>2]|0)-c>>2|0)<=(e|0)){c=8;break}if(!(_a[f&127](b,k[c+(e<<2)>>2]|0)|0)){a=0;c=12;break}}else{e=bm(a,e)|0;if(!(_a[f&127](b,e)|0)){a=0;c=12;break}}d=d+1|0;if((d|0)>=(Wa[k[(k[b>>2]|0)+20>>2]&255](b)|0)){a=1;c=12;break}}if((c|0)==6)Ka(20132,20148,63,20247);else if((c|0)==8)Ka(20257,20148,64,20247);else if((c|0)==12)return a|0;return 0}function ji(a,b,c){a=a|0;b=b|0;c=c|0;var 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;r=u;u=u+224|0;m=r+120|0;o=r+80|0;p=r;q=r+136|0;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));k[m>>2]=k[c>>2];if((Cb(0,b,m,p,o)|0)<0)c=-1;else{if((k[a+76>>2]|0)>-1)n=es(a)|0;else n=0;c=k[a>>2]|0;l=c&32;if((i[a+74>>0]|0)<1)k[a>>2]=c&-33;d=a+48|0;if(!(k[d>>2]|0)){e=a+44|0;f=k[e>>2]|0;k[e>>2]=q;g=a+28|0;k[g>>2]=q;h=a+20|0;k[h>>2]=q;k[d>>2]=80;j=a+16|0;k[j>>2]=q+80;c=Cb(a,b,m,p,o)|0;if(f){Ra[k[a+36>>2]&31](a,0,0)|0;c=(k[h>>2]|0)==0?-1:c;k[e>>2]=f;k[d>>2]=0;k[j>>2]=0;k[g>>2]=0;k[h>>2]=0}}else c=Cb(a,b,m,p,o)|0;d=k[a>>2]|0;k[a>>2]=d|l;if(n|0)ds(a);c=(d&32|0)==0?c:-1}u=r;return c|0}function ki(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;m=u;u=u+16|0;i=m;if(!(xe(a,b)|0)){j=0;u=m;return j|0}g=b+8|0;h=k[g>>2]|0;g=k[g+4>>2]|0;d=b+16|0;e=d;c=k[e>>2]|0;e=Fp(c|0,k[e+4>>2]|0,4,0)|0;f=M;if((g|0)<(f|0)|(g|0)==(f|0)&h>>>0>>0){j=0;u=m;return j|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;h=d;k[h>>2]=e;k[h+4>>2]=f;if((c|0)<0){j=0;u=m;return j|0}d=a+96|0;c=(k[d>>2]|0)+c|0;k[d>>2]=c;d=a+100|0;k[i>>2]=0;e=a+104|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(c>>>0<=f>>>0){if(c>>>0>>0?(j=g+(c<<2)|0,(h|0)!=(j|0)):0)k[e>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else Yh(d,c-f|0,i);j=Cg(a+112|0,b)|0;u=m;return j|0}function li(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=a+4|0;d=k[f>>2]|0;h=k[a>>2]|0;g=d-h>>2;if(g>>>0>=1048576){if((g|0)!=1048576?(e=h+4194304|0,(d|0)!=(e|0)):0)k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2)}else oj(a,1048576-g|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3);if(!c){j=0;return j|0}}else Zh(d,c-f|0);g=k[d>>2]|0;e=0;f=0;do{i=b+(e<<2)|0;k[g+(e<<3)>>2]=k[i>>2];k[g+(e<<3)+4>>2]=f;d=f;f=(k[i>>2]|0)+f|0;if(f>>>0>1048576){d=0;j=19;break}if(d>>>0>>0){h=k[a>>2]|0;do{k[h+(d<<2)>>2]=e;d=d+1|0}while((d|0)!=(f|0))}e=e+1|0}while(e>>>0>>0);if((j|0)==19)return d|0;j=(f|0)==1048576;return j|0}function mi(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,l=0,m=0,n=0,o=0,p=0;p=u;u=u+64|0;n=p;m=k[a>>2]|0;o=a+(k[m+-8>>2]|0)|0;m=k[m+-4>>2]|0;k[n>>2]=c;k[n+4>>2]=a;k[n+8>>2]=b;k[n+12>>2]=d;a=n+16|0;b=n+20|0;d=n+24|0;e=n+28|0;f=n+32|0;g=n+40|0;h=a;l=h+36|0;do{k[h>>2]=0;h=h+4|0}while((h|0)<(l|0));j[a+36>>1]=0;i[a+38>>0]=0;a:do if(uq(m,c,0)|0){k[n+48>>2]=1;Za[k[(k[m>>2]|0)+20>>2]&3](m,n,o,o,1,0);a=(k[d>>2]|0)==1?o:0}else{Sa[k[(k[m>>2]|0)+24>>2]&3](m,n,o,1,0);switch(k[n+36>>2]|0){case 0:{a=(k[g>>2]|0)==1&(k[e>>2]|0)==1&(k[f>>2]|0)==1?k[b>>2]|0:0;break a}case 1:break;default:{a=0;break a}}if((k[d>>2]|0)!=1?!((k[g>>2]|0)==0&(k[e>>2]|0)==1&(k[f>>2]|0)==1):0){a=0;break}a=k[a>>2]|0}while(0);u=p;return a|0}function ni(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;n=o;m=b+4|0;c=k[m>>2]|0;d=k[b>>2]|0;j=((c-d|0)/12|0)*3|0;l=a+4|0;h=k[l>>2]|0;g=k[a>>2]|0;f=h-g>>2;e=d;if(j>>>0<=f>>>0){if(j>>>0>>0?(i=g+(j<<2)|0,(h|0)!=(i|0)):0)k[l>>2]=h+(~((h+-4-i|0)>>>2)<<2)}else{oj(a,j-f|0);e=k[b>>2]|0;d=e;c=k[m>>2]|0}if((c-d|0)>0){b=k[a>>2]|0;d=(c-e|0)/12|0;c=0;do{m=c*3|0;k[b+(m<<2)>>2]=k[e+(c*12|0)>>2];k[b+(m+1<<2)>>2]=k[e+(c*12|0)+4>>2];k[b+(m+2<<2)>>2]=k[e+(c*12|0)+8>>2];c=c+1|0}while((c|0)<(d|0))}k[n>>2]=-1;if(!(Mb(a,n)|0)){n=0;u=o;return n|0}Bb(a,k[n>>2]|0)|0;n=1;u=o;return n|0}function oi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=a+4|0;d=k[f>>2]|0;h=k[a>>2]|0;g=d-h>>2;if(g>>>0>=524288){if((g|0)!=524288?(e=h+2097152|0,(d|0)!=(e|0)):0)k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2)}else oj(a,524288-g|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3);if(!c){j=0;return j|0}}else Zh(d,c-f|0);g=k[d>>2]|0;e=0;f=0;do{i=b+(e<<2)|0;k[g+(e<<3)>>2]=k[i>>2];k[g+(e<<3)+4>>2]=f;d=f;f=(k[i>>2]|0)+f|0;if(f>>>0>524288){d=0;j=19;break}if(d>>>0>>0){h=k[a>>2]|0;do{k[h+(d<<2)>>2]=e;d=d+1|0}while((d|0)!=(f|0))}e=e+1|0}while(e>>>0>>0);if((j|0)==19)return d|0;j=(f|0)==524288;return j|0}function pi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=a+4|0;d=k[f>>2]|0;h=k[a>>2]|0;g=d-h>>2;if(g>>>0>=262144){if((g|0)!=262144?(e=h+1048576|0,(d|0)!=(e|0)):0)k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2)}else oj(a,262144-g|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3);if(!c){j=0;return j|0}}else Zh(d,c-f|0);g=k[d>>2]|0;e=0;f=0;do{i=b+(e<<2)|0;k[g+(e<<3)>>2]=k[i>>2];k[g+(e<<3)+4>>2]=f;d=f;f=(k[i>>2]|0)+f|0;if(f>>>0>262144){d=0;j=19;break}if(d>>>0>>0){h=k[a>>2]|0;do{k[h+(d<<2)>>2]=e;d=d+1|0}while((d|0)!=(f|0))}e=e+1|0}while(e>>>0>>0);if((j|0)==19)return d|0;j=(f|0)==262144;return j|0}function qi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=a+4|0;d=k[f>>2]|0;h=k[a>>2]|0;g=d-h>>2;if(g>>>0>=65536){if((g|0)!=65536?(e=h+262144|0,(d|0)!=(e|0)):0)k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2)}else oj(a,65536-g|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3);if(!c){j=0;return j|0}}else Zh(d,c-f|0);g=k[d>>2]|0;e=0;f=0;do{i=b+(e<<2)|0;k[g+(e<<3)>>2]=k[i>>2];k[g+(e<<3)+4>>2]=f;d=f;f=(k[i>>2]|0)+f|0;if(f>>>0>65536){d=0;j=19;break}if(d>>>0>>0){h=k[a>>2]|0;do{k[h+(d<<2)>>2]=e;d=d+1|0}while((d|0)!=(f|0))}e=e+1|0}while(e>>>0>>0);if((j|0)==19)return d|0;j=(f|0)==65536;return j|0}function ri(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=a+4|0;d=k[f>>2]|0;h=k[a>>2]|0;g=d-h>>2;if(g>>>0>=32768){if((g|0)!=32768?(e=h+131072|0,(d|0)!=(e|0)):0)k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2)}else oj(a,32768-g|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3);if(!c){j=0;return j|0}}else Zh(d,c-f|0);g=k[d>>2]|0;e=0;f=0;do{i=b+(e<<2)|0;k[g+(e<<3)>>2]=k[i>>2];k[g+(e<<3)+4>>2]=f;d=f;f=(k[i>>2]|0)+f|0;if(f>>>0>32768){d=0;j=19;break}if(d>>>0>>0){h=k[a>>2]|0;do{k[h+(d<<2)>>2]=e;d=d+1|0}while((d|0)!=(f|0))}e=e+1|0}while(e>>>0>>0);if((j|0)==19)return d|0;j=(f|0)==32768;return j|0}function si(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a+4|0;c=k[f>>2]|0;d=k[a>>2]|0;e=c-d>>2;if(e>>>0>>0){Hg(a,b-e|0);return}if(e>>>0<=b>>>0)return;e=d+(b<<2)|0;if((c|0)==(e|0))return;do{b=c+-4|0;k[f>>2]=b;d=k[b>>2]|0;k[b>>2]=0;if(d|0){b=d+88|0;c=k[b>>2]|0;k[b>>2]=0;if(c|0){a=k[c+8>>2]|0;if(a|0){b=c+12|0;if((k[b>>2]|0)!=(a|0))k[b>>2]=a;_r(a)}_r(c)}c=k[d+68>>2]|0;if(c|0){a=d+72|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);_r(c)}b=d+64|0;c=k[b>>2]|0;k[b>>2]=0;if(c|0){a=k[c>>2]|0;if(a|0){b=c+4|0;if((k[b>>2]|0)!=(a|0))k[b>>2]=a;_r(a)}_r(c)}_r(d)}c=k[f>>2]|0}while((c|0)!=(e|0));return}function ti(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=a+4|0;d=k[f>>2]|0;h=k[a>>2]|0;g=d-h>>2;if(g>>>0>=8192){if((g|0)!=8192?(e=h+32768|0,(d|0)!=(e|0)):0)k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2)}else oj(a,8192-g|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3);if(!c){j=0;return j|0}}else Zh(d,c-f|0);g=k[d>>2]|0;e=0;f=0;do{i=b+(e<<2)|0;k[g+(e<<3)>>2]=k[i>>2];k[g+(e<<3)+4>>2]=f;d=f;f=(k[i>>2]|0)+f|0;if(f>>>0>8192){d=0;j=19;break}if(d>>>0>>0){h=k[a>>2]|0;do{k[h+(d<<2)>>2]=e;d=d+1|0}while((d|0)!=(f|0))}e=e+1|0}while(e>>>0>>0);if((j|0)==19)return d|0;j=(f|0)==8192;return j|0}function ui(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=a+4|0;d=k[f>>2]|0;h=k[a>>2]|0;g=d-h>>2;if(g>>>0>=4096){if((g|0)!=4096?(e=h+16384|0,(d|0)!=(e|0)):0)k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2)}else oj(a,4096-g|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3);if(!c){j=0;return j|0}}else Zh(d,c-f|0);g=k[d>>2]|0;e=0;f=0;do{i=b+(e<<2)|0;k[g+(e<<3)>>2]=k[i>>2];k[g+(e<<3)+4>>2]=f;d=f;f=(k[i>>2]|0)+f|0;if(f>>>0>4096){d=0;j=19;break}if(d>>>0>>0){h=k[a>>2]|0;do{k[h+(d<<2)>>2]=e;d=d+1|0}while((d|0)!=(f|0))}e=e+1|0}while(e>>>0>>0);if((j|0)==19)return d|0;j=(f|0)==4096;return j|0}function vi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;if(b>>>0>4294967279)Fq(a);g=a+11|0;d=i[g>>0]|0;e=d<<24>>24<0;if(e){h=k[a+4>>2]|0;c=(k[a+8>>2]&2147483647)+-1|0}else{h=d&255;c=10}f=h>>>0>b>>>0?h:b;b=f>>>0<11;f=b?10:(f+16&-16)+-1|0;do if((f|0)!=(c|0)){do if(b){b=k[a>>2]|0;if(e){e=0;c=b;b=a;d=13}else{Qp(a,b,(d&255)+1|0)|0;_r(b);d=15}}else{b=jo(f+1|0)|0;if(e){e=1;c=k[a>>2]|0;d=13;break}else{Qp(b,a,(d&255)+1|0)|0;d=14;break}}while(0);if((d|0)==13){Qp(b,c,(k[a+4>>2]|0)+1|0)|0;_r(c);if(e)d=14;else d=15}if((d|0)==14){k[a+8>>2]=f+1|-2147483648;k[a+4>>2]=h;k[a>>2]=b;break}else if((d|0)==15){i[g>>0]=h;break}}while(0);return}function wi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;c=k[b+88>>2]|0;if(!c){a=0;return a|0}if((k[c>>2]|0)!=1){a=0;return a|0}n=c+8|0;g=k[n>>2]|0;k[a+4>>2]=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;o=a+8|0;c=b+24|0;b=i[c>>0]|0;d=b<<24>>24;e=a+12|0;j=k[e>>2]|0;h=k[o>>2]|0;f=j-h>>2;if(d>>>0<=f>>>0){if(d>>>0>>0?(m=h+(d<<2)|0,(j|0)!=(m|0)):0)k[e>>2]=j+(~((j+-4-m|0)>>>2)<<2)}else{oj(o,d-f|0);b=i[c>>0]|0;g=k[n>>2]|0}c=g+4|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;if(b<<24>>24>0){f=k[o>>2]|0;e=b<<24>>24;b=4;d=0;do{k[f+(d<<2)>>2]=c;b=b+4|0;d=d+1|0;c=g+b|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24}while((d|0)<(e|0))}k[a+20>>2]=c;a=1;return a|0}function xi(a,b){a=a|0;b=b|0;var c=0,d=0,e=Pa;if((b|0)!=1){if(b+-1&b)b=hb(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){Xd(a,b);return}if(b>>>0>=d>>>0)return;e=da((k[a+12>>2]|0)>>>0);c=~~da(_(da(e/da(o[a+20>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ca(c+-1|0)|0);else c=hb(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Xd(a,b);return}function yi(a,b,c){a=a|0;b=b|0;c=c|0;a=Ld(a,b)|0;if(!a){c=0;return c|0}b=k[a+20>>2]|0;if(((k[a+24>>2]|0)-b|0)!=8){c=0;return c|0}i[s>>0]=i[b>>0];i[s+1>>0]=i[b+1>>0];i[s+2>>0]=i[b+2>>0];i[s+3>>0]=i[b+3>>0];i[s+4>>0]=i[b+4>>0];i[s+5>>0]=i[b+5>>0];i[s+6>>0]=i[b+6>>0];i[s+7>>0]=i[b+7>>0];p[s>>3]=+p[s>>3];i[c>>0]=i[s>>0];i[c+1>>0]=i[s+1>>0];i[c+2>>0]=i[s+2>>0];i[c+3>>0]=i[s+3>>0];i[c+4>>0]=i[s+4>>0];i[c+5>>0]=i[s+5>>0];i[c+6>>0]=i[s+6>>0];i[c+7>>0]=i[s+7>>0];c=1;return c|0}function zi(a){a=a|0;vr(a);vr(a+16|0);vr(a+32|0);vr(a+48|0);vr(a+64|0);vr(a+80|0);vr(a+96|0);vr(a+112|0);vr(a+128|0);vr(a+144|0);vr(a+160|0);vr(a+176|0);vr(a+192|0);vr(a+208|0);vr(a+224|0);vr(a+240|0);vr(a+256|0);vr(a+272|0);vr(a+288|0);vr(a+304|0);vr(a+320|0);vr(a+336|0);vr(a+352|0);vr(a+368|0);vr(a+384|0);vr(a+400|0);vr(a+416|0);vr(a+432|0);vr(a+448|0);vr(a+464|0);vr(a+480|0);vr(a+496|0);return}function Ai(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=(k[a>>2]|0)+1794895138|0;f=wq(k[a+8>>2]|0,o)|0;d=wq(k[a+12>>2]|0,o)|0;e=wq(k[a+16>>2]|0,o)|0;a:do if((f>>>0>>2>>>0?(n=b-(f<<2)|0,d>>>0>>0&e>>>0>>0):0)?((e|d)&3|0)==0:0){n=d>>>2;m=e>>>2;l=0;while(1){h=f>>>1;j=l+h|0;g=j<<1;e=g+n|0;d=wq(k[a+(e<<2)>>2]|0,o)|0;e=wq(k[a+(e+1<<2)>>2]|0,o)|0;if(!(e>>>0>>0&d>>>0<(b-e|0)>>>0)){d=0;break a}if(i[a+(e+d)>>0]|0){d=0;break a}d=ym(c,a+e|0)|0;if(!d)break;d=(d|0)<0;if((f|0)==1){d=0;break a}else{l=d?l:j;f=d?h:f-h|0}}d=g+m|0;e=wq(k[a+(d<<2)>>2]|0,o)|0;d=wq(k[a+(d+1<<2)>>2]|0,o)|0;if(d>>>0>>0&e>>>0<(b-d|0)>>>0)d=(i[a+(d+e)>>0]|0)==0?a+d|0:0;else d=0}else d=0;while(0);return d|0}function Bi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;if((a|0)==-2){g=0;return g|0}f=k[c+4>>2]|0;if((b|0)<=-1)Ka(20132,20148,55,20247);e=k[f+8>>2]|0;if(((k[f+12>>2]|0)-e>>2|0)<=(b|0))Ka(20257,20148,56,20247);e=k[e+(b<<2)>>2]|0;if((Wa[k[(k[c>>2]|0)+8>>2]&255](c)|0)==1?(g=Vf(c,a,b,d,((l[c+36>>0]|0)<<8|(l[c+37>>0]|0))&65535)|0,g|0):0)return g|0;g=jo(28)|0;k[g+4>>2]=e;c=g+12|0;d=d+4|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[g+8>>2]=2604;k[g>>2]=2624;return g|0}function Ci(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+16|0;h=i+4|0;g=i;k[a>>2]=0;k[a+8>>2]=b;zi(a+12|0);vr(a+524|0);rp(a+540|0);rp(a+560|0);rp(a+580|0);k[h>>2]=0;Ik(a+600|0,b,h);k[h>>2]=0;Ik(a+612|0,b,h);c=b<<5|1;k[g>>2]=0;Ik(h,b,g);Dk(a+624|0,c,h);d=k[h>>2]|0;if(d|0){e=h+4|0;f=k[e>>2]|0;if((f|0)!=(d|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);_r(d)}k[g>>2]=0;Ik(h,b,g);Dk(a+636|0,c,h);c=k[h>>2]|0;if(!c){u=i;return}a=h+4|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);_r(c);u=i;return}function Di(a,b){a=a|0;b=b|0;var c=0,d=0,e=Pa;if((b|0)!=1){if(b+-1&b)b=hb(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){cd(a,b);return}if(b>>>0>=d>>>0)return;e=da((k[a+12>>2]|0)>>>0);c=~~da(_(da(e/da(o[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ca(c+-1|0)|0);else c=hb(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;cd(a,b);return}function Ei(a,b){a=a|0;b=b|0;var c=0,d=0,e=Pa;if((b|0)!=1){if(b+-1&b)b=hb(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){ud(a,b);return}if(b>>>0>=d>>>0)return;e=da((k[a+12>>2]|0)>>>0);c=~~da(_(da(e/da(o[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ca(c+-1|0)|0);else c=hb(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;ud(a,b);return}function Fi(a,b){a=a|0;b=b|0;var c=0,d=0,e=Pa;if((b|0)!=1){if(b+-1&b)b=hb(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){Md(a,b);return}if(b>>>0>=d>>>0)return;e=da((k[a+12>>2]|0)>>>0);c=~~da(_(da(e/da(o[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ca(c+-1|0)|0);else c=hb(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Md(a,b);return}function Gi(a,b){a=a|0;b=b|0;var c=0,d=0,e=Pa;if((b|0)!=1){if(b+-1&b)b=hb(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){ie(a,b);return}if(b>>>0>=d>>>0)return;e=da((k[a+12>>2]|0)>>>0);c=~~da(_(da(e/da(o[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ca(c+-1|0)|0);else c=hb(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;ie(a,b);return}function Hi(a,b){a=a|0;b=b|0;var c=0,d=0,e=Pa;if((b|0)!=1){if(b+-1&b)b=hb(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){ed(a,b);return}if(b>>>0>=d>>>0)return;e=da((k[a+12>>2]|0)>>>0);c=~~da(_(da(e/da(o[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ca(c+-1|0)|0);else c=hb(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;ed(a,b);return}function Ii(a,b){a=a|0;b=b|0;var c=0,d=0,e=Pa;if((b|0)!=1){if(b+-1&b)b=hb(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){wd(a,b);return}if(b>>>0>=d>>>0)return;e=da((k[a+12>>2]|0)>>>0);c=~~da(_(da(e/da(o[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ca(c+-1|0)|0);else c=hb(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;wd(a,b);return}function Ji(a,b){a=a|0;b=b|0;var c=0,d=0,e=Pa;if((b|0)!=1){if(b+-1&b)b=hb(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){Od(a,b);return}if(b>>>0>=d>>>0)return;e=da((k[a+12>>2]|0)>>>0);c=~~da(_(da(e/da(o[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ca(c+-1|0)|0);else c=hb(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Od(a,b);return}function Ki(a,b){a=a|0;b=b|0;var c=0,d=0,e=Pa;if((b|0)!=1){if(b+-1&b)b=hb(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){fd(a,b);return}if(b>>>0>=d>>>0)return;e=da((k[a+12>>2]|0)>>>0);c=~~da(_(da(e/da(o[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ca(c+-1|0)|0);else c=hb(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;fd(a,b);return}function Li(a,b){a=a|0;b=b|0;var c=0,d=0,e=Pa;if((b|0)!=1){if(b+-1&b)b=hb(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){xd(a,b);return}if(b>>>0>=d>>>0)return;e=da((k[a+12>>2]|0)>>>0);c=~~da(_(da(e/da(o[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ca(c+-1|0)|0);else c=hb(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;xd(a,b);return}function Mi(a,b){a=a|0;b=b|0;var c=0,d=0,e=Pa;if((b|0)!=1){if(b+-1&b)b=hb(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){Pd(a,b);return}if(b>>>0>=d>>>0)return;e=da((k[a+12>>2]|0)>>>0);c=~~da(_(da(e/da(o[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ca(c+-1|0)|0);else c=hb(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Pd(a,b);return}function Ni(a,b){a=a|0;b=b|0;var c=0,d=0,e=Pa;if((b|0)!=1){if(b+-1&b)b=hb(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){je(a,b);return}if(b>>>0>=d>>>0)return;e=da((k[a+12>>2]|0)>>>0);c=~~da(_(da(e/da(o[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ca(c+-1|0)|0);else c=hb(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;je(a,b);return}function Oi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;a=k[a+4>>2]|0;if(!a){m=0;return m|0}j=i[b+11>>0]|0;h=j<<24>>24<0;j=h?k[b+4>>2]|0:j&255;h=h?k[b>>2]|0:b;while(1){d=a+16|0;c=i[d+11>>0]|0;e=c<<24>>24<0;c=e?k[a+20>>2]|0:c&255;f=c>>>0>>0;b=f?c:j;if((b|0)!=0?(l=lm(h,e?k[d>>2]|0:d,b)|0,(l|0)!=0):0)if((l|0)<0)g=7;else g=8;else if(j>>>0>>0)g=7;else g=8;if((g|0)!=7)if((g|0)==8){g=0;b=j>>>0>>0?j:c;if((b|0)!=0?(m=lm(e?k[d>>2]|0:d,h,b)|0,(m|0)!=0):0){if((m|0)>=0){a=1;g=14;break}}else g=10;if((g|0)==10?(0,!f):0){a=1;g=14;break}a=a+4|0}a=k[a>>2]|0;if(!a){a=0;g=14;break}}if((g|0)==14)return a|0;return 0}function Pi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;if((a|0)==-2){g=0;return g|0}f=k[c+4>>2]|0;if((b|0)<=-1)Ka(20132,20148,55,20247);e=k[f+8>>2]|0;if(((k[f+12>>2]|0)-e>>2|0)<=(b|0))Ka(20257,20148,56,20247);e=k[e+(b<<2)>>2]|0;if((Wa[k[(k[c>>2]|0)+8>>2]&255](c)|0)==1?(g=Xf(c,a,b,d,((l[c+36>>0]|0)<<8|(l[c+37>>0]|0))&65535)|0,g|0):0)return g|0;g=jo(28)|0;k[g+4>>2]=e;c=g+12|0;d=d+4|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[g+8>>2]=2584;k[g>>2]=3352;return g|0}function Qi(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;g=jo(32)|0;k[a>>2]=g;k[a+4>>2]=b+8;e=a+8|0;i[e>>0]=0;h=g+8|0;k[h>>2]=k[d>>2];k[h+4>>2]=k[d+4>>2];k[h+8>>2]=k[d+8>>2];k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;h=g+20|0;f=d+12|0;k[h>>2]=0;k[g+24>>2]=0;k[g+28>>2]=0;g=k[f>>2]|0;b=(k[d+16>>2]|0)-g|0;if(!b){d=0;h=g;Gh(d|0,h|0,b|0)|0;i[e>>0]=1;a=k[a>>2]|0;h=a+4|0;k[h>>2]=c;k[a>>2]=0;return}qj(h,b);d=k[h>>2]|0;h=k[f>>2]|0;Gh(d|0,h|0,b|0)|0;i[e>>0]=1;a=k[a>>2]|0;h=a+4|0;k[h>>2]=c;k[a>>2]=0;return}function Ri(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=k[b>>2]|0;e=k[a+12>>2]|0;if((h|0)>(e|0))Ka(10282,9461,259,10306);d=k[c>>2]|0;if((d|0)>(e|0))Ka(10320,9461,260,10306);a=0-e|0;if((h|0)<(a|0))Ka(10344,9461,261,10306);if((d|0)<(a|0))Ka(10369,9461,262,10306);if((d|h|0)>-1){f=1;a=1}else{a=(h|0)<1&(d|0)<1;f=a?-1:(h|0)>0?1:-1;a=a?-1:(d|0)>0?1:-1}g=$(e,f)|0;e=$(e,a)|0;k[b>>2]=(h<<1)-g;d=(k[c>>2]<<1)-e|0;k[c>>2]=d;h=($(f,a)|0)>-1;a=k[b>>2]|0;if(h){k[b>>2]=0-d;h=0-a|0;k[c>>2]=h;h=k[b>>2]|0;h=h+g|0;h=(h|0)/2|0;k[b>>2]=h;b=k[c>>2]|0;b=b+e|0;b=(b|0)/2|0;k[c>>2]=b;return}else{k[b>>2]=d;h=a;k[c>>2]=h;h=k[b>>2]|0;h=h+g|0;h=(h|0)/2|0;k[b>>2]=h;b=k[c>>2]|0;b=b+e|0;b=(b|0)/2|0;k[c>>2]=b;return}}function Si(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=u;u=u+32|0;d=e;switch(c|0){case 2:{f=k[a+12>>2]|0;c=k[a+4>>2]|0;a=d+4|0;k[a>>2]=-1;k[a+4>>2]=-1;k[a+8>>2]=-1;k[a+12>>2]=-1;k[d>>2]=2584;d=Pi(b,f,c,d)|0;u=e;return d|0}case 3:{c=k[a+12>>2]|0;f=k[a+4>>2]|0;a=d+4|0;k[a>>2]=-1;k[a+4>>2]=-1;k[a+8>>2]=-1;k[a+12>>2]=-1;k[d>>2]=2604;f=Bi(b,c,f,d)|0;u=e;return f|0}default:{f=0;u=e;return f|0}}return 0}function Ti(a,b){a=a|0;b=b|0;var c=0,d=0,e=Pa;if((b|0)!=1){if(b+-1&b)b=hb(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){qd(a,b);return}if(b>>>0>=d>>>0)return;e=da((k[a+12>>2]|0)>>>0);c=~~da(_(da(e/da(o[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ca(c+-1|0)|0);else c=hb(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;qd(a,b);return}function Ui(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a+4|0;e=k[f>>2]|0;c=k[a>>2]|0;d=(e-c|0)/116|0;if(d>>>0>>0){ng(a,b-d|0);return}if(d>>>0<=b>>>0)return;d=c+(b*116|0)|0;if((e|0)==(d|0))return;do{k[f>>2]=e+-116;a=k[e+-12>>2]|0;if(a|0){b=e+-8|0;c=k[b>>2]|0;if((c|0)!=(a|0))k[b>>2]=c+(~((c+-4-a|0)>>>2)<<2);_r(a)}a=k[e+-28>>2]|0;if(a|0){b=e+-24|0;c=k[b>>2]|0;if((c|0)!=(a|0))k[b>>2]=c+(~((c+-4-a|0)>>>2)<<2);_r(a)}a=k[e+-40>>2]|0;if(a|0){b=e+-36|0;c=k[b>>2]|0;if((c|0)!=(a|0))k[b>>2]=c+(~((c+-4-a|0)>>>2)<<2);_r(a)}vk(e+-112|0);e=k[f>>2]|0}while((e|0)!=(d|0));return}function Vi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+16|0;h=i+4|0;g=i;k[a>>2]=0;k[a+8>>2]=b;rp(a+12|0);rp(a+32|0);rp(a+52|0);rp(a+72|0);k[h>>2]=0;Ik(a+92|0,b,h);k[h>>2]=0;Ik(a+104|0,b,h);c=b<<5|1;k[g>>2]=0;Ik(h,b,g);Dk(a+116|0,c,h);d=k[h>>2]|0;if(d|0){e=h+4|0;f=k[e>>2]|0;if((f|0)!=(d|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);_r(d)}k[g>>2]=0;Ik(h,b,g);Dk(a+128|0,c,h);c=k[h>>2]|0;if(!c){u=i;return}a=h+4|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);_r(c);u=i;return}function Wi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0;l=a+8|0;c=k[l>>2]|0;d=i[c+24>>0]|0;h=d<<24>>24;m=h<<1;n=Xr(h>>>0>2147483647?-1:h<<1)|0;g=k[a+16>>2]|0;g=(k[k[g>>2]>>2]|0)+(k[g+48>>2]|0)|0;if(!b){Yr(n);return}if(d<<24>>24>0){c=0;d=0;e=0;while(1){a=0;f=e;while(1){j[n+(a<<1)>>1]=k[g+(f<<2)>>2];a=a+1|0;if((a|0)==(h|0))break;else f=f+1|0}Gh((k[k[(k[l>>2]|0)+64>>2]>>2]|0)+d|0,n|0,m|0)|0;c=c+1|0;if((c|0)==(b|0))break;else{d=d+m|0;e=h+e|0}}Yr(n);return}else{Gh(k[k[c+64>>2]>>2]|0,n|0,m|0)|0;if((b|0)==1){Yr(n);return}else{a=0;c=1}do{a=a+m|0;Gh((k[k[(k[l>>2]|0)+64>>2]>>2]|0)+a|0,n|0,m|0)|0;c=c+1|0}while((c|0)!=(b|0));Yr(n);return}}function Xi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;j=a+8|0;c=k[j>>2]|0;d=i[c+24>>0]|0;h=d<<24>>24;l=h<<2;m=Xr(h>>>0>1073741823?-1:h<<2)|0;g=k[a+16>>2]|0;g=(k[k[g>>2]>>2]|0)+(k[g+48>>2]|0)|0;if(!b){Yr(m);return}if(d<<24>>24>0){c=0;d=0;e=0;while(1){a=0;f=e;while(1){k[m+(a<<2)>>2]=k[g+(f<<2)>>2];a=a+1|0;if((a|0)==(h|0))break;else f=f+1|0}Gh((k[k[(k[j>>2]|0)+64>>2]>>2]|0)+d|0,m|0,l|0)|0;c=c+1|0;if((c|0)==(b|0))break;else{d=d+l|0;e=h+e|0}}Yr(m);return}else{Gh(k[k[c+64>>2]>>2]|0,m|0,l|0)|0;if((b|0)==1){Yr(m);return}else{a=0;c=1}do{a=a+l|0;Gh((k[k[(k[j>>2]|0)+64>>2]>>2]|0)+a|0,m|0,l|0)|0;c=c+1|0}while((c|0)!=(b|0));Yr(m);return}}function Yi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+16|0;h=i+4|0;g=i;k[a>>2]=0;k[a+8>>2]=b;vr(a+12|0);rp(a+28|0);rp(a+48|0);rp(a+68|0);k[h>>2]=0;Ik(a+88|0,b,h);k[h>>2]=0;Ik(a+100|0,b,h);c=b<<5|1;k[g>>2]=0;Ik(h,b,g);Dk(a+112|0,c,h);d=k[h>>2]|0;if(d|0){e=h+4|0;f=k[e>>2]|0;if((f|0)!=(d|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);_r(d)}k[g>>2]=0;Ik(h,b,g);Dk(a+124|0,c,h);c=k[h>>2]|0;if(!c){u=i;return}a=h+4|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);_r(c);u=i;return}function Zi(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=1620;e=a+60|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0)Ta[k[(k[b>>2]|0)+4>>2]&127](b);d=k[a+48>>2]|0;if(d|0){b=a+52|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);_r(d)}d=a+36|0;b=k[d>>2]|0;if(b|0){e=a+40|0;c=k[e>>2]|0;if((c|0)!=(b|0)){do{f=c+-4|0;k[e>>2]=f;c=k[f>>2]|0;k[f>>2]=0;if(c|0)Ta[k[(k[c>>2]|0)+4>>2]&127](c);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}_r(b)}k[a>>2]=1460;b=k[a+16>>2]|0;if(b|0){c=a+20|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}d=k[a+4>>2]|0;if(!d)return;b=a+8|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);_r(d);return}function _i(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=k[a+4>>2]|0;g=a+8|0;b=k[g>>2]|0;if((b|0)!=(f|0))do{d=b+-4|0;k[g>>2]=d;e=k[d>>2]|0;k[d>>2]=0;if(e|0){d=e+88|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0){c=k[b+8>>2]|0;if(c|0){d=b+12|0;if((k[d>>2]|0)!=(c|0))k[d>>2]=c;_r(c)}_r(b)}b=k[e+68>>2]|0;if(b|0){c=e+72|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}d=e+64|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0){c=k[b>>2]|0;if(c|0){d=b+4|0;if((k[d>>2]|0)!=(c|0))k[d>>2]=c;_r(c)}_r(b)}_r(e)}b=k[g>>2]|0}while((b|0)!=(f|0));b=k[a>>2]|0;if(!b)return;_r(b);return}function $i(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;b=k[a>>2]|0;if(!b)return;g=a+4|0;c=k[g>>2]|0;if((c|0)!=(b|0)){do{e=c+-4|0;k[g>>2]=e;f=k[e>>2]|0;k[e>>2]=0;if(f|0){e=f+88|0;c=k[e>>2]|0;k[e>>2]=0;if(c|0){d=k[c+8>>2]|0;if(d|0){e=c+12|0;if((k[e>>2]|0)!=(d|0))k[e>>2]=d;_r(d)}_r(c)}c=k[f+68>>2]|0;if(c|0){d=f+72|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);_r(c)}e=f+64|0;c=k[e>>2]|0;k[e>>2]=0;if(c|0){d=k[c>>2]|0;if(d|0){e=c+4|0;if((k[e>>2]|0)!=(d|0))k[e>>2]=d;_r(d)}_r(c)}_r(f)}c=k[g>>2]|0}while((c|0)!=(b|0));b=k[a>>2]|0}_r(b);return}function aj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;j=b+8|0;i=k[j>>2]|0;j=k[j+4>>2]|0;m=b+16|0;d=m;c=k[d>>2]|0;d=k[d+4>>2]|0;h=Fp(c|0,d|0,4,0)|0;e=M;if((j|0)<(e|0)|(j|0)==(e|0)&i>>>0>>0){a=0;return a|0}f=k[b>>2]|0;g=f+c|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=m;k[b>>2]=h;k[b+4>>2]=e;b=Fp(c|0,d|0,8,0)|0;c=M;if((j|0)<(c|0)|(j|0)==(c|0)&i>>>0>>0){a=0;return a|0}j=f+h|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;k[m>>2]=b;k[m+4>>2]=c;k[a+12>>2]=g;k[a+16>>2]=j;m=j+(1-g)|0;k[a+20>>2]=m;b=(m|0)/2|0;c=a+24|0;k[c>>2]=b;k[a+28>>2]=0-b;if(m&1|0){a=1;return a|0}k[c>>2]=b+-1;a=1;return a|0}function bj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=b+8|0;h=k[i>>2]|0;i=k[i+4>>2]|0;j=b+16|0;d=j;c=k[d>>2]|0;d=k[d+4>>2]|0;e=Fp(c|0,d|0,4,0)|0;f=M;if((i|0)<(f|0)|(i|0)==(f|0)&h>>>0>>0)return 0;g=(k[b>>2]|0)+c|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=j;k[b>>2]=e;k[b+4>>2]=f;b=Fp(c|0,d|0,8,0)|0;c=M;if((i|0)<(c|0)|(i|0)==(c|0)&h>>>0>>0)return 0;k[j>>2]=b;k[j+4>>2]=c;if(((g|0)%2|0|0)!=1)Ka(10394,10427,69,10595);b=(ca(g|0)|0)^31;c=b+1|0;if(!b)Ka(9450,9461,60,9584);if(c>>>0<31){k[a+4>>2]=c;j=2<>2]=j+-1;j=j+-2|0;k[a+12>>2]=j;k[a+16>>2]=(j|0)/2|0;return (b+-1|0)>>>0<29|0}else Ka(9604,9461,61,9584);return 0}function cj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=Pa;n=u;u=u+32|0;g=n+16|0;j=n;l=a+8|0;m=i[(k[l>>2]|0)+24>>0]<<2;h=k[a+16>>2]|0;h=(k[k[h>>2]>>2]|0)+(k[h+48>>2]|0)|0;a=k[a+24>>2]|0;if((a|0)<=1)Ka(9450,9461,60,9584);if((a|0)>=31)Ka(9604,9461,61,9584);k[j>>2]=a;c=1<>2]=c+-1;c=c+-2|0;f=j+8|0;k[f>>2]=c;k[j+12>>2]=(c|0)/2|0;if(!b){u=n;return 1}d=0;a=0;e=0;while(1){o=da(da(1.0)/da(c|0));Mg(j,da(da(k[h+(e<<2)>>2]|0)*o),da(da(k[h+((e|1)<<2)>>2]|0)*o),g);Gh((k[k[(k[l>>2]|0)+64>>2]>>2]|0)+d|0,g|0,m|0)|0;a=a+1|0;if((a|0)==(b|0))break;d=d+m|0;e=e+2|0;c=k[f>>2]|0}u=n;return 1}function dj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+32|0;h=m+16|0;i=m+8|0;j=m;l=k[b>>2]|0;g=k[a+16>>2]<<1;if((l|0)>(g|0))Ka(9701,9746,69,9932);e=k[b+4>>2]|0;if((e|0)>(g|0))Ka(9953,9746,70,9932);f=k[c>>2]|0;if((f|0)>(g|0))Ka(9998,9746,71,9932);b=k[c+4>>2]|0;if((b|0)>(g|0))Ka(10043,9746,72,9932);if((l|0)<=-1)Ka(10088,9746,74,9932);if((e|0)<=-1)Ka(10110,9746,75,9932);if((f|0)<=-1)Ka(10132,9746,76,9932);if((b|0)>-1){k[i>>2]=l;k[i+4>>2]=e;k[j>>2]=f;k[j+4>>2]=b;rf(h,a,i,j);k[d>>2]=k[h>>2];k[d+4>>2]=k[h+4>>2];u=m;return}else Ka(10154,9746,77,9932)}function ej(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=b+8|0;h=k[i>>2]|0;i=k[i+4>>2]|0;j=b+16|0;d=j;c=k[d>>2]|0;d=k[d+4>>2]|0;e=Fp(c|0,d|0,4,0)|0;f=M;if((i|0)<(f|0)|(i|0)==(f|0)&h>>>0>>0){a=0;return a|0}g=(k[b>>2]|0)+c|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=j;k[b>>2]=e;k[b+4>>2]=f;b=Fp(c|0,d|0,8,0)|0;c=M;if((i|0)<(c|0)|(i|0)==(c|0)&h>>>0>>0){a=0;return a|0}k[j>>2]=b;k[j+4>>2]=c;if(((g|0)%2|0|0)!=1)Ka(10394,10427,69,10595);b=(ca(g|0)|0)^31;c=b+1|0;if(!b)Ka(9450,9461,60,9584);if(c>>>0>=31)Ka(9604,9461,61,9584);k[a+4>>2]=c;j=2<>2]=j+-1;j=j+-2|0;k[a+12>>2]=j;k[a+16>>2]=(j|0)/2|0;a=1;return a|0}function fj(a,b){a=a|0;b=b|0;var c=0,d=0,e=Pa;if((b|0)!=1){if(b+-1&b)b=hb(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){ne(a,b);return}if(b>>>0>=d>>>0)return;e=da((k[a+12>>2]|0)>>>0);c=~~da(_(da(e/da(o[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ca(c+-1|0)|0);else c=hb(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;ne(a,b);return}function gj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+32|0;h=m+16|0;i=m+8|0;j=m;l=k[b>>2]|0;g=k[a+16>>2]<<1;if((l|0)>(g|0))Ka(9701,14650,62,9932);e=k[b+4>>2]|0;if((e|0)>(g|0))Ka(9953,14650,63,9932);f=k[c>>2]|0;if((f|0)>(g|0))Ka(9998,14650,64,9932);b=k[c+4>>2]|0;if((b|0)>(g|0))Ka(10043,14650,65,9932);if((l|0)<=-1)Ka(10088,14650,67,9932);if((e|0)<=-1)Ka(10110,14650,68,9932);if((f|0)<=-1)Ka(10132,14650,69,9932);if((b|0)>-1){k[h>>2]=f;k[h+4>>2]=b;k[j>>2]=l;k[j+4>>2]=e;Yg(i,a,j,h);k[d>>2]=k[i>>2];k[d+4>>2]=k[i+4>>2];u=m;return}else Ka(10154,14650,70,9932)}function hj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=b&255;d=(c|0)!=0;a:do if(d&(a&3|0)!=0){e=b&255;while(1){if((i[a>>0]|0)==e<<24>>24){g=6;break a}a=a+1|0;c=c+-1|0;d=(c|0)!=0;if(!(d&(a&3|0)!=0)){g=5;break}}}else g=5;while(0);if((g|0)==5)if(d)g=6;else c=0;b:do if((g|0)==6){e=b&255;if((i[a>>0]|0)!=e<<24>>24){d=$(f,16843009)|0;c:do if(c>>>0>3)while(1){f=k[a>>2]^d;if((f&-2139062144^-2139062144)&f+-16843009|0)break;a=a+4|0;c=c+-4|0;if(c>>>0<=3){g=11;break c}}else g=11;while(0);if((g|0)==11)if(!c){c=0;break}while(1){if((i[a>>0]|0)==e<<24>>24)break b;a=a+1|0;c=c+-1|0;if(!c){c=0;break}}}}while(0);return (c|0?a:0)|0}function ij(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=a+12|0;f=k[e>>2]|0;k[e>>2]=0;if(!f){Jp(a);return}b=k[f+28>>2]|0;if(b|0)do{e=b;b=k[b>>2]|0;ij(e+8|0);_r(e)}while((b|0)!=0);e=f+20|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0)_r(b);b=k[f+8>>2]|0;if(b|0)do{c=b;b=k[b>>2]|0;d=k[c+20>>2]|0;if(d|0){e=c+24|0;if((k[e>>2]|0)!=(d|0))k[e>>2]=d;_r(d)}Jp(c+8|0);_r(c)}while((b|0)!=0);b=k[f>>2]|0;k[f>>2]=0;if(b|0)_r(b);_r(f);Jp(a);return}function jj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=a+4|0;d=k[j>>2]|0;c=k[a>>2]|0;e=((d-c|0)/12|0)+1|0;if(e>>>0>357913941){Jq(a);c=k[a>>2]|0;d=k[j>>2]|0}i=a+8|0;h=((k[i>>2]|0)-c|0)/12|0;g=h<<1;g=h>>>0<178956970?(g>>>0>>0?e:g):357913941;e=(d-c|0)/12|0;do if(g)if(g>>>0>357913941){j=Ma(4)|0;Cr(j);wa(j|0,1344,125)}else{h=jo(g*12|0)|0;break}else h=0;while(0);f=h+(e*12|0)|0;k[f>>2]=k[b>>2];k[f+4>>2]=k[b+4>>2];k[f+8>>2]=k[b+8>>2];d=d-c|0;e=f+(((d|0)/-12|0)*12|0)|0;if((d|0)>0)Gh(e|0,c|0,d|0)|0;k[a>>2]=e;k[j>>2]=f+12;k[i>>2]=h+(g*12|0);if(!c)return;_r(c);return}function kj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+32|0;c=e+16|0;d=e;switch(b<<24>>24){case 0:{d=jo(48)|0;Mq(d);k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=d;u=e;return}case 1:{d=jo(52)|0;Vp(d);k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=d;u=e;return}default:{k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;Jk(d,17537,28);k[c>>2]=-1;b=c+4|0;gm(b,d);k[a>>2]=k[c>>2];gm(a+4|0,b);k[a+16>>2]=0;Jp(b);Jp(d);u=e;return}}}function lj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;i=u;u=u+32|0;f=i+16|0;c=i+8|0;d=i;g=a+8|0;if(k[g>>2]<<5>>>0>=b>>>0){u=i;return}k[f>>2]=0;h=f+4|0;k[h>>2]=0;e=f+8|0;k[e>>2]=0;if((b|0)<0)Jq(f);l=((b+-1|0)>>>5)+1|0;j=jo(l<<2)|0;k[f>>2]=j;k[h>>2]=0;k[e>>2]=l;l=k[a>>2]|0;k[c>>2]=l;k[c+4>>2]=0;j=a+4|0;b=k[j>>2]|0;k[d>>2]=l+(b>>>5<<2);k[d+4>>2]=b&31;sh(f,c,d);b=k[a>>2]|0;k[a>>2]=k[f>>2];k[f>>2]=b;f=k[j>>2]|0;k[j>>2]=k[h>>2];k[h>>2]=f;h=k[g>>2]|0;k[g>>2]=k[e>>2];k[e>>2]=h;if(b|0)_r(b);u=i;return}function mj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;g=a+228|0;j=a+232|0;c=k[g>>2]|0;if((k[j>>2]|0)==(c|0)){l=0;return l|0}e=a+4|0;d=0;a:while(1){a=k[c+(d*116|0)>>2]|0;if(((a|0)>=0?(c=k[e>>2]|0,f=k[c+8>>2]|0,(a|0)<((k[c+12>>2]|0)-f>>2|0)):0)?(h=k[f+(a<<2)>>2]|0,(Wa[k[(k[h>>2]|0)+24>>2]&255](h)|0)>0):0){a=0;do{if((_a[k[(k[h>>2]|0)+20>>2]&127](h,a)|0)==(b|0))break a;a=a+1|0}while((a|0)<(Wa[k[(k[h>>2]|0)+24>>2]&255](h)|0))}a=d+1|0;c=k[g>>2]|0;if(a>>>0>=(((k[j>>2]|0)-c|0)/116|0)>>>0){a=0;l=11;break}else d=a}if((l|0)==11)return a|0;l=k[g>>2]|0;l=(i[l+(d*116|0)+72>>0]|0)==0?0:l+(d*116|0)+4|0;return l|0}function nj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;i=(k[b+4>>2]|0)-(k[b>>2]|0)|0;l=i>>2;j=a+8|0;d=k[(k[j>>2]|0)+40>>2]|0;m=Xr((d|0)>-1?d:-1)|0;e=c+8|0;if((i|0)<=0){c=1;Yr(m);return c|0}f=c+16|0;b=0;a=0;while(1){o=e;n=k[o>>2]|0;o=k[o+4>>2]|0;h=f;g=k[h>>2]|0;h=Fp(g|0,k[h+4>>2]|0,d|0,0)|0;i=M;if((o|0)<(i|0)|(o|0)==(i|0)&n>>>0>>0){b=0;a=5;break}Gh(m|0,(k[c>>2]|0)+g|0,d|0)|0;o=f;k[o>>2]=h;k[o+4>>2]=i;Gh((k[k[(k[j>>2]|0)+64>>2]>>2]|0)+b|0,m|0,d|0)|0;a=a+1|0;if((a|0)>=(l|0)){b=1;a=5;break}else b=b+d|0}if((a|0)==5){Yr(m);return b|0}return 0}function oj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=a+8|0;d=k[i>>2]|0;j=a+4|0;e=k[j>>2]|0;if(d-e>>2>>>0>=b>>>0){_j(e|0,0,b<<2|0)|0;k[j>>2]=e+(b<<2);return}c=k[a>>2]|0;f=(e-c>>2)+b|0;if(f>>>0>1073741823){Jq(a);c=k[a>>2]|0;d=k[i>>2]|0;e=k[j>>2]|0}d=d-c|0;g=d>>1;g=d>>2>>>0<536870911?(g>>>0>>0?f:g):1073741823;d=e-c>>2;do if(g)if(g>>>0>1073741823){j=Ma(4)|0;Cr(j);wa(j|0,1344,125)}else{h=jo(g<<2)|0;break}else h=0;while(0);f=h+(d<<2)|0;_j(f|0,0,b<<2|0)|0;d=e-c|0;e=f+(0-(d>>2)<<2)|0;if((d|0)>0)Gh(e|0,c|0,d|0)|0;k[a>>2]=e;k[j>>2]=f+(b<<2);k[i>>2]=h+(g<<2);if(!c)return;_r(c);return}function pj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=a+228|0;i=a+232|0;c=k[g>>2]|0;a:do if((k[i>>2]|0)!=(c|0)){j=a+4|0;e=0;d=c;b:while(1){c=k[d+(e*116|0)>>2]|0;if(((c|0)>=0?(d=k[j>>2]|0,f=k[d+8>>2]|0,(c|0)<((k[d+12>>2]|0)-f>>2|0)):0)?(h=k[f+(c<<2)>>2]|0,(Wa[k[(k[h>>2]|0)+24>>2]&255](h)|0)>0):0){c=0;do{if((_a[k[(k[h>>2]|0)+20>>2]&127](h,c)|0)==(b|0))break b;c=c+1|0}while((c|0)<(Wa[k[(k[h>>2]|0)+24>>2]&255](h)|0))}c=e+1|0;d=k[g>>2]|0;if(c>>>0>=(((k[i>>2]|0)-d|0)/116|0)>>>0)break a;else e=c}j=(k[g>>2]|0)+(e*116|0)+76|0;return j|0}while(0);j=a+200|0;return j|0}function qj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;h=a+8|0;e=k[h>>2]|0;j=a+4|0;c=k[j>>2]|0;if((e-c|0)>>>0>=b>>>0){do{i[c>>0]=0;c=(k[j>>2]|0)+1|0;k[j>>2]=c;b=b+-1|0}while((b|0)!=0);return}d=k[a>>2]|0;f=c-d+b|0;if((f|0)<0){Jq(a);d=k[a>>2]|0;e=k[h>>2]|0;c=k[j>>2]|0}g=e-d|0;e=g<<1;e=g>>>0<1073741823?(e>>>0>>0?f:e):2147483647;if(!e)f=0;else f=jo(e)|0;g=f+(c-d)|0;f=f+e|0;e=g;c=g;do{i[c>>0]=0;c=e+1|0;e=c;b=b+-1|0}while((b|0)!=0);b=k[a>>2]|0;d=(k[j>>2]|0)-b|0;c=g+(0-d)|0;if((d|0)>0)Gh(c|0,b|0,d|0)|0;k[a>>2]=c;k[j>>2]=e;k[h>>2]=f;if(!b)return;_r(b);return}function rj(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;n=o;if((-18-b|0)>>>0>>0)Fq(a);if((i[a+11>>0]|0)<0)m=k[a>>2]|0;else m=a;if(b>>>0<2147483623){j=c+b|0;l=b<<1;j=j>>>0>>0?l:j;j=j>>>0<11?11:j+16&-16}else j=-17;l=jo(j)|0;if(e|0)Qp(l,m,e)|0;if(g|0)Qp(l+e|0,h,g)|0;c=d-f|0;d=c-e|0;if(d|0)Qp(l+e+g|0,m+e+f|0,d)|0;if((b|0)!=10)_r(m);k[a>>2]=l;k[a+8>>2]=j|-2147483648;g=c+g|0;k[a+4>>2]=g;i[n>>0]=0;Oq(l+g|0,n);u=o;return}function sj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;d=g;e=lh(a,d,b)|0;c=k[e>>2]|0;if(c|0){a=c;a=a+28|0;u=g;return a|0}f=jo(40)|0;gm(f+16|0,b);c=f+28|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;c=k[d>>2]|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=c;k[e>>2]=f;c=k[k[a>>2]>>2]|0;if(!c)c=f;else{k[a>>2]=c;c=k[e>>2]|0}Ef(k[a+4>>2]|0,c);a=a+8|0;k[a>>2]=(k[a>>2]|0)+1;a=f;a=a+28|0;u=g;return a|0}function tj(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=4480;b=a+100|0;c=a+4|0;d=c+96|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));k[b>>2]=-1;k[a+104>>2]=-1;k[a+108>>2]=-1;b=a+168|0;c=a+112|0;d=c+56|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));o[b>>2]=da(1.0);b=a+240|0;c=a+172|0;d=c+68|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));Bn(b);Bn(a+280|0);d=a+320|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;k[d+28>>2]=0;k[a+352>>2]=-1;k[a+356>>2]=-1;k[a+360>>2]=2;k[a+364>>2]=7;d=a+368|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;return}function uj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;g=u;u=u+16|0;f=g;do if(((l[(k[a+4>>2]|0)+36>>0]|0)<<8&65535)>511){h=c+8|0;j=k[h+4>>2]|0;b=c+16|0;e=b;d=k[e>>2]|0;e=k[e+4>>2]|0;if((j|0)>(e|0)|((j|0)==(e|0)?(k[h>>2]|0)>>>0>d>>>0:0)){j=i[(k[c>>2]|0)+d>>0]|0;h=Fp(d|0,e|0,1,0)|0;k[b>>2]=h;k[b+4>>2]=M;b=j&255;k[a+24>>2]=b;break}else{j=0;u=g;return j|0}}else b=k[a+24>>2]|0;while(0);k[f>>2]=1400;k[f+4>>2]=-1;zq(f,b);j=Fl(f,k[a+16>>2]|0)|0;u=g;return j|0}function vj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=u;u=u+32|0;b=e;if((l[(k[a+4>>2]|0)+36>>0]<<8&65535)>511?!(Wa[k[(k[a>>2]|0)+52>>2]&255](a)|0):0){d=0;u=e;return d|0}k[b>>2]=1428;k[b+4>>2]=-1;d=b+8|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;Cm(b,k[a+24>>2]|0,k[a+28>>2]|0,i[(k[a+8>>2]|0)+24>>0]|0,da(o[a+32>>2]));a=Fl(b,k[a+16>>2]|0)|0;k[b>>2]=1428;d=k[d>>2]|0;if(d|0){b=b+12|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);_r(d)}d=a;u=e;return d|0}function wj(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=k[a+4>>2]|0;g=a+8|0;b=k[g>>2]|0;if((b|0)!=(f|0))do{k[g>>2]=b+-116;e=k[b+-12>>2]|0;if(e|0){c=b+-8|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e)}c=k[b+-28>>2]|0;if(c|0){d=b+-24|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);_r(c)}c=k[b+-40>>2]|0;if(c|0){d=b+-36|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);_r(c)}vk(b+-112|0);b=k[g>>2]|0}while((b|0)!=(f|0));b=k[a>>2]|0;if(!b)return;_r(b);return}function xj(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;b=k[a>>2]|0;if(!b)return;g=a+4|0;c=k[g>>2]|0;if((c|0)!=(b|0)){do{k[g>>2]=c+-116;f=k[c+-12>>2]|0;if(f|0){d=c+-8|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);_r(f)}d=k[c+-28>>2]|0;if(d|0){e=c+-24|0;f=k[e>>2]|0;if((f|0)!=(d|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);_r(d)}d=k[c+-40>>2]|0;if(d|0){e=c+-36|0;f=k[e>>2]|0;if((f|0)!=(d|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);_r(d)}vk(c+-112|0);c=k[g>>2]|0}while((c|0)!=(b|0));b=k[a>>2]|0}_r(b);return}function yj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=c+16|0;e=k[d>>2]|0;if(!e)if(!(um(c)|0)){e=k[d>>2]|0;f=5}else d=0;else f=5;a:do if((f|0)==5){h=c+20|0;g=k[h>>2]|0;d=g;if((e-g|0)>>>0>>0){d=Ra[k[c+36>>2]&31](c,a,b)|0;break}b:do if((i[c+75>>0]|0)>-1){g=b;while(1){if(!g){f=0;e=a;break b}e=g+-1|0;if((i[a+e>>0]|0)==10)break;else g=e}d=Ra[k[c+36>>2]&31](c,a,g)|0;if(d>>>0>>0)break a;f=g;e=a+g|0;b=b-g|0;d=k[h>>2]|0}else{f=0;e=a}while(0);Gh(d|0,e|0,b|0)|0;k[h>>2]=(k[h>>2]|0)+b;d=f+b|0}while(0);return d|0}function zj(){var a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0;e=u;u=u+48|0;g=e+32|0;c=e+24|0;h=e+16|0;f=e;e=e+36|0;a=go()|0;if(a|0?(d=k[a>>2]|0,d|0):0){a=d+48|0;b=k[a>>2]|0;a=k[a+4>>2]|0;if(!((b&-256|0)==1126902528&(a|0)==1129074247)){k[c>>2]=k[1468];Po(23329,c)}if((b|0)==1126902529&(a|0)==1129074247)a=k[d+44>>2]|0;else a=d+80|0;k[e>>2]=a;d=k[d>>2]|0;a=k[d+4>>2]|0;d=Ra[k[(k[320]|0)+16>>2]&31](1280,d,e)|0;b=k[1468]|0;if(d){h=k[e>>2]|0;h=Wa[k[(k[h>>2]|0)+8>>2]&255](h)|0;k[f>>2]=b;k[f+4>>2]=a;k[f+8>>2]=h;Po(23243,f)}else{k[h>>2]=b;k[h+4>>2]=a;Po(23288,h)}}Po(23367,g)}function Aj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=jo(36)|0;vq(i);h=a+8|0;f=a+12|0;a=k[f>>2]|0;d=k[h>>2]|0;e=a-d>>2;do if((e|0)<=(b|0)){c=b+1|0;if(c>>>0>e>>>0){bh(h,c-e|0);break}if(c>>>0>>0?(g=d+(c<<2)|0,(a|0)!=(g|0)):0)do{e=a+-4|0;k[f>>2]=e;a=k[e>>2]|0;k[e>>2]=0;if(a|0)Ta[k[(k[a>>2]|0)+4>>2]&127](a);a=k[f>>2]|0}while((a|0)!=(g|0))}while(0);h=(k[h>>2]|0)+(b<<2)|0;a=k[h>>2]|0;k[h>>2]=i;if(!a)return 1;Ta[k[(k[a>>2]|0)+4>>2]&127](a);return 1}function Bj(a){a=a|0;var b=0,c=0,d=0;b=k[a+92>>2]|0;if(b|0){c=a+96|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+76>>2]|0;if(b|0){c=a+80|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+64>>2]|0;if(b|0){c=a+68|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+52>>2]|0;if(b|0){c=a+56|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}k[a+4>>2]=4388;b=k[a+24>>2]|0;if(b|0)_r(b);b=k[a+12>>2]|0;if(!b)return;_r(b);return}function Cj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;e=u;u=u+80|0;g=e;f=e+16|0;d=e+4|0;k[g>>2]=c&1;Co(f,19140,g)|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;Jk(d,f,Vk(f)|0);a=sj(a,b)|0;b=a+11|0;if((i[b>>0]|0)<0){i[k[a>>2]>>0]=0;k[a+4>>2]=0}else{i[a>>0]=0;i[b>>0]=0}vi(a,0);k[a>>2]=k[d>>2];k[a+4>>2]=k[d+4>>2];k[a+8>>2]=k[d+8>>2];k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;Jp(d);u=e;return}function Dj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=a+4|0;d=k[j>>2]|0;c=k[a>>2]|0;e=(d-c>>2)+1|0;if(e>>>0>1073741823){Jq(a);c=k[a>>2]|0;d=k[j>>2]|0}i=a+8|0;h=(k[i>>2]|0)-c|0;g=h>>1;g=h>>2>>>0<536870911?(g>>>0>>0?e:g):1073741823;e=d-c>>2;do if(g)if(g>>>0>1073741823){j=Ma(4)|0;Cr(j);wa(j|0,1344,125)}else{h=jo(g<<2)|0;break}else h=0;while(0);f=h+(e<<2)|0;k[f>>2]=k[b>>2];d=d-c|0;e=f+(0-(d>>2)<<2)|0;if((d|0)>0)Gh(e|0,c|0,d|0)|0;k[a>>2]=e;k[j>>2]=f+4;k[i>>2]=h+(g<<2);if(!c)return;_r(c);return}function Ej(a,b,c){a=a|0;b=b|0;c=c|0;do if(a){if(b>>>0<128){i[a>>0]=b;a=1;break}c=(Ur()|0)+188|0;if(!(k[k[c>>2]>>2]|0))if((b&-128|0)==57216){i[a>>0]=b;a=1;break}else{a=Lr()|0;k[a>>2]=84;a=-1;break}if(b>>>0<2048){i[a>>0]=b>>>6|192;i[a+1>>0]=b&63|128;a=2;break}if(b>>>0<55296|(b&-8192|0)==57344){i[a>>0]=b>>>12|224;i[a+1>>0]=b>>>6&63|128;i[a+2>>0]=b&63|128;a=3;break}if((b+-65536|0)>>>0<1048576){i[a>>0]=b>>>18|240;i[a+1>>0]=b>>>12&63|128;i[a+2>>0]=b>>>6&63|128;i[a+3>>0]=b&63|128;a=4;break}else{a=Lr()|0;k[a>>2]=84;a=-1;break}}else a=1;while(0);return a|0}function Fj(a){a=a|0;var b=0,c=0,d=0,e=0;e=k[a>>2]|0;k[a>>2]=0;if(!e)return;a=k[e+28>>2]|0;if(a|0)do{d=a;a=k[a>>2]|0;Fj(d+20|0);Jp(d+8|0);_r(d)}while((a|0)!=0);d=e+20|0;a=k[d>>2]|0;k[d>>2]=0;if(a|0)_r(a);a=k[e+8>>2]|0;if(a|0)do{b=a;a=k[a>>2]|0;c=k[b+20>>2]|0;if(c|0){d=b+24|0;if((k[d>>2]|0)!=(c|0))k[d>>2]=c;_r(c)}Jp(b+8|0);_r(b)}while((a|0)!=0);a=k[e>>2]|0;k[e>>2]=0;if(a|0)_r(a);_r(e);return}function Gj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+80|0;e=h;f=h+56|0;g=h+40|0;d=e;c=d+40|0;do{k[d>>2]=k[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(c|0));tc(g,e,f);b=k[g>>2]|0;if(!b){Jp(g+4|0);g=l[f+7>>0]|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=g;g=e+24|0;ds(g);u=h;return}else{k[a>>2]=b;g=g+4|0;gm(a+4|0,g);Jp(g);g=e+24|0;ds(g);u=h;return}}function Hj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;d=u;u=u+16|0;c=d;if(!b){c=0;u=d;return c|0}g=b+4|0;e=(k[g>>2]|0)-(k[b>>2]|0)>>2;i[c>>0]=0;Qh(a,e,c);e=b+24|0;f=b+28|0;h=(k[f>>2]|0)-(k[e>>2]|0)>>2;i[c>>0]=0;Qh(a+12|0,h,c);Dg(a+28|0,(k[g>>2]|0)-(k[b>>2]|0)>>2,4800);Nk(a+52|0,(k[f>>2]|0)-(k[e>>2]|0)>>2);Nk(a+40|0,(k[f>>2]|0)-(k[e>>2]|0)>>2);k[a+64>>2]=b;i[a+24>>0]=1;c=1;u=d;return c|0}function Ij(a){a=a|0;var b=0,c=0,d=0,e=0;b=k[a+28>>2]|0;if(b|0)do{c=b;b=k[b>>2]|0;e=c+20|0;d=k[e>>2]|0;k[e>>2]=0;if(d|0){Ij(d);_r(d)}Jp(c+8|0);_r(c)}while((b|0)!=0);e=a+20|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0)_r(b);b=k[a+8>>2]|0;if(b|0)do{c=b;b=k[b>>2]|0;d=k[c+20>>2]|0;if(d|0){e=c+24|0;if((k[e>>2]|0)!=(d|0))k[e>>2]=d;_r(d)}Jp(c+8|0);_r(c)}while((b|0)!=0);b=k[a>>2]|0;k[a>>2]=0;if(!b)return;_r(b);return}function Jj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;do if(((l[(k[a+4>>2]|0)+36>>0]|0)<<8&65535)<512){g=c+8|0;h=k[g+4>>2]|0;d=c+16|0;f=d;e=k[f>>2]|0;f=k[f+4>>2]|0;if((h|0)>(f|0)|((h|0)==(f|0)?(k[g>>2]|0)>>>0>e>>>0:0)){h=i[(k[c>>2]|0)+e>>0]|0;f=Fp(e|0,f|0,1,0)|0;g=d;k[g>>2]=f;k[g+4>>2]=M;k[a+24>>2]=h&255;break}else{h=0;return h|0}}while(0);h=Ud(a,b,c)|0;return h|0}function Kj(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+16|0;a=k[b>>2]|0;k[b>>2]=0;d=k[c>>2]|0;k[c>>2]=a;if(!d)return;b=d+88|0;c=k[b>>2]|0;k[b>>2]=0;if(c|0){a=k[c+8>>2]|0;if(a|0){b=c+12|0;if((k[b>>2]|0)!=(a|0))k[b>>2]=a;_r(a)}_r(c)}a=k[d+68>>2]|0;if(a|0){b=d+72|0;c=k[b>>2]|0;if((c|0)!=(a|0))k[b>>2]=c+(~((c+-4-a|0)>>>2)<<2);_r(a)}c=d+64|0;a=k[c>>2]|0;k[c>>2]=0;if(a|0){b=k[a>>2]|0;if(b|0){c=a+4|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;_r(b)}_r(a)}_r(d);return}function Lj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;if(b>>>0<64){a=k[a+8>>2]|0;if(a>>>0<=1){f=0;return f|0}c=k[c>>2]|0;b=0;d=1;do{b=(k[c+(b<<2)>>2]|0)>>>0>(k[c+(d<<2)>>2]|0)>>>0?d:b;d=d+1|0}while(d>>>0>>0);return b|0}e=a+576|0;f=k[e>>2]|0;d=32-f|0;c=a+572|0;a=k[c>>2]|0;b=k[a>>2]<>2]=f;e=a+4|0;k[c>>2]=e;f=32-f|0;f=(k[e>>2]|0)>>>f|b>>>(f-d|0);return f|0}b=b>>>28;f=f+4|0;k[e>>2]=f;if((f|0)!=32){f=b;return f|0}k[c>>2]=a+4;k[e>>2]=0;f=b;return f|0}function Mj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=a+8|0;h=k[a>>2]|0;e=h;if((((k[g>>2]|0)-h|0)/12|0)>>>0>=b>>>0)return;i=a+4|0;if(b>>>0>357913941){i=Ma(4)|0;Cr(i);wa(i|0,1344,125)}j=k[i>>2]|0;d=jo(b*12|0)|0;c=d+(((j-h|0)/12|0)*12|0)|0;f=c;d=d+(b*12|0)|0;b=j;if((b|0)==(e|0))c=f;else do{j=b;b=b+-12|0;k[c+-12>>2]=k[b>>2];k[c+-8>>2]=k[j+-8>>2];k[c+-4>>2]=k[j+-4>>2];c=c+-12|0}while((b|0)!=(e|0));k[a>>2]=c;k[i>>2]=f;k[g>>2]=d;if(!h)return;_r(h);return}function Nj(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,j=0,l=0,m=0;m=u;u=u+128|0;e=m+124|0;l=m;f=l;g=5360;h=f+124|0;do{k[f>>2]=k[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));if((b+-1|0)>>>0>2147483646)if(!b){a=e;b=1;j=4}else{b=Lr()|0;k[b>>2]=75;b=-1}else j=4;if((j|0)==4){j=-2-a|0;j=b>>>0>j>>>0?j:b;k[l+48>>2]=j;e=l+20|0;k[e>>2]=a;k[l+44>>2]=a;b=a+j|0;a=l+16|0;k[a>>2]=b;k[l+28>>2]=b;b=ji(l,c,d)|0;if(j){l=k[e>>2]|0;i[l+(((l|0)==(k[a>>2]|0))<<31>>31)>>0]=0}}u=m;return b|0}function Oj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;e=b+8|0;g=k[e+4>>2]|0;f=b+16|0;d=f;c=k[d>>2]|0;d=k[d+4>>2]|0;if(!((g|0)>(d|0)|((g|0)==(d|0)?(k[e>>2]|0)>>>0>c>>>0:0))){g=0;return g|0}e=i[(k[b>>2]|0)+c>>0]|0;d=Fp(c|0,d|0,1,0)|0;g=f;k[g>>2]=d;k[g+4>>2]=M;do if(e<<24>>24<0)if(Oj(a,b)|0){b=a;b=No(k[b>>2]|0,k[b+4>>2]|0,7)|0;c=M;g=a;k[g>>2]=b;k[g+4>>2]=c;b=b|e&127;break}else{g=0;return g|0}else{b=e&255;c=0}while(0);g=a;k[g>>2]=b;k[g+4>>2]=c;g=1;return g|0}function Pj(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,j=0;if((a|0)<0){d=0;return d|0}if(!a){d=1;return d|0}h=c+8|0;j=k[h+4>>2]|0;e=c+16|0;g=e;f=k[g>>2]|0;g=k[g+4>>2]|0;if(!((j|0)>(g|0)|((j|0)==(g|0)?(k[h>>2]|0)>>>0>f>>>0:0))){j=0;return j|0}j=i[(k[c>>2]|0)+f>>0]|0;g=Fp(f|0,g|0,1,0)|0;h=e;k[h>>2]=g;k[h+4>>2]=M;switch(j<<24>>24){case 0:{j=od(a,b,c,d)|0;return j|0}case 1:{j=ze(a,c,d)|0;return j|0}default:{j=0;return j|0}}return 0}function Qj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=u;u=u+16|0;g=j;h=a+11|0;d=i[h>>0]|0;e=d<<24>>24<0;if(e)f=(k[a+8>>2]&2147483647)+-1|0;else f=10;do if(f>>>0>=c>>>0){if(e)d=k[a>>2]|0;else d=a;Mp(d,b,c)|0;i[g>>0]=0;Oq(d+c|0,g);if((i[h>>0]|0)<0){k[a+4>>2]=c;break}else{i[h>>0]=c;break}}else{if(e)d=k[a+4>>2]|0;else d=d&255;rj(a,f,c-f|0,d,0,d,c,b)}while(0);u=j;return a|0}function Rj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=k[a>>2]|0;if(!c){d=0;return d|0}d=k[b>>2]|0;if(!d){d=0;return d|0}e=k[d>>2]|0;gk(c,e,(k[d+4>>2]|0)-e|0,0)|0;i[a+24>>0]=i[b+24>>0]|0;k[a+28>>2]=k[b+28>>2];i[a+32>>0]=i[b+32>>0]|0;c=b+40|0;d=k[c+4>>2]|0;e=a+40|0;k[e>>2]=k[c>>2];k[e+4>>2]=d;e=b+48|0;d=k[e+4>>2]|0;c=a+48|0;k[c>>2]=k[e>>2];k[c+4>>2]=d;k[a+56>>2]=k[b+56>>2];c=b+8|0;d=a+8|0;k[d>>2]=k[c>>2];k[d+4>>2]=k[c+4>>2];k[d+8>>2]=k[c+8>>2];k[d+12>>2]=k[c+12>>2];d=1;return d|0}function Sj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=u;u=u+16|0;h=l;if(b|0){j=a+11|0;d=i[j>>0]|0;if(d<<24>>24<0){f=k[a+4>>2]|0;e=(k[a+8>>2]&2147483647)+-1|0}else{f=d&255;e=10}g=f+b|0;if((e-f|0)>>>0>>0){ik(a,e,g-e|0,f,f,0,0);d=i[j>>0]|0}if(d<<24>>24<0)d=k[a>>2]|0;else d=a;Lo(d+f|0,b,c)|0;if((i[j>>0]|0)<0)k[a+4>>2]=g;else i[j>>0]=g;i[h>>0]=0;Oq(d+g|0,h)}u=l;return a|0}function Tj(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=a+4|0;g=k[i>>2]|0;h=a+8|0;a=k[h>>2]|0;d=g+4|0;c=k[d>>2]|0;b=k[g>>2]|0;e=c-b>>2;if(a>>>0<=e>>>0){if(a>>>0>>0?(f=b+(a<<2)|0,(c|0)!=(f|0)):0)k[d>>2]=c+(~((c+-4-f|0)>>>2)<<2)}else{oj(g,a-e|0);a=k[h>>2]|0}if((a|0)>0)d=0;else return 1;do{b=k[i>>2]|0;c=k[b>>2]|0;if((k[b+4>>2]|0)-c>>2>>>0<=d>>>0){Iq(b);c=k[b>>2]|0;a=k[h>>2]|0}k[c+(d<<2)>>2]=d;d=d+1|0}while((d|0)<(a|0));return 1}function Uj(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=4208;e=a+48|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0)Ta[k[(k[b>>2]|0)+4>>2]&127](b);k[a>>2]=4632;d=k[a+20>>2]|0;if(d|0){b=a+24|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);_r(d)}d=a+8|0;b=k[d>>2]|0;if(!b){_r(a);return}e=a+12|0;c=k[e>>2]|0;if((c|0)!=(b|0)){do{f=c+-4|0;k[e>>2]=f;c=k[f>>2]|0;k[f>>2]=0;if(c|0)Ta[k[(k[c>>2]|0)+4>>2]&127](c);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}_r(b);_r(a);return}function Vj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=u;u=u+48|0;f=g;if((c|0)!=1){f=0;u=g;return f|0}e=k[a+12>>2]|0;c=k[a+4>>2]|0;a=f;d=a+36|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(d|0));e=gi(b,e,c,f)|0;d=k[f+24>>2]|0;if(d|0){c=f+28|0;a=k[c>>2]|0;if((a|0)!=(d|0))k[c>>2]=a+(~((a+-4-d|0)>>>2)<<2);_r(d)}f=e;u=g;return f|0}function Wj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;if(!(bj(a+8|0,b)|0)){e=0;return e|0}f=b+8|0;g=k[f+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=k[e+4>>2]|0;if((g|0)>(e|0)|((g|0)==(e|0)?(k[f>>2]|0)>>>0>d>>>0:0)?(g=i[(k[b>>2]|0)+d>>0]|0,e=Fp(d|0,e|0,1,0)|0,f=c,k[f>>2]=e,k[f+4>>2]=M,g<<24>>24):0){g=0;return g|0}g=Cg(a+84|0,b)|0;return g|0}function Xj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=u;u=u+32|0;d=f+12|0;e=f;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;Jk(d,b,Vk(b)|0);k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;Jk(e,c,Vk(c)|0);a=Vg(k[a+4>>2]|0,d,e)|0;if(!a)a=-1;else a=k[a+40>>2]|0;Jp(e);Jp(d);u=f;return a|0}function Yj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;do if(!(uq(a,k[b+8>>2]|0,e)|0)){if(uq(a,k[b>>2]|0,e)|0){a=b+32|0;if((k[b+16>>2]|0)!=(c|0)?(f=b+20|0,(k[f>>2]|0)!=(c|0)):0){k[a>>2]=d;k[f>>2]=c;d=b+40|0;k[d>>2]=(k[d>>2]|0)+1;if((k[b+36>>2]|0)==1?(k[b+24>>2]|0)==2:0)i[b+54>>0]=1;k[b+44>>2]=4;break}if((d|0)==1)k[a>>2]=1}}else Jn(0,b,c,d);while(0);return}function Zj(a){a=a|0;ds(a+496|0);ds(a+480|0);ds(a+464|0);ds(a+448|0);ds(a+432|0);ds(a+416|0);ds(a+400|0);ds(a+384|0);ds(a+368|0);ds(a+352|0);ds(a+336|0);ds(a+320|0);ds(a+304|0);ds(a+288|0);ds(a+272|0);ds(a+256|0);ds(a+240|0);ds(a+224|0);ds(a+208|0);ds(a+192|0);ds(a+176|0);ds(a+160|0);ds(a+144|0);ds(a+128|0);ds(a+112|0);ds(a+96|0);ds(a+80|0);ds(a+64|0);ds(a+48|0);ds(a+32|0);ds(a+16|0);ds(a);return}function _j(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=a+c|0;b=b&255;if((c|0)>=67){while(a&3){i[a>>0]=b;a=a+1|0}d=f&-4|0;e=d-64|0;g=b|b<<8|b<<16|b<<24;while((a|0)<=(e|0)){k[a>>2]=g;k[a+4>>2]=g;k[a+8>>2]=g;k[a+12>>2]=g;k[a+16>>2]=g;k[a+20>>2]=g;k[a+24>>2]=g;k[a+28>>2]=g;k[a+32>>2]=g;k[a+36>>2]=g;k[a+40>>2]=g;k[a+44>>2]=g;k[a+48>>2]=g;k[a+52>>2]=g;k[a+56>>2]=g;k[a+60>>2]=g;a=a+64|0}while((a|0)<(d|0)){k[a>>2]=g;a=a+4|0}}while((a|0)<(f|0)){i[a>>0]=b;a=a+1|0}return f-c|0}function $j(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a=Ld(a,b)|0;if(!a){c=0;return c|0}d=a+20|0;e=k[d>>2]|0;a=a+24|0;b=k[a>>2]|0;if((e|0)==(b|0)){c=0;return c|0}uk(c,b-e|0,0);e=qm(c,0)|0;c=k[d>>2]|0;Gh(e|0,c|0,(k[a>>2]|0)-c|0)|0;c=1;return c|0}function ak(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,j=0;i[b+53>>0]=1;do if((k[b+4>>2]|0)==(d|0)){i[b+52>>0]=1;d=b+16|0;f=k[d>>2]|0;h=b+54|0;j=b+48|0;g=b+24|0;a=b+36|0;if(!f){k[d>>2]=c;k[g>>2]=e;k[a>>2]=1;if(!((k[j>>2]|0)==1&(e|0)==1))break;i[h>>0]=1;break}if((f|0)!=(c|0)){k[a>>2]=(k[a>>2]|0)+1;i[h>>0]=1;break}a=k[g>>2]|0;if((a|0)==2){k[g>>2]=e;a=e}if((k[j>>2]|0)==1&(a|0)==1)i[h>>0]=1}while(0);return}function bk(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4208;e=a+48|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0)Ta[k[(k[b>>2]|0)+4>>2]&127](b);k[a>>2]=4632;d=k[a+20>>2]|0;if(d|0){b=a+24|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);_r(d)}e=a+8|0;b=k[e>>2]|0;if(!b)return;d=a+12|0;c=k[d>>2]|0;if((c|0)!=(b|0)){do{a=c+-4|0;k[d>>2]=a;c=k[a>>2]|0;k[a>>2]=0;if(c|0)Ta[k[(k[c>>2]|0)+4>>2]&127](c);c=k[d>>2]|0}while((c|0)!=(b|0));b=k[e>>2]|0}_r(b);return}function ck(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;if(!(ej(a+8|0,b)|0)){e=0;return e|0}f=b+8|0;g=k[f+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=k[e+4>>2]|0;if((g|0)>(e|0)|((g|0)==(e|0)?(k[f>>2]|0)>>>0>d>>>0:0)?(g=i[(k[b>>2]|0)+d>>0]|0,e=Fp(d|0,e|0,1,0)|0,f=c,k[f>>2]=e,k[f+4>>2]=M,g<<24>>24):0){g=0;return g|0}g=Cg(a+84|0,b)|0;return g|0}function dk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+32|0;c=e+12|0;d=e;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;Jk(c,b,Vk(b)|0);k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;Jk(d,20311,4);a=Vg(k[a+4>>2]|0,d,c)|0;if(!a)a=-1;else a=k[a+40>>2]|0;Jp(d);Jp(c);u=e;return a|0}function ek(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=1572;c=a+16|0;d=k[c>>2]|0;k[c>>2]=0;if(!d)return;c=d+88|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0){c=k[b+8>>2]|0;if(c|0){a=b+12|0;if((k[a>>2]|0)!=(c|0))k[a>>2]=c;_r(c)}_r(b)}a=k[d+68>>2]|0;if(a|0){b=d+72|0;c=k[b>>2]|0;if((c|0)!=(a|0))k[b>>2]=c+(~((c+-4-a|0)>>>2)<<2);_r(a)}c=d+64|0;a=k[c>>2]|0;k[c>>2]=0;if(a|0){b=k[a>>2]|0;if(b|0){c=a+4|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;_r(b)}_r(a)}_r(d);return}function fk(a,b){a=a|0;b=b|0;if(!b)return;else{fk(a,k[b>>2]|0);fk(a,k[b+4>>2]|0);nk(b+20|0,k[b+24>>2]|0);_r(b);return}}function gk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;if((d|0)<0){c=0;return c|0}do if(!b){b=a+4|0;d=k[b>>2]|0;e=k[a>>2]|0;f=d-e|0;if(c>>>0>f>>>0){qj(a,c-f|0);break}if(c>>>0>>0?(g=e+c|0,(d|0)!=(g|0)):0)k[b>>2]=g}else ah(a,b,b+c|0);while(0);c=a+24|0;g=c;g=Fp(k[g>>2]|0,k[g+4>>2]|0,1,0)|0;k[c>>2]=g;k[c+4>>2]=M;c=1;return c|0}function hk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;Wg(a,b,c);d=k[a+84>>2]|0;a=(k[a+88>>2]|0)-d|0;if((a|0)<=0)return;b=k[b>>2]|0;c=(a>>>0)/12|0;a=0;do{e=d+(a*12|0)|0;k[e>>2]=k[b+(k[e>>2]<<2)>>2];e=d+(a*12|0)+4|0;k[e>>2]=k[b+(k[e>>2]<<2)>>2];e=d+(a*12|0)+8|0;k[e>>2]=k[b+(k[e>>2]<<2)>>2];a=a+1|0}while((a|0)<(c|0));return}function ik(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;var h=0,j=0,l=0;if((-17-b|0)>>>0>>0)Fq(a);if((i[a+11>>0]|0)<0)l=k[a>>2]|0;else l=a;if(b>>>0<2147483623){h=c+b|0;j=b<<1;h=h>>>0>>0?j:h;h=h>>>0<11?11:h+16&-16}else h=-17;j=jo(h)|0;if(e|0)Qp(j,l,e)|0;c=d-f-e|0;if(c|0)Qp(j+e+g|0,l+e+f|0,c)|0;if((b|0)!=10)_r(l);k[a>>2]=j;k[a+8>>2]=h|-2147483648;return}function jk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=a+64|0;if((k[f>>2]|0)==0?(e=jo(32)|0,vo(e),d=k[f>>2]|0,k[f>>2]=e,d|0):0){e=k[d>>2]|0;if(e|0){c=d+4|0;if((k[c>>2]|0)!=(e|0))k[c>>2]=e;_r(e)}_r(d)}c=Zm(k[a+28>>2]|0)|0;c=$(i[a+24>>0]|0,c)|0;d=((c|0)<0)<<31>>31;g=k[f>>2]|0;e=io(c|0,d|0,b|0,0)|0;if(!(gk(g,0,e,M)|0)){g=0;return g|0}tl(a,k[f>>2]|0,c,d,0,0);k[a+80>>2]=b;g=1;return g|0}function kk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=e>>>0>1073741823?-1:e<<2;h=Xr(g)|0;_j(h|0,0,g|0)|0;g=a+8|0;dj(g,h,b,c);if((e|0)>=(d|0)){Yr(h);return 1}a=0-e|0;f=e;do{i=c+(f<<2)|0;dj(g,i+(a<<2)|0,b+(f<<2)|0,i);f=f+e|0}while((f|0)<(d|0));Yr(h);return 1}function lk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=u;u=u+64|0;e=g;if(!(uq(a,b,0)|0))if((b|0)!=0?(f=mi(b,1304,1288,0)|0,(f|0)!=0):0){b=e+4|0;d=b+52|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(d|0));k[e>>2]=f;k[e+8>>2]=a;k[e+12>>2]=-1;k[e+48>>2]=1;$a[k[(k[f>>2]|0)+28>>2]&3](f,e,k[c>>2]|0,1);if((k[e+24>>2]|0)==1){k[c>>2]=k[e+16>>2];b=1}else b=0}else b=0;else b=1;u=g;return b|0}function mk(a){a=a|0;var b=0,c=0,d=0;b=k[a+48>>2]|0;if(b|0){c=a+52|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+24>>2]|0;if(b|0){c=a+28|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+12>>2]|0;if(b|0){c=a+16|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}d=k[a>>2]|0;if(!d)return;b=a+4|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);_r(d);return}function nk(a,b){a=a|0;b=b|0;if(!b)return;else{nk(a,k[b>>2]|0);nk(a,k[b+4>>2]|0);Jp(b+28|0);Jp(b+16|0);_r(b);return}}function ok(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;if((b|0)>=33)Ka(19947,19277,53,20081);if((b|0)<=0)Ka(20110,19277,54,20081);g=a+8|0;h=a+4|0;f=0-(l[a+12>>0]|0)&255;e=0;d=k[g>>2]|0;do{if(d>>>0<4096){j=k[a>>2]|0;i=(k[h>>2]|0)+-1|0;k[h>>2]=i;d=l[j+i>>0]|0|d<<8;k[g>>2]=d}m=d&255;i=$(d>>>8,f)|0;j=m>>>0>>0;d=j?i+m|0:d-f-i|0;k[g>>2]=d;e=j&1|e<<1;b=b+-1|0}while((b|0)!=0);k[c>>2]=e;return}function pk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=e>>>0>1073741823?-1:e<<2;h=Xr(g)|0;_j(h|0,0,g|0)|0;g=a+8|0;gj(g,h,b,c);if((e|0)>=(d|0)){Yr(h);return 1}a=0-e|0;f=e;do{i=c+(f<<2)|0;gj(g,i+(a<<2)|0,b+(f<<2)|0,i);f=f+e|0}while((f|0)<(d|0));Yr(h);return 1}function qk(a,b,c){a=a|0;b=b|0;c=c|0;a=Ld(a,b)|0;if(!a){c=0;return c|0}b=k[a+20>>2]|0;if(((k[a+24>>2]|0)-b|0)!=4){c=0;return c|0}b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;i[c>>0]=b;i[c+1>>0]=b>>8;i[c+2>>0]=b>>16;i[c+3>>0]=b>>24;c=1;return c|0}function rk(a,b,c,d,e,f,g,h,j,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;l=l|0;var m=0,n=0,o=0;k[a>>2]=c;if(c|0){o=c+16|0;m=k[o+4>>2]|0;n=a+8|0;k[n>>2]=k[o>>2];k[n+4>>2]=m;n=c+24|0;m=k[n+4>>2]|0;c=a+16|0;k[c>>2]=k[n>>2];k[c+4>>2]=m}i[a+24>>0]=d;k[a+28>>2]=e;i[a+32>>0]=f&1;o=a+40|0;k[o>>2]=g;k[o+4>>2]=h;o=a+48|0;k[o>>2]=j;k[o+4>>2]=l;k[a+56>>2]=b;return}function sk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=b+8|0;g=k[f+4>>2]|0;e=b+16|0;d=e;c=k[d>>2]|0;d=k[d+4>>2]|0;if(!((g|0)>(d|0)|((g|0)==(d|0)?(k[f>>2]|0)>>>0>c>>>0:0))){g=0;return g|0}f=i[(k[b>>2]|0)+c>>0]|0;g=Fp(c|0,d|0,1,0)|0;c=e;k[c>>2]=g;k[c+4>>2]=M;c=f&255;do if(c&128)if(sk(a,b)|0){c=k[a>>2]<<7;k[a>>2]=c;c=c|f&127;break}else{g=0;return g|0}while(0);k[a>>2]=c;g=1;return g|0}function tk(a){a=a|0;var b=0,c=0,d=0;if(!a)return;d=a+88|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0){c=k[b+8>>2]|0;if(c|0){d=b+12|0;if((k[d>>2]|0)!=(c|0))k[d>>2]=c;_r(c)}_r(b)}b=k[a+68>>2]|0;if(b|0){c=a+72|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}d=a+64|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0){c=k[b>>2]|0;if(c|0){d=b+4|0;if((k[d>>2]|0)!=(c|0))k[d>>2]=c;_r(c)}_r(b)}_r(a);return}function uk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=u;u=u+16|0;e=h;f=a+11|0;d=i[f>>0]|0;g=d<<24>>24<0;if(g)d=k[a+4>>2]|0;else d=d&255;do if(d>>>0>=b>>>0)if(g){g=(k[a>>2]|0)+b|0;i[e>>0]=0;Oq(g,e);k[a+4>>2]=b;break}else{i[e>>0]=0;Oq(a+b|0,e);i[f>>0]=b;break}else Sj(a,b-d|0,c)|0;while(0);u=h;return}function vk(a){a=a|0;var b=0,c=0,d=0;b=k[a+52>>2]|0;if(b|0){c=a+56|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+40>>2]|0;if(b|0){c=a+44|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+28>>2]|0;if(b|0){c=a+32|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+12>>2]|0;if(b|0)_r(b);b=k[a>>2]|0;if(!b)return;_r(b);return}function wk(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=4268;b=a+100|0;c=a+4|0;d=c+96|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));k[b>>2]=-1;k[a+104>>2]=-1;k[a+108>>2]=-1;b=a+168|0;c=a+112|0;d=c+56|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));o[b>>2]=da(1.0);b=a+240|0;c=a+172|0;d=c+68|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));Bn(b);Bn(a+280|0);k[a+320>>2]=0;k[a+324>>2]=0;k[a+328>>2]=0;return}function xk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=4632;b=k[a+20>>2]|0;if(b|0){c=a+24|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}d=a+8|0;b=k[d>>2]|0;if(!b){_r(a);return}e=a+12|0;c=k[e>>2]|0;if((c|0)!=(b|0)){do{f=c+-4|0;k[e>>2]=f;c=k[f>>2]|0;k[f>>2]=0;if(c|0)Ta[k[(k[c>>2]|0)+4>>2]&127](c);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}_r(b);_r(a);return}function yk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;k[a>>2]=0;g=a+4|0;k[g>>2]=0;k[a+8>>2]=0;f=b+4|0;c=(k[f>>2]|0)-(k[b>>2]|0)|0;d=c>>2;if(!d)return;if(d>>>0>1073741823){Jq(a);g=Ma(4)|0;Cr(g);wa(g|0,1344,125)}e=jo(c)|0;k[g>>2]=e;k[a>>2]=e;k[a+8>>2]=e+(d<<2);a=k[b>>2]|0;c=(k[f>>2]|0)-a|0;if((c|0)<=0)return;Gh(e|0,a|0,c|0)|0;k[g>>2]=e+(c>>>2<<2);return}function zk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a=u;u=u+32|0;d=a+12|0;e=a;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;Jk(e,c,Vk(c)|0);$j(b,e,d)|0;c=(i[d+11>>0]|0)<0?k[d>>2]|0:d;Jp(e);Jp(d);u=a;return c|0}function Ak(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=u;u=u+16|0;g=j;h=b&255;i[g>>0]=h;d=a+16|0;e=k[d>>2]|0;if(!e)if(!(um(a)|0)){e=k[d>>2]|0;f=4}else c=-1;else f=4;do if((f|0)==4){f=a+20|0;d=k[f>>2]|0;if(d>>>0>>0?(c=b&255,(c|0)!=(i[a+75>>0]|0)):0){k[f>>2]=d+1;i[d>>0]=h;break}if((Ra[k[a+36>>2]&31](a,g,1)|0)==1)c=l[g>>0]|0;else c=-1}while(0);u=j;return c|0}function Bk(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4632;b=k[a+20>>2]|0;if(b|0){c=a+24|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}e=a+8|0;b=k[e>>2]|0;if(!b)return;d=a+12|0;c=k[d>>2]|0;if((c|0)!=(b|0)){do{a=c+-4|0;k[d>>2]=a;c=k[a>>2]|0;k[a>>2]=0;if(c|0)Ta[k[(k[c>>2]|0)+4>>2]&127](c);c=k[d>>2]|0}while((c|0)!=(b|0));b=k[e>>2]|0}_r(b);return}function Ck(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;h=a&255;c=a&255;if((k[b+76>>2]|0)>=0?(es(b)|0)!=0:0){if((c|0)!=(i[b+75>>0]|0)?(f=b+20|0,g=k[f>>2]|0,g>>>0<(k[b+16>>2]|0)>>>0):0){k[f>>2]=g+1;i[g>>0]=h}else c=Ak(b,a)|0;ds(b)}else j=3;do if((j|0)==3){if((c|0)!=(i[b+75>>0]|0)?(d=b+20|0,e=k[d>>2]|0,e>>>0<(k[b+16>>2]|0)>>>0):0){k[d>>2]=e+1;i[e>>0]=h;break}c=Ak(b,a)|0}while(0);return c|0}function Dk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;k[a>>2]=0;d=a+4|0;k[d>>2]=0;k[a+8>>2]=0;if(!b)return;if(b>>>0>357913941){Jq(a);d=Ma(4)|0;Cr(d);wa(d|0,1344,125)}e=jo(b*12|0)|0;k[d>>2]=e;k[a>>2]=e;k[a+8>>2]=e+(b*12|0);a=e;do{yk(a,c);a=(k[d>>2]|0)+12|0;k[d>>2]=a;b=b+-1|0}while((b|0)!=0);return}function Ek(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=2300;b=k[a+96>>2]|0;if(b|0)_r(b);b=k[a+84>>2]|0;if(b|0)_r(b);b=k[a+72>>2]|0;if(b|0)_r(b);b=k[a+60>>2]|0;if(b|0)_r(b);k[a>>2]=1740;b=k[a+32>>2]|0;if(!b){_r(a);return}c=a+36|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b);_r(a);return}function Fk(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=1964;b=k[a+96>>2]|0;if(b|0)_r(b);b=k[a+84>>2]|0;if(b|0)_r(b);b=k[a+72>>2]|0;if(b|0)_r(b);b=k[a+60>>2]|0;if(b|0)_r(b);k[a>>2]=1740;b=k[a+32>>2]|0;if(!b){_r(a);return}c=a+36|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b);_r(a);return}function Gk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a=u;u=u+32|0;d=a+12|0;e=a;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;Jk(e,c,Vk(c)|0);c=$j(b,e,d)|0;Jp(e);Jp(d);u=a;return c|0}function Hk(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=4432;b=a+100|0;c=a+4|0;d=c+96|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));k[b>>2]=-1;k[a+104>>2]=-1;k[a+108>>2]=-1;b=a+168|0;c=a+112|0;d=c+56|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));o[b>>2]=da(1.0);b=a+240|0;c=a+172|0;d=c+68|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));cm(b);return}function Ik(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;k[a>>2]=0;e=a+4|0;k[e>>2]=0;k[a+8>>2]=0;if(!b)return;if(b>>>0>1073741823){Jq(a);e=Ma(4)|0;Cr(e);wa(e|0,1344,125)}f=jo(b<<2)|0;k[e>>2]=f;k[a>>2]=f;d=f+(b<<2)|0;k[a+8>>2]=d;a=f;while(1){k[a>>2]=k[c>>2];b=b+-1|0;if(!b)break;else a=a+4|0}k[e>>2]=d;return}function Jk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=u;u=u+16|0;d=f;if(c>>>0<=4294967279)if(c>>>0<11)i[a+11>>0]=c;else e=5;else{Fq(a);e=5}if((e|0)==5){g=c+16&-16;e=jo(g)|0;k[a>>2]=e;k[a+8>>2]=g|-2147483648;k[a+4>>2]=c;a=e}Qp(a,b,c)|0;i[d>>0]=0;Oq(a+c|0,d);u=f;return}function Kk(a){a=a|0;var b=0,c=0;k[a>>2]=2300;b=k[a+96>>2]|0;if(b|0)_r(b);b=k[a+84>>2]|0;if(b|0)_r(b);b=k[a+72>>2]|0;if(b|0)_r(b);b=k[a+60>>2]|0;if(b|0)_r(b);k[a>>2]=1740;c=k[a+32>>2]|0;if(!c)return;b=a+36|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);_r(c);return}function Lk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;while(1){d=i[a>>0]|0;b=d<<24>>24;e=a+1|0;if(!(qr(b)|0))break;else a=e}switch(b|0){case 45:{a=1;f=5;break}case 43:{a=0;f=5;break}default:{g=0;c=a;a=d}}if((f|0)==5){g=a;c=e;a=i[e>>0]|0}b=(a<<24>>24)+-48|0;if(b>>>0<10){a=0;do{c=c+1|0;a=(a*10|0)-b|0;b=(i[c>>0]|0)+-48|0}while(b>>>0<10)}else a=0;return (g|0?a:0-a|0)|0}function Mk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;f=k[a+32>>2]|0;h=f+8|0;g=k[h>>2]|0;h=k[h+4>>2]|0;b=f+16|0;d=b;c=k[d>>2]|0;d=Fp(c|0,k[d+4>>2]|0,4,0)|0;e=M;if((h|0)<(e|0)|(h|0)==(e|0)&g>>>0>>0){h=0;return h|0}h=(k[f>>2]|0)+c|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;g=b;k[g>>2]=d;k[g+4>>2]=e;k[(k[a+4>>2]|0)+68>>2]=h;h=1;return h|0}function Nk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;f=a+8|0;h=k[a>>2]|0;if((k[f>>2]|0)-h>>2>>>0>=b>>>0)return;i=a+4|0;if(b>>>0>1073741823){i=Ma(4)|0;Cr(i);wa(i|0,1344,125)}c=(k[i>>2]|0)-h|0;g=c>>2;d=jo(b<<2)|0;e=d+(g<<2)|0;g=e+(0-g<<2)|0;if((c|0)>0)Gh(g|0,h|0,c|0)|0;k[a>>2]=g;k[i>>2]=e;k[f>>2]=d+(b<<2);if(!h)return;_r(h);return}function Ok(a){a=a|0;var b=0,c=0;k[a>>2]=1964;b=k[a+96>>2]|0;if(b|0)_r(b);b=k[a+84>>2]|0;if(b|0)_r(b);b=k[a+72>>2]|0;if(b|0)_r(b);b=k[a+60>>2]|0;if(b|0)_r(b);k[a>>2]=1740;c=k[a+32>>2]|0;if(!c)return;b=a+36|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);_r(c);return}function Pk(a,b,c){a=a|0;b=b|0;c=c|0;b=Eh(a,b)|0;if((b|0)==(a+4|0)){a=-1;b=(a|0)==-1;a=(a|0)!=0;c=b?c:a;return c|0}b=b+28|0;if((i[b+11>>0]|0)<0)b=k[b>>2]|0;a=Lk(b)|0;b=(a|0)==-1;a=(a|0)!=0;c=b?c:a;return c|0}function Qk(a){a=a|0;var b=0,c=0,d=0;if(!(k[a+68>>2]|0)){d=0;return d|0}d=a+8|0;c=a+12|0;a=k[d>>2]|0;if(((k[c>>2]|0)-a|0)>0)b=0;else{d=1;return d|0}while(1){a=k[a+(b<<2)>>2]|0;b=b+1|0;if(!(Em(a,a)|0)){a=0;b=5;break}a=k[d>>2]|0;if((b|0)>=((k[c>>2]|0)-a>>2|0)){a=1;b=5;break}}if((b|0)==5)return a|0;return 0}function Rk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c;d=c+4|0;k[e>>2]=b;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;Jk(d,17615,24);Cj(sd(a,e)|0,d,1);Jp(d);u=c;return} function ab(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=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,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;Aa=u;u=u+48|0;qa=Aa+40|0;xa=Aa+28|0;ya=Aa+8|0;$=Aa+4|0;ra=Aa;k[xa>>2]=0;za=xa+4|0;k[za>>2]=0;k[xa+8>>2]=0;k[ya>>2]=0;k[ya+4>>2]=0;k[ya+8>>2]=0;k[ya+12>>2]=0;o[ya+16>>2]=da(1.0);va=a+136|0;la=k[a+140>>2]|0;a:do if((b|0)>0){D=a+240|0;E=a+356|0;F=a+276|0;H=a+352|0;J=a+272|0;K=a+264|0;M=a+268|0;N=a+8|0;O=ya+4|0;P=a+340|0;Q=xa+8|0;S=a+36|0;T=a+40|0;V=b+-1|0;W=a+368|0;Y=a+380|0;e=0;y=0;while(1){d=y+1|0;c=k[E>>2]|0;b:do if((c|0)!=-1){x=k[W>>2]|0;w=(k[Y>>2]|0)+(c<<2)|0;ma=(k[w>>2]|0)+-1|0;k[w>>2]=ma;ma=k[(k[x+(c*12|0)>>2]|0)+(ma<<2)>>2]|0;c=k[4520+(ma<<2)>>2]|0;k[H>>2]=c;if(!ma)ma=15;else ma=58}else{do if(!(i[F>>0]|0))c=1;else{f=k[J>>2]|0;h=k[K>>2]|0;j=k[M>>2]|0;c=h+(f>>>3)|0;if(c>>>0>>0?(ma=l[c>>0]|0,aa=f+1|0,k[J>>2]=aa,ma&1<<(f&7)|0):0){c=h+(aa>>>3)|0;if(c>>>0>>0){g=(l[c>>0]|0)>>>(aa&7)&1;f=f+2|0;k[J>>2]=f}else{g=0;f=aa}c=h+(f>>>3)|0;if(c>>>0>>0){c=(l[c>>0]|0)>>>(f&7);k[J>>2]=f+1;c=c<<1&2}else c=0;c=(c|g)<<1|1;break}k[H>>2]=0;ma=15;break b}while(0);k[H>>2]=c;ma=58}while(0);c:do if((ma|0)==15){ma=0;c=k[za>>2]|0;if((k[xa>>2]|0)==(c|0)){e=-1;break a}v=k[c+-4>>2]|0;w=(v|0)<0;d:do if(!w){c=v+(((v>>>0)%3|0|0)==0?2:-1)|0;if((c|0)<0)ma=18;else{g=k[N>>2]|0;h=k[g+12>>2]|0;while(1){f=k[h+(c<<2)>>2]|0;if((f|0)<=-1){r=0;q=c;f=h;break d}c=f+(((f>>>0)%3|0|0)==0?2:-1)|0;if((c|0)<0){r=1;q=c;f=h;break}}}}else{c=v;ma=18}while(0);if((ma|0)==18){ma=0;f=k[N>>2]|0;r=1;q=c;g=f;f=k[f+12>>2]|0}c=y*3|0;s=c+1|0;k[f+(v<<2)>>2]=s;k[f+(s<<2)>>2]=v;x=c+2|0;k[f+(q<<2)>>2]=x;k[f+(x<<2)>>2]=q;f=v+1|0;if(!w?(z=((f|0)%3|0|0)==0?v+-2|0:f,(z|0)>=0):0){t=k[g>>2]|0;p=k[t+(z<<2)>>2]|0;k[t+(c<<2)>>2]=p;if((p|0)>-1){n=g+24|0;h=g+28|0;g=k[h>>2]|0;f=k[n>>2]|0;j=g-f>>2;do if(j>>>0<=p>>>0){m=p+1|0;if(m>>>0>j>>>0){oj(n,m-j|0);f=k[n>>2]|0;break}if(m>>>0>>0?(C=f+(m<<2)|0,(g|0)!=(C|0)):0)k[h>>2]=g+(~((g+-4-C|0)>>>2)<<2)}while(0);k[f+(p<<2)>>2]=c;t=p;f=k[N>>2]|0}else{t=p;f=g}}else{k[(k[g>>2]|0)+(c<<2)>>2]=-1073741824;t=-1073741824;f=g}g=q+1|0;if(!r?(B=((g|0)%3|0|0)==0?q+-2|0:g,(B|0)>=0):0){r=k[f>>2]|0;p=k[r+(B<<2)>>2]|0;k[r+(s<<2)>>2]=p;if((p|0)>-1){n=f+24|0;h=f+28|0;g=k[h>>2]|0;f=k[n>>2]|0;j=g-f>>2;do if(j>>>0<=p>>>0){m=p+1|0;if(m>>>0>j>>>0){oj(n,m-j|0);f=k[n>>2]|0;break}if(m>>>0>>0?(G=f+(m<<2)|0,(g|0)!=(G|0)):0)k[h>>2]=g+(~((g+-4-G|0)>>>2)<<2)}while(0);k[f+(p<<2)>>2]=s;f=k[N>>2]|0}}else k[(k[f>>2]|0)+(s<<2)>>2]=-1073741824;if(!w?(I=(((v>>>0)%3|0|0)==0?2:-1)+v|0,(I|0)>=0):0){w=k[f>>2]|0;p=k[w+(I<<2)>>2]|0;k[w+(x<<2)>>2]=p;if((p|0)>-1){n=f+24|0;h=f+28|0;g=k[h>>2]|0;f=k[n>>2]|0;j=g-f>>2;do if(j>>>0<=p>>>0){m=p+1|0;if(m>>>0>j>>>0){oj(n,m-j|0);f=k[n>>2]|0;break}if(m>>>0>>0?(L=f+(m<<2)|0,(g|0)!=(L|0)):0)k[h>>2]=g+(~((g+-4-L|0)>>>2)<<2)}while(0);g=x;f=f+(p<<2)|0;ma=55}}else{g=-1073741824;f=(k[f>>2]|0)+(x<<2)|0;ma=55}if((ma|0)==55){ma=0;k[f>>2]=g}if((e|0)>(la|0)){e=-1;break a}f=(k[va>>2]|0)+(t>>>5<<2)|0;k[f>>2]=k[f>>2]&~(1<<(t&31));k[(k[za>>2]|0)+-4>>2]=c;f=0}else if((ma|0)==58){ma=0;switch(c|0){case 3:case 5:{f=k[za>>2]|0;if((k[xa>>2]|0)==(f|0)){e=-1;break a}s=k[f+-4>>2]|0;v=y*3|0;c=((c|0)==5?2:1)+v|0;f=k[N>>2]|0;t=k[f+12>>2]|0;k[t+(c<<2)>>2]=s;k[t+(s<<2)>>2]=c;t=e+1|0;k[(k[f>>2]|0)+(c<<2)>>2]=e;if((e|0)>-1){m=f+24|0;h=f+28|0;g=k[h>>2]|0;f=k[m>>2]|0;j=g-f>>2;do if(j>>>0<=e>>>0){if(t>>>0>j>>>0){oj(m,t-j|0);f=k[m>>2]|0;break}if(t>>>0>>0?(R=f+(t<<2)|0,(g|0)!=(R|0)):0)k[h>>2]=g+(~((g+-4-R|0)>>>2)<<2)}while(0);k[f+(e<<2)>>2]=c;f=k[N>>2]|0}q=(c|0)<0;e=c+1|0;if(q)p=c;else p=((e|0)%3|0|0)==0?c+-2|0:e;r=(s|0)<0;if(!r?(U=(((s>>>0)%3|0|0)==0?2:-1)+s|0,(U|0)>=0):0){x=k[f>>2]|0;n=k[x+(U<<2)>>2]|0;k[x+(p<<2)>>2]=n;if((n|0)>-1){m=f+24|0;g=f+28|0;f=k[g>>2]|0;e=k[m>>2]|0;h=f-e>>2;do if(h>>>0<=n>>>0){j=n+1|0;if(j>>>0>h>>>0){oj(m,j-h|0);e=k[m>>2]|0;break}if(j>>>0>>0?(X=e+(j<<2)|0,(f|0)!=(X|0)):0)k[g>>2]=f+(~((f+-4-X|0)>>>2)<<2)}while(0);k[e+(n<<2)>>2]=p;f=k[N>>2]|0}}else k[(k[f>>2]|0)+(p<<2)>>2]=-1073741824;do if(!q)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);e=s+1|0;if(!r?(A=((e|0)%3|0|0)==0?s+-2|0:e,(A|0)>=0):0){x=k[f>>2]|0;n=k[x+(A<<2)>>2]|0;k[x+(c<<2)>>2]=n;if((n|0)>-1){m=f+24|0;g=f+28|0;f=k[g>>2]|0;e=k[m>>2]|0;h=f-e>>2;do if(h>>>0<=n>>>0){j=n+1|0;if(j>>>0>h>>>0){oj(m,j-h|0);e=k[m>>2]|0;break}if(j>>>0>>0?(Z=e+(j<<2)|0,(f|0)!=(Z|0)):0)k[g>>2]=f+(~((f+-4-Z|0)>>>2)<<2)}while(0);e=e+(n<<2)|0;ma=96}}else{e=(k[f>>2]|0)+(c<<2)|0;c=-1073741824;ma=96}if((ma|0)==96){ma=0;k[e>>2]=c}k[(k[za>>2]|0)+-4>>2]=v;f=1;e=t;c=v;break c}case 1:{p=k[xa>>2]|0;c=k[za>>2]|0;if((p|0)==(c|0)){e=-1;break a}q=c+-4|0;g=k[q>>2]|0;k[za>>2]=q;j=k[O>>2]|0;e:do if(j){m=j+-1|0;h=(m&j|0)==0;if(h)n=m&y;else n=(y>>>0)%(j>>>0)|0;f=k[(k[ya>>2]|0)+(n<<2)>>2]|0;if(f){if(h)do{f=k[f>>2]|0;if(!f){f=p;c=q;break e}if((k[f+4>>2]&m|0)!=(n|0)){f=p;c=q;break e}}while((k[f+8>>2]|0)!=(y|0));else do{f=k[f>>2]|0;if(!f){f=p;c=q;break e}if((((k[f+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(n|0)){f=p;c=q;break e}}while((k[f+8>>2]|0)!=(y|0));f=f+12|0;if((q|0)==(k[Q>>2]|0)){Dj(xa,f);f=k[xa>>2]|0;c=k[za>>2]|0;break}else{k[q>>2]=k[f>>2];k[za>>2]=c;f=p;break}}else{f=p;c=q}}else{f=p;c=q}while(0);if((f|0)==(c|0)){e=-1;break a}r=k[c+-4>>2]|0;c=y*3|0;v=c+2|0;f=k[N>>2]|0;x=k[f+12>>2]|0;k[x+(r<<2)>>2]=v;k[x+(v<<2)>>2]=r;t=c+1|0;k[x+(g<<2)>>2]=t;k[x+(t<<2)>>2]=g;if((r|0)>=0){h=(((r>>>0)%3|0|0)==0?2:-1)+r|0;j=k[f>>2]|0;if((h|0)>=0){q=k[j+(h<<2)>>2]|0;k[j+(c<<2)>>2]=q;if((q|0)>-1){p=f+24|0;j=f+28|0;h=k[j>>2]|0;f=k[p>>2]|0;m=h-f>>2;do if(m>>>0<=q>>>0){n=q+1|0;if(n>>>0>m>>>0){oj(p,n-m|0);f=k[p>>2]|0;break}if(n>>>0>>0?(_=f+(n<<2)|0,(h|0)!=(_|0)):0)k[j>>2]=h+(~((h+-4-_|0)>>>2)<<2)}while(0);k[f+(q<<2)>>2]=c;s=q;f=k[N>>2]|0;m=1}else{s=q;m=0}}else{k[j+(c<<2)>>2]=-1073741824;s=-1073741824;m=0}j=r+1|0;j=((j|0)%3|0|0)==0?r+-2|0:j;h=k[f>>2]|0;if((j|0)>=0){r=k[h+(j<<2)>>2]|0;k[h+(t<<2)>>2]=r;if((r|0)>-1){q=f+24|0;j=f+28|0;h=k[j>>2]|0;f=k[q>>2]|0;n=h-f>>2;do if(n>>>0<=r>>>0){p=r+1|0;if(p>>>0>n>>>0){oj(q,p-n|0);f=k[q>>2]|0;break}if(p>>>0>>0?(ba=f+(p<<2)|0,(h|0)!=(ba|0)):0)k[j>>2]=h+(~((h+-4-ba|0)>>>2)<<2)}while(0);k[f+(r<<2)>>2]=t;j=s;f=k[N>>2]|0;s=m}else{j=s;s=m}}else{j=s;ma=128}}else{h=k[f>>2]|0;k[h+(c<<2)>>2]=-1073741824;m=0;j=-1073741824;ma=128}if((ma|0)==128){ma=0;k[h+(t<<2)>>2]=-1073741824;s=m}if((g|0)>=0){h=(((g>>>0)%3|0|0)==0?2:-1)+g|0;m=k[f>>2]|0;if((h|0)>=0){r=k[m+(h<<2)>>2]|0;k[m+(v<<2)>>2]=r;if((r|0)>-1){q=f+24|0;m=f+28|0;h=k[m>>2]|0;f=k[q>>2]|0;n=h-f>>2;do if(n>>>0<=r>>>0){p=r+1|0;if(p>>>0>n>>>0){oj(q,p-n|0);f=k[q>>2]|0;break}if(p>>>0>>0?(ca=f+(p<<2)|0,(h|0)!=(ca|0)):0)k[m>>2]=h+(~((h+-4-ca|0)>>>2)<<2)}while(0);h=v;f=f+(r<<2)|0;ma=149}}else{h=-1073741824;f=m+(v<<2)|0;ma=149}if((ma|0)==149){ma=0;k[f>>2]=h}f=g+1|0;g=((f|0)%3|0|0)==0?g+-2|0:f;f=k[N>>2]|0;if((g|0)<0)r=-1073741824;else r=k[(k[f>>2]|0)+(g<<2)>>2]|0}else{k[(k[f>>2]|0)+(v<<2)>>2]=-1073741824;r=-1073741824}w=k[P>>2]|0;x=w+(j<<2)|0;k[x>>2]=(k[x>>2]|0)+(k[w+(r<<2)>>2]|0);f:do if((g|0)>-1){q=j+1|0;if(!s){m=k[f>>2]|0;n=f+12|0;while(1){k[m+(g<<2)>>2]=j;x=g+1|0;g=((x|0)%3|0|0)==0?g+-2|0:x;if((g|0)<0)break f;g=k[(k[n>>2]|0)+(g<<2)>>2]|0;h=g+1|0;if((g|0)<0)break f;g=((h|0)%3|0|0)==0?g+-2|0:h;if((g|0)<=-1)break f}}do{k[(k[f>>2]|0)+(g<<2)>>2]=j;p=f+24|0;m=f+28|0;h=k[m>>2]|0;f=k[p>>2]|0;n=h-f>>2;do if(n>>>0<=j>>>0){if(q>>>0>n>>>0){oj(p,q-n|0);f=k[p>>2]|0;break}if(q>>>0>>0?(ea=f+(q<<2)|0,(h|0)!=(ea|0)):0)k[m>>2]=h+(~((h+-4-ea|0)>>>2)<<2)}while(0);k[f+(j<<2)>>2]=g;f=g+1|0;g=((f|0)%3|0|0)==0?g+-2|0:f;f=k[N>>2]|0;if((g|0)<0)break f;g=k[(k[f+12>>2]|0)+(g<<2)>>2]|0;h=g+1|0;if((g|0)<0)break f;g=((h|0)%3|0|0)==0?g+-2|0:h}while((g|0)>-1)}while(0);k[(k[f+24>>2]|0)+(r<<2)>>2]=-1073741824;k[(k[za>>2]|0)+-4>>2]=c;f=0;break c}case 7:{m=y*3|0;k[qa>>2]=m;f=k[N>>2]|0;p=e+1|0;c=k[f>>2]|0;k[c+(m<<2)>>2]=e;if((e|0)<=-1){g=m+1|0;h=e+2|0;k[c+(g<<2)>>2]=p;if((e|0)==-1){c=f;ma=177}else{g=m;n=h}}else{j=f+24|0;g=f+28|0;f=k[g>>2]|0;c=k[j>>2]|0;h=f-c>>2;do if(h>>>0<=e>>>0){if(p>>>0>h>>>0){oj(j,p-h|0);c=k[j>>2]|0;break}if(p>>>0>>0?(fa=c+(p<<2)|0,(f|0)!=(fa|0)):0)k[g>>2]=f+(~((f+-4-fa|0)>>>2)<<2)}while(0);k[c+(e<<2)>>2]=m;c=k[N>>2]|0;g=(k[qa>>2]|0)+1|0;k[(k[c>>2]|0)+(g<<2)>>2]=p;h=e+2|0;ma=177}if((ma|0)==177){ma=0;n=c+24|0;j=c+28|0;f=k[j>>2]|0;c=k[n>>2]|0;m=f-c>>2;do if(m>>>0<=p>>>0){if(h>>>0>m>>>0){oj(n,h-m|0);c=k[n>>2]|0;break}if(h>>>0>>0?(ga=c+(h<<2)|0,(f|0)!=(ga|0)):0)k[j>>2]=f+(~((f+-4-ga|0)>>>2)<<2)}while(0);k[c+(p<<2)>>2]=g;f=k[N>>2]|0;g=k[qa>>2]|0;c=k[f>>2]|0;n=h}m=g+2|0;e=e+3|0;k[c+(m<<2)>>2]=n;if((n|0)>-1){j=f+24|0;g=f+28|0;f=k[g>>2]|0;c=k[j>>2]|0;h=f-c>>2;do if(h>>>0<=n>>>0){if(e>>>0>h>>>0){oj(j,e-h|0);c=k[j>>2]|0;break}if(e>>>0>>0?(ha=c+(e<<2)|0,(f|0)!=(ha|0)):0)k[g>>2]=f+(~((f+-4-ha|0)>>>2)<<2)}while(0);k[c+(n<<2)>>2]=m}c=k[za>>2]|0;if((c|0)==(k[Q>>2]|0)){Dj(xa,qa);c=k[za>>2]|0}else{k[c>>2]=k[qa>>2];c=c+4|0;k[za>>2]=c}f=1;c=k[c+-4>>2]|0;break c}default:{e=-1;break a}}}while(0);k[$>>2]=c;k[qa>>2]=k[$>>2];fe(D,qa);g:do if(f?(ia=b-y|0,ja=ia+-1|0,ka=k[T>>2]|0,(ka|0)!=(k[S>>2]|0)):0){c=ka;do{f=k[c+-8>>2]|0;if((f|0)>=(ia|0)){e=-1;break a}if((f|0)!=(ja|0))break g;f=i[c+-4>>0]|0;h=k[c+-12>>2]|0;k[T>>2]=c+-12;if((h|0)<0){e=-1;break a}c=k[(k[za>>2]|0)+-4>>2]|0;g=(c|0)<0;do if(!(f&1)){if(!g)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}}else{f=c+1|0;if(!g)c=((f|0)%3|0|0)==0?c+-2|0:f}while(0);k[qa>>2]=V-h;y=wf(ya,qa)|0;k[y>>2]=c;c=k[T>>2]|0}while((c|0)!=(k[S>>2]|0))}while(0);if((d|0)<(b|0))y=d;else{ma=210;break}}}else{e=0;d=0;ma=210}while(0);do if((ma|0)==210)if((e|0)<=(la|0)){f=k[za>>2]|0;if((f|0)==(k[xa>>2]|0))c=a+8|0;else{t=a+316|0;c=a+8|0;v=a+64|0;w=a+68|0;x=a+72|0;y=a+80|0;z=a+84|0;A=a+76|0;B=a+312|0;b=a+304|0;C=a+308|0;do{la=f;p=k[la+-4>>2]|0;k[qa>>2]=p;k[za>>2]=la+-4;do if(i[t>>0]|0){f=k[B>>2]|0;g=(k[b>>2]|0)+(f>>>3)|0;if(g>>>0<(k[C>>2]|0)>>>0?(la=l[g>>0]|0,k[B>>2]=f+1,la&1<<(f&7)|0):0){ma=217;break}f=k[w>>2]|0;g=k[x>>2]|0;if((f|0)==(g<<5|0)){if((f+1|0)<0){Jq(v);g=k[x>>2]|0}la=g<<6;f=f+32&-32;lj(v,g<<5>>>0<1073741823?(la>>>0>>0?f:la):2147483647);f=k[w>>2]|0}k[w>>2]=f+1;la=(k[v>>2]|0)+(f>>>5<<2)|0;k[la>>2]=k[la>>2]&~(1<<(f&31));f=k[y>>2]|0;if((f|0)==(k[z>>2]|0)){Dj(A,qa);break}else{k[f>>2]=k[qa>>2];k[y>>2]=f+4;break}}else ma=217;while(0);if((ma|0)==217){ma=0;j=(p|0)<0;h:do if(!j){f=p+(((p>>>0)%3|0|0)==0?2:-1)|0;if((f|0)>=0){g=k[(k[c>>2]|0)+12>>2]|0;h=f;while(1){f=k[g+(h<<2)>>2]|0;if((f|0)<=-1){g=0;f=h;break}f=f+(((f>>>0)%3|0|0)==0?2:-1)|0;if((f|0)<0){g=1;break}else h=f}if(j){h=p;ma=224;break}}else g=1;h=p+1|0;h=((h|0)%3|0|0)==0?p+-2|0:h;if((h|0)<0)ma=224;else{n=k[c>>2]|0;m=k[n+12>>2]|0;while(1){j=k[m+(h<<2)>>2]|0;if((j|0)<=-1){r=0;j=m;m=n;break h}h=j+1|0;h=((h|0)%3|0|0)==0?j+-2|0:h;if((h|0)<0){r=1;j=m;m=n;break}}}}else{g=1;h=p;f=p;ma=224}while(0);if((ma|0)==224){ma=0;m=k[c>>2]|0;r=1;j=k[m+12>>2]|0}s=d+1|0;d=d*3|0;k[ra>>2]=d;k[j+(d<<2)>>2]=p;k[j+(p<<2)>>2]=d;d=(k[ra>>2]|0)+1|0;k[j+(d<<2)>>2]=f;k[j+(f<<2)>>2]=d;d=(k[ra>>2]|0)+2|0;k[j+(d<<2)>>2]=h;k[j+(h<<2)>>2]=d;d=k[ra>>2]|0;j=f+1|0;if(!g?(pa=((j|0)%3|0|0)==0?f+-2|0:j,(pa|0)>=0):0){la=k[m>>2]|0;q=k[la+(pa<<2)>>2]|0;k[la+(d<<2)>>2]=q;if((q|0)>-1){p=m+24|0;j=m+28|0;g=k[j>>2]|0;f=k[p>>2]|0;m=g-f>>2;do if(m>>>0<=q>>>0){n=q+1|0;if(n>>>0>m>>>0){oj(p,n-m|0);f=k[p>>2]|0;break}if(n>>>0>>0?(sa=f+(n<<2)|0,(g|0)!=(sa|0)):0)k[j>>2]=g+(~((g+-4-sa|0)>>>2)<<2)}while(0);k[f+(q<<2)>>2]=d;d=k[ra>>2]|0;g=k[c>>2]|0}else g=m}else{k[(k[m>>2]|0)+(d<<2)>>2]=-1073741824;g=m}p=d+1|0;f=h+1|0;if(!r?(oa=((f|0)%3|0|0)==0?h+-2|0:f,(oa|0)>=0):0){la=k[g>>2]|0;n=k[la+(oa<<2)>>2]|0;k[la+(p<<2)>>2]=n;if((n|0)>-1){m=g+24|0;g=g+28|0;f=k[g>>2]|0;d=k[m>>2]|0;h=f-d>>2;do if(h>>>0<=n>>>0){j=n+1|0;if(j>>>0>h>>>0){oj(m,j-h|0);d=k[m>>2]|0;break}if(j>>>0>>0?(ta=d+(j<<2)|0,(f|0)!=(ta|0)):0)k[g>>2]=f+(~((f+-4-ta|0)>>>2)<<2)}while(0);k[d+(n<<2)>>2]=p;d=k[ra>>2]|0;h=k[c>>2]|0}else h=g}else{k[(k[g>>2]|0)+(p<<2)>>2]=-1073741824;h=g}p=d+2|0;f=k[qa>>2]|0;g=f+1|0;if((f|0)>=0?(na=((g|0)%3|0|0)==0?f+-2|0:g,(na|0)>=0):0){la=k[h>>2]|0;n=k[la+(na<<2)>>2]|0;k[la+(p<<2)>>2]=n;if((n|0)>-1){m=h+24|0;g=h+28|0;f=k[g>>2]|0;d=k[m>>2]|0;h=f-d>>2;do if(h>>>0<=n>>>0){j=n+1|0;if(j>>>0>h>>>0){oj(m,j-h|0);d=k[m>>2]|0;break}if(j>>>0>>0?(ua=d+(j<<2)|0,(f|0)!=(ua|0)):0)k[g>>2]=f+(~((f+-4-ua|0)>>>2)<<2)}while(0);k[d+(n<<2)>>2]=p;d=k[ra>>2]|0}}else k[(k[h>>2]|0)+(p<<2)>>2]=-1073741824;if((d|0)<0)d=-1073741824;else d=k[(k[k[c>>2]>>2]|0)+(d<<2)>>2]|0;f=k[va>>2]|0;la=f+(d>>>5<<2)|0;k[la>>2]=k[la>>2]&~(1<<(d&31));d=k[ra>>2]|0;if((d|0)<-1)d=-1073741824;else d=k[(k[k[c>>2]>>2]|0)+(d+1<<2)>>2]|0;la=f+(d>>>5<<2)|0;k[la>>2]=k[la>>2]&~(1<<(d&31));d=k[ra>>2]|0;if((d|0)<-2)d=-1073741824;else d=k[(k[k[c>>2]>>2]|0)+(d+2<<2)>>2]|0;f=f+(d>>>5<<2)|0;k[f>>2]=k[f>>2]&~(1<<(d&31));d=k[w>>2]|0;f=k[x>>2]|0;if((d|0)==(f<<5|0)){if((d+1|0)<0){Jq(v);f=k[x>>2]|0}la=f<<6;d=d+32&-32;lj(v,f<<5>>>0<1073741823?(la>>>0>>0?d:la):2147483647);d=k[w>>2]|0}k[w>>2]=d+1;la=(k[v>>2]|0)+(d>>>5<<2)|0;k[la>>2]=k[la>>2]|1<<(d&31);d=k[y>>2]|0;if((d|0)==(k[z>>2]|0))Dj(A,ra);else{k[d>>2]=k[ra>>2];k[y>>2]=d+4}d=s}f=k[za>>2]|0}while((f|0)!=(k[xa>>2]|0))}va=k[c>>2]|0;if((d|0)==(((k[va+4>>2]|0)-(k[va>>2]|0)>>2>>>0)/3|0|0)){h=a+88|0;c=a+92|0;g=k[c>>2]|0;d=k[h>>2]|0;f=g-d>>2;if(e>>>0>f>>>0){oj(h,e-f|0);break}if(e>>>0>>0?(wa=d+(e<<2)|0,(g|0)!=(wa|0)):0)k[c>>2]=g+(~((g+-4-wa|0)>>>2)<<2)}else e=-1}else e=-1;while(0);c=k[ya+8>>2]|0;if(c|0)do{wa=c;c=k[c>>2]|0;_r(wa)}while((c|0)!=0);c=k[ya>>2]|0;k[ya>>2]=0;if(c|0)_r(c);c=k[xa>>2]|0;if(!c){u=Aa;return e|0}d=k[za>>2]|0;if((d|0)!=(c|0))k[za>>2]=d+(~((d+-4-c|0)>>>2)<<2);_r(c);u=Aa;return e|0}function bb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=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,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0;za=u;u=u+48|0;pa=za+40|0;wa=za+28|0;xa=za+8|0;_=za+4|0;qa=za;k[wa>>2]=0;ya=wa+4|0;k[ya>>2]=0;k[wa+8>>2]=0;k[xa>>2]=0;k[xa+4>>2]=0;k[xa+8>>2]=0;k[xa+12>>2]=0;o[xa+16>>2]=da(1.0);ua=a+136|0;ka=k[a+140>>2]|0;a:do if((b|0)>0){D=a+240|0;E=a+372|0;G=a+276|0;I=a+368|0;J=a+272|0;L=a+264|0;M=a+268|0;N=a+8|0;O=xa+4|0;P=a+340|0;R=wa+8|0;S=a+36|0;U=a+40|0;V=b+-1|0;X=a+352|0;e=0;y=0;while(1){d=y+1|0;if((k[E>>2]|0)!=-1?Nl(X)|0:0){c=k[E>>2]|0;k[I>>2]=c;if(!c)la=16;else la=59}else la=5;b:do if((la|0)==5){do if(!(i[G>>0]|0))c=1;else{f=k[J>>2]|0;h=k[L>>2]|0;j=k[M>>2]|0;c=h+(f>>>3)|0;if(c>>>0>>0?(la=l[c>>0]|0,$=f+1|0,k[J>>2]=$,la&1<<(f&7)|0):0){c=h+($>>>3)|0;if(c>>>0>>0){g=(l[c>>0]|0)>>>($&7)&1;f=f+2|0;k[J>>2]=f}else{g=0;f=$}c=h+(f>>>3)|0;if(c>>>0>>0){c=(l[c>>0]|0)>>>(f&7);k[J>>2]=f+1;c=c<<1&2}else c=0;c=(c|g)<<1|1;break}k[I>>2]=0;la=16;break b}while(0);k[I>>2]=c;la=59}while(0);c:do if((la|0)==16){la=0;c=k[ya>>2]|0;if((k[wa>>2]|0)==(c|0)){e=-1;break a}v=k[c+-4>>2]|0;w=(v|0)<0;d:do if(!w){c=v+(((v>>>0)%3|0|0)==0?2:-1)|0;if((c|0)<0)la=19;else{h=k[N>>2]|0;g=k[h+12>>2]|0;while(1){f=k[g+(c<<2)>>2]|0;if((f|0)<=-1){r=0;q=c;f=h;break d}c=f+(((f>>>0)%3|0|0)==0?2:-1)|0;if((c|0)<0){r=1;q=c;f=h;break}}}}else{c=v;la=19}while(0);if((la|0)==19){la=0;f=k[N>>2]|0;r=1;q=c;g=k[f+12>>2]|0}c=y*3|0;s=c+1|0;k[g+(v<<2)>>2]=s;k[g+(s<<2)>>2]=v;x=c+2|0;k[g+(q<<2)>>2]=x;k[g+(x<<2)>>2]=q;g=v+1|0;if(!w?(z=((g|0)%3|0|0)==0?v+-2|0:g,(z|0)>=0):0){t=k[f>>2]|0;p=k[t+(z<<2)>>2]|0;k[t+(c<<2)>>2]=p;if((p|0)>-1){n=f+24|0;h=f+28|0;g=k[h>>2]|0;f=k[n>>2]|0;j=g-f>>2;do if(j>>>0<=p>>>0){m=p+1|0;if(m>>>0>j>>>0){oj(n,m-j|0);f=k[n>>2]|0;break}if(m>>>0>>0?(C=f+(m<<2)|0,(g|0)!=(C|0)):0)k[h>>2]=g+(~((g+-4-C|0)>>>2)<<2)}while(0);k[f+(p<<2)>>2]=c;t=p;f=k[N>>2]|0}else t=p}else{k[(k[f>>2]|0)+(c<<2)>>2]=-1073741824;t=-1073741824}g=q+1|0;if(!r?(B=((g|0)%3|0|0)==0?q+-2|0:g,(B|0)>=0):0){r=k[f>>2]|0;p=k[r+(B<<2)>>2]|0;k[r+(s<<2)>>2]=p;if((p|0)>-1){n=f+24|0;h=f+28|0;g=k[h>>2]|0;f=k[n>>2]|0;j=g-f>>2;do if(j>>>0<=p>>>0){m=p+1|0;if(m>>>0>j>>>0){oj(n,m-j|0);f=k[n>>2]|0;break}if(m>>>0>>0?(F=f+(m<<2)|0,(g|0)!=(F|0)):0)k[h>>2]=g+(~((g+-4-F|0)>>>2)<<2)}while(0);k[f+(p<<2)>>2]=s;f=k[N>>2]|0}}else k[(k[f>>2]|0)+(s<<2)>>2]=-1073741824;if(!w?(H=(((v>>>0)%3|0|0)==0?2:-1)+v|0,(H|0)>=0):0){w=k[f>>2]|0;p=k[w+(H<<2)>>2]|0;k[w+(x<<2)>>2]=p;if((p|0)>-1){n=f+24|0;h=f+28|0;g=k[h>>2]|0;f=k[n>>2]|0;j=g-f>>2;do if(j>>>0<=p>>>0){m=p+1|0;if(m>>>0>j>>>0){oj(n,m-j|0);f=k[n>>2]|0;break}if(m>>>0>>0?(K=f+(m<<2)|0,(g|0)!=(K|0)):0)k[h>>2]=g+(~((g+-4-K|0)>>>2)<<2)}while(0);g=x;f=f+(p<<2)|0;la=56}}else{g=-1073741824;f=(k[f>>2]|0)+(x<<2)|0;la=56}if((la|0)==56){la=0;k[f>>2]=g}if((e|0)>(ka|0)){e=-1;break a}f=(k[ua>>2]|0)+(t>>>5<<2)|0;k[f>>2]=k[f>>2]&~(1<<(t&31));k[(k[ya>>2]|0)+-4>>2]=c;f=0}else if((la|0)==59){la=0;switch(c|0){case 3:case 5:{f=k[ya>>2]|0;if((k[wa>>2]|0)==(f|0)){e=-1;break a}s=k[f+-4>>2]|0;v=y*3|0;c=((c|0)==5?2:1)+v|0;f=k[N>>2]|0;t=k[f+12>>2]|0;k[t+(c<<2)>>2]=s;k[t+(s<<2)>>2]=c;t=e+1|0;k[(k[f>>2]|0)+(c<<2)>>2]=e;if((e|0)>-1){m=f+24|0;h=f+28|0;g=k[h>>2]|0;f=k[m>>2]|0;j=g-f>>2;do if(j>>>0<=e>>>0){if(t>>>0>j>>>0){oj(m,t-j|0);f=k[m>>2]|0;break}if(t>>>0>>0?(Q=f+(t<<2)|0,(g|0)!=(Q|0)):0)k[h>>2]=g+(~((g+-4-Q|0)>>>2)<<2)}while(0);k[f+(e<<2)>>2]=c;f=k[N>>2]|0}q=(c|0)<0;e=c+1|0;if(q)p=c;else p=((e|0)%3|0|0)==0?c+-2|0:e;r=(s|0)<0;if(!r?(T=(((s>>>0)%3|0|0)==0?2:-1)+s|0,(T|0)>=0):0){x=k[f>>2]|0;n=k[x+(T<<2)>>2]|0;k[x+(p<<2)>>2]=n;if((n|0)>-1){m=f+24|0;g=f+28|0;f=k[g>>2]|0;e=k[m>>2]|0;h=f-e>>2;do if(h>>>0<=n>>>0){j=n+1|0;if(j>>>0>h>>>0){oj(m,j-h|0);e=k[m>>2]|0;break}if(j>>>0>>0?(W=e+(j<<2)|0,(f|0)!=(W|0)):0)k[g>>2]=f+(~((f+-4-W|0)>>>2)<<2)}while(0);k[e+(n<<2)>>2]=p;f=k[N>>2]|0}}else k[(k[f>>2]|0)+(p<<2)>>2]=-1073741824;do if(!q)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);e=s+1|0;if(!r?(A=((e|0)%3|0|0)==0?s+-2|0:e,(A|0)>=0):0){x=k[f>>2]|0;n=k[x+(A<<2)>>2]|0;k[x+(c<<2)>>2]=n;if((n|0)>-1){m=f+24|0;g=f+28|0;f=k[g>>2]|0;e=k[m>>2]|0;h=f-e>>2;do if(h>>>0<=n>>>0){j=n+1|0;if(j>>>0>h>>>0){oj(m,j-h|0);e=k[m>>2]|0;break}if(j>>>0>>0?(Y=e+(j<<2)|0,(f|0)!=(Y|0)):0)k[g>>2]=f+(~((f+-4-Y|0)>>>2)<<2)}while(0);e=e+(n<<2)|0;la=97}}else{e=(k[f>>2]|0)+(c<<2)|0;c=-1073741824;la=97}if((la|0)==97){la=0;k[e>>2]=c}k[(k[ya>>2]|0)+-4>>2]=v;f=1;e=t;c=v;break c}case 1:{p=k[wa>>2]|0;c=k[ya>>2]|0;if((p|0)==(c|0)){e=-1;break a}q=c+-4|0;g=k[q>>2]|0;k[ya>>2]=q;j=k[O>>2]|0;e:do if(j){m=j+-1|0;h=(m&j|0)==0;if(h)n=m&y;else n=(y>>>0)%(j>>>0)|0;f=k[(k[xa>>2]|0)+(n<<2)>>2]|0;if(f){if(h)do{f=k[f>>2]|0;if(!f){f=p;c=q;break e}if((k[f+4>>2]&m|0)!=(n|0)){f=p;c=q;break e}}while((k[f+8>>2]|0)!=(y|0));else do{f=k[f>>2]|0;if(!f){f=p;c=q;break e}if((((k[f+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(n|0)){f=p;c=q;break e}}while((k[f+8>>2]|0)!=(y|0));f=f+12|0;if((q|0)==(k[R>>2]|0)){Dj(wa,f);f=k[wa>>2]|0;c=k[ya>>2]|0;break}else{k[q>>2]=k[f>>2];k[ya>>2]=c;f=p;break}}else{f=p;c=q}}else{f=p;c=q}while(0);if((f|0)==(c|0)){e=-1;break a}r=k[c+-4>>2]|0;c=y*3|0;v=c+2|0;f=k[N>>2]|0;x=k[f+12>>2]|0;k[x+(r<<2)>>2]=v;k[x+(v<<2)>>2]=r;t=c+1|0;k[x+(g<<2)>>2]=t;k[x+(t<<2)>>2]=g;if((r|0)>=0){h=(((r>>>0)%3|0|0)==0?2:-1)+r|0;j=k[f>>2]|0;if((h|0)>=0){q=k[j+(h<<2)>>2]|0;k[j+(c<<2)>>2]=q;if((q|0)>-1){p=f+24|0;j=f+28|0;h=k[j>>2]|0;f=k[p>>2]|0;m=h-f>>2;do if(m>>>0<=q>>>0){n=q+1|0;if(n>>>0>m>>>0){oj(p,n-m|0);f=k[p>>2]|0;break}if(n>>>0>>0?(Z=f+(n<<2)|0,(h|0)!=(Z|0)):0)k[j>>2]=h+(~((h+-4-Z|0)>>>2)<<2)}while(0);k[f+(q<<2)>>2]=c;s=q;f=k[N>>2]|0;m=1}else{s=q;m=0}}else{k[j+(c<<2)>>2]=-1073741824;s=-1073741824;m=0}j=r+1|0;j=((j|0)%3|0|0)==0?r+-2|0:j;h=k[f>>2]|0;if((j|0)>=0){r=k[h+(j<<2)>>2]|0;k[h+(t<<2)>>2]=r;if((r|0)>-1){q=f+24|0;j=f+28|0;h=k[j>>2]|0;f=k[q>>2]|0;n=h-f>>2;do if(n>>>0<=r>>>0){p=r+1|0;if(p>>>0>n>>>0){oj(q,p-n|0);f=k[q>>2]|0;break}if(p>>>0>>0?(aa=f+(p<<2)|0,(h|0)!=(aa|0)):0)k[j>>2]=h+(~((h+-4-aa|0)>>>2)<<2)}while(0);k[f+(r<<2)>>2]=t;j=s;f=k[N>>2]|0;s=m}else{j=s;s=m}}else{j=s;la=129}}else{h=k[f>>2]|0;k[h+(c<<2)>>2]=-1073741824;m=0;j=-1073741824;la=129}if((la|0)==129){la=0;k[h+(t<<2)>>2]=-1073741824;s=m}if((g|0)>=0){h=(((g>>>0)%3|0|0)==0?2:-1)+g|0;m=k[f>>2]|0;if((h|0)>=0){r=k[m+(h<<2)>>2]|0;k[m+(v<<2)>>2]=r;if((r|0)>-1){q=f+24|0;m=f+28|0;h=k[m>>2]|0;f=k[q>>2]|0;n=h-f>>2;do if(n>>>0<=r>>>0){p=r+1|0;if(p>>>0>n>>>0){oj(q,p-n|0);f=k[q>>2]|0;break}if(p>>>0>>0?(ba=f+(p<<2)|0,(h|0)!=(ba|0)):0)k[m>>2]=h+(~((h+-4-ba|0)>>>2)<<2)}while(0);h=v;f=f+(r<<2)|0;la=150}}else{h=-1073741824;f=m+(v<<2)|0;la=150}if((la|0)==150){la=0;k[f>>2]=h}f=g+1|0;g=((f|0)%3|0|0)==0?g+-2|0:f;f=k[N>>2]|0;if((g|0)<0)r=-1073741824;else r=k[(k[f>>2]|0)+(g<<2)>>2]|0}else{k[(k[f>>2]|0)+(v<<2)>>2]=-1073741824;r=-1073741824}w=k[P>>2]|0;x=w+(j<<2)|0;k[x>>2]=(k[x>>2]|0)+(k[w+(r<<2)>>2]|0);f:do if((g|0)>-1){q=j+1|0;if(!s){m=k[f>>2]|0;n=f+12|0;while(1){k[m+(g<<2)>>2]=j;x=g+1|0;g=((x|0)%3|0|0)==0?g+-2|0:x;if((g|0)<0)break f;g=k[(k[n>>2]|0)+(g<<2)>>2]|0;h=g+1|0;if((g|0)<0)break f;g=((h|0)%3|0|0)==0?g+-2|0:h;if((g|0)<=-1)break f}}do{k[(k[f>>2]|0)+(g<<2)>>2]=j;p=f+24|0;m=f+28|0;h=k[m>>2]|0;f=k[p>>2]|0;n=h-f>>2;do if(n>>>0<=j>>>0){if(q>>>0>n>>>0){oj(p,q-n|0);f=k[p>>2]|0;break}if(q>>>0>>0?(ca=f+(q<<2)|0,(h|0)!=(ca|0)):0)k[m>>2]=h+(~((h+-4-ca|0)>>>2)<<2)}while(0);k[f+(j<<2)>>2]=g;f=g+1|0;g=((f|0)%3|0|0)==0?g+-2|0:f;f=k[N>>2]|0;if((g|0)<0)break f;g=k[(k[f+12>>2]|0)+(g<<2)>>2]|0;h=g+1|0;if((g|0)<0)break f;g=((h|0)%3|0|0)==0?g+-2|0:h}while((g|0)>-1)}while(0);k[(k[f+24>>2]|0)+(r<<2)>>2]=-1073741824;k[(k[ya>>2]|0)+-4>>2]=c;f=0;break c}case 7:{m=y*3|0;k[pa>>2]=m;f=k[N>>2]|0;p=e+1|0;c=k[f>>2]|0;k[c+(m<<2)>>2]=e;if((e|0)<=-1){g=m+1|0;h=e+2|0;k[c+(g<<2)>>2]=p;if((e|0)==-1){c=f;la=178}else{g=m;n=h}}else{j=f+24|0;g=f+28|0;f=k[g>>2]|0;c=k[j>>2]|0;h=f-c>>2;do if(h>>>0<=e>>>0){if(p>>>0>h>>>0){oj(j,p-h|0);c=k[j>>2]|0;break}if(p>>>0>>0?(ea=c+(p<<2)|0,(f|0)!=(ea|0)):0)k[g>>2]=f+(~((f+-4-ea|0)>>>2)<<2)}while(0);k[c+(e<<2)>>2]=m;c=k[N>>2]|0;g=(k[pa>>2]|0)+1|0;k[(k[c>>2]|0)+(g<<2)>>2]=p;h=e+2|0;la=178}if((la|0)==178){la=0;n=c+24|0;j=c+28|0;f=k[j>>2]|0;c=k[n>>2]|0;m=f-c>>2;do if(m>>>0<=p>>>0){if(h>>>0>m>>>0){oj(n,h-m|0);c=k[n>>2]|0;break}if(h>>>0>>0?(fa=c+(h<<2)|0,(f|0)!=(fa|0)):0)k[j>>2]=f+(~((f+-4-fa|0)>>>2)<<2)}while(0);k[c+(p<<2)>>2]=g;f=k[N>>2]|0;g=k[pa>>2]|0;c=k[f>>2]|0;n=h}m=g+2|0;e=e+3|0;k[c+(m<<2)>>2]=n;if((n|0)>-1){j=f+24|0;g=f+28|0;f=k[g>>2]|0;c=k[j>>2]|0;h=f-c>>2;do if(h>>>0<=n>>>0){if(e>>>0>h>>>0){oj(j,e-h|0);c=k[j>>2]|0;break}if(e>>>0>>0?(ga=c+(e<<2)|0,(f|0)!=(ga|0)):0)k[g>>2]=f+(~((f+-4-ga|0)>>>2)<<2)}while(0);k[c+(n<<2)>>2]=m}c=k[ya>>2]|0;if((c|0)==(k[R>>2]|0)){Dj(wa,pa);c=k[ya>>2]|0}else{k[c>>2]=k[pa>>2];c=c+4|0;k[ya>>2]=c}f=1;c=k[c+-4>>2]|0;break c}default:{e=-1;break a}}}while(0);k[_>>2]=c;k[pa>>2]=k[_>>2];be(D,pa);g:do if(f?(ha=b-y|0,ia=ha+-1|0,ja=k[U>>2]|0,(ja|0)!=(k[S>>2]|0)):0){c=ja;do{f=k[c+-8>>2]|0;if((f|0)>=(ha|0)){e=-1;break a}if((f|0)!=(ia|0))break g;f=i[c+-4>>0]|0;h=k[c+-12>>2]|0;k[U>>2]=c+-12;if((h|0)<0){e=-1;break a}c=k[(k[ya>>2]|0)+-4>>2]|0;g=(c|0)<0;do if(!(f&1)){if(!g)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}}else{f=c+1|0;if(!g)c=((f|0)%3|0|0)==0?c+-2|0:f}while(0);k[pa>>2]=V-h;y=wf(xa,pa)|0;k[y>>2]=c;c=k[U>>2]|0}while((c|0)!=(k[S>>2]|0))}while(0);if((d|0)<(b|0))y=d;else{la=211;break}}}else{e=0;d=0;la=211}while(0);do if((la|0)==211)if((e|0)<=(ka|0)){f=k[ya>>2]|0;if((f|0)==(k[wa>>2]|0))c=a+8|0;else{t=a+316|0;c=a+8|0;v=a+64|0;w=a+68|0;x=a+72|0;y=a+80|0;z=a+84|0;A=a+76|0;B=a+312|0;b=a+304|0;C=a+308|0;do{ka=f;p=k[ka+-4>>2]|0;k[pa>>2]=p;k[ya>>2]=ka+-4;do if(i[t>>0]|0){f=k[B>>2]|0;g=(k[b>>2]|0)+(f>>>3)|0;if(g>>>0<(k[C>>2]|0)>>>0?(ka=l[g>>0]|0,k[B>>2]=f+1,ka&1<<(f&7)|0):0){la=218;break}f=k[w>>2]|0;g=k[x>>2]|0;if((f|0)==(g<<5|0)){if((f+1|0)<0){Jq(v);g=k[x>>2]|0}ka=g<<6;f=f+32&-32;lj(v,g<<5>>>0<1073741823?(ka>>>0>>0?f:ka):2147483647);f=k[w>>2]|0}k[w>>2]=f+1;ka=(k[v>>2]|0)+(f>>>5<<2)|0;k[ka>>2]=k[ka>>2]&~(1<<(f&31));f=k[y>>2]|0;if((f|0)==(k[z>>2]|0)){Dj(A,pa);break}else{k[f>>2]=k[pa>>2];k[y>>2]=f+4;break}}else la=218;while(0);if((la|0)==218){la=0;j=(p|0)<0;h:do if(!j){f=p+(((p>>>0)%3|0|0)==0?2:-1)|0;if((f|0)>=0){g=k[(k[c>>2]|0)+12>>2]|0;h=f;while(1){f=k[g+(h<<2)>>2]|0;if((f|0)<=-1){g=0;f=h;break}f=f+(((f>>>0)%3|0|0)==0?2:-1)|0;if((f|0)<0){g=1;break}else h=f}if(j){h=p;la=225;break}}else g=1;h=p+1|0;h=((h|0)%3|0|0)==0?p+-2|0:h;if((h|0)<0)la=225;else{n=k[c>>2]|0;m=k[n+12>>2]|0;while(1){j=k[m+(h<<2)>>2]|0;if((j|0)<=-1){r=0;j=m;m=n;break h}h=j+1|0;h=((h|0)%3|0|0)==0?j+-2|0:h;if((h|0)<0){r=1;j=m;m=n;break}}}}else{g=1;h=p;f=p;la=225}while(0);if((la|0)==225){la=0;m=k[c>>2]|0;r=1;j=k[m+12>>2]|0}s=d+1|0;d=d*3|0;k[qa>>2]=d;k[j+(d<<2)>>2]=p;k[j+(p<<2)>>2]=d;d=(k[qa>>2]|0)+1|0;k[j+(d<<2)>>2]=f;k[j+(f<<2)>>2]=d;d=(k[qa>>2]|0)+2|0;k[j+(d<<2)>>2]=h;k[j+(h<<2)>>2]=d;d=k[qa>>2]|0;j=f+1|0;if(!g?(oa=((j|0)%3|0|0)==0?f+-2|0:j,(oa|0)>=0):0){ka=k[m>>2]|0;q=k[ka+(oa<<2)>>2]|0;k[ka+(d<<2)>>2]=q;if((q|0)>-1){p=m+24|0;j=m+28|0;g=k[j>>2]|0;f=k[p>>2]|0;m=g-f>>2;do if(m>>>0<=q>>>0){n=q+1|0;if(n>>>0>m>>>0){oj(p,n-m|0);f=k[p>>2]|0;break}if(n>>>0>>0?(ra=f+(n<<2)|0,(g|0)!=(ra|0)):0)k[j>>2]=g+(~((g+-4-ra|0)>>>2)<<2)}while(0);k[f+(q<<2)>>2]=d;d=k[qa>>2]|0;g=k[c>>2]|0}else g=m}else{k[(k[m>>2]|0)+(d<<2)>>2]=-1073741824;g=m}p=d+1|0;f=h+1|0;if(!r?(na=((f|0)%3|0|0)==0?h+-2|0:f,(na|0)>=0):0){ka=k[g>>2]|0;n=k[ka+(na<<2)>>2]|0;k[ka+(p<<2)>>2]=n;if((n|0)>-1){m=g+24|0;g=g+28|0;f=k[g>>2]|0;d=k[m>>2]|0;h=f-d>>2;do if(h>>>0<=n>>>0){j=n+1|0;if(j>>>0>h>>>0){oj(m,j-h|0);d=k[m>>2]|0;break}if(j>>>0>>0?(sa=d+(j<<2)|0,(f|0)!=(sa|0)):0)k[g>>2]=f+(~((f+-4-sa|0)>>>2)<<2)}while(0);k[d+(n<<2)>>2]=p;d=k[qa>>2]|0;h=k[c>>2]|0}else h=g}else{k[(k[g>>2]|0)+(p<<2)>>2]=-1073741824;h=g}p=d+2|0;f=k[pa>>2]|0;g=f+1|0;if((f|0)>=0?(ma=((g|0)%3|0|0)==0?f+-2|0:g,(ma|0)>=0):0){ka=k[h>>2]|0;n=k[ka+(ma<<2)>>2]|0;k[ka+(p<<2)>>2]=n;if((n|0)>-1){m=h+24|0;g=h+28|0;f=k[g>>2]|0;d=k[m>>2]|0;h=f-d>>2;do if(h>>>0<=n>>>0){j=n+1|0;if(j>>>0>h>>>0){oj(m,j-h|0);d=k[m>>2]|0;break}if(j>>>0>>0?(ta=d+(j<<2)|0,(f|0)!=(ta|0)):0)k[g>>2]=f+(~((f+-4-ta|0)>>>2)<<2)}while(0);k[d+(n<<2)>>2]=p;d=k[qa>>2]|0}}else k[(k[h>>2]|0)+(p<<2)>>2]=-1073741824;if((d|0)<0)d=-1073741824;else d=k[(k[k[c>>2]>>2]|0)+(d<<2)>>2]|0;f=k[ua>>2]|0;ka=f+(d>>>5<<2)|0;k[ka>>2]=k[ka>>2]&~(1<<(d&31));d=k[qa>>2]|0;if((d|0)<-1)d=-1073741824;else d=k[(k[k[c>>2]>>2]|0)+(d+1<<2)>>2]|0;ka=f+(d>>>5<<2)|0;k[ka>>2]=k[ka>>2]&~(1<<(d&31));d=k[qa>>2]|0;if((d|0)<-2)d=-1073741824;else d=k[(k[k[c>>2]>>2]|0)+(d+2<<2)>>2]|0;f=f+(d>>>5<<2)|0;k[f>>2]=k[f>>2]&~(1<<(d&31));d=k[w>>2]|0;f=k[x>>2]|0;if((d|0)==(f<<5|0)){if((d+1|0)<0){Jq(v);f=k[x>>2]|0}ka=f<<6;d=d+32&-32;lj(v,f<<5>>>0<1073741823?(ka>>>0>>0?d:ka):2147483647);d=k[w>>2]|0}k[w>>2]=d+1;ka=(k[v>>2]|0)+(d>>>5<<2)|0;k[ka>>2]=k[ka>>2]|1<<(d&31);d=k[y>>2]|0;if((d|0)==(k[z>>2]|0))Dj(A,qa);else{k[d>>2]=k[qa>>2];k[y>>2]=d+4}d=s}f=k[ya>>2]|0}while((f|0)!=(k[wa>>2]|0))}ua=k[c>>2]|0;if((d|0)==(((k[ua+4>>2]|0)-(k[ua>>2]|0)>>2>>>0)/3|0|0)){h=a+88|0;c=a+92|0;g=k[c>>2]|0;d=k[h>>2]|0;f=g-d>>2;if(e>>>0>f>>>0){oj(h,e-f|0);break}if(e>>>0>>0?(va=d+(e<<2)|0,(g|0)!=(va|0)):0)k[c>>2]=g+(~((g+-4-va|0)>>>2)<<2)}else e=-1}else e=-1;while(0);c=k[xa+8>>2]|0;if(c|0)do{va=c;c=k[c>>2]|0;_r(va)}while((c|0)!=0);c=k[xa>>2]|0;k[xa>>2]=0;if(c|0)_r(c);c=k[wa>>2]|0;if(!c){u=za;return e|0}d=k[ya>>2]|0;if((d|0)!=(c|0))k[ya>>2]=d+(~((d+-4-c|0)>>>2)<<2);_r(c);u=za;return e|0}function cb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=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,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;oa=u;u=u+48|0;la=oa+28|0;ma=oa+8|0;ea=oa+4|0;fa=oa;k[la>>2]=0;na=la+4|0;k[na>>2]=0;k[la+8>>2]=0;k[ma>>2]=0;k[ma+4>>2]=0;k[ma+8>>2]=0;k[ma+12>>2]=0;o[ma+16>>2]=da(1.0);ja=a+136|0;_=k[a+140>>2]|0;a:do if((b|0)>0){D=a+276|0;F=ma+4|0;H=a+8|0;I=la+8|0;K=a+272|0;L=a+264|0;M=a+268|0;N=a+36|0;O=a+40|0;Q=b+-1|0;c=0;x=0;b:while(1){d=x+1|0;c:do if(!(i[D>>0]|0))$=93;else{f=k[K>>2]|0;h=k[L>>2]|0;j=k[M>>2]|0;e=h+(f>>>3)|0;if(e>>>0>>0?(w=l[e>>0]|0,S=f+1|0,k[K>>2]=S,w&1<<(f&7)|0):0){e=h+(S>>>3)|0;if(e>>>0>>0){g=(l[e>>0]|0)>>>(S&7)&1;f=f+2|0;k[K>>2]=f}else{g=0;f=S}e=h+(f>>>3)|0;if(e>>>0>>0){e=(l[e>>0]|0)>>>(f&7);k[K>>2]=f+1;e=e<<1&2}else e=0;f=(e|g)<<1|1;switch(f&7){case 1:{$=93;break c}case 3:case 5:{e=k[na>>2]|0;if((k[la>>2]|0)==(e|0)){C=-1;break a}t=k[e+-4>>2]|0;w=x*3|0;s=((f|0)==5?2:1)+w|0;e=k[H>>2]|0;v=k[e+12>>2]|0;k[v+(s<<2)>>2]=t;k[v+(t<<2)>>2]=s;v=c+1|0;k[(k[e>>2]|0)+(s<<2)>>2]=c;if((c|0)>-1){j=e+24|0;g=e+28|0;f=k[g>>2]|0;e=k[j>>2]|0;h=f-e>>2;do if(h>>>0<=c>>>0){if(v>>>0>h>>>0){oj(j,v-h|0);e=k[j>>2]|0;break}if(v>>>0>>0?(P=e+(v<<2)|0,(f|0)!=(P|0)):0)k[g>>2]=f+(~((f+-4-P|0)>>>2)<<2)}while(0);k[e+(c<<2)>>2]=s;e=k[H>>2]|0}q=(s|0)<0;c=s+1|0;if(q)p=s;else p=((c|0)%3|0|0)==0?s+-2|0:c;r=(t|0)<0;if(!r?(R=(((t>>>0)%3|0|0)==0?2:-1)+t|0,(R|0)>=0):0){m=k[e>>2]|0;n=k[m+(R<<2)>>2]|0;k[m+(p<<2)>>2]=n;if((n|0)>-1){j=e+24|0;m=e+28|0;e=k[m>>2]|0;c=k[j>>2]|0;f=e-c>>2;do if(f>>>0<=n>>>0){g=n+1|0;h=e;if(g>>>0>f>>>0){oj(j,g-f|0);c=k[j>>2]|0;break}if(g>>>0>=f>>>0)break;e=c+(g<<2)|0;if((h|0)==(e|0))break;k[m>>2]=h+(~((h+-4-e|0)>>>2)<<2)}while(0);k[c+(n<<2)>>2]=p;e=k[H>>2]|0}}else k[(k[e>>2]|0)+(p<<2)>>2]=-1073741824;do if(!q)if(!((s>>>0)%3|0)){c=s+2|0;break}else{c=s+-1|0;break}else c=s;while(0);f=t+1|0;if(!r?(z=((f|0)%3|0|0)==0?t+-2|0:f,(z|0)>=0):0){t=k[e>>2]|0;p=k[t+(z<<2)>>2]|0;k[t+(c<<2)>>2]=p;if((p|0)>-1){m=e+24|0;n=e+28|0;f=k[n>>2]|0;e=k[m>>2]|0;g=f-e>>2;do if(g>>>0<=p>>>0){h=p+1|0;j=f;if(h>>>0>g>>>0){oj(m,h-g|0);e=k[m>>2]|0;break}if(h>>>0>=g>>>0)break;f=e+(h<<2)|0;if((j|0)==(f|0))break;k[n>>2]=j+(~((j+-4-f|0)>>>2)<<2)}while(0);e=e+(p<<2)|0;$=91}}else{e=(k[e>>2]|0)+(c<<2)|0;c=-1073741824;$=91}if(($|0)==91){$=0;k[e>>2]=c}k[(k[na>>2]|0)+-4>>2]=w;c=v;break}case 7:{m=x*3|0;k[ea>>2]=m;f=k[H>>2]|0;p=c+1|0;e=k[f>>2]|0;k[e+(m<<2)>>2]=c;if((c|0)<=-1){g=m+1|0;h=c+2|0;k[e+(g<<2)>>2]=p;if((c|0)==-1){e=f;$=170}else{g=m;n=h}}else{j=f+24|0;g=f+28|0;f=k[g>>2]|0;e=k[j>>2]|0;h=f-e>>2;do if(h>>>0<=c>>>0){if(p>>>0>h>>>0){oj(j,p-h|0);e=k[j>>2]|0;break}if(p>>>0>>0?(X=e+(p<<2)|0,(f|0)!=(X|0)):0)k[g>>2]=f+(~((f+-4-X|0)>>>2)<<2)}while(0);k[e+(c<<2)>>2]=m;e=k[H>>2]|0;g=(k[ea>>2]|0)+1|0;k[(k[e>>2]|0)+(g<<2)>>2]=p;h=c+2|0;$=170}if(($|0)==170){$=0;n=e+24|0;j=e+28|0;f=k[j>>2]|0;e=k[n>>2]|0;m=f-e>>2;do if(m>>>0<=p>>>0){if(h>>>0>m>>>0){oj(n,h-m|0);e=k[n>>2]|0;break}if(h>>>0>>0?(Y=e+(h<<2)|0,(f|0)!=(Y|0)):0)k[j>>2]=f+(~((f+-4-Y|0)>>>2)<<2)}while(0);k[e+(p<<2)>>2]=g;f=k[H>>2]|0;g=k[ea>>2]|0;e=k[f>>2]|0;n=h}m=g+2|0;c=c+3|0;k[e+(m<<2)>>2]=n;if((n|0)>-1){j=f+24|0;g=f+28|0;f=k[g>>2]|0;e=k[j>>2]|0;h=f-e>>2;do if(h>>>0<=n>>>0){if(c>>>0>h>>>0){oj(j,c-h|0);e=k[j>>2]|0;break}if(c>>>0>>0?(Z=e+(c<<2)|0,(f|0)!=(Z|0)):0)k[g>>2]=f+(~((f+-4-Z|0)>>>2)<<2)}while(0);k[e+(n<<2)>>2]=m}e=k[na>>2]|0;if((e|0)==(k[I>>2]|0))Dj(la,ea);else{k[e>>2]=k[ea>>2];k[na>>2]=e+4}break}default:break b}j=b-x|0;m=j+-1|0;e=k[O>>2]|0;if((e|0)==(k[N>>2]|0))break;while(1){f=k[e+-8>>2]|0;if((f|0)>=(j|0)){C=-1;break a}if((f|0)!=(m|0))break c;f=i[e+-4>>0]|0;h=k[e+-12>>2]|0;k[O>>2]=e+-12;if((h|0)<0){C=-1;break a}e=k[(k[na>>2]|0)+-4>>2]|0;g=(e|0)<0;do if(!(f&1)){if(!g)if(!((e>>>0)%3|0)){e=e+2|0;break}else{e=e+-1|0;break}}else{f=e+1|0;if(!g)e=((f|0)%3|0|0)==0?e+-2|0:f}while(0);k[ea>>2]=Q-h;x=wf(ma,ea)|0;k[x>>2]=e;e=k[O>>2]|0;if((e|0)==(k[N>>2]|0))break c}}e=k[na>>2]|0;if((k[la>>2]|0)==(e|0)){C=-1;break a}v=k[e+-4>>2]|0;w=(v|0)<0;d:do if(!w){e=v+(((v>>>0)%3|0|0)==0?2:-1)|0;if((e|0)<0)$=13;else{h=k[H>>2]|0;g=k[h+12>>2]|0;while(1){f=k[g+(e<<2)>>2]|0;if((f|0)<=-1){r=0;q=e;f=h;break d}e=f+(((f>>>0)%3|0|0)==0?2:-1)|0;if((e|0)<0){r=1;q=e;f=h;break}}}}else{e=v;$=13}while(0);if(($|0)==13){$=0;f=k[H>>2]|0;r=1;q=e;g=k[f+12>>2]|0}e=x*3|0;s=e+1|0;k[g+(v<<2)>>2]=s;k[g+(s<<2)>>2]=v;x=e+2|0;k[g+(q<<2)>>2]=x;k[g+(x<<2)>>2]=q;g=v+1|0;if(!w?(y=((g|0)%3|0|0)==0?v+-2|0:g,(y|0)>=0):0){t=k[f>>2]|0;p=k[t+(y<<2)>>2]|0;k[t+(e<<2)>>2]=p;if((p|0)>-1){n=f+24|0;h=f+28|0;g=k[h>>2]|0;f=k[n>>2]|0;j=g-f>>2;do if(j>>>0<=p>>>0){m=p+1|0;if(m>>>0>j>>>0){oj(n,m-j|0);f=k[n>>2]|0;break}if(m>>>0>>0?(B=f+(m<<2)|0,(g|0)!=(B|0)):0)k[h>>2]=g+(~((g+-4-B|0)>>>2)<<2)}while(0);k[f+(p<<2)>>2]=e;t=p;f=k[H>>2]|0}else t=p}else{k[(k[f>>2]|0)+(e<<2)>>2]=-1073741824;t=-1073741824}g=q+1|0;if(!r?(A=((g|0)%3|0|0)==0?q+-2|0:g,(A|0)>=0):0){r=k[f>>2]|0;p=k[r+(A<<2)>>2]|0;k[r+(s<<2)>>2]=p;if((p|0)>-1){n=f+24|0;h=f+28|0;g=k[h>>2]|0;f=k[n>>2]|0;j=g-f>>2;do if(j>>>0<=p>>>0){m=p+1|0;if(m>>>0>j>>>0){oj(n,m-j|0);f=k[n>>2]|0;break}if(m>>>0>>0?(E=f+(m<<2)|0,(g|0)!=(E|0)):0)k[h>>2]=g+(~((g+-4-E|0)>>>2)<<2)}while(0);k[f+(p<<2)>>2]=s;f=k[H>>2]|0}}else k[(k[f>>2]|0)+(s<<2)>>2]=-1073741824;if(!w?(G=(((v>>>0)%3|0|0)==0?2:-1)+v|0,(G|0)>=0):0){w=k[f>>2]|0;p=k[w+(G<<2)>>2]|0;k[w+(x<<2)>>2]=p;if((p|0)>-1){n=f+24|0;h=f+28|0;g=k[h>>2]|0;f=k[n>>2]|0;j=g-f>>2;do if(j>>>0<=p>>>0){m=p+1|0;if(m>>>0>j>>>0){oj(n,m-j|0);f=k[n>>2]|0;break}if(m>>>0>>0?(J=f+(m<<2)|0,(g|0)!=(J|0)):0)k[h>>2]=g+(~((g+-4-J|0)>>>2)<<2)}while(0);g=x;f=f+(p<<2)|0;$=50}}else{g=-1073741824;f=(k[f>>2]|0)+(x<<2)|0;$=50}if(($|0)==50){$=0;k[f>>2]=g}if((c|0)>(_|0)){C=-1;break a}$=(k[ja>>2]|0)+(t>>>5<<2)|0;k[$>>2]=k[$>>2]&~(1<<(t&31));$=189}while(0);if(($|0)==93){$=0;n=k[la>>2]|0;e=k[na>>2]|0;if((n|0)==(e|0)){C=-1;break a}p=e+-4|0;v=k[p>>2]|0;k[na>>2]=p;h=k[F>>2]|0;e:do if(h){j=h+-1|0;g=(j&h|0)==0;if(g)m=j&x;else m=(x>>>0)%(h>>>0)|0;f=k[(k[ma>>2]|0)+(m<<2)>>2]|0;if(f){if(g)do{f=k[f>>2]|0;if(!f){f=n;e=p;break e}if((k[f+4>>2]&j|0)!=(m|0)){f=n;e=p;break e}}while((k[f+8>>2]|0)!=(x|0));else do{f=k[f>>2]|0;if(!f){f=n;e=p;break e}if((((k[f+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(m|0)){f=n;e=p;break e}}while((k[f+8>>2]|0)!=(x|0));f=f+12|0;if((p|0)==(k[I>>2]|0)){Dj(la,f);f=k[la>>2]|0;e=k[na>>2]|0;break}else{k[p>>2]=k[f>>2];k[na>>2]=e;f=n;break}}else{f=n;e=p}}else{f=n;e=p}while(0);if((f|0)==(e|0)){C=-1;break a}q=k[e+-4>>2]|0;e=x*3|0;t=e+2|0;g=k[H>>2]|0;x=k[g+12>>2]|0;k[x+(q<<2)>>2]=t;k[x+(t<<2)>>2]=q;s=e+1|0;k[x+(v<<2)>>2]=s;k[x+(s<<2)>>2]=v;if((q|0)>=0){f=(((q>>>0)%3|0|0)==0?2:-1)+q|0;h=k[g>>2]|0;if((f|0)>=0){p=k[h+(f<<2)>>2]|0;k[h+(e<<2)>>2]=p;if((p|0)>-1){n=g+24|0;h=g+28|0;g=k[h>>2]|0;f=k[n>>2]|0;j=g-f>>2;do if(j>>>0<=p>>>0){m=p+1|0;if(m>>>0>j>>>0){oj(n,m-j|0);f=k[n>>2]|0;break}if(m>>>0>>0?(T=f+(m<<2)|0,(g|0)!=(T|0)):0)k[h>>2]=g+(~((g+-4-T|0)>>>2)<<2)}while(0);k[f+(p<<2)>>2]=e;r=p;g=k[H>>2]|0;j=1}else{r=p;j=0}}else{k[h+(e<<2)>>2]=-1073741824;r=-1073741824;j=0}h=q+1|0;h=((h|0)%3|0|0)==0?q+-2|0:h;f=k[g>>2]|0;if((h|0)>=0){q=k[f+(h<<2)>>2]|0;k[f+(s<<2)>>2]=q;if((q|0)>-1){p=g+24|0;h=g+28|0;g=k[h>>2]|0;f=k[p>>2]|0;m=g-f>>2;do if(m>>>0<=q>>>0){n=q+1|0;if(n>>>0>m>>>0){oj(p,n-m|0);f=k[p>>2]|0;break}if(n>>>0>>0?(U=f+(n<<2)|0,(g|0)!=(U|0)):0)k[h>>2]=g+(~((g+-4-U|0)>>>2)<<2)}while(0);k[f+(q<<2)>>2]=s;g=k[H>>2]|0;s=j}else s=j}else{h=r;$=123}}else{f=k[g>>2]|0;k[f+(e<<2)>>2]=-1073741824;j=0;h=-1073741824;$=123}if(($|0)==123){$=0;k[f+(s<<2)>>2]=-1073741824;r=h;s=j}f:do if((v|0)>=0){f=(((v>>>0)%3|0|0)==0?2:-1)+v|0;h=k[g>>2]|0;if((f|0)>=0){p=k[h+(f<<2)>>2]|0;k[h+(t<<2)>>2]=p;if((p|0)>-1){n=g+24|0;h=g+28|0;g=k[h>>2]|0;f=k[n>>2]|0;j=g-f>>2;do if(j>>>0<=p>>>0){m=p+1|0;if(m>>>0>j>>>0){oj(n,m-j|0);f=k[n>>2]|0;break}if(m>>>0>>0?(V=f+(m<<2)|0,(g|0)!=(V|0)):0)k[h>>2]=g+(~((g+-4-V|0)>>>2)<<2)}while(0);g=t;f=f+(p<<2)|0;$=144}}else{g=-1073741824;f=h+(t<<2)|0;$=144}if(($|0)==144)k[f>>2]=g;h=v+1|0;h=((h|0)%3|0|0)==0?v+-2|0:h;g=k[H>>2]|0;if((h|0)<0)f=-1073741824;else{f=k[(k[g>>2]|0)+(h<<2)>>2]|0;q=r+1|0;if(!s){m=k[g>>2]|0;n=g+12|0;while(1){k[m+(h<<2)>>2]=r;$=h+1|0;h=(($|0)%3|0|0)==0?h+-2|0:$;if((h|0)<0)break f;h=k[(k[n>>2]|0)+(h<<2)>>2]|0;j=h+1|0;if((h|0)<0)break f;h=((j|0)%3|0|0)==0?h+-2|0:j;if((h|0)<=-1)break f}}do{k[(k[g>>2]|0)+(h<<2)>>2]=r;p=g+24|0;m=g+28|0;j=k[m>>2]|0;g=k[p>>2]|0;n=j-g>>2;do if(n>>>0<=r>>>0){if(q>>>0>n>>>0){oj(p,q-n|0);g=k[p>>2]|0;break}if(q>>>0>>0?(W=g+(q<<2)|0,(j|0)!=(W|0)):0)k[m>>2]=j+(~((j+-4-W|0)>>>2)<<2)}while(0);k[g+(r<<2)>>2]=h;g=h+1|0;h=((g|0)%3|0|0)==0?h+-2|0:g;g=k[H>>2]|0;if((h|0)<0)break f;h=k[(k[g+12>>2]|0)+(h<<2)>>2]|0;j=h+1|0;if((h|0)<0)break f;h=((j|0)%3|0|0)==0?h+-2|0:j}while((h|0)>-1)}}else{k[(k[g>>2]|0)+(t<<2)>>2]=-1073741824;f=-1073741824}while(0);k[(k[g+24>>2]|0)+(f<<2)>>2]=-1073741824;$=189}if(($|0)==189){$=0;k[(k[na>>2]|0)+-4>>2]=e}if((d|0)<(b|0))x=d;else{C=c;$=203;break a}}}else{C=0;d=0;$=203}while(0);do if(($|0)==203)if((C|0)<=(_|0)){e=k[na>>2]|0;if((e|0)==(k[la>>2]|0))c=a+8|0;else{s=a+316|0;c=a+8|0;t=a+64|0;v=a+68|0;w=a+72|0;x=a+80|0;y=a+84|0;z=a+76|0;A=a+312|0;b=a+304|0;B=a+308|0;do{_=e;n=k[_+-4>>2]|0;k[ea>>2]=n;k[na>>2]=_+-4;do if(i[s>>0]|0){e=k[A>>2]|0;f=(k[b>>2]|0)+(e>>>3)|0;if(f>>>0<(k[B>>2]|0)>>>0?(_=l[f>>0]|0,k[A>>2]=e+1,_&1<<(e&7)|0):0){$=210;break}e=k[v>>2]|0;f=k[w>>2]|0;if((e|0)==(f<<5|0)){if((e+1|0)<0){Jq(t);f=k[w>>2]|0}_=f<<6;e=e+32&-32;lj(t,f<<5>>>0<1073741823?(_>>>0>>0?e:_):2147483647);e=k[v>>2]|0}k[v>>2]=e+1;_=(k[t>>2]|0)+(e>>>5<<2)|0;k[_>>2]=k[_>>2]&~(1<<(e&31));e=k[x>>2]|0;if((e|0)==(k[y>>2]|0)){Dj(z,ea);break}else{k[e>>2]=k[ea>>2];k[x>>2]=e+4;break}}else $=210;while(0);if(($|0)==210){$=0;h=(n|0)<0;g:do if(!h){e=n+(((n>>>0)%3|0|0)==0?2:-1)|0;if((e|0)>=0){f=k[(k[c>>2]|0)+12>>2]|0;g=e;while(1){e=k[f+(g<<2)>>2]|0;if((e|0)<=-1){f=0;e=g;break}e=e+(((e>>>0)%3|0|0)==0?2:-1)|0;if((e|0)<0){f=1;break}else g=e}if(h){g=n;$=217;break}}else f=1;g=n+1|0;g=((g|0)%3|0|0)==0?n+-2|0:g;if((g|0)<0)$=217;else{m=k[c>>2]|0;j=k[m+12>>2]|0;while(1){h=k[j+(g<<2)>>2]|0;if((h|0)<=-1){q=0;h=j;j=m;break g}g=h+1|0;g=((g|0)%3|0|0)==0?h+-2|0:g;if((g|0)<0){q=1;h=j;j=m;break}}}}else{f=1;g=n;e=n;$=217}while(0);if(($|0)==217){$=0;j=k[c>>2]|0;q=1;h=k[j+12>>2]|0}r=d+1|0;d=d*3|0;k[fa>>2]=d;k[h+(d<<2)>>2]=n;k[h+(n<<2)>>2]=d;d=(k[fa>>2]|0)+1|0;k[h+(d<<2)>>2]=e;k[h+(e<<2)>>2]=d;d=(k[fa>>2]|0)+2|0;k[h+(d<<2)>>2]=g;k[h+(g<<2)>>2]=d;d=k[fa>>2]|0;h=e+1|0;if(!f?(ca=((h|0)%3|0|0)==0?e+-2|0:h,(ca|0)>=0):0){_=k[j>>2]|0;p=k[_+(ca<<2)>>2]|0;k[_+(d<<2)>>2]=p;if((p|0)>-1){n=j+24|0;h=j+28|0;f=k[h>>2]|0;e=k[n>>2]|0;j=f-e>>2;do if(j>>>0<=p>>>0){m=p+1|0;if(m>>>0>j>>>0){oj(n,m-j|0);e=k[n>>2]|0;break}if(m>>>0>>0?(ga=e+(m<<2)|0,(f|0)!=(ga|0)):0)k[h>>2]=f+(~((f+-4-ga|0)>>>2)<<2)}while(0);k[e+(p<<2)>>2]=d;d=k[fa>>2]|0;f=k[c>>2]|0}else f=j}else{k[(k[j>>2]|0)+(d<<2)>>2]=-1073741824;f=j}n=d+1|0;e=g+1|0;if(!q?(ba=((e|0)%3|0|0)==0?g+-2|0:e,(ba|0)>=0):0){_=k[f>>2]|0;m=k[_+(ba<<2)>>2]|0;k[_+(n<<2)>>2]=m;if((m|0)>-1){j=f+24|0;f=f+28|0;e=k[f>>2]|0;d=k[j>>2]|0;g=e-d>>2;do if(g>>>0<=m>>>0){h=m+1|0;if(h>>>0>g>>>0){oj(j,h-g|0);d=k[j>>2]|0;break}if(h>>>0>>0?(ha=d+(h<<2)|0,(e|0)!=(ha|0)):0)k[f>>2]=e+(~((e+-4-ha|0)>>>2)<<2)}while(0);k[d+(m<<2)>>2]=n;d=k[fa>>2]|0;g=k[c>>2]|0}else g=f}else{k[(k[f>>2]|0)+(n<<2)>>2]=-1073741824;g=f}n=d+2|0;e=k[ea>>2]|0;f=e+1|0;if((e|0)>=0?(aa=((f|0)%3|0|0)==0?e+-2|0:f,(aa|0)>=0):0){_=k[g>>2]|0;m=k[_+(aa<<2)>>2]|0;k[_+(n<<2)>>2]=m;if((m|0)>-1){j=g+24|0;f=g+28|0;e=k[f>>2]|0;d=k[j>>2]|0;g=e-d>>2;do if(g>>>0<=m>>>0){h=m+1|0;if(h>>>0>g>>>0){oj(j,h-g|0);d=k[j>>2]|0;break}if(h>>>0>>0?(ia=d+(h<<2)|0,(e|0)!=(ia|0)):0)k[f>>2]=e+(~((e+-4-ia|0)>>>2)<<2)}while(0);k[d+(m<<2)>>2]=n;d=k[fa>>2]|0}}else k[(k[g>>2]|0)+(n<<2)>>2]=-1073741824;if((d|0)<0)d=-1073741824;else d=k[(k[k[c>>2]>>2]|0)+(d<<2)>>2]|0;e=k[ja>>2]|0;_=e+(d>>>5<<2)|0;k[_>>2]=k[_>>2]&~(1<<(d&31));d=k[fa>>2]|0;if((d|0)<-1)d=-1073741824;else d=k[(k[k[c>>2]>>2]|0)+(d+1<<2)>>2]|0;_=e+(d>>>5<<2)|0;k[_>>2]=k[_>>2]&~(1<<(d&31));d=k[fa>>2]|0;if((d|0)<-2)d=-1073741824;else d=k[(k[k[c>>2]>>2]|0)+(d+2<<2)>>2]|0;e=e+(d>>>5<<2)|0;k[e>>2]=k[e>>2]&~(1<<(d&31));d=k[v>>2]|0;e=k[w>>2]|0;if((d|0)==(e<<5|0)){if((d+1|0)<0){Jq(t);e=k[w>>2]|0}_=e<<6;d=d+32&-32;lj(t,e<<5>>>0<1073741823?(_>>>0>>0?d:_):2147483647);d=k[v>>2]|0}k[v>>2]=d+1;_=(k[t>>2]|0)+(d>>>5<<2)|0;k[_>>2]=k[_>>2]|1<<(d&31);d=k[x>>2]|0;if((d|0)==(k[y>>2]|0))Dj(z,fa);else{k[d>>2]=k[fa>>2];k[x>>2]=d+4}d=r}e=k[na>>2]|0}while((e|0)!=(k[la>>2]|0))}ja=k[c>>2]|0;if((d|0)==(((k[ja+4>>2]|0)-(k[ja>>2]|0)>>2>>>0)/3|0|0)){g=a+88|0;c=a+92|0;f=k[c>>2]|0;d=k[g>>2]|0;e=f-d>>2;if(C>>>0>e>>>0){oj(g,C-e|0);break}if(C>>>0>>0?(ka=d+(C<<2)|0,(f|0)!=(ka|0)):0)k[c>>2]=f+(~((f+-4-ka|0)>>>2)<<2)}else C=-1}else C=-1;while(0);c=k[ma+8>>2]|0;if(c|0)do{ka=c;c=k[c>>2]|0;_r(ka)}while((c|0)!=0);c=k[ma>>2]|0;k[ma>>2]=0;if(c|0)_r(c);c=k[la>>2]|0;if(!c){u=oa;return C|0}d=k[na>>2]|0;if((d|0)!=(c|0))k[na>>2]=d+(~((d+-4-c|0)>>>2)<<2);_r(c);u=oa;return C|0}function db(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=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;K=u;u=u+16|0;n=K;do if(a>>>0<245){o=a>>>0<11?16:a+11&-8;a=o>>>3;s=k[5968]|0;c=s>>>a;if(c&3|0){a=(c&1^1)+a|0;c=23912+(a<<1<<2)|0;d=c+8|0;e=k[d>>2]|0;f=e+8|0;g=k[f>>2]|0;do if((c|0)!=(g|0)){if(g>>>0<(k[5972]|0)>>>0)Aa();b=g+12|0;if((k[b>>2]|0)==(e|0)){k[b>>2]=c;k[d>>2]=g;break}else Aa()}else k[5968]=s&~(1<>2]=J|3;J=e+J+4|0;k[J>>2]=k[J>>2]|1;J=f;u=K;return J|0}r=k[5970]|0;if(o>>>0>r>>>0){if(c|0){h=2<>>12&16;a=a>>>h;d=a>>>5&8;a=a>>>d;f=a>>>2&4;a=a>>>f;c=a>>>1&2;a=a>>>c;b=a>>>1&1;b=(d|h|f|c|b)+(a>>>b)|0;a=23912+(b<<1<<2)|0;c=a+8|0;f=k[c>>2]|0;h=f+8|0;d=k[h>>2]|0;do if((a|0)!=(d|0)){if(d>>>0<(k[5972]|0)>>>0)Aa();e=d+12|0;if((k[e>>2]|0)==(f|0)){k[e>>2]=a;k[c>>2]=d;i=s;break}else Aa()}else{i=s&~(1<>2]=o|3;d=f+o|0;k[d+4>>2]=g|1;k[d+g>>2]=g;if(r|0){e=k[5973]|0;b=r>>>3;c=23912+(b<<1<<2)|0;b=1<>2]|0;if(a>>>0<(k[5972]|0)>>>0)Aa();else{j=a;l=b}}else{k[5968]=i|b;j=c;l=c+8|0}k[l>>2]=e;k[j+12>>2]=e;k[e+8>>2]=j;k[e+12>>2]=c}k[5970]=g;k[5973]=d;J=h;u=K;return J|0}j=k[5969]|0;if(j){a=(j&0-j)+-1|0;I=a>>>12&16;a=a>>>I;H=a>>>5&8;a=a>>>H;J=a>>>2&4;a=a>>>J;c=a>>>1&2;a=a>>>c;b=a>>>1&1;b=k[24176+((H|I|J|c|b)+(a>>>b)<<2)>>2]|0;a=(k[b+4>>2]&-8)-o|0;c=k[b+16+(((k[b+16>>2]|0)==0&1)<<2)>>2]|0;if(!c){i=b;g=a}else{do{I=(k[c+4>>2]&-8)-o|0;J=I>>>0>>0;a=J?I:a;b=J?c:b;c=k[c+16+(((k[c+16>>2]|0)==0&1)<<2)>>2]|0}while((c|0)!=0);i=b;g=a}e=k[5972]|0;if(i>>>0>>0)Aa();h=i+o|0;if(i>>>0>=h>>>0)Aa();f=k[i+24>>2]|0;c=k[i+12>>2]|0;do if((c|0)==(i|0)){a=i+20|0;b=k[a>>2]|0;if(!b){a=i+16|0;b=k[a>>2]|0;if(!b){m=0;break}}while(1){c=b+20|0;d=k[c>>2]|0;if(d|0){b=d;a=c;continue}c=b+16|0;d=k[c>>2]|0;if(!d)break;else{b=d;a=c}}if(a>>>0>>0)Aa();else{k[a>>2]=0;m=b;break}}else{d=k[i+8>>2]|0;if(d>>>0>>0)Aa();b=d+12|0;if((k[b>>2]|0)!=(i|0))Aa();a=c+8|0;if((k[a>>2]|0)==(i|0)){k[b>>2]=c;k[a>>2]=d;m=c;break}else Aa()}while(0);a:do if(f|0){b=k[i+28>>2]|0;a=24176+(b<<2)|0;do if((i|0)==(k[a>>2]|0)){k[a>>2]=m;if(!m){k[5969]=j&~(1<>>0>=(k[5972]|0)>>>0){k[f+16+(((k[f+16>>2]|0)!=(i|0)&1)<<2)>>2]=m;if(!m)break a;else break}else Aa();while(0);a=k[5972]|0;if(m>>>0>>0)Aa();k[m+24>>2]=f;b=k[i+16>>2]|0;do if(b|0)if(b>>>0>>0)Aa();else{k[m+16>>2]=b;k[b+24>>2]=m;break}while(0);b=k[i+20>>2]|0;if(b|0)if(b>>>0<(k[5972]|0)>>>0)Aa();else{k[m+20>>2]=b;k[b+24>>2]=m;break}}while(0);if(g>>>0<16){J=g+o|0;k[i+4>>2]=J|3;J=i+J+4|0;k[J>>2]=k[J>>2]|1}else{k[i+4>>2]=o|3;k[h+4>>2]=g|1;k[h+g>>2]=g;if(r|0){d=k[5973]|0;b=r>>>3;c=23912+(b<<1<<2)|0;b=1<>2]|0;if(a>>>0<(k[5972]|0)>>>0)Aa();else{p=a;q=b}}else{k[5968]=s|b;p=c;q=c+8|0}k[q>>2]=d;k[p+12>>2]=d;k[d+8>>2]=p;k[d+12>>2]=c}k[5970]=g;k[5973]=h}J=i+8|0;u=K;return J|0}}}else if(a>>>0<=4294967231){a=a+11|0;o=a&-8;j=k[5969]|0;if(j){d=0-o|0;a=a>>>8;if(a)if(o>>>0>16777215)h=31;else{q=(a+1048320|0)>>>16&8;C=a<>>16&4;C=C<>>16&2;h=14-(p|q|h)+(C<>>15)|0;h=o>>>(h+7|0)&1|h<<1}else h=0;c=k[24176+(h<<2)>>2]|0;b:do if(!c){c=0;a=0;C=81}else{a=0;g=o<<((h|0)==31?0:25-(h>>>1)|0);f=0;while(1){e=(k[c+4>>2]&-8)-o|0;if(e>>>0>>0)if(!e){a=c;d=0;e=c;C=85;break b}else{a=c;d=e}e=k[c+20>>2]|0;c=k[c+16+(g>>>31<<2)>>2]|0;f=(e|0)==0|(e|0)==(c|0)?f:e;e=(c|0)==0;if(e){c=f;C=81;break}else g=g<<((e^1)&1)}}while(0);if((C|0)==81){if((c|0)==0&(a|0)==0){a=2<>>12&16;q=q>>>l;i=q>>>5&8;q=q>>>i;m=q>>>2&4;q=q>>>m;p=q>>>1&2;q=q>>>p;c=q>>>1&1;a=0;c=k[24176+((i|l|m|p|c)+(q>>>c)<<2)>>2]|0}if(!c){i=a;h=d}else{e=c;C=85}}if((C|0)==85)while(1){C=0;c=(k[e+4>>2]&-8)-o|0;q=c>>>0>>0;c=q?c:d;a=q?e:a;e=k[e+16+(((k[e+16>>2]|0)==0&1)<<2)>>2]|0;if(!e){i=a;h=c;break}else{d=c;C=85}}if((i|0)!=0?h>>>0<((k[5970]|0)-o|0)>>>0:0){e=k[5972]|0;if(i>>>0>>0)Aa();g=i+o|0;if(i>>>0>=g>>>0)Aa();f=k[i+24>>2]|0;c=k[i+12>>2]|0;do if((c|0)==(i|0)){a=i+20|0;b=k[a>>2]|0;if(!b){a=i+16|0;b=k[a>>2]|0;if(!b){r=0;break}}while(1){c=b+20|0;d=k[c>>2]|0;if(d|0){b=d;a=c;continue}c=b+16|0;d=k[c>>2]|0;if(!d)break;else{b=d;a=c}}if(a>>>0>>0)Aa();else{k[a>>2]=0;r=b;break}}else{d=k[i+8>>2]|0;if(d>>>0>>0)Aa();b=d+12|0;if((k[b>>2]|0)!=(i|0))Aa();a=c+8|0;if((k[a>>2]|0)==(i|0)){k[b>>2]=c;k[a>>2]=d;r=c;break}else Aa()}while(0);c:do if(f){b=k[i+28>>2]|0;a=24176+(b<<2)|0;do if((i|0)==(k[a>>2]|0)){k[a>>2]=r;if(!r){s=j&~(1<>>0>=(k[5972]|0)>>>0){k[f+16+(((k[f+16>>2]|0)!=(i|0)&1)<<2)>>2]=r;if(!r){s=j;break c}else break}else Aa();while(0);a=k[5972]|0;if(r>>>0>>0)Aa();k[r+24>>2]=f;b=k[i+16>>2]|0;do if(b|0)if(b>>>0>>0)Aa();else{k[r+16>>2]=b;k[b+24>>2]=r;break}while(0);b=k[i+20>>2]|0;if(b)if(b>>>0<(k[5972]|0)>>>0)Aa();else{k[r+20>>2]=b;k[b+24>>2]=r;s=j;break}else s=j}else s=j;while(0);do if(h>>>0>=16){k[i+4>>2]=o|3;k[g+4>>2]=h|1;k[g+h>>2]=h;b=h>>>3;if(h>>>0<256){c=23912+(b<<1<<2)|0;a=k[5968]|0;b=1<>2]|0;if(a>>>0<(k[5972]|0)>>>0)Aa();else{x=a;y=b}}else{k[5968]=a|b;x=c;y=c+8|0}k[y>>2]=g;k[x+12>>2]=g;k[g+8>>2]=x;k[g+12>>2]=c;break}b=h>>>8;if(b)if(h>>>0>16777215)b=31;else{I=(b+1048320|0)>>>16&8;J=b<>>16&4;J=J<>>16&2;b=14-(H|I|b)+(J<>>15)|0;b=h>>>(b+7|0)&1|b<<1}else b=0;c=24176+(b<<2)|0;k[g+28>>2]=b;a=g+16|0;k[a+4>>2]=0;k[a>>2]=0;a=1<>2]=g;k[g+24>>2]=c;k[g+12>>2]=g;k[g+8>>2]=g;break}a=h<<((b|0)==31?0:25-(b>>>1)|0);d=k[c>>2]|0;while(1){if((k[d+4>>2]&-8|0)==(h|0)){C=139;break}c=d+16+(a>>>31<<2)|0;b=k[c>>2]|0;if(!b){C=136;break}else{a=a<<1;d=b}}if((C|0)==136)if(c>>>0<(k[5972]|0)>>>0)Aa();else{k[c>>2]=g;k[g+24>>2]=d;k[g+12>>2]=g;k[g+8>>2]=g;break}else if((C|0)==139){b=d+8|0;a=k[b>>2]|0;J=k[5972]|0;if(a>>>0>=J>>>0&d>>>0>=J>>>0){k[a+12>>2]=g;k[b>>2]=g;k[g+8>>2]=a;k[g+12>>2]=d;k[g+24>>2]=0;break}else Aa()}}else{J=h+o|0;k[i+4>>2]=J|3;J=i+J+4|0;k[J>>2]=k[J>>2]|1}while(0);J=i+8|0;u=K;return J|0}}}else o=-1;while(0);c=k[5970]|0;if(c>>>0>=o>>>0){b=c-o|0;a=k[5973]|0;if(b>>>0>15){J=a+o|0;k[5973]=J;k[5970]=b;k[J+4>>2]=b|1;k[J+b>>2]=b;k[a+4>>2]=o|3}else{k[5970]=0;k[5973]=0;k[a+4>>2]=c|3;J=a+c+4|0;k[J>>2]=k[J>>2]|1}J=a+8|0;u=K;return J|0}g=k[5971]|0;if(g>>>0>o>>>0){H=g-o|0;k[5971]=H;J=k[5974]|0;I=J+o|0;k[5974]=I;k[I+4>>2]=H|1;k[J+4>>2]=o|3;J=J+8|0;u=K;return J|0}if(!(k[6086]|0)){k[6088]=4096;k[6087]=4096;k[6089]=-1;k[6090]=-1;k[6091]=0;k[6079]=0;a=n&-16^1431655768;k[n>>2]=a;k[6086]=a;a=4096}else a=k[6088]|0;h=o+48|0;i=o+47|0;f=a+i|0;e=0-a|0;j=f&e;if(j>>>0<=o>>>0){J=0;u=K;return J|0}a=k[6078]|0;if(a|0?(x=k[6076]|0,y=x+j|0,y>>>0<=x>>>0|y>>>0>a>>>0):0){J=0;u=K;return J|0}d:do if(!(k[6079]&4)){c=k[5974]|0;e:do if(c){d=24320;while(1){a=k[d>>2]|0;if(a>>>0<=c>>>0?(w=d+4|0,(a+(k[w>>2]|0)|0)>>>0>c>>>0):0)break;a=k[d+8>>2]|0;if(!a){C=163;break e}else d=a}b=f-g&e;if(b>>>0<2147483647){a=Dm(b|0)|0;if((a|0)==((k[d>>2]|0)+(k[w>>2]|0)|0)){if((a|0)!=(-1|0)){g=b;f=a;C=180;break d}}else{d=a;C=171}}else b=0}else C=163;while(0);do if((C|0)==163){c=Dm(0)|0;if((c|0)!=(-1|0)?(b=c,t=k[6087]|0,v=t+-1|0,b=((v&b|0)==0?0:(v+b&0-t)-b|0)+j|0,t=k[6076]|0,v=b+t|0,b>>>0>o>>>0&b>>>0<2147483647):0){y=k[6078]|0;if(y|0?v>>>0<=t>>>0|v>>>0>y>>>0:0){b=0;break}a=Dm(b|0)|0;if((a|0)==(c|0)){g=b;f=c;C=180;break d}else{d=a;C=171}}else b=0}while(0);do if((C|0)==171){c=0-b|0;if(!(h>>>0>b>>>0&(b>>>0<2147483647&(d|0)!=(-1|0))))if((d|0)==(-1|0)){b=0;break}else{g=b;f=d;C=180;break d}a=k[6088]|0;a=i-b+a&0-a;if(a>>>0>=2147483647){g=b;f=d;C=180;break d}if((Dm(a|0)|0)==(-1|0)){Dm(c|0)|0;b=0;break}else{g=a+b|0;f=d;C=180;break d}}while(0);k[6079]=k[6079]|4;C=178}else{b=0;C=178}while(0);if(((C|0)==178?j>>>0<2147483647:0)?(B=Dm(j|0)|0,y=Dm(0)|0,z=y-B|0,A=z>>>0>(o+40|0)>>>0,!((B|0)==(-1|0)|A^1|B>>>0>>0&((B|0)!=(-1|0)&(y|0)!=(-1|0))^1)):0){g=A?z:b;f=B;C=180}if((C|0)==180){b=(k[6076]|0)+g|0;k[6076]=b;if(b>>>0>(k[6077]|0)>>>0)k[6077]=b;j=k[5974]|0;do if(j){b=24320;while(1){a=k[b>>2]|0;c=b+4|0;d=k[c>>2]|0;if((f|0)==(a+d|0)){C=190;break}e=k[b+8>>2]|0;if(!e)break;else b=e}if(((C|0)==190?(k[b+12>>2]&8|0)==0:0)?j>>>0>>0&j>>>0>=a>>>0:0){k[c>>2]=d+g;J=j+8|0;J=(J&7|0)==0?0:0-J&7;I=j+J|0;J=(k[5971]|0)+(g-J)|0;k[5974]=I;k[5971]=J;k[I+4>>2]=J|1;k[I+J+4>>2]=40;k[5975]=k[6090];break}b=k[5972]|0;if(f>>>0>>0){k[5972]=f;h=f}else h=b;c=f+g|0;b=24320;while(1){if((k[b>>2]|0)==(c|0)){C=198;break}a=k[b+8>>2]|0;if(!a)break;else b=a}if((C|0)==198?(k[b+12>>2]&8|0)==0:0){k[b>>2]=f;m=b+4|0;k[m>>2]=(k[m>>2]|0)+g;m=f+8|0;m=f+((m&7|0)==0?0:0-m&7)|0;b=c+8|0;b=c+((b&7|0)==0?0:0-b&7)|0;l=m+o|0;i=b-m-o|0;k[m+4>>2]=o|3;do if((b|0)!=(j|0)){if((b|0)==(k[5973]|0)){J=(k[5970]|0)+i|0;k[5970]=J;k[5973]=l;k[l+4>>2]=J|1;k[l+J>>2]=J;break}a=k[b+4>>2]|0;if((a&3|0)==1){g=a&-8;e=a>>>3;f:do if(a>>>0>=256){f=k[b+24>>2]|0;d=k[b+12>>2]|0;do if((d|0)==(b|0)){d=b+16|0;c=d+4|0;a=k[c>>2]|0;if(!a){a=k[d>>2]|0;if(!a){H=0;break}else c=d}while(1){d=a+20|0;e=k[d>>2]|0;if(e|0){a=e;c=d;continue}d=a+16|0;e=k[d>>2]|0;if(!e)break;else{a=e;c=d}}if(c>>>0>>0)Aa();else{k[c>>2]=0;H=a;break}}else{e=k[b+8>>2]|0;if(e>>>0>>0)Aa();a=e+12|0;if((k[a>>2]|0)!=(b|0))Aa();c=d+8|0;if((k[c>>2]|0)==(b|0)){k[a>>2]=d;k[c>>2]=e;H=d;break}else Aa()}while(0);if(!f)break;a=k[b+28>>2]|0;c=24176+(a<<2)|0;do if((b|0)!=(k[c>>2]|0))if(f>>>0>=(k[5972]|0)>>>0){k[f+16+(((k[f+16>>2]|0)!=(b|0)&1)<<2)>>2]=H;if(!H)break f;else break}else Aa();else{k[c>>2]=H;if(H|0)break;k[5969]=k[5969]&~(1<>>0>>0)Aa();k[H+24>>2]=f;a=b+16|0;c=k[a>>2]|0;do if(c|0)if(c>>>0>>0)Aa();else{k[H+16>>2]=c;k[c+24>>2]=H;break}while(0);a=k[a+4>>2]|0;if(!a)break;if(a>>>0<(k[5972]|0)>>>0)Aa();else{k[H+20>>2]=a;k[a+24>>2]=H;break}}else{c=k[b+8>>2]|0;d=k[b+12>>2]|0;a=23912+(e<<1<<2)|0;do if((c|0)!=(a|0)){if(c>>>0>>0)Aa();if((k[c+12>>2]|0)==(b|0))break;Aa()}while(0);if((d|0)==(c|0)){k[5968]=k[5968]&~(1<>>0>>0)Aa();a=d+8|0;if((k[a>>2]|0)==(b|0)){E=a;break}Aa()}while(0);k[c+12>>2]=d;k[E>>2]=c}while(0);b=b+g|0;e=g+i|0}else e=i;b=b+4|0;k[b>>2]=k[b>>2]&-2;k[l+4>>2]=e|1;k[l+e>>2]=e;b=e>>>3;if(e>>>0<256){c=23912+(b<<1<<2)|0;a=k[5968]|0;b=1<>2]|0;if(a>>>0>=(k[5972]|0)>>>0){I=a;J=b;break}Aa()}while(0);k[J>>2]=l;k[I+12>>2]=l;k[l+8>>2]=I;k[l+12>>2]=c;break}b=e>>>8;do if(!b)b=0;else{if(e>>>0>16777215){b=31;break}I=(b+1048320|0)>>>16&8;J=b<>>16&4;J=J<>>16&2;b=14-(H|I|b)+(J<>>15)|0;b=e>>>(b+7|0)&1|b<<1}while(0);d=24176+(b<<2)|0;k[l+28>>2]=b;a=l+16|0;k[a+4>>2]=0;k[a>>2]=0;a=k[5969]|0;c=1<>2]=l;k[l+24>>2]=d;k[l+12>>2]=l;k[l+8>>2]=l;break}a=e<<((b|0)==31?0:25-(b>>>1)|0);d=k[d>>2]|0;while(1){if((k[d+4>>2]&-8|0)==(e|0)){C=265;break}c=d+16+(a>>>31<<2)|0;b=k[c>>2]|0;if(!b){C=262;break}else{a=a<<1;d=b}}if((C|0)==262)if(c>>>0<(k[5972]|0)>>>0)Aa();else{k[c>>2]=l;k[l+24>>2]=d;k[l+12>>2]=l;k[l+8>>2]=l;break}else if((C|0)==265){b=d+8|0;a=k[b>>2]|0;J=k[5972]|0;if(a>>>0>=J>>>0&d>>>0>=J>>>0){k[a+12>>2]=l;k[b>>2]=l;k[l+8>>2]=a;k[l+12>>2]=d;k[l+24>>2]=0;break}else Aa()}}else{J=(k[5971]|0)+i|0;k[5971]=J;k[5974]=l;k[l+4>>2]=J|1}while(0);J=m+8|0;u=K;return J|0}b=24320;while(1){a=k[b>>2]|0;if(a>>>0<=j>>>0?(D=a+(k[b+4>>2]|0)|0,D>>>0>j>>>0):0)break;b=k[b+8>>2]|0}e=D+-47|0;a=e+8|0;a=e+((a&7|0)==0?0:0-a&7)|0;e=j+16|0;a=a>>>0>>0?j:a;b=a+8|0;c=f+8|0;c=(c&7|0)==0?0:0-c&7;J=f+c|0;c=g+-40-c|0;k[5974]=J;k[5971]=c;k[J+4>>2]=c|1;k[J+c+4>>2]=40;k[5975]=k[6090];c=a+4|0;k[c>>2]=27;k[b>>2]=k[6080];k[b+4>>2]=k[6081];k[b+8>>2]=k[6082];k[b+12>>2]=k[6083];k[6080]=f;k[6081]=g;k[6083]=0;k[6082]=b;b=a+24|0;do{J=b;b=b+4|0;k[b>>2]=7}while((J+8|0)>>>0>>0);if((a|0)!=(j|0)){f=a-j|0;k[c>>2]=k[c>>2]&-2;k[j+4>>2]=f|1;k[a>>2]=f;b=f>>>3;if(f>>>0<256){c=23912+(b<<1<<2)|0;a=k[5968]|0;b=1<>2]|0;if(a>>>0<(k[5972]|0)>>>0)Aa();else{F=a;G=b}}else{k[5968]=a|b;F=c;G=c+8|0}k[G>>2]=j;k[F+12>>2]=j;k[j+8>>2]=F;k[j+12>>2]=c;break}b=f>>>8;if(b)if(f>>>0>16777215)c=31;else{I=(b+1048320|0)>>>16&8;J=b<>>16&4;J=J<>>16&2;c=14-(H|I|c)+(J<>>15)|0;c=f>>>(c+7|0)&1|c<<1}else c=0;d=24176+(c<<2)|0;k[j+28>>2]=c;k[j+20>>2]=0;k[e>>2]=0;b=k[5969]|0;a=1<>2]=j;k[j+24>>2]=d;k[j+12>>2]=j;k[j+8>>2]=j;break}a=f<<((c|0)==31?0:25-(c>>>1)|0);d=k[d>>2]|0;while(1){if((k[d+4>>2]&-8|0)==(f|0)){C=292;break}c=d+16+(a>>>31<<2)|0;b=k[c>>2]|0;if(!b){C=289;break}else{a=a<<1;d=b}}if((C|0)==289)if(c>>>0<(k[5972]|0)>>>0)Aa();else{k[c>>2]=j;k[j+24>>2]=d;k[j+12>>2]=j;k[j+8>>2]=j;break}else if((C|0)==292){b=d+8|0;a=k[b>>2]|0;J=k[5972]|0;if(a>>>0>=J>>>0&d>>>0>=J>>>0){k[a+12>>2]=j;k[b>>2]=j;k[j+8>>2]=a;k[j+12>>2]=d;k[j+24>>2]=0;break}else Aa()}}}else{J=k[5972]|0;if((J|0)==0|f>>>0>>0)k[5972]=f;k[6080]=f;k[6081]=g;k[6083]=0;k[5977]=k[6086];k[5976]=-1;b=0;do{J=23912+(b<<1<<2)|0;k[J+12>>2]=J;k[J+8>>2]=J;b=b+1|0}while((b|0)!=32);J=f+8|0;J=(J&7|0)==0?0:0-J&7;I=f+J|0;J=g+-40-J|0;k[5974]=I;k[5971]=J;k[I+4>>2]=J|1;k[I+J+4>>2]=40;k[5975]=k[6090]}while(0);b=k[5971]|0;if(b>>>0>o>>>0){H=b-o|0;k[5971]=H;J=k[5974]|0;I=J+o|0;k[5974]=I;k[I+4>>2]=H|1;k[J+4>>2]=o|3;J=J+8|0;u=K;return J|0}}J=Lr()|0;k[J>>2]=12;J=0;u=K;return J|0}function eb(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=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+128|0;A=E+112|0;h=E+108|0;n=E+104|0;p=E+100|0;t=E+96|0;q=E+92|0;s=E+88|0;D=E+40|0;C=E;v=E+84|0;B=E+80|0;m=a+148|0;k[m>>2]=0;e=a+164|0;if(k[e>>2]|0){c=a+160|0;b=k[c>>2]|0;if(b|0)do{z=b;b=k[b>>2]|0;_r(z)}while((b|0)!=0);k[c>>2]=0;c=k[a+156>>2]|0;if(c|0){d=a+152|0;b=0;do{k[(k[d>>2]|0)+(b<<2)>>2]=0;b=b+1|0}while((b|0)!=(c|0))}k[e>>2]=0}r=a+4|0;g=k[r>>2]|0;b=i[g+36>>0]|0;g=k[g+32>>2]|0;do if(((b&255)<<8&65535)<512){y=g+8|0;z=k[y>>2]|0;y=k[y+4>>2]|0;c=g+16|0;e=c;d=k[e>>2]|0;e=Fp(d|0,k[e+4>>2]|0,4,0)|0;f=M;if((y|0)<(f|0)|(y|0)==(f|0)&z>>>0>>0){D=0;u=E;return D|0}else{z=(k[g>>2]|0)+d|0;z=l[z>>0]|l[z+1>>0]<<8|l[z+2>>0]<<16|l[z+3>>0]<<24;k[h>>2]=z;k[c>>2]=e;k[c+4>>2]=f;c=z;break}}else if(sk(h,g)|0){g=k[r>>2]|0;c=k[h>>2]|0;b=i[g+36>>0]|0;g=k[g+32>>2]|0;break}else{D=0;u=E;return D|0}while(0);k[m>>2]=c;if(((b&255)<<8&65535)<512){y=g+8|0;z=k[y>>2]|0;y=k[y+4>>2]|0;c=g+16|0;e=c;d=k[e>>2]|0;e=Fp(d|0,k[e+4>>2]|0,4,0)|0;f=M;if((y|0)<(f|0)|(y|0)==(f|0)&z>>>0>>0)b=0;else{w=(k[g>>2]|0)+d|0;w=l[w>>0]|l[w+1>>0]<<8|l[w+2>>0]<<16|l[w+3>>0]<<24;k[n>>2]=w;k[c>>2]=e;k[c+4>>2]=f;c=w;f=g;w=18}}else if(sk(n,g)|0){f=k[r>>2]|0;c=k[n>>2]|0;b=i[f+36>>0]|0;f=k[f+32>>2]|0;w=18}else b=0;if((w|0)==18){m=a+172|0;k[m>>2]=c;if(((b&255)<<8&65535)<512){y=f+8|0;z=k[y>>2]|0;y=k[y+4>>2]|0;b=f+16|0;d=b;c=k[d>>2]|0;d=Fp(c|0,k[d+4>>2]|0,4,0)|0;e=M;if((y|0)<(e|0)|(y|0)==(e|0)&z>>>0>>0)b=0;else{w=(k[f>>2]|0)+c|0;k[p>>2]=l[w>>0]|l[w+1>>0]<<8|l[w+2>>0]<<16|l[w+3>>0]<<24;w=b;k[w>>2]=d;k[w+4>>2]=e;w=22}}else if(sk(p,f)|0)w=22;else b=0;do if((w|0)==22){b=k[a+24>>2]|0;c=a+28|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);b=jo(60)|0;Np(b);z=a+8|0;c=k[z>>2]|0;k[z>>2]=b;if(c){mk(c);_r(c);b=k[z>>2]|0;if(!b){b=0;break}}if(nm(b,k[p>>2]|0)|0){b=a+176|0;c=k[b>>2]|0;d=a+180|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Nk(b,k[p>>2]|0);b=a+188|0;c=k[b>>2]|0;d=a+192|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Nk(b,k[p>>2]|0);b=k[a+36>>2]|0;c=a+40|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);b=k[a+48>>2]|0;c=a+52|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);k[a+68>>2]=0;b=k[a+76>>2]|0;c=a+80|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);k[a+60>>2]=0;k[a+100>>2]=-1;k[a+108>>2]=-1;k[a+104>>2]=-1;b=k[(k[r>>2]|0)+32>>2]|0;y=b+8|0;x=k[y+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=k[e+4>>2]|0;if((x|0)>(e|0)|((x|0)==(e|0)?(k[y>>2]|0)>>>0>d>>>0:0)?(o=i[(k[b>>2]|0)+d>>0]|0,x=Fp(d|0,e|0,1,0)|0,y=c,k[y>>2]=x,k[y+4>>2]=M,o<<24>>24>=0):0){x=a+228|0;f=k[x>>2]|0;y=a+232|0;b=k[y>>2]|0;if((b|0)!=(f|0))do{k[y>>2]=b+-116;c=k[b+-12>>2]|0;if(c|0){d=b+-8|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);_r(c)}c=k[b+-28>>2]|0;if(c|0){d=b+-24|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);_r(c)}c=k[b+-40>>2]|0;if(c|0){d=b+-36|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);_r(c)}vk(b+-112|0);b=k[y>>2]|0}while((b|0)!=(f|0));h=o<<24>>24;Ui(x,h);o=k[r>>2]|0;b=k[o+32>>2]|0;if(((l[o+36>>0]|0)<<8&65535)<512){n=b+8|0;o=k[n>>2]|0;n=k[n+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=Fp(d|0,k[e+4>>2]|0,4,0)|0;f=M;if((n|0)<(f|0)|(n|0)==(f|0)&o>>>0>>0)b=0;else{b=(k[b>>2]|0)+d|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;k[t>>2]=b;w=c;k[w>>2]=e;k[w+4>>2]=f;w=58}}else if(sk(t,b)|0){b=k[t>>2]|0;w=58}else b=0;if((w|0)==58)if((k[p>>2]|0)>>>0>>0)b=0;else{p=k[r>>2]|0;b=k[p+32>>2]|0;do if(((l[p+36>>0]|0)<<8&65535)<512){o=b+8|0;p=k[o>>2]|0;o=k[o+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=Fp(d|0,k[e+4>>2]|0,4,0)|0;f=M;if((o|0)<(f|0)|(o|0)==(f|0)&p>>>0>>0){b=0;break}b=(k[b>>2]|0)+d|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;k[q>>2]=b;w=c;k[w>>2]=e;k[w+4>>2]=f;w=64}else{if(!(sk(q,b)|0)){b=0;break}b=k[q>>2]|0;w=64}while(0);if((w|0)==64){g=a+136|0;q=b+(k[m>>2]|0)|0;i[A>>0]=1;Qh(g,q,A);q=k[r>>2]|0;b=k[q+32>>2]|0;do if(((l[q+36>>0]|0)<<8&65535)>=512)if(sk(s,b)|0)w=68;else b=0;else{p=b+8|0;q=k[p>>2]|0;p=k[p+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=Fp(d|0,k[e+4>>2]|0,4,0)|0;f=M;if((p|0)<(f|0)|(p|0)==(f|0)&q>>>0>>0){b=0;break}w=(k[b>>2]|0)+d|0;k[s>>2]=l[w>>0]|l[w+1>>0]<<8|l[w+2>>0]<<16|l[w+3>>0]<<24;w=c;k[w>>2]=e;k[w+4>>2]=f;w=68}while(0);if((w|0)==68){Bn(D);b=k[(k[r>>2]|0)+32>>2]|0;q=b+16|0;p=k[q>>2]|0;w=k[s>>2]|0;s=(k[b>>2]|0)+p+w|0;o=b+8|0;q=Wo(k[o>>2]|0,k[o+4>>2]|0,p|0,k[q+4>>2]|0)|0;w=Wo(q|0,M|0,w|0,0)|0;Yn(D,s,w,j[b+38>>1]|0);b=Wb(a,D)|0;if((b|0)==-1)b=0;else{c=a+240|0;k[a+328>>2]=a;q=(Wa[k[(k[a>>2]|0)+32>>2]&255](a)|0)+32|0;q=k[q>>2]|0;q=(k[q>>2]|0)+(k[q+16>>2]|0)|0;s=(Wa[k[(k[a>>2]|0)+32>>2]&255](a)|0)+32|0;s=k[s>>2]|0;o=s+8|0;n=k[o>>2]|0;o=k[o+4>>2]|0;s=s+16|0;p=k[s>>2]|0;s=k[s+4>>2]|0;w=Wa[k[(k[a>>2]|0)+32>>2]&255](a)|0;s=Wo(n|0,o|0,p|0,s|0)|0;Yn(c,q,s,j[(k[w+32>>2]|0)+38>>1]|0);w=Wa[k[(k[a>>2]|0)+36>>2]&255](a)|0;k[a+332>>2]=w;k[a+336>>2]=k[m>>2];k[a+324>>2]=h;Bn(C);a:do if(ki(c,C)|0){if((bb(a,k[t>>2]|0)|0)==-1){b=0;break}w=k[(k[r>>2]|0)+32>>2]|0;t=C+16|0;q=k[t>>2]|0;s=(k[C>>2]|0)+q|0;p=C+8|0;t=Wo(k[p>>2]|0,k[p+4>>2]|0,q|0,k[t+4>>2]|0)|0;Yn(w,s,t,j[w+38>>1]|0);w=(k[(k[r>>2]|0)+32>>2]|0)+16|0;t=w;t=Fp(k[t>>2]|0,k[t+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;k[w>>2]=t;k[w+4>>2]=M;do if((k[y>>2]|0)!=(k[x>>2]|0)){w=k[z>>2]|0;if(((k[w+4>>2]|0)-(k[w>>2]|0)|0)<=0)break;b=0;do{k[v>>2]=b;k[A>>2]=k[v>>2];b=b+3|0;if(!(Wf(a,A)|0)){b=0;break a}w=k[z>>2]|0}while((b|0)<((k[w+4>>2]|0)-(k[w>>2]|0)>>2|0))}while(0);bn(c);bn(a+280|0);e=k[z>>2]|0;s=k[e+28>>2]|0;f=k[e+24>>2]|0;r=f;if((s-f|0)>0){n=k[g>>2]|0;o=s-f>>2;p=e+12|0;m=0;do{do if(k[n+(m>>>5<<2)>>2]&1<<(m&31)|0){q=r+(m<<2)|0;h=k[q>>2]|0;if((h|0)<0)break;b=h+1|0;b=((b|0)%3|0|0)==0?h+-2|0:b;if((b|0)>=0){g=k[p>>2]|0;c=k[g+(b<<2)>>2]|0;b=c+1|0;b:do if((c|0)<0)b=h;else{c=((b|0)%3|0|0)==0?c+-2|0:b;if((c|0)>-1&(c|0)!=(h|0))b=c;else{b=h;break}while(1){c=b+1|0;c=((c|0)%3|0|0)==0?b+-2|0:c;if((c|0)<0)break b;c=k[g+(c<<2)>>2]|0;d=c+1|0;if((c|0)<0)break b;c=((d|0)%3|0|0)==0?c+-2|0:d;if((c|0)>-1&(c|0)!=(h|0))b=c;else break}}while(0);if((c|0)==(h|0))break}else b=h;k[q>>2]=b}while(0);m=m+1|0}while((m|0)<(o|0))}d=k[y>>2]|0;w=k[x>>2]|0;b=w;if((d|0)==(w|0)){e=s;c=d}else{f=0;do{Hj(b+(f*116|0)+4|0,e)|0;b=k[x>>2]|0;c=k[b+(f*116|0)+104>>2]|0;d=k[b+(f*116|0)+108>>2]|0;if((c|0)!=(d|0))do{k[B>>2]=k[c>>2];k[A>>2]=k[B>>2];rh(b+(f*116|0)+4|0,A);c=c+4|0;b=k[x>>2]|0}while((c|0)!=(d|0));Bm(b+(f*116|0)+4|0,0,0);f=f+1|0;d=k[y>>2]|0;c=k[x>>2]|0;b=c;e=k[z>>2]|0}while(f>>>0<((d-c|0)/116|0)>>>0);f=k[e+24>>2]|0;e=k[e+28>>2]|0}e=e-f>>2;f=a+212|0;m=a+216|0;n=k[m>>2]|0;h=k[f>>2]|0;g=n-h>>2;do if(e>>>0>g>>>0){oj(f,e-g|0);b=k[x>>2]|0;d=k[y>>2]|0;c=b}else{if(e>>>0>=g>>>0)break;e=h+(e<<2)|0;if((n|0)==(e|0))break;k[m>>2]=n+(~((n+-4-e|0)>>>2)<<2)}while(0);if((d|0)!=(c|0)){n=0;while(1){f=(k[b+(n*116|0)+60>>2]|0)-(k[b+(n*116|0)+56>>2]|0)>>2;g=k[z>>2]|0;g=(k[g+28>>2]|0)-(k[g+24>>2]|0)>>2;f=(f|0)<(g|0)?g:f;g=b+(n*116|0)+88|0;h=b+(n*116|0)+92|0;m=k[h>>2]|0;e=k[g>>2]|0;b=m-e>>2;do if(f>>>0>b>>>0){oj(g,f-b|0);c=k[x>>2]|0;d=k[y>>2]|0}else{if(f>>>0>=b>>>0)break;b=e+(f<<2)|0;if((m|0)==(b|0))break;k[h>>2]=m+(~((m+-4-b|0)>>>2)<<2)}while(0);n=n+1|0;if(n>>>0>=((d-c|0)/116|0)>>>0)break;else b=c}}b=zb(a)|0}else b=0;while(0);ds(C+24|0)}ds(D+24|0)}}}}else b=0}else b=0}while(0)}D=b;u=E;return D|0}function fb(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=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+128|0;A=E+112|0;h=E+108|0;n=E+104|0;p=E+100|0;t=E+96|0;q=E+92|0;s=E+88|0;D=E+40|0;C=E;v=E+84|0;B=E+80|0;m=a+148|0;k[m>>2]=0;e=a+164|0;if(k[e>>2]|0){c=a+160|0;b=k[c>>2]|0;if(b|0)do{z=b;b=k[b>>2]|0;_r(z)}while((b|0)!=0);k[c>>2]=0;c=k[a+156>>2]|0;if(c|0){d=a+152|0;b=0;do{k[(k[d>>2]|0)+(b<<2)>>2]=0;b=b+1|0}while((b|0)!=(c|0))}k[e>>2]=0}r=a+4|0;g=k[r>>2]|0;b=i[g+36>>0]|0;g=k[g+32>>2]|0;do if(((b&255)<<8&65535)<512){y=g+8|0;z=k[y>>2]|0;y=k[y+4>>2]|0;c=g+16|0;e=c;d=k[e>>2]|0;e=Fp(d|0,k[e+4>>2]|0,4,0)|0;f=M;if((y|0)<(f|0)|(y|0)==(f|0)&z>>>0>>0){D=0;u=E;return D|0}else{z=(k[g>>2]|0)+d|0;z=l[z>>0]|l[z+1>>0]<<8|l[z+2>>0]<<16|l[z+3>>0]<<24;k[h>>2]=z;k[c>>2]=e;k[c+4>>2]=f;c=z;break}}else if(sk(h,g)|0){g=k[r>>2]|0;c=k[h>>2]|0;b=i[g+36>>0]|0;g=k[g+32>>2]|0;break}else{D=0;u=E;return D|0}while(0);k[m>>2]=c;if(((b&255)<<8&65535)<512){y=g+8|0;z=k[y>>2]|0;y=k[y+4>>2]|0;c=g+16|0;e=c;d=k[e>>2]|0;e=Fp(d|0,k[e+4>>2]|0,4,0)|0;f=M;if((y|0)<(f|0)|(y|0)==(f|0)&z>>>0>>0)b=0;else{w=(k[g>>2]|0)+d|0;w=l[w>>0]|l[w+1>>0]<<8|l[w+2>>0]<<16|l[w+3>>0]<<24;k[n>>2]=w;k[c>>2]=e;k[c+4>>2]=f;c=w;f=g;w=18}}else if(sk(n,g)|0){f=k[r>>2]|0;c=k[n>>2]|0;b=i[f+36>>0]|0;f=k[f+32>>2]|0;w=18}else b=0;if((w|0)==18){m=a+172|0;k[m>>2]=c;if(((b&255)<<8&65535)<512){y=f+8|0;z=k[y>>2]|0;y=k[y+4>>2]|0;b=f+16|0;d=b;c=k[d>>2]|0;d=Fp(c|0,k[d+4>>2]|0,4,0)|0;e=M;if((y|0)<(e|0)|(y|0)==(e|0)&z>>>0>>0)b=0;else{w=(k[f>>2]|0)+c|0;k[p>>2]=l[w>>0]|l[w+1>>0]<<8|l[w+2>>0]<<16|l[w+3>>0]<<24;w=b;k[w>>2]=d;k[w+4>>2]=e;w=22}}else if(sk(p,f)|0)w=22;else b=0;do if((w|0)==22){b=k[a+24>>2]|0;c=a+28|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);b=jo(60)|0;Np(b);z=a+8|0;c=k[z>>2]|0;k[z>>2]=b;if(c){mk(c);_r(c);b=k[z>>2]|0;if(!b){b=0;break}}if(nm(b,k[p>>2]|0)|0){b=a+176|0;c=k[b>>2]|0;d=a+180|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Nk(b,k[p>>2]|0);b=a+188|0;c=k[b>>2]|0;d=a+192|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Nk(b,k[p>>2]|0);b=k[a+36>>2]|0;c=a+40|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);b=k[a+48>>2]|0;c=a+52|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);k[a+68>>2]=0;b=k[a+76>>2]|0;c=a+80|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);k[a+60>>2]=0;k[a+100>>2]=-1;k[a+108>>2]=-1;k[a+104>>2]=-1;b=k[(k[r>>2]|0)+32>>2]|0;y=b+8|0;x=k[y+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=k[e+4>>2]|0;if((x|0)>(e|0)|((x|0)==(e|0)?(k[y>>2]|0)>>>0>d>>>0:0)?(o=i[(k[b>>2]|0)+d>>0]|0,x=Fp(d|0,e|0,1,0)|0,y=c,k[y>>2]=x,k[y+4>>2]=M,o<<24>>24>=0):0){x=a+228|0;f=k[x>>2]|0;y=a+232|0;b=k[y>>2]|0;if((b|0)!=(f|0))do{k[y>>2]=b+-116;c=k[b+-12>>2]|0;if(c|0){d=b+-8|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);_r(c)}c=k[b+-28>>2]|0;if(c|0){d=b+-24|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);_r(c)}c=k[b+-40>>2]|0;if(c|0){d=b+-36|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);_r(c)}vk(b+-112|0);b=k[y>>2]|0}while((b|0)!=(f|0));h=o<<24>>24;Ui(x,h);o=k[r>>2]|0;b=k[o+32>>2]|0;if(((l[o+36>>0]|0)<<8&65535)<512){n=b+8|0;o=k[n>>2]|0;n=k[n+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=Fp(d|0,k[e+4>>2]|0,4,0)|0;f=M;if((n|0)<(f|0)|(n|0)==(f|0)&o>>>0>>0)b=0;else{b=(k[b>>2]|0)+d|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;k[t>>2]=b;w=c;k[w>>2]=e;k[w+4>>2]=f;w=58}}else if(sk(t,b)|0){b=k[t>>2]|0;w=58}else b=0;if((w|0)==58)if((k[p>>2]|0)>>>0>>0)b=0;else{p=k[r>>2]|0;b=k[p+32>>2]|0;do if(((l[p+36>>0]|0)<<8&65535)<512){o=b+8|0;p=k[o>>2]|0;o=k[o+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=Fp(d|0,k[e+4>>2]|0,4,0)|0;f=M;if((o|0)<(f|0)|(o|0)==(f|0)&p>>>0>>0){b=0;break}b=(k[b>>2]|0)+d|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;k[q>>2]=b;w=c;k[w>>2]=e;k[w+4>>2]=f;w=64}else{if(!(sk(q,b)|0)){b=0;break}b=k[q>>2]|0;w=64}while(0);if((w|0)==64){g=a+136|0;q=b+(k[m>>2]|0)|0;i[A>>0]=1;Qh(g,q,A);q=k[r>>2]|0;b=k[q+32>>2]|0;do if(((l[q+36>>0]|0)<<8&65535)>=512)if(sk(s,b)|0)w=68;else b=0;else{p=b+8|0;q=k[p>>2]|0;p=k[p+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=Fp(d|0,k[e+4>>2]|0,4,0)|0;f=M;if((p|0)<(f|0)|(p|0)==(f|0)&q>>>0>>0){b=0;break}w=(k[b>>2]|0)+d|0;k[s>>2]=l[w>>0]|l[w+1>>0]<<8|l[w+2>>0]<<16|l[w+3>>0]<<24;w=c;k[w>>2]=e;k[w+4>>2]=f;w=68}while(0);if((w|0)==68){Bn(D);b=k[(k[r>>2]|0)+32>>2]|0;q=b+16|0;p=k[q>>2]|0;w=k[s>>2]|0;s=(k[b>>2]|0)+p+w|0;o=b+8|0;q=Wo(k[o>>2]|0,k[o+4>>2]|0,p|0,k[q+4>>2]|0)|0;w=Wo(q|0,M|0,w|0,0)|0;Yn(D,s,w,j[b+38>>1]|0);b=Wb(a,D)|0;if((b|0)==-1)b=0;else{c=a+240|0;k[a+328>>2]=a;q=(Wa[k[(k[a>>2]|0)+32>>2]&255](a)|0)+32|0;q=k[q>>2]|0;q=(k[q>>2]|0)+(k[q+16>>2]|0)|0;s=(Wa[k[(k[a>>2]|0)+32>>2]&255](a)|0)+32|0;s=k[s>>2]|0;o=s+8|0;n=k[o>>2]|0;o=k[o+4>>2]|0;s=s+16|0;p=k[s>>2]|0;s=k[s+4>>2]|0;w=Wa[k[(k[a>>2]|0)+32>>2]&255](a)|0;s=Wo(n|0,o|0,p|0,s|0)|0;Yn(c,q,s,j[(k[w+32>>2]|0)+38>>1]|0);w=Wa[k[(k[a>>2]|0)+36>>2]&255](a)|0;k[a+332>>2]=w;k[a+336>>2]=k[m>>2];k[a+324>>2]=h;Bn(C);a:do if(Uc(c,C)|0){if((ab(a,k[t>>2]|0)|0)==-1){b=0;break}w=k[(k[r>>2]|0)+32>>2]|0;t=C+16|0;q=k[t>>2]|0;s=(k[C>>2]|0)+q|0;p=C+8|0;t=Wo(k[p>>2]|0,k[p+4>>2]|0,q|0,k[t+4>>2]|0)|0;Yn(w,s,t,j[w+38>>1]|0);w=(k[(k[r>>2]|0)+32>>2]|0)+16|0;t=w;t=Fp(k[t>>2]|0,k[t+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;k[w>>2]=t;k[w+4>>2]=M;do if((k[y>>2]|0)!=(k[x>>2]|0)){w=k[z>>2]|0;if(((k[w+4>>2]|0)-(k[w>>2]|0)|0)<=0)break;b=0;do{k[v>>2]=b;k[A>>2]=k[v>>2];b=b+3|0;if(!(Wf(a,A)|0)){b=0;break a}w=k[z>>2]|0}while((b|0)<((k[w+4>>2]|0)-(k[w>>2]|0)>>2|0))}while(0);bn(c);bn(a+280|0);e=k[z>>2]|0;s=k[e+28>>2]|0;f=k[e+24>>2]|0;r=f;if((s-f|0)>0){n=k[g>>2]|0;o=s-f>>2;p=e+12|0;m=0;do{do if(k[n+(m>>>5<<2)>>2]&1<<(m&31)|0){q=r+(m<<2)|0;h=k[q>>2]|0;if((h|0)<0)break;b=h+1|0;b=((b|0)%3|0|0)==0?h+-2|0:b;if((b|0)>=0){g=k[p>>2]|0;c=k[g+(b<<2)>>2]|0;b=c+1|0;b:do if((c|0)<0)b=h;else{c=((b|0)%3|0|0)==0?c+-2|0:b;if((c|0)>-1&(c|0)!=(h|0))b=c;else{b=h;break}while(1){c=b+1|0;c=((c|0)%3|0|0)==0?b+-2|0:c;if((c|0)<0)break b;c=k[g+(c<<2)>>2]|0;d=c+1|0;if((c|0)<0)break b;c=((d|0)%3|0|0)==0?c+-2|0:d;if((c|0)>-1&(c|0)!=(h|0))b=c;else break}}while(0);if((c|0)==(h|0))break}else b=h;k[q>>2]=b}while(0);m=m+1|0}while((m|0)<(o|0))}d=k[y>>2]|0;w=k[x>>2]|0;b=w;if((d|0)==(w|0)){e=s;c=d}else{f=0;do{Hj(b+(f*116|0)+4|0,e)|0;b=k[x>>2]|0;c=k[b+(f*116|0)+104>>2]|0;d=k[b+(f*116|0)+108>>2]|0;if((c|0)!=(d|0))do{k[B>>2]=k[c>>2];k[A>>2]=k[B>>2];rh(b+(f*116|0)+4|0,A);c=c+4|0;b=k[x>>2]|0}while((c|0)!=(d|0));Bm(b+(f*116|0)+4|0,0,0);f=f+1|0;d=k[y>>2]|0;c=k[x>>2]|0;b=c;e=k[z>>2]|0}while(f>>>0<((d-c|0)/116|0)>>>0);f=k[e+24>>2]|0;e=k[e+28>>2]|0}e=e-f>>2;f=a+212|0;m=a+216|0;n=k[m>>2]|0;h=k[f>>2]|0;g=n-h>>2;do if(e>>>0>g>>>0){oj(f,e-g|0);b=k[x>>2]|0;d=k[y>>2]|0;c=b}else{if(e>>>0>=g>>>0)break;e=h+(e<<2)|0;if((n|0)==(e|0))break;k[m>>2]=n+(~((n+-4-e|0)>>>2)<<2)}while(0);if((d|0)!=(c|0)){n=0;while(1){f=(k[b+(n*116|0)+60>>2]|0)-(k[b+(n*116|0)+56>>2]|0)>>2;g=k[z>>2]|0;g=(k[g+28>>2]|0)-(k[g+24>>2]|0)>>2;f=(f|0)<(g|0)?g:f;g=b+(n*116|0)+88|0;h=b+(n*116|0)+92|0;m=k[h>>2]|0;e=k[g>>2]|0;b=m-e>>2;do if(f>>>0>b>>>0){oj(g,f-b|0);c=k[x>>2]|0;d=k[y>>2]|0}else{if(f>>>0>=b>>>0)break;b=e+(f<<2)|0;if((m|0)==(b|0))break;k[h>>2]=m+(~((m+-4-b|0)>>>2)<<2)}while(0);n=n+1|0;if(n>>>0>=((d-c|0)/116|0)>>>0)break;else b=c}}b=zb(a)|0}else b=0;while(0);ds(C+24|0)}ds(D+24|0)}}}}else b=0}else b=0}while(0)}D=b;u=E;return D|0}function gb(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=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+128|0;A=E+112|0;h=E+108|0;n=E+104|0;p=E+100|0;t=E+96|0;q=E+92|0;s=E+88|0;D=E+40|0;C=E;v=E+84|0;B=E+80|0;m=a+148|0;k[m>>2]=0;e=a+164|0;if(k[e>>2]|0){c=a+160|0;b=k[c>>2]|0;if(b|0)do{z=b;b=k[b>>2]|0;_r(z)}while((b|0)!=0);k[c>>2]=0;c=k[a+156>>2]|0;if(c|0){d=a+152|0;b=0;do{k[(k[d>>2]|0)+(b<<2)>>2]=0;b=b+1|0}while((b|0)!=(c|0))}k[e>>2]=0}r=a+4|0;g=k[r>>2]|0;b=i[g+36>>0]|0;g=k[g+32>>2]|0;do if(((b&255)<<8&65535)<512){y=g+8|0;z=k[y>>2]|0;y=k[y+4>>2]|0;c=g+16|0;e=c;d=k[e>>2]|0;e=Fp(d|0,k[e+4>>2]|0,4,0)|0;f=M;if((y|0)<(f|0)|(y|0)==(f|0)&z>>>0>>0){D=0;u=E;return D|0}else{z=(k[g>>2]|0)+d|0;z=l[z>>0]|l[z+1>>0]<<8|l[z+2>>0]<<16|l[z+3>>0]<<24;k[h>>2]=z;k[c>>2]=e;k[c+4>>2]=f;c=z;break}}else if(sk(h,g)|0){g=k[r>>2]|0;c=k[h>>2]|0;b=i[g+36>>0]|0;g=k[g+32>>2]|0;break}else{D=0;u=E;return D|0}while(0);k[m>>2]=c;if(((b&255)<<8&65535)<512){y=g+8|0;z=k[y>>2]|0;y=k[y+4>>2]|0;c=g+16|0;e=c;d=k[e>>2]|0;e=Fp(d|0,k[e+4>>2]|0,4,0)|0;f=M;if((y|0)<(f|0)|(y|0)==(f|0)&z>>>0>>0)b=0;else{w=(k[g>>2]|0)+d|0;w=l[w>>0]|l[w+1>>0]<<8|l[w+2>>0]<<16|l[w+3>>0]<<24;k[n>>2]=w;k[c>>2]=e;k[c+4>>2]=f;c=w;f=g;w=18}}else if(sk(n,g)|0){f=k[r>>2]|0;c=k[n>>2]|0;b=i[f+36>>0]|0;f=k[f+32>>2]|0;w=18}else b=0;if((w|0)==18){m=a+172|0;k[m>>2]=c;if(((b&255)<<8&65535)<512){y=f+8|0;z=k[y>>2]|0;y=k[y+4>>2]|0;b=f+16|0;d=b;c=k[d>>2]|0;d=Fp(c|0,k[d+4>>2]|0,4,0)|0;e=M;if((y|0)<(e|0)|(y|0)==(e|0)&z>>>0>>0)b=0;else{w=(k[f>>2]|0)+c|0;k[p>>2]=l[w>>0]|l[w+1>>0]<<8|l[w+2>>0]<<16|l[w+3>>0]<<24;w=b;k[w>>2]=d;k[w+4>>2]=e;w=22}}else if(sk(p,f)|0)w=22;else b=0;do if((w|0)==22){b=k[a+24>>2]|0;c=a+28|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);b=jo(60)|0;Np(b);z=a+8|0;c=k[z>>2]|0;k[z>>2]=b;if(c){mk(c);_r(c);b=k[z>>2]|0;if(!b){b=0;break}}if(nm(b,k[p>>2]|0)|0){b=a+176|0;c=k[b>>2]|0;d=a+180|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Nk(b,k[p>>2]|0);b=a+188|0;c=k[b>>2]|0;d=a+192|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Nk(b,k[p>>2]|0);b=k[a+36>>2]|0;c=a+40|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);b=k[a+48>>2]|0;c=a+52|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);k[a+68>>2]=0;b=k[a+76>>2]|0;c=a+80|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);k[a+60>>2]=0;k[a+100>>2]=-1;k[a+108>>2]=-1;k[a+104>>2]=-1;b=k[(k[r>>2]|0)+32>>2]|0;y=b+8|0;x=k[y+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=k[e+4>>2]|0;if((x|0)>(e|0)|((x|0)==(e|0)?(k[y>>2]|0)>>>0>d>>>0:0)?(o=i[(k[b>>2]|0)+d>>0]|0,x=Fp(d|0,e|0,1,0)|0,y=c,k[y>>2]=x,k[y+4>>2]=M,o<<24>>24>=0):0){x=a+228|0;f=k[x>>2]|0;y=a+232|0;b=k[y>>2]|0;if((b|0)!=(f|0))do{k[y>>2]=b+-116;c=k[b+-12>>2]|0;if(c|0){d=b+-8|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);_r(c)}c=k[b+-28>>2]|0;if(c|0){d=b+-24|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);_r(c)}c=k[b+-40>>2]|0;if(c|0){d=b+-36|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);_r(c)}vk(b+-112|0);b=k[y>>2]|0}while((b|0)!=(f|0));h=o<<24>>24;Ui(x,h);o=k[r>>2]|0;b=k[o+32>>2]|0;if(((l[o+36>>0]|0)<<8&65535)<512){n=b+8|0;o=k[n>>2]|0;n=k[n+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=Fp(d|0,k[e+4>>2]|0,4,0)|0;f=M;if((n|0)<(f|0)|(n|0)==(f|0)&o>>>0>>0)b=0;else{b=(k[b>>2]|0)+d|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;k[t>>2]=b;w=c;k[w>>2]=e;k[w+4>>2]=f;w=58}}else if(sk(t,b)|0){b=k[t>>2]|0;w=58}else b=0;if((w|0)==58)if((k[p>>2]|0)>>>0>>0)b=0;else{p=k[r>>2]|0;b=k[p+32>>2]|0;do if(((l[p+36>>0]|0)<<8&65535)<512){o=b+8|0;p=k[o>>2]|0;o=k[o+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=Fp(d|0,k[e+4>>2]|0,4,0)|0;f=M;if((o|0)<(f|0)|(o|0)==(f|0)&p>>>0>>0){b=0;break}b=(k[b>>2]|0)+d|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;k[q>>2]=b;w=c;k[w>>2]=e;k[w+4>>2]=f;w=64}else{if(!(sk(q,b)|0)){b=0;break}b=k[q>>2]|0;w=64}while(0);if((w|0)==64){g=a+136|0;q=b+(k[m>>2]|0)|0;i[A>>0]=1;Qh(g,q,A);q=k[r>>2]|0;b=k[q+32>>2]|0;do if(((l[q+36>>0]|0)<<8&65535)>=512)if(sk(s,b)|0)w=68;else b=0;else{p=b+8|0;q=k[p>>2]|0;p=k[p+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=Fp(d|0,k[e+4>>2]|0,4,0)|0;f=M;if((p|0)<(f|0)|(p|0)==(f|0)&q>>>0>>0){b=0;break}w=(k[b>>2]|0)+d|0;k[s>>2]=l[w>>0]|l[w+1>>0]<<8|l[w+2>>0]<<16|l[w+3>>0]<<24;w=c;k[w>>2]=e;k[w+4>>2]=f;w=68}while(0);if((w|0)==68){Bn(D);b=k[(k[r>>2]|0)+32>>2]|0;q=b+16|0;p=k[q>>2]|0;w=k[s>>2]|0;s=(k[b>>2]|0)+p+w|0;o=b+8|0;q=Wo(k[o>>2]|0,k[o+4>>2]|0,p|0,k[q+4>>2]|0)|0;w=Wo(q|0,M|0,w|0,0)|0;Yn(D,s,w,j[b+38>>1]|0);b=Wb(a,D)|0;if((b|0)==-1)b=0;else{c=a+240|0;k[a+328>>2]=a;q=(Wa[k[(k[a>>2]|0)+32>>2]&255](a)|0)+32|0;q=k[q>>2]|0;q=(k[q>>2]|0)+(k[q+16>>2]|0)|0;s=(Wa[k[(k[a>>2]|0)+32>>2]&255](a)|0)+32|0;s=k[s>>2]|0;o=s+8|0;n=k[o>>2]|0;o=k[o+4>>2]|0;s=s+16|0;p=k[s>>2]|0;s=k[s+4>>2]|0;w=Wa[k[(k[a>>2]|0)+32>>2]&255](a)|0;s=Wo(n|0,o|0,p|0,s|0)|0;Yn(c,q,s,j[(k[w+32>>2]|0)+38>>1]|0);k[a+324>>2]=h;Bn(C);a:do if(xe(c,C)|0){if((cb(a,k[t>>2]|0)|0)==-1){b=0;break}w=k[(k[r>>2]|0)+32>>2]|0;t=C+16|0;q=k[t>>2]|0;s=(k[C>>2]|0)+q|0;p=C+8|0;t=Wo(k[p>>2]|0,k[p+4>>2]|0,q|0,k[t+4>>2]|0)|0;Yn(w,s,t,j[w+38>>1]|0);w=(k[(k[r>>2]|0)+32>>2]|0)+16|0;t=w;t=Fp(k[t>>2]|0,k[t+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;k[w>>2]=t;k[w+4>>2]=M;do if((k[y>>2]|0)!=(k[x>>2]|0)){w=k[z>>2]|0;if(((k[w+4>>2]|0)-(k[w>>2]|0)|0)<=0)break;b=0;do{k[v>>2]=b;k[A>>2]=k[v>>2];b=b+3|0;if(!(Wf(a,A)|0)){b=0;break a}w=k[z>>2]|0}while((b|0)<((k[w+4>>2]|0)-(k[w>>2]|0)>>2|0))}while(0);bn(c);bn(a+280|0);e=k[z>>2]|0;s=k[e+28>>2]|0;f=k[e+24>>2]|0;r=f;if((s-f|0)>0){n=k[g>>2]|0;o=s-f>>2;p=e+12|0;m=0;do{do if(k[n+(m>>>5<<2)>>2]&1<<(m&31)|0){q=r+(m<<2)|0;h=k[q>>2]|0;if((h|0)<0)break;b=h+1|0;b=((b|0)%3|0|0)==0?h+-2|0:b;if((b|0)>=0){g=k[p>>2]|0;c=k[g+(b<<2)>>2]|0;b=c+1|0;b:do if((c|0)<0)b=h;else{c=((b|0)%3|0|0)==0?c+-2|0:b;if((c|0)>-1&(c|0)!=(h|0))b=c;else{b=h;break}while(1){c=b+1|0;c=((c|0)%3|0|0)==0?b+-2|0:c;if((c|0)<0)break b;c=k[g+(c<<2)>>2]|0;d=c+1|0;if((c|0)<0)break b;c=((d|0)%3|0|0)==0?c+-2|0:d;if((c|0)>-1&(c|0)!=(h|0))b=c;else break}}while(0);if((c|0)==(h|0))break}else b=h;k[q>>2]=b}while(0);m=m+1|0}while((m|0)<(o|0))}d=k[y>>2]|0;w=k[x>>2]|0;b=w;if((d|0)==(w|0)){e=s;c=d}else{f=0;do{Hj(b+(f*116|0)+4|0,e)|0;b=k[x>>2]|0;c=k[b+(f*116|0)+104>>2]|0;d=k[b+(f*116|0)+108>>2]|0;if((c|0)!=(d|0))do{k[B>>2]=k[c>>2];k[A>>2]=k[B>>2];rh(b+(f*116|0)+4|0,A);c=c+4|0;b=k[x>>2]|0}while((c|0)!=(d|0));Bm(b+(f*116|0)+4|0,0,0);f=f+1|0;d=k[y>>2]|0;c=k[x>>2]|0;b=c;e=k[z>>2]|0}while(f>>>0<((d-c|0)/116|0)>>>0);f=k[e+24>>2]|0;e=k[e+28>>2]|0}e=e-f>>2;f=a+212|0;m=a+216|0;n=k[m>>2]|0;h=k[f>>2]|0;g=n-h>>2;do if(e>>>0>g>>>0){oj(f,e-g|0);b=k[x>>2]|0;d=k[y>>2]|0;c=b}else{if(e>>>0>=g>>>0)break;e=h+(e<<2)|0;if((n|0)==(e|0))break;k[m>>2]=n+(~((n+-4-e|0)>>>2)<<2)}while(0);if((d|0)!=(c|0)){n=0;while(1){f=(k[b+(n*116|0)+60>>2]|0)-(k[b+(n*116|0)+56>>2]|0)>>2;g=k[z>>2]|0;g=(k[g+28>>2]|0)-(k[g+24>>2]|0)>>2;f=(f|0)<(g|0)?g:f;g=b+(n*116|0)+88|0;h=b+(n*116|0)+92|0;m=k[h>>2]|0;e=k[g>>2]|0;b=m-e>>2;do if(f>>>0>b>>>0){oj(g,f-b|0);c=k[x>>2]|0;d=k[y>>2]|0}else{if(f>>>0>=b>>>0)break;b=e+(f<<2)|0;if((m|0)==(b|0))break;k[h>>2]=m+(~((m+-4-b|0)>>>2)<<2)}while(0);n=n+1|0;if(n>>>0>=((d-c|0)/116|0)>>>0)break;else b=c}}b=zb(a)|0}else b=0;while(0);ds(C+24|0)}ds(D+24|0)}}}}else b=0}else b=0}while(0)}D=b;u=E;return D|0}function hb(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=u;u=u+16|0;b=j;h=j+8|0;c=j+4|0;k[h>>2]=a;do if(a>>>0>=212){g=(a>>>0)/210|0;e=g*210|0;k[c>>2]=a-e;a=0;f=(Fm(5676,5868,c,b)|0)-5676>>2;b=e;a:while(1){e=(k[5676+(f<<2)>>2]|0)+b|0;b=5;while(1){if(b>>>0>=47){d=211;i=8;break}c=k[5484+(b<<2)>>2]|0;d=(e>>>0)/(c>>>0)|0;if(d>>>0>>0){i=106;break a}if((e|0)==($(d,c)|0))break;else b=b+1|0}b:do if((i|0)==8){c:while(1){i=0;b=(e>>>0)/(d>>>0)|0;do if(b>>>0>=d>>>0)if((e|0)!=($(b,d)|0)){b=d+10|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>=b>>>0)if((e|0)!=($(c,b)|0)){b=d+12|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>=b>>>0)if((e|0)!=($(c,b)|0)){b=d+16|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>=b>>>0)if((e|0)!=($(c,b)|0)){b=d+18|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>=b>>>0)if((e|0)!=($(c,b)|0)){b=d+22|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>=b>>>0)if((e|0)!=($(c,b)|0)){b=d+28|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>=b>>>0)if((e|0)==($(c,b)|0))c=9;else{b=d+30|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+36|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+40|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+42|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+46|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+52|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+58|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+60|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+66|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+70|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+72|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+78|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+82|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+88|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+96|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+100|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+102|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+106|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+108|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+112|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+120|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+126|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+130|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+136|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+138|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+142|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+148|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+150|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+156|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+162|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+166|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+168|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+172|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+178|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+180|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+186|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+190|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+192|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+196|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+198|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+208|0;c=(e>>>0)/(b>>>0)|0;l=c>>>0>>0;c=(e|0)==($(c,b)|0);b=l|c?b:d+210|0;c=l?1:c?9:0;a=l?e:a}else{c=1;a=e}}else c=9;else{c=1;a=e}}else c=9;else{c=1;a=e}}else c=9;else{c=1;a=e}}else c=9;else{c=1;a=e}}else c=9;else{c=1;a=e}}else{b=d;c=9}else{b=d;c=1;a=e}while(0);switch(c&15){case 9:break b;case 0:{d=b;i=8;break}default:break c}}if(c){i=107;break a}}while(0);l=f+1|0;e=(l|0)==48;b=(e&1)+g|0;g=b;f=e?0:l;b=b*210|0}if((i|0)==106){k[h>>2]=e;a=e;break}else if((i|0)==107){k[h>>2]=e;break}}else{a=Fm(5484,5676,h,b)|0;a=k[a>>2]|0}while(0);u=j;return a|0}function ib(a,b,c){a=a|0;b=b|0;c=c|0;var 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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=u;u=u+32|0;L=M+8|0;g=M;F=a+8|0;G=k[F>>2]|0;k[g>>2]=0;Ik(L,G,g);G=a+116|0;h=k[G>>2]|0;e=k[h>>2]|0;f=h+4|0;if(!e)d=h+8|0;else{d=k[f>>2]|0;if((d|0)!=(e|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e);d=h+8|0;k[d>>2]=0;k[f>>2]=0;k[h>>2]=0}k[h>>2]=k[L>>2];k[f>>2]=k[L+4>>2];k[d>>2]=k[L+8>>2];E=k[F>>2]|0;k[g>>2]=0;Ik(L,E,g);E=a+128|0;g=k[E>>2]|0;d=k[g>>2]|0;f=g+4|0;if(!d)d=g+8|0;else{e=k[f>>2]|0;if((e|0)!=(d|0))k[f>>2]=e+(~((e+-4-d|0)>>>2)<<2);_r(d);d=g+8|0;k[d>>2]=0;k[f>>2]=0;k[g>>2]=0}k[g>>2]=k[L>>2];k[f>>2]=k[L+4>>2];k[d>>2]=k[L+8>>2];k[L>>2]=0;k[L+4>>2]=0;k[L+8>>2]=0;k[L+12>>2]=0;k[L+16>>2]=0;k[L+20>>2]=0;K=L+8|0;J=L+4|0;I=L+16|0;H=L+20|0;uc(L);d=k[J>>2]|0;e=(k[H>>2]|0)+(k[I>>2]|0)|0;if((k[K>>2]|0)==(d|0))d=0;else d=(k[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;k[d>>2]=b;k[d+4>>2]=0;k[d+8>>2]=0;d=(k[H>>2]|0)+1|0;k[H>>2]=d;a:do if(d|0){v=a+104|0;w=a+92|0;t=c+4|0;x=a+96|0;y=a+48|0;z=a+44|0;A=a+28|0;B=a+24|0;C=a+88|0;D=a+84|0;b:while(1){q=k[I>>2]|0;e=d+-1|0;l=q+e|0;r=k[J>>2]|0;p=k[r+(((l>>>0)/341|0)<<2)>>2]|0;l=(l>>>0)%341|0;s=k[p+(l*12|0)>>2]|0;f=k[p+(l*12|0)+4>>2]|0;l=k[p+(l*12|0)+8>>2]|0;k[H>>2]=e;e=k[K>>2]|0;r=e-r>>2;if((1-d-q+((r|0)==0?0:(r*341|0)+-1|0)|0)>>>0>681){_r(k[e+-4>>2]|0);k[K>>2]=(k[K>>2]|0)+-4}e=k[G>>2]|0;r=e+(l*12|0)|0;q=(k[E>>2]|0)+(l*12|0)|0;n=to(a,s,q,f)|0;d=(k[a>>2]|0)-(k[(k[q>>2]|0)+(n<<2)>>2]|0)|0;c:do if(!d)if((s|0)>0){f=e+(l*12|0)+4|0;j=k[c>>2]|0;g=j+84|0;h=j+68|0;b=j+40|0;j=j+64|0;e=0;l=k[t>>2]|0;while(1){d=l;l=l+1|0;k[t>>2]=l;m=k[r>>2]|0;if(((k[f>>2]|0)-m|0)!=12){o=23;break b}if(!(i[g>>0]|0))d=k[(k[h>>2]|0)+(d<<2)>>2]|0;p=b;q=k[p>>2]|0;p=io(q|0,k[p+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;Gh((k[k[j>>2]>>2]|0)+p|0,m|0,q|0)|0;e=e+1|0;if((e|0)>=(s|0)){o=15;break}}}else o=15;else{if(!s){o=28;break b}if(s>>>0<3){g=k[v>>2]|0;k[g>>2]=n;e=k[F>>2]|0;if(e>>>0>1){f=1;d=n;do{d=(d|0)==(e+-1|0)?0:d+1|0;k[g+(f<<2)>>2]=d;f=f+1|0;e=k[F>>2]|0}while(f>>>0>>0)}d=0;while(1){if(!e)g=k[w>>2]|0;else{l=k[v>>2]|0;m=k[w>>2]|0;n=k[q>>2]|0;g=m;j=0;do{o=l+(j<<2)|0;k[m+(k[o>>2]<<2)>>2]=0;e=k[o>>2]|0;p=(k[a>>2]|0)-(k[n+(e<<2)>>2]|0)|0;do if(p|0){e=m+(e<<2)|0;if((p|0)>=33){o=42;break b}if((p|0)<=0){o=44;break b}b=k[y>>2]|0;f=32-b|0;h=k[z>>2]|0;b=k[h>>2]<(f|0)){p=p-f|0;k[y>>2]=p;h=h+4|0;k[z>>2]=h;p=32-p|0;k[e>>2]=(k[h>>2]|0)>>>p|b>>>(p-f|0);break}k[e>>2]=b>>>(32-p|0);p=(k[y>>2]|0)+p|0;k[y>>2]=p;if((p|0)!=32)break;k[z>>2]=h+4;k[y>>2]=0}while(0);o=k[o>>2]|0;p=m+(o<<2)|0;k[p>>2]=k[p>>2]|k[(k[r>>2]|0)+(o<<2)>>2];j=j+1|0}while(j>>>0<(k[F>>2]|0)>>>0)}f=k[c>>2]|0;e=k[t>>2]|0;k[t>>2]=e+1;if(((k[x>>2]|0)-g|0)!=12){o=37;break b}if(!(i[f+84>>0]|0))e=k[(k[f+68>>2]|0)+(e<<2)>>2]|0;o=f+40|0;p=k[o>>2]|0;o=io(p|0,k[o+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Gh((k[k[f+64>>2]>>2]|0)+o|0,g|0,p|0)|0;d=d+1|0;if(d>>>0>=s>>>0){o=15;break c}e=k[F>>2]|0}}h=1<>2]|0;d=k[r>>2]|0;g=d;f=k[(k[G>>2]|0)+(m*12|0)>>2]|0;if((e|0)!=(d|0)){e=e-d>>2;d=0;do{k[f+(d<<2)>>2]=k[g+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}f=f+(n<<2)|0;k[f>>2]=(k[f>>2]|0)+h;f=(ca(s|0)|0)^31;if(f>>>0>=33){o=56;break b}if(!f){o=58;break b}g=k[A>>2]|0;d=32-g|0;h=k[B>>2]|0;e=k[h>>2]<>>(32-f|0);r=g+f|0;k[A>>2]=r;if((r|0)==32){k[B>>2]=h+4;k[A>>2]=0}}else{r=f-d|0;k[A>>2]=r;q=h+4|0;k[B>>2]=q;r=32-r|0;d=(k[q>>2]|0)>>>r|e>>>(r-d|0)}g=(s>>>1)-d|0;e=s-g|0;if((g|0)==(e|0)){b=g;j=g}else{s=k[C>>2]|0;d=k[D>>2]|0;f=(k[d>>2]&1<<31-s|0)!=0;s=s+1|0;k[C>>2]=s;if((s|0)==32){k[D>>2]=d+4;k[C>>2]=0}b=f?g:e;j=f?e:g}d=k[E>>2]|0;h=k[d+(l*12|0)>>2]|0;e=h+(n<<2)|0;k[e>>2]=(k[e>>2]|0)+1;e=k[d+(l*12|0)+4>>2]|0;f=h;if((e|0)!=(f|0)){g=k[d+(m*12|0)>>2]|0;e=e-f>>2;d=0;do{k[g+(d<<2)>>2]=k[h+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(b|0){g=k[K>>2]|0;f=k[J>>2]|0;s=g-f>>2;d=k[I>>2]|0;e=k[H>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(e+d|0)){uc(L);d=k[I>>2]|0;e=k[H>>2]|0;g=k[K>>2]|0;f=k[J>>2]|0}d=e+d|0;if((g|0)==(f|0))d=0;else d=(k[f+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=b;k[d+4>>2]=n;k[d+8>>2]=l;k[H>>2]=(k[H>>2]|0)+1}if(!j)o=15;else{g=k[K>>2]|0;f=k[J>>2]|0;s=g-f>>2;d=k[I>>2]|0;e=k[H>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(e+d|0)){uc(L);d=k[I>>2]|0;e=k[H>>2]|0;g=k[K>>2]|0;f=k[J>>2]|0}d=e+d|0;if((g|0)==(f|0))d=0;else d=(k[f+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=j;k[d+4>>2]=n;k[d+8>>2]=m;d=(k[H>>2]|0)+1|0;k[H>>2]=d}}while(0);if((o|0)==15){o=0;d=k[H>>2]|0}if(!d)break a}if((o|0)==23)Ka(6212,6242,51,6368);else if((o|0)==28)Ka(19745,19783,223,19932);else if((o|0)==37)Ka(6212,6242,51,6368);else if((o|0)==42)Ka(19947,19971,48,20081);else if((o|0)==44)Ka(20110,19971,49,20081);else if((o|0)==56)Ka(19947,19971,48,20081);else if((o|0)==58)Ka(20110,19971,49,20081)}while(0);d=k[J>>2]|0;e=k[I>>2]|0;g=d+(((e>>>0)/341|0)<<2)|0;f=k[K>>2]|0;b=f;j=d;if((f|0)==(d|0)){h=0;e=0}else{e=(k[g>>2]|0)+(((e>>>0)%341|0)*12|0)|0;h=e}d:while(1){do{if((e|0)==(h|0))break d;e=e+12|0}while((e-(k[g>>2]|0)|0)!=4092);e=g+4|0;g=e;e=k[e>>2]|0}k[H>>2]=0;e=b-j>>2;if(e>>>0>2)do{_r(k[d>>2]|0);d=(k[J>>2]|0)+4|0;k[J>>2]=d;f=k[K>>2]|0;e=f-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;o=94;break}case 2:{e=341;o=94;break}default:{}}if((o|0)==94)k[I>>2]=e;if((d|0)!=(f|0)){do{_r(k[d>>2]|0);d=d+4|0}while((d|0)!=(f|0));d=k[J>>2]|0;e=k[K>>2]|0;if((e|0)!=(d|0))k[K>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=k[L>>2]|0;if(!d){u=M;return}_r(d);u=M;return}function jb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=u;u=u+48|0;I=Q+24|0;P=Q;J=a+8|0;K=k[J>>2]|0;k[P>>2]=0;Ik(I,K,P);K=a+116|0;g=k[K>>2]|0;e=k[g>>2]|0;f=g+4|0;if(!e)d=g+8|0;else{d=k[f>>2]|0;if((d|0)!=(e|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e);d=g+8|0;k[d>>2]=0;k[f>>2]=0;k[g>>2]=0}k[g>>2]=k[I>>2];k[f>>2]=k[I+4>>2];k[d>>2]=k[I+8>>2];H=k[J>>2]|0;k[P>>2]=0;Ik(I,H,P);H=a+128|0;g=k[H>>2]|0;d=k[g>>2]|0;f=g+4|0;if(!d)d=g+8|0;else{e=k[f>>2]|0;if((e|0)!=(d|0))k[f>>2]=e+(~((e+-4-d|0)>>>2)<<2);_r(d);d=g+8|0;k[d>>2]=0;k[f>>2]=0;k[g>>2]=0}k[g>>2]=k[I>>2];k[f>>2]=k[I+4>>2];k[d>>2]=k[I+8>>2];k[P>>2]=0;k[P+4>>2]=0;k[P+8>>2]=0;k[P+12>>2]=0;k[P+16>>2]=0;k[P+20>>2]=0;O=P+8|0;N=P+4|0;M=P+16|0;L=P+20|0;uc(P);d=k[N>>2]|0;e=(k[L>>2]|0)+(k[M>>2]|0)|0;if((k[O>>2]|0)==(d|0))d=0;else d=(k[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;k[d>>2]=b;k[d+4>>2]=0;k[d+8>>2]=0;d=(k[L>>2]|0)+1|0;k[L>>2]=d;a:do if(d|0){v=a+104|0;w=a+92|0;x=I+4|0;y=I+8|0;z=a+48|0;A=a+44|0;B=a+28|0;C=a+24|0;D=a+88|0;E=a+84|0;F=I+4|0;G=I+8|0;b:while(1){r=k[M>>2]|0;e=d+-1|0;l=r+e|0;s=k[N>>2]|0;q=k[s+(((l>>>0)/341|0)<<2)>>2]|0;l=(l>>>0)%341|0;t=k[q+(l*12|0)>>2]|0;f=k[q+(l*12|0)+4>>2]|0;l=k[q+(l*12|0)+8>>2]|0;k[L>>2]=e;e=k[O>>2]|0;s=e-s>>2;if((1-d-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){_r(k[e+-4>>2]|0);k[O>>2]=(k[O>>2]|0)+-4}g=k[K>>2]|0;s=g+(l*12|0)|0;r=(k[H>>2]|0)+(l*12|0)|0;e=to(a,t,r,f)|0;d=(k[a>>2]|0)-(k[(k[r>>2]|0)+(e<<2)>>2]|0)|0;c:do if(!d)if((t|0)>0){e=k[c>>2]|0;f=e+4|0;g=e+8|0;d=0;do{h=k[s>>2]|0;b=k[h>>2]|0;k[I>>2]=b;k[F>>2]=k[h+4>>2];k[G>>2]=k[h+8>>2];h=k[f>>2]|0;if(h>>>0<(k[g>>2]|0)>>>0){k[h>>2]=b;k[h+4>>2]=k[F>>2];k[h+8>>2]=k[G>>2];k[f>>2]=h+12}else ei(e,I);d=d+1|0}while((d|0)<(t|0));n=15}else n=15;else{if(!t){n=27;break b}if(t>>>0<3){g=k[v>>2]|0;k[g>>2]=e;d=k[J>>2]|0;if(d>>>0>1){f=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;k[g+(f<<2)>>2]=e;f=f+1|0;d=k[J>>2]|0}while(f>>>0>>0)}o=k[c>>2]|0;p=o+4|0;q=o+8|0;n=0;while(1){if(d|0){h=k[v>>2]|0;i=k[w>>2]|0;j=k[r>>2]|0;b=0;do{l=h+(b<<2)|0;k[i+(k[l>>2]<<2)>>2]=0;d=k[l>>2]|0;m=(k[a>>2]|0)-(k[j+(d<<2)>>2]|0)|0;do if(m|0){d=i+(d<<2)|0;if((m|0)>=33){n=36;break b}if((m|0)<=0){n=38;break b}g=k[z>>2]|0;e=32-g|0;f=k[A>>2]|0;g=k[f>>2]<(e|0)){m=m-e|0;k[z>>2]=m;f=f+4|0;k[A>>2]=f;m=32-m|0;k[d>>2]=(k[f>>2]|0)>>>m|g>>>(m-e|0);break}k[d>>2]=g>>>(32-m|0);m=(k[z>>2]|0)+m|0;k[z>>2]=m;if((m|0)!=32)break;k[A>>2]=f+4;k[z>>2]=0}while(0);l=k[l>>2]|0;m=i+(l<<2)|0;k[m>>2]=k[m>>2]|k[(k[s>>2]|0)+(l<<2)>>2];b=b+1|0}while(b>>>0<(k[J>>2]|0)>>>0)}e=k[w>>2]|0;d=k[e>>2]|0;k[I>>2]=d;k[x>>2]=k[e+4>>2];k[y>>2]=k[e+8>>2];e=k[p>>2]|0;if(e>>>0<(k[q>>2]|0)>>>0){k[e>>2]=d;k[e+4>>2]=k[x>>2];k[e+8>>2]=k[y>>2];k[p>>2]=e+12}else ei(o,I);d=n+1|0;if(d>>>0>=t>>>0){n=15;break c}n=d;d=k[J>>2]|0}}h=1<>2]|0;d=k[s>>2]|0;b=d;g=k[(k[K>>2]|0)+(m*12|0)>>2]|0;if((f|0)!=(d|0)){f=f-d>>2;d=0;do{k[g+(d<<2)>>2]=k[b+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}g=g+(e<<2)|0;k[g>>2]=(k[g>>2]|0)+h;g=(ca(t|0)|0)^31;if(g>>>0>=33){n=53;break b}if(!g){n=55;break b}b=k[B>>2]|0;d=32-b|0;h=k[C>>2]|0;f=k[h>>2]<>>(32-g|0);s=b+g|0;k[B>>2]=s;if((s|0)==32){k[C>>2]=h+4;k[B>>2]=0}}else{s=g-d|0;k[B>>2]=s;r=h+4|0;k[C>>2]=r;s=32-s|0;d=(k[r>>2]|0)>>>s|f>>>(s-d|0)}b=(t>>>1)-d|0;f=t-b|0;if((b|0)==(f|0)){i=b;j=b}else{t=k[D>>2]|0;d=k[E>>2]|0;g=(k[d>>2]&1<<31-t|0)!=0;t=t+1|0;k[D>>2]=t;if((t|0)==32){k[E>>2]=d+4;k[D>>2]=0}i=g?b:f;j=g?f:b}d=k[H>>2]|0;h=k[d+(l*12|0)>>2]|0;f=h+(e<<2)|0;k[f>>2]=(k[f>>2]|0)+1;f=k[d+(l*12|0)+4>>2]|0;g=h;if((f|0)!=(g|0)){b=k[d+(m*12|0)>>2]|0;f=f-g>>2;d=0;do{k[b+(d<<2)>>2]=k[h+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(i|0){b=k[O>>2]|0;g=k[N>>2]|0;t=b-g>>2;d=k[M>>2]|0;f=k[L>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(f+d|0)){uc(P);d=k[M>>2]|0;f=k[L>>2]|0;b=k[O>>2]|0;g=k[N>>2]|0}d=f+d|0;if((b|0)==(g|0))d=0;else d=(k[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=i;k[d+4>>2]=e;k[d+8>>2]=l;k[L>>2]=(k[L>>2]|0)+1}if(!j)n=15;else{b=k[O>>2]|0;g=k[N>>2]|0;t=b-g>>2;d=k[M>>2]|0;f=k[L>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(f+d|0)){uc(P);d=k[M>>2]|0;f=k[L>>2]|0;b=k[O>>2]|0;g=k[N>>2]|0}d=f+d|0;if((b|0)==(g|0))d=0;else d=(k[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=j;k[d+4>>2]=e;k[d+8>>2]=m;d=(k[L>>2]|0)+1|0;k[L>>2]=d}}while(0);if((n|0)==15){n=0;d=k[L>>2]|0}if(!d)break a}if((n|0)==27)Ka(19745,19783,223,19932);else if((n|0)==36)Ka(19947,19971,48,20081);else if((n|0)==38)Ka(20110,19971,49,20081);else if((n|0)==53)Ka(19947,19971,48,20081);else if((n|0)==55)Ka(20110,19971,49,20081)}while(0);d=k[N>>2]|0;e=k[M>>2]|0;g=d+(((e>>>0)/341|0)<<2)|0;f=k[O>>2]|0;h=f;i=d;if((f|0)==(d|0)){b=0;e=0}else{e=(k[g>>2]|0)+(((e>>>0)%341|0)*12|0)|0;b=e}d:while(1){do{if((e|0)==(b|0))break d;e=e+12|0}while((e-(k[g>>2]|0)|0)!=4092);e=g+4|0;g=e;e=k[e>>2]|0}k[L>>2]=0;e=h-i>>2;if(e>>>0>2)do{_r(k[d>>2]|0);d=(k[N>>2]|0)+4|0;k[N>>2]=d;f=k[O>>2]|0;e=f-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;n=91;break}case 2:{e=341;n=91;break}default:{}}if((n|0)==91)k[M>>2]=e;if((d|0)!=(f|0)){do{_r(k[d>>2]|0);d=d+4|0}while((d|0)!=(f|0));d=k[N>>2]|0;e=k[O>>2]|0;if((e|0)!=(d|0))k[O>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=k[P>>2]|0;if(!d){u=Q;return}_r(d);u=Q;return}function kb(a,b,c){a=a|0;b=b|0;c=c|0;var 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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=u;u=u+32|0;N=O+8|0;g=O;H=a+8|0;I=k[H>>2]|0;k[g>>2]=0;Ik(N,I,g);I=a+116|0;h=k[I>>2]|0;e=k[h>>2]|0;f=h+4|0;if(!e)d=h+8|0;else{d=k[f>>2]|0;if((d|0)!=(e|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e);d=h+8|0;k[d>>2]=0;k[f>>2]=0;k[h>>2]=0}k[h>>2]=k[N>>2];k[f>>2]=k[N+4>>2];k[d>>2]=k[N+8>>2];G=k[H>>2]|0;k[g>>2]=0;Ik(N,G,g);G=a+128|0;g=k[G>>2]|0;d=k[g>>2]|0;f=g+4|0;if(!d)d=g+8|0;else{e=k[f>>2]|0;if((e|0)!=(d|0))k[f>>2]=e+(~((e+-4-d|0)>>>2)<<2);_r(d);d=g+8|0;k[d>>2]=0;k[f>>2]=0;k[g>>2]=0}k[g>>2]=k[N>>2];k[f>>2]=k[N+4>>2];k[d>>2]=k[N+8>>2];k[N>>2]=0;k[N+4>>2]=0;k[N+8>>2]=0;k[N+12>>2]=0;k[N+16>>2]=0;k[N+20>>2]=0;M=N+8|0;L=N+4|0;K=N+16|0;J=N+20|0;uc(N);d=k[L>>2]|0;e=(k[J>>2]|0)+(k[K>>2]|0)|0;if((k[M>>2]|0)==(d|0))d=0;else d=(k[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;k[d>>2]=b;k[d+4>>2]=0;k[d+8>>2]=0;d=(k[J>>2]|0)+1|0;k[J>>2]=d;a:do if(d|0){x=a+104|0;y=a+92|0;w=c+4|0;z=a+96|0;A=a+48|0;B=a+44|0;C=a+28|0;D=a+24|0;E=a+88|0;F=a+84|0;b:while(1){r=k[K>>2]|0;e=d+-1|0;o=r+e|0;s=k[L>>2]|0;q=k[s+(((o>>>0)/341|0)<<2)>>2]|0;o=(o>>>0)%341|0;t=k[q+(o*12|0)>>2]|0;f=k[q+(o*12|0)+4>>2]|0;o=k[q+(o*12|0)+8>>2]|0;k[J>>2]=e;e=k[M>>2]|0;s=e-s>>2;if((1-d-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){_r(k[e+-4>>2]|0);e=(k[M>>2]|0)+-4|0;k[M>>2]=e}g=k[I>>2]|0;r=g+(o*12|0)|0;m=k[G>>2]|0;s=((k[H>>2]|0)+-1|0)==(f|0)?0:f+1|0;q=m+(o*12|0)|0;n=k[q>>2]|0;j=n+(s<<2)|0;d=(k[a>>2]|0)-(k[j>>2]|0)|0;l=n;c:do if(!d)if((t|0)>0){f=g+(o*12|0)+4|0;j=k[c>>2]|0;g=j+84|0;h=j+68|0;b=j+40|0;j=j+64|0;e=0;l=k[w>>2]|0;while(1){d=l;l=l+1|0;k[w>>2]=l;m=k[r>>2]|0;if(((k[f>>2]|0)-m|0)!=12){v=23;break b}if(!(i[g>>0]|0))d=k[(k[h>>2]|0)+(d<<2)>>2]|0;s=b;v=k[s>>2]|0;s=io(v|0,k[s+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;Gh((k[k[j>>2]>>2]|0)+s|0,m|0,v|0)|0;e=e+1|0;if((e|0)>=(t|0)){v=15;break}}}else v=15;else{if(!t){v=28;break b}if(t>>>0<3){g=k[x>>2]|0;k[g>>2]=s;e=k[H>>2]|0;if(e>>>0>1){f=1;d=s;do{d=(d|0)==(e+-1|0)?0:d+1|0;k[g+(f<<2)>>2]=d;f=f+1|0;e=k[H>>2]|0}while(f>>>0>>0)}d=0;while(1){if(!e)g=k[y>>2]|0;else{l=k[x>>2]|0;m=k[y>>2]|0;n=k[q>>2]|0;g=m;j=0;do{o=l+(j<<2)|0;k[m+(k[o>>2]<<2)>>2]=0;e=k[o>>2]|0;p=(k[a>>2]|0)-(k[n+(e<<2)>>2]|0)|0;do if(p|0){e=m+(e<<2)|0;if((p|0)>=33){v=42;break b}if((p|0)<=0){v=44;break b}b=k[A>>2]|0;f=32-b|0;h=k[B>>2]|0;b=k[h>>2]<(f|0)){v=p-f|0;k[A>>2]=v;s=h+4|0;k[B>>2]=s;v=32-v|0;k[e>>2]=(k[s>>2]|0)>>>v|b>>>(v-f|0);break}k[e>>2]=b>>>(32-p|0);v=(k[A>>2]|0)+p|0;k[A>>2]=v;if((v|0)!=32)break;k[B>>2]=h+4;k[A>>2]=0}while(0);s=k[o>>2]|0;v=m+(s<<2)|0;k[v>>2]=k[v>>2]|k[(k[r>>2]|0)+(s<<2)>>2];j=j+1|0}while(j>>>0<(k[H>>2]|0)>>>0)}f=k[c>>2]|0;e=k[w>>2]|0;k[w>>2]=e+1;if(((k[z>>2]|0)-g|0)!=12){v=37;break b}if(!(i[f+84>>0]|0))e=k[(k[f+68>>2]|0)+(e<<2)>>2]|0;s=f+40|0;v=k[s>>2]|0;s=io(v|0,k[s+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Gh((k[k[f+64>>2]>>2]|0)+s|0,g|0,v|0)|0;d=d+1|0;if(d>>>0>=t>>>0){v=15;break c}e=k[H>>2]|0}}b=1<>2]|0;d=k[r>>2]|0;h=d;g=k[g+(p*12|0)>>2]|0;if((f|0)!=(d|0)){f=f-d>>2;d=0;do{k[g+(d<<2)>>2]=k[h+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}g=g+(s<<2)|0;k[g>>2]=(k[g>>2]|0)+b;g=(ca(t|0)|0)^31;if(g>>>0>=33){v=56;break b}if(!g){v=58;break b}h=k[C>>2]|0;d=32-h|0;b=k[D>>2]|0;f=k[b>>2]<>>(32-g|0);r=h+g|0;k[C>>2]=r;if((r|0)==32){k[D>>2]=b+4;k[C>>2]=0}}else{r=g-d|0;k[C>>2]=r;q=b+4|0;k[D>>2]=q;r=32-r|0;d=(k[q>>2]|0)>>>r|f>>>(r-d|0)}h=(t>>>1)-d|0;f=t-h|0;if((h|0)==(f|0))b=h;else{t=k[E>>2]|0;d=k[F>>2]|0;g=(k[d>>2]&1<<31-t|0)!=0;t=t+1|0;k[E>>2]=t;if((t|0)==32){k[F>>2]=d+4;k[E>>2]=0}b=g?h:f;h=g?f:h}k[j>>2]=(k[j>>2]|0)+1;d=k[m+(o*12|0)+4>>2]|0;if((d|0)!=(l|0)){g=k[m+(p*12|0)>>2]|0;f=d-l>>2;d=0;do{k[g+(d<<2)>>2]=k[n+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(b|0){g=k[L>>2]|0;t=e-g>>2;d=k[K>>2]|0;f=k[J>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(f+d|0)){uc(N);d=k[K>>2]|0;f=k[J>>2]|0;e=k[M>>2]|0;g=k[L>>2]|0}d=f+d|0;if((e|0)==(g|0))d=0;else d=(k[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=b;k[d+4>>2]=s;k[d+8>>2]=o;k[J>>2]=(k[J>>2]|0)+1}if(!h)v=15;else{g=k[M>>2]|0;f=k[L>>2]|0;t=g-f>>2;d=k[K>>2]|0;e=k[J>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(e+d|0)){uc(N);d=k[K>>2]|0;e=k[J>>2]|0;g=k[M>>2]|0;f=k[L>>2]|0}d=e+d|0;if((g|0)==(f|0))d=0;else d=(k[f+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=h;k[d+4>>2]=s;k[d+8>>2]=p;d=(k[J>>2]|0)+1|0;k[J>>2]=d}}while(0);if((v|0)==15){v=0;d=k[J>>2]|0}if(!d)break a}if((v|0)==23)Ka(6212,6242,51,6368);else if((v|0)==28)Ka(19745,19783,223,19932);else if((v|0)==37)Ka(6212,6242,51,6368);else if((v|0)==42)Ka(19947,19971,48,20081);else if((v|0)==44)Ka(20110,19971,49,20081);else if((v|0)==56)Ka(19947,19971,48,20081);else if((v|0)==58)Ka(20110,19971,49,20081)}while(0);d=k[L>>2]|0;e=k[K>>2]|0;g=d+(((e>>>0)/341|0)<<2)|0;f=k[M>>2]|0;b=f;j=d;if((f|0)==(d|0)){h=0;e=0}else{e=(k[g>>2]|0)+(((e>>>0)%341|0)*12|0)|0;h=e}d:while(1){do{if((e|0)==(h|0))break d;e=e+12|0}while((e-(k[g>>2]|0)|0)!=4092);e=g+4|0;g=e;e=k[e>>2]|0}k[J>>2]=0;e=b-j>>2;if(e>>>0>2)do{_r(k[d>>2]|0);d=(k[L>>2]|0)+4|0;k[L>>2]=d;f=k[M>>2]|0;e=f-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;v=94;break}case 2:{e=341;v=94;break}default:{}}if((v|0)==94)k[K>>2]=e;if((d|0)!=(f|0)){do{_r(k[d>>2]|0);d=d+4|0}while((d|0)!=(f|0));d=k[L>>2]|0;e=k[M>>2]|0;if((e|0)!=(d|0))k[M>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=k[N>>2]|0;if(!d){u=O;return}_r(d);u=O;return}function lb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=u;u=u+48|0;I=Q+24|0;P=Q;J=a+8|0;K=k[J>>2]|0;k[P>>2]=0;Ik(I,K,P);K=a+116|0;g=k[K>>2]|0;e=k[g>>2]|0;f=g+4|0;if(!e)d=g+8|0;else{d=k[f>>2]|0;if((d|0)!=(e|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e);d=g+8|0;k[d>>2]=0;k[f>>2]=0;k[g>>2]=0}k[g>>2]=k[I>>2];k[f>>2]=k[I+4>>2];k[d>>2]=k[I+8>>2];H=k[J>>2]|0;k[P>>2]=0;Ik(I,H,P);H=a+128|0;g=k[H>>2]|0;d=k[g>>2]|0;f=g+4|0;if(!d)d=g+8|0;else{e=k[f>>2]|0;if((e|0)!=(d|0))k[f>>2]=e+(~((e+-4-d|0)>>>2)<<2);_r(d);d=g+8|0;k[d>>2]=0;k[f>>2]=0;k[g>>2]=0}k[g>>2]=k[I>>2];k[f>>2]=k[I+4>>2];k[d>>2]=k[I+8>>2];k[P>>2]=0;k[P+4>>2]=0;k[P+8>>2]=0;k[P+12>>2]=0;k[P+16>>2]=0;k[P+20>>2]=0;O=P+8|0;N=P+4|0;M=P+16|0;L=P+20|0;uc(P);d=k[N>>2]|0;e=(k[L>>2]|0)+(k[M>>2]|0)|0;if((k[O>>2]|0)==(d|0))d=0;else d=(k[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;k[d>>2]=b;k[d+4>>2]=0;k[d+8>>2]=0;d=(k[L>>2]|0)+1|0;k[L>>2]=d;a:do if(d|0){v=a+104|0;w=a+92|0;x=I+4|0;y=I+8|0;z=a+48|0;A=a+44|0;B=a+28|0;C=a+24|0;D=a+88|0;E=a+84|0;F=I+4|0;G=I+8|0;b:while(1){r=k[M>>2]|0;e=d+-1|0;n=r+e|0;s=k[N>>2]|0;p=k[s+(((n>>>0)/341|0)<<2)>>2]|0;n=(n>>>0)%341|0;t=k[p+(n*12|0)>>2]|0;f=k[p+(n*12|0)+4>>2]|0;n=k[p+(n*12|0)+8>>2]|0;k[L>>2]=e;e=k[O>>2]|0;s=e-s>>2;if((1-d-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){_r(k[e+-4>>2]|0);e=(k[O>>2]|0)+-4|0;k[O>>2]=e}g=k[K>>2]|0;s=g+(n*12|0)|0;l=k[H>>2]|0;p=((k[J>>2]|0)+-1|0)==(f|0)?0:f+1|0;r=l+(n*12|0)|0;m=k[r>>2]|0;i=m+(p<<2)|0;d=(k[a>>2]|0)-(k[i>>2]|0)|0;j=m;c:do if(!d)if((t|0)>0){e=k[c>>2]|0;f=e+4|0;g=e+8|0;d=0;do{h=k[s>>2]|0;b=k[h>>2]|0;k[I>>2]=b;k[F>>2]=k[h+4>>2];k[G>>2]=k[h+8>>2];h=k[f>>2]|0;if(h>>>0<(k[g>>2]|0)>>>0){k[h>>2]=b;k[h+4>>2]=k[F>>2];k[h+8>>2]=k[G>>2];k[f>>2]=h+12}else ei(e,I);d=d+1|0}while((d|0)<(t|0));q=15}else q=15;else{if(!t){q=27;break b}if(t>>>0<3){g=k[v>>2]|0;k[g>>2]=p;d=k[J>>2]|0;if(d>>>0>1){f=1;e=p;do{e=(e|0)==(d+-1|0)?0:e+1|0;k[g+(f<<2)>>2]=e;f=f+1|0;d=k[J>>2]|0}while(f>>>0>>0)}o=k[c>>2]|0;p=o+4|0;q=o+8|0;n=0;while(1){if(d|0){h=k[v>>2]|0;i=k[w>>2]|0;j=k[r>>2]|0;b=0;do{l=h+(b<<2)|0;k[i+(k[l>>2]<<2)>>2]=0;d=k[l>>2]|0;m=(k[a>>2]|0)-(k[j+(d<<2)>>2]|0)|0;do if(m|0){d=i+(d<<2)|0;if((m|0)>=33){q=36;break b}if((m|0)<=0){q=38;break b}g=k[z>>2]|0;e=32-g|0;f=k[A>>2]|0;g=k[f>>2]<(e|0)){m=m-e|0;k[z>>2]=m;f=f+4|0;k[A>>2]=f;m=32-m|0;k[d>>2]=(k[f>>2]|0)>>>m|g>>>(m-e|0);break}k[d>>2]=g>>>(32-m|0);m=(k[z>>2]|0)+m|0;k[z>>2]=m;if((m|0)!=32)break;k[A>>2]=f+4;k[z>>2]=0}while(0);l=k[l>>2]|0;m=i+(l<<2)|0;k[m>>2]=k[m>>2]|k[(k[s>>2]|0)+(l<<2)>>2];b=b+1|0}while(b>>>0<(k[J>>2]|0)>>>0)}e=k[w>>2]|0;d=k[e>>2]|0;k[I>>2]=d;k[x>>2]=k[e+4>>2];k[y>>2]=k[e+8>>2];e=k[p>>2]|0;if(e>>>0<(k[q>>2]|0)>>>0){k[e>>2]=d;k[e+4>>2]=k[x>>2];k[e+8>>2]=k[y>>2];k[p>>2]=e+12}else ei(o,I);d=n+1|0;if(d>>>0>=t>>>0){q=15;break c}n=d;d=k[J>>2]|0}}h=1<>2]|0;d=k[s>>2]|0;b=d;g=k[g+(o*12|0)>>2]|0;if((f|0)!=(d|0)){f=f-d>>2;d=0;do{k[g+(d<<2)>>2]=k[b+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}g=g+(p<<2)|0;k[g>>2]=(k[g>>2]|0)+h;g=(ca(t|0)|0)^31;if(g>>>0>=33){q=53;break b}if(!g){q=55;break b}b=k[B>>2]|0;d=32-b|0;h=k[C>>2]|0;f=k[h>>2]<>>(32-g|0);s=b+g|0;k[B>>2]=s;if((s|0)==32){k[C>>2]=h+4;k[B>>2]=0}}else{s=g-d|0;k[B>>2]=s;r=h+4|0;k[C>>2]=r;s=32-s|0;d=(k[r>>2]|0)>>>s|f>>>(s-d|0)}b=(t>>>1)-d|0;f=t-b|0;if((b|0)==(f|0))h=b;else{t=k[D>>2]|0;d=k[E>>2]|0;g=(k[d>>2]&1<<31-t|0)!=0;t=t+1|0;k[D>>2]=t;if((t|0)==32){k[E>>2]=d+4;k[D>>2]=0}h=g?b:f;b=g?f:b}k[i>>2]=(k[i>>2]|0)+1;d=k[l+(n*12|0)+4>>2]|0;if((d|0)!=(j|0)){g=k[l+(o*12|0)>>2]|0;f=d-j>>2;d=0;do{k[g+(d<<2)>>2]=k[m+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(h|0){g=k[N>>2]|0;t=e-g>>2;d=k[M>>2]|0;f=k[L>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(f+d|0)){uc(P);d=k[M>>2]|0;f=k[L>>2]|0;e=k[O>>2]|0;g=k[N>>2]|0}d=f+d|0;if((e|0)==(g|0))d=0;else d=(k[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=h;k[d+4>>2]=p;k[d+8>>2]=n;k[L>>2]=(k[L>>2]|0)+1}if(!b)q=15;else{g=k[O>>2]|0;f=k[N>>2]|0;t=g-f>>2;d=k[M>>2]|0;e=k[L>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(e+d|0)){uc(P);d=k[M>>2]|0;e=k[L>>2]|0;g=k[O>>2]|0;f=k[N>>2]|0}d=e+d|0;if((g|0)==(f|0))d=0;else d=(k[f+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=b;k[d+4>>2]=p;k[d+8>>2]=o;d=(k[L>>2]|0)+1|0;k[L>>2]=d}}while(0);if((q|0)==15){q=0;d=k[L>>2]|0}if(!d)break a}if((q|0)==27)Ka(19745,19783,223,19932);else if((q|0)==36)Ka(19947,19971,48,20081);else if((q|0)==38)Ka(20110,19971,49,20081);else if((q|0)==53)Ka(19947,19971,48,20081);else if((q|0)==55)Ka(20110,19971,49,20081)}while(0);d=k[N>>2]|0;e=k[M>>2]|0;g=d+(((e>>>0)/341|0)<<2)|0;f=k[O>>2]|0;h=f;i=d;if((f|0)==(d|0)){b=0;e=0}else{e=(k[g>>2]|0)+(((e>>>0)%341|0)*12|0)|0;b=e}d:while(1){do{if((e|0)==(b|0))break d;e=e+12|0}while((e-(k[g>>2]|0)|0)!=4092);e=g+4|0;g=e;e=k[e>>2]|0}k[L>>2]=0;e=h-i>>2;if(e>>>0>2)do{_r(k[d>>2]|0);d=(k[N>>2]|0)+4|0;k[N>>2]=d;f=k[O>>2]|0;e=f-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;q=91;break}case 2:{e=341;q=91;break}default:{}}if((q|0)==91)k[M>>2]=e;if((d|0)!=(f|0)){do{_r(k[d>>2]|0);d=d+4|0}while((d|0)!=(f|0));d=k[N>>2]|0;e=k[O>>2]|0;if((e|0)!=(d|0))k[O>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=k[P>>2]|0;if(!d){u=Q;return}_r(d);u=Q;return}function mb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=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;S=u;u=u+64|0;R=S+16|0;Q=S;H=a+8|0;k[H>>2]=e;i=a+32|0;d=a+36|0;h=k[d>>2]|0;g=k[i>>2]|0;f=h-g>>2;if(f>>>0>=e>>>0){if(f>>>0>e>>>0?(j=g+(e<<2)|0,(h|0)!=(j|0)):0)k[d>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else oj(i,e-f|0);d=R;f=d+48|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(f|0));k[Q>>2]=0;if(!e){d=0;f=0}else{Yh(R,e,Q);d=k[R+12>>2]|0;f=k[R+16>>2]|0}k[Q>>2]=0;g=R+16|0;h=f-d>>2;if(h>>>0>=e>>>0){if(h>>>0>e>>>0?(l=d+(e<<2)|0,(f|0)!=(l|0)):0)k[g>>2]=f+(~((f+-4-l|0)>>>2)<<2)}else Yh(R+12|0,e-h|0,Q);d=R+24|0;k[Q>>2]=0;f=R+28|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(m=h+(e<<2)|0,(i|0)!=(m|0)):0)k[f>>2]=i+(~((i+-4-m|0)>>>2)<<2)}else Yh(d,e-g|0,Q);d=R+36|0;k[Q>>2]=0;f=R+40|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(n=h+(e<<2)|0,(i|0)!=(n|0)):0)k[f>>2]=i+(~((i+-4-n|0)>>>2)<<2)}else Yh(d,e-g|0,Q);i=k[R>>2]|0;if((k[H>>2]|0)>0){l=a+16|0;h=a+32|0;m=a+12|0;g=0;do{d=k[i+(g<<2)>>2]|0;f=k[l>>2]|0;if((d|0)>(f|0)){j=k[h>>2]|0;k[j+(g<<2)>>2]=f}else{G=k[m>>2]|0;j=k[h>>2]|0;k[j+(g<<2)>>2]=(d|0)<(G|0)?G:d}g=g+1|0;d=k[H>>2]|0}while((g|0)<(d|0));if((d|0)>0){g=a+20|0;f=0;do{d=(k[b+(f<<2)>>2]|0)+(k[j+(f<<2)>>2]|0)|0;h=c+(f<<2)|0;k[h>>2]=d;if((d|0)<=(k[l>>2]|0)){if((d|0)<(k[m>>2]|0)){d=(k[g>>2]|0)+d|0;o=18}}else{d=d-(k[g>>2]|0)|0;o=18}if((o|0)==18){o=0;k[h>>2]=d}f=f+1|0}while((f|0)<(k[H>>2]|0))}}t=k[a+48>>2]|0;v=k[a+52>>2]|0;G=jo(16)|0;k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;k[G+12>>2]=0;xl(Q,e);w=a+56|0;g=k[w>>2]|0;h=k[g+4>>2]|0;f=k[g>>2]|0;F=h-f|0;x=F>>2;a:do if((F|0)>4){y=t+64|0;z=t+28|0;A=(e|0)>0;B=a+16|0;C=a+32|0;D=a+12|0;E=a+20|0;F=e<<2;d=1;while(1){if(h-f>>2>>>0<=d>>>0){Iq(g);f=k[g>>2]|0}p=k[f+(d<<2)>>2]|0;o=p+((p|0)<0?0:((p>>>0)%3|0|0)==0?2:-1)|0;q=o>>>5;r=1<<(o&31);s=(o|0)<0;n=1;f=0;g=p;b:while(1){do{if((g|0)<=-1){o=61;break b}i=k[R+(f*12|0)>>2]|0;if(((k[(k[t>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0)==0?(I=k[(k[(k[y>>2]|0)+12>>2]|0)+(g<<2)>>2]|0,(I|0)>=0):0)?(L=k[z>>2]|0,m=k[v>>2]|0,J=k[m+(k[L+(I<<2)>>2]<<2)>>2]|0,K=I+1|0,K=k[m+(k[L+((((K|0)%3|0|0)==0?I+-2|0:K)<<2)>>2]<<2)>>2]|0,L=k[m+(k[L+((((I>>>0)%3|0|0)==0?2:-1)+I<<2)>>2]<<2)>>2]|0,(J|0)<(d|0)&(K|0)<(d|0)&(L|0)<(d|0)):0){j=$(J,e)|0;l=$(K,e)|0;m=$(L,e)|0;if(A){h=0;do{k[i+(h<<2)>>2]=(k[c+(h+m<<2)>>2]|0)+(k[c+(h+l<<2)>>2]|0)-(k[c+(h+j<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0))}f=f+1|0;if((f|0)==4){f=4;o=42;break b}}do if(n){h=g+1|0;g=((h|0)%3|0|0)==0?g+-2|0:h;h=k[t>>2]|0;if(!(k[h+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=k[(k[(k[y>>2]|0)+12>>2]|0)+(g<<2)>>2]|0;i=g+1|0;if((g|0)>=0)g=((i|0)%3|0|0)==0?g+-2|0:i}}else g=-1073741824}else{g=(((g>>>0)%3|0|0)==0?2:-1)+g|0;h=k[t>>2]|0;if(!(k[h+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=k[(k[(k[y>>2]|0)+12>>2]|0)+(g<<2)>>2]|0;if((g|0)>=0)if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}}else g=-1073741824}while(0);if((g|0)==(p|0)){o=61;break b}}while(!(n&(g|0)<0));g=(r&k[h+(q<<2)>>2]|0)!=0;if(g|s){n=0;g=g?-1073741824:o;continue}g=k[(k[(k[y>>2]|0)+12>>2]|0)+(o<<2)>>2]|0;if((g|0)<0){n=0;continue}if(!((g>>>0)%3|0)){n=0;g=g+2|0;continue}else{n=0;g=g+-1|0;continue}}if((o|0)==61)if((f|0)>0)o=42;else{O=$(d,e)|0;o=73}if((o|0)==42){o=0;if(A){_j(k[Q>>2]|0,0,F|0)|0;m=f+-1|0;l=G+(m<<2)|0;m=k[a+60+(m*12|0)>>2]|0;n=k[Q>>2]|0;j=0;g=0;do{s=k[l>>2]|0;k[l>>2]=s+1;if(!(k[m+(s>>>5<<2)>>2]&1<<(s&31))){i=k[R+(j*12|0)>>2]|0;h=0;do{s=n+(h<<2)|0;k[s>>2]=(k[s>>2]|0)+(k[i+(h<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0));g=g+1|0}j=j+1|0}while((j|0)!=(f|0));f=g}else{j=f+-1|0;i=G+(j<<2)|0;j=k[a+60+(j*12|0)>>2]|0;h=0;g=0;l=k[i>>2]|0;do{s=l;l=l+1|0;k[i>>2]=l;g=g+((k[j+(s>>>5<<2)>>2]&1<<(s&31)|0)==0&1)|0;h=h+1|0}while((h|0)!=(f|0));f=g}h=$(d,e)|0;if(f){j=k[Q>>2]|0;if(A){g=0;do{s=j+(g<<2)|0;k[s>>2]=(k[s>>2]|0)/(f|0)|0;g=g+1|0}while((g|0)!=(e|0))}m=b+(h<<2)|0;l=c+(h<<2)|0;if((k[H>>2]|0)>0){h=0;do{f=k[j+(h<<2)>>2]|0;g=k[B>>2]|0;if((f|0)>(g|0)){i=k[C>>2]|0;k[i+(h<<2)>>2]=g}else{s=k[D>>2]|0;i=k[C>>2]|0;k[i+(h<<2)>>2]=(f|0)<(s|0)?s:f}h=h+1|0;f=k[H>>2]|0}while((h|0)<(f|0));if((f|0)>0){g=0;do{f=(k[m+(g<<2)>>2]|0)+(k[i+(g<<2)>>2]|0)|0;h=l+(g<<2)|0;k[h>>2]=f;if((f|0)<=(k[B>>2]|0)){if((f|0)<(k[D>>2]|0)){f=(k[E>>2]|0)+f|0;o=95}}else{f=f-(k[E>>2]|0)|0;o=95}if((o|0)==95){o=0;k[h>>2]=f}g=g+1|0}while((g|0)<(k[H>>2]|0))}}}else{O=h;o=73}}if((o|0)==73?(o=0,M=c+(($(d+-1|0,e)|0)<<2)|0,N=b+(O<<2)|0,P=c+(O<<2)|0,(k[H>>2]|0)>0):0){h=0;do{f=k[M+(h<<2)>>2]|0;g=k[B>>2]|0;if((f|0)>(g|0)){i=k[C>>2]|0;k[i+(h<<2)>>2]=g}else{s=k[D>>2]|0;i=k[C>>2]|0;k[i+(h<<2)>>2]=(f|0)<(s|0)?s:f}h=h+1|0;f=k[H>>2]|0}while((h|0)<(f|0));if((f|0)>0){g=0;do{f=(k[N+(g<<2)>>2]|0)+(k[i+(g<<2)>>2]|0)|0;h=P+(g<<2)|0;k[h>>2]=f;if((f|0)<=(k[B>>2]|0)){if((f|0)<(k[D>>2]|0)){f=(k[E>>2]|0)+f|0;o=83}}else{f=f-(k[E>>2]|0)|0;o=83}if((o|0)==83){o=0;k[h>>2]=f}g=g+1|0}while((g|0)<(k[H>>2]|0))}}d=d+1|0;if((d|0)>=(x|0)){d=Q;break a}g=k[w>>2]|0;f=k[g>>2]|0;h=k[g+4>>2]|0}}else d=Q;while(0);g=k[d>>2]|0;if(g|0){d=Q+4|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-g|0)>>>2)<<2);_r(g)}_r(G);d=k[R+36>>2]|0;if(d|0){f=R+40|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-d|0)>>>2)<<2);_r(d)}d=k[R+24>>2]|0;if(d|0){f=R+28|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-d|0)>>>2)<<2);_r(d)}d=k[R+12>>2]|0;if(d|0){f=R+16|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-d|0)>>>2)<<2);_r(d)}g=k[R>>2]|0;if(!g){u=S;return 1}d=R+4|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-g|0)>>>2)<<2);_r(g);u=S;return 1}function nb(a,b,c){a=a|0;b=b|0;c=c|0;var 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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=u;u=u+32|0;J=K+8|0;g=K;D=a+8|0;E=k[D>>2]|0;k[g>>2]=0;Ik(J,E,g);E=a+624|0;h=k[E>>2]|0;e=k[h>>2]|0;f=h+4|0;if(!e)d=h+8|0;else{d=k[f>>2]|0;if((d|0)!=(e|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e);d=h+8|0;k[d>>2]=0;k[f>>2]=0;k[h>>2]=0}k[h>>2]=k[J>>2];k[f>>2]=k[J+4>>2];k[d>>2]=k[J+8>>2];C=k[D>>2]|0;k[g>>2]=0;Ik(J,C,g);C=a+636|0;g=k[C>>2]|0;d=k[g>>2]|0;f=g+4|0;if(!d)d=g+8|0;else{e=k[f>>2]|0;if((e|0)!=(d|0))k[f>>2]=e+(~((e+-4-d|0)>>>2)<<2);_r(d);d=g+8|0;k[d>>2]=0;k[f>>2]=0;k[g>>2]=0}k[g>>2]=k[J>>2];k[f>>2]=k[J+4>>2];k[d>>2]=k[J+8>>2];k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[J+12>>2]=0;k[J+16>>2]=0;k[J+20>>2]=0;I=J+8|0;H=J+4|0;G=J+16|0;F=J+20|0;uc(J);d=k[H>>2]|0;e=(k[F>>2]|0)+(k[G>>2]|0)|0;if((k[I>>2]|0)==(d|0))d=0;else d=(k[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;k[d>>2]=b;k[d+4>>2]=0;k[d+8>>2]=0;d=(k[F>>2]|0)+1|0;k[F>>2]=d;a:do if(d|0){v=a+612|0;w=a+600|0;t=c+4|0;x=a+604|0;y=a+556|0;z=a+552|0;A=a+596|0;B=a+592|0;b:while(1){q=k[G>>2]|0;e=d+-1|0;l=q+e|0;r=k[H>>2]|0;p=k[r+(((l>>>0)/341|0)<<2)>>2]|0;l=(l>>>0)%341|0;s=k[p+(l*12|0)>>2]|0;f=k[p+(l*12|0)+4>>2]|0;l=k[p+(l*12|0)+8>>2]|0;k[F>>2]=e;e=k[I>>2]|0;r=e-r>>2;if((1-d-q+((r|0)==0?0:(r*341|0)+-1|0)|0)>>>0>681){_r(k[e+-4>>2]|0);k[I>>2]=(k[I>>2]|0)+-4}e=k[E>>2]|0;r=e+(l*12|0)|0;q=(k[C>>2]|0)+(l*12|0)|0;n=Lj(a,s,q,f)|0;d=(k[a>>2]|0)-(k[(k[q>>2]|0)+(n<<2)>>2]|0)|0;c:do if(!d)if((s|0)>0){f=e+(l*12|0)+4|0;j=k[c>>2]|0;g=j+84|0;h=j+68|0;b=j+40|0;j=j+64|0;e=0;l=k[t>>2]|0;while(1){d=l;l=l+1|0;k[t>>2]=l;m=k[r>>2]|0;if(((k[f>>2]|0)-m|0)!=12){o=23;break b}if(!(i[g>>0]|0))d=k[(k[h>>2]|0)+(d<<2)>>2]|0;p=b;q=k[p>>2]|0;p=io(q|0,k[p+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;Gh((k[k[j>>2]>>2]|0)+p|0,m|0,q|0)|0;e=e+1|0;if((e|0)>=(s|0)){o=15;break}}}else o=15;else{if(!s){o=28;break b}if(s>>>0<3){g=k[v>>2]|0;k[g>>2]=n;e=k[D>>2]|0;if(e>>>0>1){f=1;d=n;do{d=(d|0)==(e+-1|0)?0:d+1|0;k[g+(f<<2)>>2]=d;f=f+1|0;e=k[D>>2]|0}while(f>>>0>>0)}d=0;while(1){if(!e)g=k[w>>2]|0;else{l=k[v>>2]|0;m=k[w>>2]|0;n=k[q>>2]|0;g=m;j=0;do{o=l+(j<<2)|0;k[m+(k[o>>2]<<2)>>2]=0;e=k[o>>2]|0;p=(k[a>>2]|0)-(k[n+(e<<2)>>2]|0)|0;do if(p|0){e=m+(e<<2)|0;if((p|0)>=33){o=42;break b}if((p|0)<=0){o=44;break b}b=k[y>>2]|0;f=32-b|0;h=k[z>>2]|0;b=k[h>>2]<(f|0)){p=p-f|0;k[y>>2]=p;h=h+4|0;k[z>>2]=h;p=32-p|0;k[e>>2]=(k[h>>2]|0)>>>p|b>>>(p-f|0);break}k[e>>2]=b>>>(32-p|0);p=(k[y>>2]|0)+p|0;k[y>>2]=p;if((p|0)!=32)break;k[z>>2]=h+4;k[y>>2]=0}while(0);o=k[o>>2]|0;p=m+(o<<2)|0;k[p>>2]=k[p>>2]|k[(k[r>>2]|0)+(o<<2)>>2];j=j+1|0}while(j>>>0<(k[D>>2]|0)>>>0)}f=k[c>>2]|0;e=k[t>>2]|0;k[t>>2]=e+1;if(((k[x>>2]|0)-g|0)!=12){o=37;break b}if(!(i[f+84>>0]|0))e=k[(k[f+68>>2]|0)+(e<<2)>>2]|0;o=f+40|0;p=k[o>>2]|0;o=io(p|0,k[o+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Gh((k[k[f+64>>2]>>2]|0)+o|0,g|0,p|0)|0;d=d+1|0;if(d>>>0>=s>>>0){o=15;break c}e=k[D>>2]|0}}h=1<>2]|0;d=k[r>>2]|0;g=d;f=k[(k[E>>2]|0)+(m*12|0)>>2]|0;if((e|0)!=(d|0)){e=e-d>>2;d=0;do{k[f+(d<<2)>>2]=k[g+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}f=f+(n<<2)|0;k[f>>2]=(k[f>>2]|0)+h;f=(ca(s|0)|0)^31;if(!f)d=0;else{e=0;d=0;do{d=(Nl(a+12+(e<<4)|0)|0)&1|d<<1;e=e+1|0}while((e|0)!=(f|0))}g=(s>>>1)-d|0;e=s-g|0;if((g|0)==(e|0)){b=g;j=g}else{s=k[A>>2]|0;d=k[B>>2]|0;f=(k[d>>2]&1<<31-s|0)!=0;s=s+1|0;k[A>>2]=s;if((s|0)==32){k[B>>2]=d+4;k[A>>2]=0}b=f?g:e;j=f?e:g}d=k[C>>2]|0;h=k[d+(l*12|0)>>2]|0;e=h+(n<<2)|0;k[e>>2]=(k[e>>2]|0)+1;e=k[d+(l*12|0)+4>>2]|0;f=h;if((e|0)!=(f|0)){g=k[d+(m*12|0)>>2]|0;e=e-f>>2;d=0;do{k[g+(d<<2)>>2]=k[h+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(b|0){g=k[I>>2]|0;f=k[H>>2]|0;s=g-f>>2;d=k[G>>2]|0;e=k[F>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(e+d|0)){uc(J);d=k[G>>2]|0;e=k[F>>2]|0;g=k[I>>2]|0;f=k[H>>2]|0}d=e+d|0;if((g|0)==(f|0))d=0;else d=(k[f+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=b;k[d+4>>2]=n;k[d+8>>2]=l;k[F>>2]=(k[F>>2]|0)+1}if(!j)o=15;else{g=k[I>>2]|0;f=k[H>>2]|0;s=g-f>>2;d=k[G>>2]|0;e=k[F>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(e+d|0)){uc(J);d=k[G>>2]|0;e=k[F>>2]|0;g=k[I>>2]|0;f=k[H>>2]|0}d=e+d|0;if((g|0)==(f|0))d=0;else d=(k[f+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=j;k[d+4>>2]=n;k[d+8>>2]=m;d=(k[F>>2]|0)+1|0;k[F>>2]=d}}while(0);if((o|0)==15){o=0;d=k[F>>2]|0}if(!d)break a}if((o|0)==23)Ka(6212,6242,51,6368);else if((o|0)==28)Ka(19745,19783,223,19932);else if((o|0)==37)Ka(6212,6242,51,6368);else if((o|0)==42)Ka(19947,19971,48,20081);else if((o|0)==44)Ka(20110,19971,49,20081)}while(0);d=k[H>>2]|0;e=k[G>>2]|0;g=d+(((e>>>0)/341|0)<<2)|0;f=k[I>>2]|0;b=f;j=d;if((f|0)==(d|0)){h=0;e=0}else{e=(k[g>>2]|0)+(((e>>>0)%341|0)*12|0)|0;h=e}d:while(1){do{if((e|0)==(h|0))break d;e=e+12|0}while((e-(k[g>>2]|0)|0)!=4092);e=g+4|0;g=e;e=k[e>>2]|0}k[F>>2]=0;e=b-j>>2;if(e>>>0>2)do{_r(k[d>>2]|0);d=(k[H>>2]|0)+4|0;k[H>>2]=d;f=k[I>>2]|0;e=f-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;o=88;break}case 2:{e=341;o=88;break}default:{}}if((o|0)==88)k[G>>2]=e;if((d|0)!=(f|0)){do{_r(k[d>>2]|0);d=d+4|0}while((d|0)!=(f|0));d=k[H>>2]|0;e=k[I>>2]|0;if((e|0)!=(d|0))k[I>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=k[J>>2]|0;if(!d){u=K;return}_r(d);u=K;return}function ob(a,b,c){a=a|0;b=b|0;c=c|0;var 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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=u;u=u+32|0;J=K+8|0;g=K;D=a+8|0;E=k[D>>2]|0;k[g>>2]=0;Ik(J,E,g);E=a+624|0;h=k[E>>2]|0;e=k[h>>2]|0;f=h+4|0;if(!e)d=h+8|0;else{d=k[f>>2]|0;if((d|0)!=(e|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e);d=h+8|0;k[d>>2]=0;k[f>>2]=0;k[h>>2]=0}k[h>>2]=k[J>>2];k[f>>2]=k[J+4>>2];k[d>>2]=k[J+8>>2];C=k[D>>2]|0;k[g>>2]=0;Ik(J,C,g);C=a+636|0;g=k[C>>2]|0;d=k[g>>2]|0;f=g+4|0;if(!d)d=g+8|0;else{e=k[f>>2]|0;if((e|0)!=(d|0))k[f>>2]=e+(~((e+-4-d|0)>>>2)<<2);_r(d);d=g+8|0;k[d>>2]=0;k[f>>2]=0;k[g>>2]=0}k[g>>2]=k[J>>2];k[f>>2]=k[J+4>>2];k[d>>2]=k[J+8>>2];k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[J+12>>2]=0;k[J+16>>2]=0;k[J+20>>2]=0;I=J+8|0;H=J+4|0;G=J+16|0;F=J+20|0;uc(J);d=k[H>>2]|0;e=(k[F>>2]|0)+(k[G>>2]|0)|0;if((k[I>>2]|0)==(d|0))d=0;else d=(k[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;k[d>>2]=b;k[d+4>>2]=0;k[d+8>>2]=0;d=(k[F>>2]|0)+1|0;k[F>>2]=d;a:do if(d|0){v=a+612|0;w=a+600|0;t=c+4|0;x=a+604|0;y=a+556|0;z=a+552|0;A=a+596|0;B=a+592|0;b:while(1){q=k[G>>2]|0;e=d+-1|0;l=q+e|0;r=k[H>>2]|0;p=k[r+(((l>>>0)/341|0)<<2)>>2]|0;l=(l>>>0)%341|0;s=k[p+(l*12|0)>>2]|0;f=k[p+(l*12|0)+4>>2]|0;l=k[p+(l*12|0)+8>>2]|0;k[F>>2]=e;e=k[I>>2]|0;r=e-r>>2;if((1-d-q+((r|0)==0?0:(r*341|0)+-1|0)|0)>>>0>681){_r(k[e+-4>>2]|0);k[I>>2]=(k[I>>2]|0)+-4}e=k[E>>2]|0;r=e+(l*12|0)|0;q=(k[C>>2]|0)+(l*12|0)|0;n=to(a,s,q,f)|0;d=(k[a>>2]|0)-(k[(k[q>>2]|0)+(n<<2)>>2]|0)|0;c:do if(!d)if((s|0)>0){f=e+(l*12|0)+4|0;j=k[c>>2]|0;g=j+84|0;h=j+68|0;b=j+40|0;j=j+64|0;e=0;l=k[t>>2]|0;while(1){d=l;l=l+1|0;k[t>>2]=l;m=k[r>>2]|0;if(((k[f>>2]|0)-m|0)!=12){o=23;break b}if(!(i[g>>0]|0))d=k[(k[h>>2]|0)+(d<<2)>>2]|0;p=b;q=k[p>>2]|0;p=io(q|0,k[p+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;Gh((k[k[j>>2]>>2]|0)+p|0,m|0,q|0)|0;e=e+1|0;if((e|0)>=(s|0)){o=15;break}}}else o=15;else{if(!s){o=28;break b}if(s>>>0<3){g=k[v>>2]|0;k[g>>2]=n;e=k[D>>2]|0;if(e>>>0>1){f=1;d=n;do{d=(d|0)==(e+-1|0)?0:d+1|0;k[g+(f<<2)>>2]=d;f=f+1|0;e=k[D>>2]|0}while(f>>>0>>0)}d=0;while(1){if(!e)g=k[w>>2]|0;else{l=k[v>>2]|0;m=k[w>>2]|0;n=k[q>>2]|0;g=m;j=0;do{o=l+(j<<2)|0;k[m+(k[o>>2]<<2)>>2]=0;e=k[o>>2]|0;p=(k[a>>2]|0)-(k[n+(e<<2)>>2]|0)|0;do if(p|0){e=m+(e<<2)|0;if((p|0)>=33){o=42;break b}if((p|0)<=0){o=44;break b}b=k[y>>2]|0;f=32-b|0;h=k[z>>2]|0;b=k[h>>2]<(f|0)){p=p-f|0;k[y>>2]=p;h=h+4|0;k[z>>2]=h;p=32-p|0;k[e>>2]=(k[h>>2]|0)>>>p|b>>>(p-f|0);break}k[e>>2]=b>>>(32-p|0);p=(k[y>>2]|0)+p|0;k[y>>2]=p;if((p|0)!=32)break;k[z>>2]=h+4;k[y>>2]=0}while(0);o=k[o>>2]|0;p=m+(o<<2)|0;k[p>>2]=k[p>>2]|k[(k[r>>2]|0)+(o<<2)>>2];j=j+1|0}while(j>>>0<(k[D>>2]|0)>>>0)}f=k[c>>2]|0;e=k[t>>2]|0;k[t>>2]=e+1;if(((k[x>>2]|0)-g|0)!=12){o=37;break b}if(!(i[f+84>>0]|0))e=k[(k[f+68>>2]|0)+(e<<2)>>2]|0;o=f+40|0;p=k[o>>2]|0;o=io(p|0,k[o+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Gh((k[k[f+64>>2]>>2]|0)+o|0,g|0,p|0)|0;d=d+1|0;if(d>>>0>=s>>>0){o=15;break c}e=k[D>>2]|0}}h=1<>2]|0;d=k[r>>2]|0;g=d;f=k[(k[E>>2]|0)+(m*12|0)>>2]|0;if((e|0)!=(d|0)){e=e-d>>2;d=0;do{k[f+(d<<2)>>2]=k[g+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}f=f+(n<<2)|0;k[f>>2]=(k[f>>2]|0)+h;f=(ca(s|0)|0)^31;if(!f)d=0;else{e=0;d=0;do{d=(Nl(a+12+(e<<4)|0)|0)&1|d<<1;e=e+1|0}while((e|0)!=(f|0))}g=(s>>>1)-d|0;e=s-g|0;if((g|0)==(e|0)){b=g;j=g}else{s=k[A>>2]|0;d=k[B>>2]|0;f=(k[d>>2]&1<<31-s|0)!=0;s=s+1|0;k[A>>2]=s;if((s|0)==32){k[B>>2]=d+4;k[A>>2]=0}b=f?g:e;j=f?e:g}d=k[C>>2]|0;h=k[d+(l*12|0)>>2]|0;e=h+(n<<2)|0;k[e>>2]=(k[e>>2]|0)+1;e=k[d+(l*12|0)+4>>2]|0;f=h;if((e|0)!=(f|0)){g=k[d+(m*12|0)>>2]|0;e=e-f>>2;d=0;do{k[g+(d<<2)>>2]=k[h+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(b|0){g=k[I>>2]|0;f=k[H>>2]|0;s=g-f>>2;d=k[G>>2]|0;e=k[F>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(e+d|0)){uc(J);d=k[G>>2]|0;e=k[F>>2]|0;g=k[I>>2]|0;f=k[H>>2]|0}d=e+d|0;if((g|0)==(f|0))d=0;else d=(k[f+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=b;k[d+4>>2]=n;k[d+8>>2]=l;k[F>>2]=(k[F>>2]|0)+1}if(!j)o=15;else{g=k[I>>2]|0;f=k[H>>2]|0;s=g-f>>2;d=k[G>>2]|0;e=k[F>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(e+d|0)){uc(J);d=k[G>>2]|0;e=k[F>>2]|0;g=k[I>>2]|0;f=k[H>>2]|0}d=e+d|0;if((g|0)==(f|0))d=0;else d=(k[f+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=j;k[d+4>>2]=n;k[d+8>>2]=m;d=(k[F>>2]|0)+1|0;k[F>>2]=d}}while(0);if((o|0)==15){o=0;d=k[F>>2]|0}if(!d)break a}if((o|0)==23)Ka(6212,6242,51,6368);else if((o|0)==28)Ka(19745,19783,223,19932);else if((o|0)==37)Ka(6212,6242,51,6368);else if((o|0)==42)Ka(19947,19971,48,20081);else if((o|0)==44)Ka(20110,19971,49,20081)}while(0);d=k[H>>2]|0;e=k[G>>2]|0;g=d+(((e>>>0)/341|0)<<2)|0;f=k[I>>2]|0;b=f;j=d;if((f|0)==(d|0)){h=0;e=0}else{e=(k[g>>2]|0)+(((e>>>0)%341|0)*12|0)|0;h=e}d:while(1){do{if((e|0)==(h|0))break d;e=e+12|0}while((e-(k[g>>2]|0)|0)!=4092);e=g+4|0;g=e;e=k[e>>2]|0}k[F>>2]=0;e=b-j>>2;if(e>>>0>2)do{_r(k[d>>2]|0);d=(k[H>>2]|0)+4|0;k[H>>2]=d;f=k[I>>2]|0;e=f-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;o=88;break}case 2:{e=341;o=88;break}default:{}}if((o|0)==88)k[G>>2]=e;if((d|0)!=(f|0)){do{_r(k[d>>2]|0);d=d+4|0}while((d|0)!=(f|0));d=k[H>>2]|0;e=k[I>>2]|0;if((e|0)!=(d|0))k[I>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=k[J>>2]|0;if(!d){u=K;return}_r(d);u=K;return}function pb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=u;u=u+48|0;G=O+24|0;N=O;H=a+8|0;I=k[H>>2]|0;k[N>>2]=0;Ik(G,I,N);I=a+624|0;g=k[I>>2]|0;e=k[g>>2]|0;f=g+4|0;if(!e)d=g+8|0;else{d=k[f>>2]|0;if((d|0)!=(e|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e);d=g+8|0;k[d>>2]=0;k[f>>2]=0;k[g>>2]=0}k[g>>2]=k[G>>2];k[f>>2]=k[G+4>>2];k[d>>2]=k[G+8>>2];F=k[H>>2]|0;k[N>>2]=0;Ik(G,F,N);F=a+636|0;g=k[F>>2]|0;d=k[g>>2]|0;f=g+4|0;if(!d)d=g+8|0;else{e=k[f>>2]|0;if((e|0)!=(d|0))k[f>>2]=e+(~((e+-4-d|0)>>>2)<<2);_r(d);d=g+8|0;k[d>>2]=0;k[f>>2]=0;k[g>>2]=0}k[g>>2]=k[G>>2];k[f>>2]=k[G+4>>2];k[d>>2]=k[G+8>>2];k[N>>2]=0;k[N+4>>2]=0;k[N+8>>2]=0;k[N+12>>2]=0;k[N+16>>2]=0;k[N+20>>2]=0;M=N+8|0;L=N+4|0;K=N+16|0;J=N+20|0;uc(N);d=k[L>>2]|0;e=(k[J>>2]|0)+(k[K>>2]|0)|0;if((k[M>>2]|0)==(d|0))d=0;else d=(k[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;k[d>>2]=b;k[d+4>>2]=0;k[d+8>>2]=0;d=(k[J>>2]|0)+1|0;k[J>>2]=d;a:do if(d|0){v=a+612|0;w=a+600|0;x=G+4|0;y=G+8|0;z=a+556|0;A=a+552|0;B=a+596|0;C=a+592|0;D=G+4|0;E=G+8|0;b:while(1){r=k[K>>2]|0;e=d+-1|0;l=r+e|0;s=k[L>>2]|0;q=k[s+(((l>>>0)/341|0)<<2)>>2]|0;l=(l>>>0)%341|0;t=k[q+(l*12|0)>>2]|0;f=k[q+(l*12|0)+4>>2]|0;l=k[q+(l*12|0)+8>>2]|0;k[J>>2]=e;e=k[M>>2]|0;s=e-s>>2;if((1-d-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){_r(k[e+-4>>2]|0);k[M>>2]=(k[M>>2]|0)+-4}g=k[I>>2]|0;s=g+(l*12|0)|0;r=(k[F>>2]|0)+(l*12|0)|0;e=Lj(a,t,r,f)|0;d=(k[a>>2]|0)-(k[(k[r>>2]|0)+(e<<2)>>2]|0)|0;c:do if(!d)if((t|0)>0){e=k[c>>2]|0;f=e+4|0;g=e+8|0;d=0;do{h=k[s>>2]|0;b=k[h>>2]|0;k[G>>2]=b;k[D>>2]=k[h+4>>2];k[E>>2]=k[h+8>>2];h=k[f>>2]|0;if(h>>>0<(k[g>>2]|0)>>>0){k[h>>2]=b;k[h+4>>2]=k[D>>2];k[h+8>>2]=k[E>>2];k[f>>2]=h+12}else ei(e,G);d=d+1|0}while((d|0)<(t|0));n=15}else n=15;else{if(!t){n=27;break b}if(t>>>0<3){g=k[v>>2]|0;k[g>>2]=e;d=k[H>>2]|0;if(d>>>0>1){f=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;k[g+(f<<2)>>2]=e;f=f+1|0;d=k[H>>2]|0}while(f>>>0>>0)}o=k[c>>2]|0;p=o+4|0;q=o+8|0;n=0;while(1){if(d|0){h=k[v>>2]|0;i=k[w>>2]|0;j=k[r>>2]|0;b=0;do{l=h+(b<<2)|0;k[i+(k[l>>2]<<2)>>2]=0;d=k[l>>2]|0;m=(k[a>>2]|0)-(k[j+(d<<2)>>2]|0)|0;do if(m|0){d=i+(d<<2)|0;if((m|0)>=33){n=36;break b}if((m|0)<=0){n=38;break b}g=k[z>>2]|0;e=32-g|0;f=k[A>>2]|0;g=k[f>>2]<(e|0)){m=m-e|0;k[z>>2]=m;f=f+4|0;k[A>>2]=f;m=32-m|0;k[d>>2]=(k[f>>2]|0)>>>m|g>>>(m-e|0);break}k[d>>2]=g>>>(32-m|0);m=(k[z>>2]|0)+m|0;k[z>>2]=m;if((m|0)!=32)break;k[A>>2]=f+4;k[z>>2]=0}while(0);l=k[l>>2]|0;m=i+(l<<2)|0;k[m>>2]=k[m>>2]|k[(k[s>>2]|0)+(l<<2)>>2];b=b+1|0}while(b>>>0<(k[H>>2]|0)>>>0)}e=k[w>>2]|0;d=k[e>>2]|0;k[G>>2]=d;k[x>>2]=k[e+4>>2];k[y>>2]=k[e+8>>2];e=k[p>>2]|0;if(e>>>0<(k[q>>2]|0)>>>0){k[e>>2]=d;k[e+4>>2]=k[x>>2];k[e+8>>2]=k[y>>2];k[p>>2]=e+12}else ei(o,G);d=n+1|0;if(d>>>0>=t>>>0){n=15;break c}n=d;d=k[H>>2]|0}}h=1<>2]|0;d=k[s>>2]|0;b=d;g=k[(k[I>>2]|0)+(m*12|0)>>2]|0;if((f|0)!=(d|0)){f=f-d>>2;d=0;do{k[g+(d<<2)>>2]=k[b+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}g=g+(e<<2)|0;k[g>>2]=(k[g>>2]|0)+h;g=(ca(t|0)|0)^31;if(!g)d=0;else{f=0;d=0;do{d=(Nl(a+12+(f<<4)|0)|0)&1|d<<1;f=f+1|0}while((f|0)!=(g|0))}b=(t>>>1)-d|0;f=t-b|0;if((b|0)==(f|0)){i=b;j=b}else{t=k[B>>2]|0;d=k[C>>2]|0;g=(k[d>>2]&1<<31-t|0)!=0;t=t+1|0;k[B>>2]=t;if((t|0)==32){k[C>>2]=d+4;k[B>>2]=0}i=g?b:f;j=g?f:b}d=k[F>>2]|0;h=k[d+(l*12|0)>>2]|0;f=h+(e<<2)|0;k[f>>2]=(k[f>>2]|0)+1;f=k[d+(l*12|0)+4>>2]|0;g=h;if((f|0)!=(g|0)){b=k[d+(m*12|0)>>2]|0;f=f-g>>2;d=0;do{k[b+(d<<2)>>2]=k[h+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(i|0){b=k[M>>2]|0;g=k[L>>2]|0;t=b-g>>2;d=k[K>>2]|0;f=k[J>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(f+d|0)){uc(N);d=k[K>>2]|0;f=k[J>>2]|0;b=k[M>>2]|0;g=k[L>>2]|0}d=f+d|0;if((b|0)==(g|0))d=0;else d=(k[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=i;k[d+4>>2]=e;k[d+8>>2]=l;k[J>>2]=(k[J>>2]|0)+1}if(!j)n=15;else{b=k[M>>2]|0;g=k[L>>2]|0;t=b-g>>2;d=k[K>>2]|0;f=k[J>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(f+d|0)){uc(N);d=k[K>>2]|0;f=k[J>>2]|0;b=k[M>>2]|0;g=k[L>>2]|0}d=f+d|0;if((b|0)==(g|0))d=0;else d=(k[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=j;k[d+4>>2]=e;k[d+8>>2]=m;d=(k[J>>2]|0)+1|0;k[J>>2]=d}}while(0);if((n|0)==15){n=0;d=k[J>>2]|0}if(!d)break a}if((n|0)==27)Ka(19745,19783,223,19932);else if((n|0)==36)Ka(19947,19971,48,20081);else if((n|0)==38)Ka(20110,19971,49,20081)}while(0);d=k[L>>2]|0;e=k[K>>2]|0;g=d+(((e>>>0)/341|0)<<2)|0;f=k[M>>2]|0;h=f;i=d;if((f|0)==(d|0)){b=0;e=0}else{e=(k[g>>2]|0)+(((e>>>0)%341|0)*12|0)|0;b=e}d:while(1){do{if((e|0)==(b|0))break d;e=e+12|0}while((e-(k[g>>2]|0)|0)!=4092);e=g+4|0;g=e;e=k[e>>2]|0}k[J>>2]=0;e=h-i>>2;if(e>>>0>2)do{_r(k[d>>2]|0);d=(k[L>>2]|0)+4|0;k[L>>2]=d;f=k[M>>2]|0;e=f-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;n=85;break}case 2:{e=341;n=85;break}default:{}}if((n|0)==85)k[K>>2]=e;if((d|0)!=(f|0)){do{_r(k[d>>2]|0);d=d+4|0}while((d|0)!=(f|0));d=k[L>>2]|0;e=k[M>>2]|0;if((e|0)!=(d|0))k[M>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=k[N>>2]|0;if(!d){u=O;return}_r(d);u=O;return}function qb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=u;u=u+48|0;G=O+24|0;N=O;H=a+8|0;I=k[H>>2]|0;k[N>>2]=0;Ik(G,I,N);I=a+624|0;g=k[I>>2]|0;e=k[g>>2]|0;f=g+4|0;if(!e)d=g+8|0;else{d=k[f>>2]|0;if((d|0)!=(e|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e);d=g+8|0;k[d>>2]=0;k[f>>2]=0;k[g>>2]=0}k[g>>2]=k[G>>2];k[f>>2]=k[G+4>>2];k[d>>2]=k[G+8>>2];F=k[H>>2]|0;k[N>>2]=0;Ik(G,F,N);F=a+636|0;g=k[F>>2]|0;d=k[g>>2]|0;f=g+4|0;if(!d)d=g+8|0;else{e=k[f>>2]|0;if((e|0)!=(d|0))k[f>>2]=e+(~((e+-4-d|0)>>>2)<<2);_r(d);d=g+8|0;k[d>>2]=0;k[f>>2]=0;k[g>>2]=0}k[g>>2]=k[G>>2];k[f>>2]=k[G+4>>2];k[d>>2]=k[G+8>>2];k[N>>2]=0;k[N+4>>2]=0;k[N+8>>2]=0;k[N+12>>2]=0;k[N+16>>2]=0;k[N+20>>2]=0;M=N+8|0;L=N+4|0;K=N+16|0;J=N+20|0;uc(N);d=k[L>>2]|0;e=(k[J>>2]|0)+(k[K>>2]|0)|0;if((k[M>>2]|0)==(d|0))d=0;else d=(k[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;k[d>>2]=b;k[d+4>>2]=0;k[d+8>>2]=0;d=(k[J>>2]|0)+1|0;k[J>>2]=d;a:do if(d|0){v=a+612|0;w=a+600|0;x=G+4|0;y=G+8|0;z=a+556|0;A=a+552|0;B=a+596|0;C=a+592|0;D=G+4|0;E=G+8|0;b:while(1){r=k[K>>2]|0;e=d+-1|0;l=r+e|0;s=k[L>>2]|0;q=k[s+(((l>>>0)/341|0)<<2)>>2]|0;l=(l>>>0)%341|0;t=k[q+(l*12|0)>>2]|0;f=k[q+(l*12|0)+4>>2]|0;l=k[q+(l*12|0)+8>>2]|0;k[J>>2]=e;e=k[M>>2]|0;s=e-s>>2;if((1-d-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){_r(k[e+-4>>2]|0);k[M>>2]=(k[M>>2]|0)+-4}g=k[I>>2]|0;s=g+(l*12|0)|0;r=(k[F>>2]|0)+(l*12|0)|0;e=to(a,t,r,f)|0;d=(k[a>>2]|0)-(k[(k[r>>2]|0)+(e<<2)>>2]|0)|0;c:do if(!d)if((t|0)>0){e=k[c>>2]|0;f=e+4|0;g=e+8|0;d=0;do{h=k[s>>2]|0;b=k[h>>2]|0;k[G>>2]=b;k[D>>2]=k[h+4>>2];k[E>>2]=k[h+8>>2];h=k[f>>2]|0;if(h>>>0<(k[g>>2]|0)>>>0){k[h>>2]=b;k[h+4>>2]=k[D>>2];k[h+8>>2]=k[E>>2];k[f>>2]=h+12}else ei(e,G);d=d+1|0}while((d|0)<(t|0));n=15}else n=15;else{if(!t){n=27;break b}if(t>>>0<3){g=k[v>>2]|0;k[g>>2]=e;d=k[H>>2]|0;if(d>>>0>1){f=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;k[g+(f<<2)>>2]=e;f=f+1|0;d=k[H>>2]|0}while(f>>>0>>0)}o=k[c>>2]|0;p=o+4|0;q=o+8|0;n=0;while(1){if(d|0){h=k[v>>2]|0;i=k[w>>2]|0;j=k[r>>2]|0;b=0;do{l=h+(b<<2)|0;k[i+(k[l>>2]<<2)>>2]=0;d=k[l>>2]|0;m=(k[a>>2]|0)-(k[j+(d<<2)>>2]|0)|0;do if(m|0){d=i+(d<<2)|0;if((m|0)>=33){n=36;break b}if((m|0)<=0){n=38;break b}g=k[z>>2]|0;e=32-g|0;f=k[A>>2]|0;g=k[f>>2]<(e|0)){m=m-e|0;k[z>>2]=m;f=f+4|0;k[A>>2]=f;m=32-m|0;k[d>>2]=(k[f>>2]|0)>>>m|g>>>(m-e|0);break}k[d>>2]=g>>>(32-m|0);m=(k[z>>2]|0)+m|0;k[z>>2]=m;if((m|0)!=32)break;k[A>>2]=f+4;k[z>>2]=0}while(0);l=k[l>>2]|0;m=i+(l<<2)|0;k[m>>2]=k[m>>2]|k[(k[s>>2]|0)+(l<<2)>>2];b=b+1|0}while(b>>>0<(k[H>>2]|0)>>>0)}e=k[w>>2]|0;d=k[e>>2]|0;k[G>>2]=d;k[x>>2]=k[e+4>>2];k[y>>2]=k[e+8>>2];e=k[p>>2]|0;if(e>>>0<(k[q>>2]|0)>>>0){k[e>>2]=d;k[e+4>>2]=k[x>>2];k[e+8>>2]=k[y>>2];k[p>>2]=e+12}else ei(o,G);d=n+1|0;if(d>>>0>=t>>>0){n=15;break c}n=d;d=k[H>>2]|0}}h=1<>2]|0;d=k[s>>2]|0;b=d;g=k[(k[I>>2]|0)+(m*12|0)>>2]|0;if((f|0)!=(d|0)){f=f-d>>2;d=0;do{k[g+(d<<2)>>2]=k[b+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}g=g+(e<<2)|0;k[g>>2]=(k[g>>2]|0)+h;g=(ca(t|0)|0)^31;if(!g)d=0;else{f=0;d=0;do{d=(Nl(a+12+(f<<4)|0)|0)&1|d<<1;f=f+1|0}while((f|0)!=(g|0))}b=(t>>>1)-d|0;f=t-b|0;if((b|0)==(f|0)){i=b;j=b}else{t=k[B>>2]|0;d=k[C>>2]|0;g=(k[d>>2]&1<<31-t|0)!=0;t=t+1|0;k[B>>2]=t;if((t|0)==32){k[C>>2]=d+4;k[B>>2]=0}i=g?b:f;j=g?f:b}d=k[F>>2]|0;h=k[d+(l*12|0)>>2]|0;f=h+(e<<2)|0;k[f>>2]=(k[f>>2]|0)+1;f=k[d+(l*12|0)+4>>2]|0;g=h;if((f|0)!=(g|0)){b=k[d+(m*12|0)>>2]|0;f=f-g>>2;d=0;do{k[b+(d<<2)>>2]=k[h+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(i|0){b=k[M>>2]|0;g=k[L>>2]|0;t=b-g>>2;d=k[K>>2]|0;f=k[J>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(f+d|0)){uc(N);d=k[K>>2]|0;f=k[J>>2]|0;b=k[M>>2]|0;g=k[L>>2]|0}d=f+d|0;if((b|0)==(g|0))d=0;else d=(k[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=i;k[d+4>>2]=e;k[d+8>>2]=l;k[J>>2]=(k[J>>2]|0)+1}if(!j)n=15;else{b=k[M>>2]|0;g=k[L>>2]|0;t=b-g>>2;d=k[K>>2]|0;f=k[J>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(f+d|0)){uc(N);d=k[K>>2]|0;f=k[J>>2]|0;b=k[M>>2]|0;g=k[L>>2]|0}d=f+d|0;if((b|0)==(g|0))d=0;else d=(k[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=j;k[d+4>>2]=e;k[d+8>>2]=m;d=(k[J>>2]|0)+1|0;k[J>>2]=d}}while(0);if((n|0)==15){n=0;d=k[J>>2]|0}if(!d)break a}if((n|0)==27)Ka(19745,19783,223,19932);else if((n|0)==36)Ka(19947,19971,48,20081);else if((n|0)==38)Ka(20110,19971,49,20081)}while(0);d=k[L>>2]|0;e=k[K>>2]|0;g=d+(((e>>>0)/341|0)<<2)|0;f=k[M>>2]|0;h=f;i=d;if((f|0)==(d|0)){b=0;e=0}else{e=(k[g>>2]|0)+(((e>>>0)%341|0)*12|0)|0;b=e}d:while(1){do{if((e|0)==(b|0))break d;e=e+12|0}while((e-(k[g>>2]|0)|0)!=4092);e=g+4|0;g=e;e=k[e>>2]|0}k[J>>2]=0;e=h-i>>2;if(e>>>0>2)do{_r(k[d>>2]|0);d=(k[L>>2]|0)+4|0;k[L>>2]=d;f=k[M>>2]|0;e=f-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;n=85;break}case 2:{e=341;n=85;break}default:{}}if((n|0)==85)k[K>>2]=e;if((d|0)!=(f|0)){do{_r(k[d>>2]|0);d=d+4|0}while((d|0)!=(f|0));d=k[L>>2]|0;e=k[M>>2]|0;if((e|0)!=(d|0))k[M>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=k[N>>2]|0;if(!d){u=O;return}_r(d);u=O;return}function rb(a,b,c){a=a|0;b=b|0;c=c|0;var 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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=u;u=u+32|0;J=K+8|0;g=K;D=a+8|0;E=k[D>>2]|0;k[g>>2]=0;Ik(J,E,g);E=a+624|0;h=k[E>>2]|0;e=k[h>>2]|0;f=h+4|0;if(!e)d=h+8|0;else{d=k[f>>2]|0;if((d|0)!=(e|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e);d=h+8|0;k[d>>2]=0;k[f>>2]=0;k[h>>2]=0}k[h>>2]=k[J>>2];k[f>>2]=k[J+4>>2];k[d>>2]=k[J+8>>2];C=k[D>>2]|0;k[g>>2]=0;Ik(J,C,g);C=a+636|0;g=k[C>>2]|0;d=k[g>>2]|0;f=g+4|0;if(!d)d=g+8|0;else{e=k[f>>2]|0;if((e|0)!=(d|0))k[f>>2]=e+(~((e+-4-d|0)>>>2)<<2);_r(d);d=g+8|0;k[d>>2]=0;k[f>>2]=0;k[g>>2]=0}k[g>>2]=k[J>>2];k[f>>2]=k[J+4>>2];k[d>>2]=k[J+8>>2];k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[J+12>>2]=0;k[J+16>>2]=0;k[J+20>>2]=0;I=J+8|0;H=J+4|0;G=J+16|0;F=J+20|0;uc(J);d=k[H>>2]|0;e=(k[F>>2]|0)+(k[G>>2]|0)|0;if((k[I>>2]|0)==(d|0))d=0;else d=(k[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;k[d>>2]=b;k[d+4>>2]=0;k[d+8>>2]=0;d=(k[F>>2]|0)+1|0;k[F>>2]=d;a:do if(d|0){v=a+612|0;w=a+600|0;t=c+4|0;x=a+604|0;y=a+556|0;z=a+552|0;A=a+596|0;B=a+592|0;b:while(1){q=k[G>>2]|0;e=d+-1|0;l=q+e|0;r=k[H>>2]|0;p=k[r+(((l>>>0)/341|0)<<2)>>2]|0;l=(l>>>0)%341|0;s=k[p+(l*12|0)>>2]|0;f=k[p+(l*12|0)+4>>2]|0;l=k[p+(l*12|0)+8>>2]|0;k[F>>2]=e;e=k[I>>2]|0;r=e-r>>2;if((1-d-q+((r|0)==0?0:(r*341|0)+-1|0)|0)>>>0>681){_r(k[e+-4>>2]|0);k[I>>2]=(k[I>>2]|0)+-4}b=k[E>>2]|0;r=b+(l*12|0)|0;n=((k[D>>2]|0)+-1|0)==(f|0)?0:f+1|0;q=(k[C>>2]|0)+(l*12|0)|0;d=(k[a>>2]|0)-(k[(k[q>>2]|0)+(n<<2)>>2]|0)|0;c:do if(!d)if((s|0)>0){f=b+(l*12|0)+4|0;j=k[c>>2]|0;g=j+84|0;h=j+68|0;b=j+40|0;j=j+64|0;e=0;l=k[t>>2]|0;while(1){d=l;l=l+1|0;k[t>>2]=l;m=k[r>>2]|0;if(((k[f>>2]|0)-m|0)!=12){o=23;break b}if(!(i[g>>0]|0))d=k[(k[h>>2]|0)+(d<<2)>>2]|0;p=b;q=k[p>>2]|0;p=io(q|0,k[p+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;Gh((k[k[j>>2]>>2]|0)+p|0,m|0,q|0)|0;e=e+1|0;if((e|0)>=(s|0)){o=15;break}}}else o=15;else{if(!s){o=28;break b}if(s>>>0<3){g=k[v>>2]|0;k[g>>2]=n;e=k[D>>2]|0;if(e>>>0>1){f=1;d=n;do{d=(d|0)==(e+-1|0)?0:d+1|0;k[g+(f<<2)>>2]=d;f=f+1|0;e=k[D>>2]|0}while(f>>>0>>0)}d=0;while(1){if(!e)g=k[w>>2]|0;else{l=k[v>>2]|0;m=k[w>>2]|0;n=k[q>>2]|0;g=m;j=0;do{o=l+(j<<2)|0;k[m+(k[o>>2]<<2)>>2]=0;e=k[o>>2]|0;p=(k[a>>2]|0)-(k[n+(e<<2)>>2]|0)|0;do if(p|0){e=m+(e<<2)|0;if((p|0)>=33){o=42;break b}if((p|0)<=0){o=44;break b}b=k[y>>2]|0;f=32-b|0;h=k[z>>2]|0;b=k[h>>2]<(f|0)){p=p-f|0;k[y>>2]=p;h=h+4|0;k[z>>2]=h;p=32-p|0;k[e>>2]=(k[h>>2]|0)>>>p|b>>>(p-f|0);break}k[e>>2]=b>>>(32-p|0);p=(k[y>>2]|0)+p|0;k[y>>2]=p;if((p|0)!=32)break;k[z>>2]=h+4;k[y>>2]=0}while(0);o=k[o>>2]|0;p=m+(o<<2)|0;k[p>>2]=k[p>>2]|k[(k[r>>2]|0)+(o<<2)>>2];j=j+1|0}while(j>>>0<(k[D>>2]|0)>>>0)}f=k[c>>2]|0;e=k[t>>2]|0;k[t>>2]=e+1;if(((k[x>>2]|0)-g|0)!=12){o=37;break b}if(!(i[f+84>>0]|0))e=k[(k[f+68>>2]|0)+(e<<2)>>2]|0;o=f+40|0;p=k[o>>2]|0;o=io(p|0,k[o+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Gh((k[k[f+64>>2]>>2]|0)+o|0,g|0,p|0)|0;d=d+1|0;if(d>>>0>=s>>>0){o=15;break c}e=k[D>>2]|0}}h=1<>2]|0;d=k[r>>2]|0;g=d;f=k[b+(m*12|0)>>2]|0;if((e|0)!=(d|0)){e=e-d>>2;d=0;do{k[f+(d<<2)>>2]=k[g+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}f=f+(n<<2)|0;k[f>>2]=(k[f>>2]|0)+h;f=(ca(s|0)|0)^31;if(!f)d=0;else{e=0;d=0;do{d=(Nl(a+12+(e<<4)|0)|0)&1|d<<1;e=e+1|0}while((e|0)!=(f|0))}g=(s>>>1)-d|0;e=s-g|0;if((g|0)==(e|0)){b=g;j=g}else{s=k[A>>2]|0;d=k[B>>2]|0;f=(k[d>>2]&1<<31-s|0)!=0;s=s+1|0;k[A>>2]=s;if((s|0)==32){k[B>>2]=d+4;k[A>>2]=0}b=f?g:e;j=f?e:g}d=k[C>>2]|0;h=k[d+(l*12|0)>>2]|0;e=h+(n<<2)|0;k[e>>2]=(k[e>>2]|0)+1;e=k[d+(l*12|0)+4>>2]|0;f=h;if((e|0)!=(f|0)){g=k[d+(m*12|0)>>2]|0;e=e-f>>2;d=0;do{k[g+(d<<2)>>2]=k[h+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(b|0){g=k[I>>2]|0;f=k[H>>2]|0;s=g-f>>2;d=k[G>>2]|0;e=k[F>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(e+d|0)){uc(J);d=k[G>>2]|0;e=k[F>>2]|0;g=k[I>>2]|0;f=k[H>>2]|0}d=e+d|0;if((g|0)==(f|0))d=0;else d=(k[f+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=b;k[d+4>>2]=n;k[d+8>>2]=l;k[F>>2]=(k[F>>2]|0)+1}if(!j)o=15;else{g=k[I>>2]|0;f=k[H>>2]|0;s=g-f>>2;d=k[G>>2]|0;e=k[F>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(e+d|0)){uc(J);d=k[G>>2]|0;e=k[F>>2]|0;g=k[I>>2]|0;f=k[H>>2]|0}d=e+d|0;if((g|0)==(f|0))d=0;else d=(k[f+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=j;k[d+4>>2]=n;k[d+8>>2]=m;d=(k[F>>2]|0)+1|0;k[F>>2]=d}}while(0);if((o|0)==15){o=0;d=k[F>>2]|0}if(!d)break a}if((o|0)==23)Ka(6212,6242,51,6368);else if((o|0)==28)Ka(19745,19783,223,19932);else if((o|0)==37)Ka(6212,6242,51,6368);else if((o|0)==42)Ka(19947,19971,48,20081);else if((o|0)==44)Ka(20110,19971,49,20081)}while(0);d=k[H>>2]|0;e=k[G>>2]|0;g=d+(((e>>>0)/341|0)<<2)|0;f=k[I>>2]|0;b=f;j=d;if((f|0)==(d|0)){h=0;e=0}else{e=(k[g>>2]|0)+(((e>>>0)%341|0)*12|0)|0;h=e}d:while(1){do{if((e|0)==(h|0))break d;e=e+12|0}while((e-(k[g>>2]|0)|0)!=4092);e=g+4|0;g=e;e=k[e>>2]|0}k[F>>2]=0;e=b-j>>2;if(e>>>0>2)do{_r(k[d>>2]|0);d=(k[H>>2]|0)+4|0;k[H>>2]=d;f=k[I>>2]|0;e=f-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;o=88;break}case 2:{e=341;o=88;break}default:{}}if((o|0)==88)k[G>>2]=e;if((d|0)!=(f|0)){do{_r(k[d>>2]|0);d=d+4|0}while((d|0)!=(f|0));d=k[H>>2]|0;e=k[I>>2]|0;if((e|0)!=(d|0))k[I>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=k[J>>2]|0;if(!d){u=K;return}_r(d);u=K;return}function sb(a){a=a|0;var b=0,c=0,d=Pa,e=Pa,f=0,g=0,h=0,j=0,l=0,m=0,n=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=Pa;T=u;u=u+64|0;S=T+28|0;P=T+16|0;L=T+4|0;M=T;R=a;N=a+68|0;b=k[N>>2]|0;k[S>>2]=0;k[S+4>>2]=0;k[S+8>>2]=0;k[S+12>>2]=0;k[S+16>>2]=R;O=S+20|0;o[O>>2]=da(1.0);k[S+24>>2]=R;xi(S,b);b=k[N>>2]|0;k[P>>2]=0;R=P+4|0;k[R>>2]=0;k[P+8>>2]=0;do if(b|0)if(b>>>0>1073741823){Jq(P);T=Ma(4)|0;Cr(T);wa(T|0,1344,125)}else{G=b<<2;F=jo(G)|0;k[P>>2]=F;Q=F+(b<<2)|0;k[P+8>>2]=Q;_j(F|0,0,G|0)|0;k[R>>2]=Q;break}while(0);k[L>>2]=0;Q=L+4|0;k[Q>>2]=0;k[L+8>>2]=0;k[M>>2]=0;a:do if((b|0)>0){B=S+16|0;D=S+4|0;E=S+12|0;F=S+8|0;G=L+8|0;C=S+24|0;z=0;y=0;b:while(1){v=k[B>>2]|0;h=k[v+8>>2]|0;v=(k[v+12>>2]|0)-h|0;t=(v|0)>0;if(t){g=h;j=v>>>2;f=0;b=0;do{c=k[g+(f<<2)>>2]|0;if(!(i[c+84>>0]|0))c=k[(k[c+68>>2]|0)+(y<<2)>>2]|0;else c=y;b=c<<2^b<<1;f=f+1|0}while((f|0)<(j|0))}else b=0;w=k[D>>2]|0;x=(w|0)==0;c:do if(!x){p=w+-1|0;c=(p&w|0)==0;if(c)s=p&b;else s=(b>>>0)%(w>>>0)|0;b=k[(k[S>>2]|0)+(s<<2)>>2]|0;if((b|0)!=0?(I=k[b>>2]|0,(I|0)!=0):0){r=k[C>>2]|0;q=r+8|0;r=r+12|0;d:do if(c){b=I;while(1){if((k[b+4>>2]&p|0)!=(s|0)){A=45;break c}n=k[b+8>>2]|0;c=k[q>>2]|0;f=(k[r>>2]|0)-c|0;if((f|0)<=0)break d;m=f>>>2;j=0;while(1){f=k[c+(j<<2)>>2]|0;g=(i[f+84>>0]|0)==0;if(g)l=k[(k[f+68>>2]|0)+(n<<2)>>2]|0;else l=n;if((m|0)<=(j|0)){A=39;break b}if(g)f=k[(k[f+68>>2]|0)+(y<<2)>>2]|0;else f=y;j=j+1|0;if((l|0)!=(f|0))break;if((j|0)>=(m|0)){A=43;break d}}b=k[b>>2]|0;if(!b){A=45;break c}}}else{b=I;while(1){if((((k[b+4>>2]|0)>>>0)%(w>>>0)|0|0)!=(s|0)){A=45;break c}n=k[b+8>>2]|0;c=k[q>>2]|0;f=(k[r>>2]|0)-c|0;if((f|0)<=0)break d;m=f>>>2;j=0;while(1){f=k[c+(j<<2)>>2]|0;g=(i[f+84>>0]|0)==0;if(g)l=k[(k[f+68>>2]|0)+(n<<2)>>2]|0;else l=n;if((m|0)<=(j|0)){A=39;break b}if(g)f=k[(k[f+68>>2]|0)+(y<<2)>>2]|0;else f=y;j=j+1|0;if((l|0)!=(f|0))break;if((j|0)>=(m|0)){A=43;break d}}b=k[b>>2]|0;if(!b){A=45;break c}}}while(0);if((A|0)==43){A=0;if(!b){A=45;break}}k[(k[P>>2]|0)+(y<<2)>>2]=k[b+12>>2];b=z}else A=45}else A=45;while(0);do if((A|0)==45){A=0;if(t){g=v>>>2;f=0;b=0;do{c=k[h+(f<<2)>>2]|0;if(!(i[c+84>>0]|0))c=k[(k[c+68>>2]|0)+(y<<2)>>2]|0;else c=y;b=c<<2^b<<1;f=f+1|0}while((f|0)<(g|0));s=b}else s=0;e:do if(!x){p=w+-1|0;f=(p&w|0)==0;if(f)b=p&s;else b=(s>>>0)%(w>>>0)|0;c=k[(k[S>>2]|0)+(b<<2)>>2]|0;if((c|0)!=0?(J=k[c>>2]|0,(J|0)!=0):0){r=k[C>>2]|0;q=r+8|0;r=r+12|0;if(f){m=J;while(1){if((k[m+4>>2]&p|0)!=(b|0)){A=80;break e}n=k[m+8>>2]|0;c=k[q>>2]|0;f=(k[r>>2]|0)-c|0;if((f|0)<=0){b=y;break e}l=f>>>2;h=0;while(1){f=k[c+(h<<2)>>2]|0;g=(i[f+84>>0]|0)==0;if(g)j=k[(k[f+68>>2]|0)+(n<<2)>>2]|0;else j=n;if((l|0)<=(h|0)){A=76;break b}if(g)f=k[(k[f+68>>2]|0)+(y<<2)>>2]|0;else f=y;h=h+1|0;if((j|0)!=(f|0))break;if((h|0)>=(l|0)){b=y;break e}}m=k[m>>2]|0;if(!m){A=80;break}}}else{m=J;while(1){if((((k[m+4>>2]|0)>>>0)%(w>>>0)|0|0)!=(b|0)){A=80;break e}n=k[m+8>>2]|0;c=k[q>>2]|0;f=(k[r>>2]|0)-c|0;if((f|0)<=0){b=y;break e}l=f>>>2;h=0;while(1){f=k[c+(h<<2)>>2]|0;g=(i[f+84>>0]|0)==0;if(g)j=k[(k[f+68>>2]|0)+(n<<2)>>2]|0;else j=n;if((l|0)<=(h|0)){A=76;break b}if(g)f=k[(k[f+68>>2]|0)+(y<<2)>>2]|0;else f=y;h=h+1|0;if((j|0)!=(f|0))break;if((h|0)>=(l|0)){b=y;break e}}m=k[m>>2]|0;if(!m){A=80;break}}}}else A=80}else{b=0;A=80}while(0);if((A|0)==80){A=0;g=jo(16)|0;k[g+8>>2]=y;k[g+12>>2]=z;k[g+4>>2]=s;k[g>>2]=0;d=da(((k[E>>2]|0)+1|0)>>>0);U=da(w>>>0);e=da(o[O>>2]);do if(x|d>da(U*e)){b=(w>>>0<3|(w+-1&w|0)!=0)&1|w<<1;c=~~da(_(da(d/e)))>>>0;xi(S,b>>>0>>0?c:b);b=k[D>>2]|0;c=b+-1|0;if(!(c&b)){f=b;b=c&s;break}else{f=b;b=(s>>>0)%(b>>>0)|0;break}}else f=w;while(0);c=(k[S>>2]|0)+(b<<2)|0;b=k[c>>2]|0;if(!b){k[g>>2]=k[F>>2];k[F>>2]=g;k[c>>2]=F;b=k[g>>2]|0;if(b|0){b=k[b+4>>2]|0;c=f+-1|0;if(!(c&f))b=b&c;else b=(b>>>0)%(f>>>0)|0;b=(k[S>>2]|0)+(b<<2)|0;A=91}}else{k[g>>2]=k[b>>2];A=91}if((A|0)==91){A=0;k[b>>2]=g}k[E>>2]=(k[E>>2]|0)+1;b=k[M>>2]|0}c=z+1|0;k[(k[P>>2]|0)+(b<<2)>>2]=z;b=k[Q>>2]|0;if((b|0)==(k[G>>2]|0)){Dj(L,M);b=c;break}else{k[b>>2]=k[M>>2];k[Q>>2]=b+4;b=c;break}}while(0);y=(k[M>>2]|0)+1|0;k[M>>2]=y;c=k[N>>2]|0;if((y|0)>=(c|0)){H=b;K=c;break a}else z=b}if((A|0)==39)Ka(20257,20148,64,20247);else if((A|0)==76)Ka(20257,20148,64,20247)}else{H=0;K=0}while(0);if((H|0)!=(K|0)){Xa[k[(k[a>>2]|0)+24>>2]&7](a,P,L);k[N>>2]=H}b=k[L>>2]|0;if(b|0){c=k[Q>>2]|0;if((c|0)!=(b|0))k[Q>>2]=c+(~((c+-4-b|0)>>>2)<<2);_r(b)}b=k[P>>2]|0;if(b|0){c=k[R>>2]|0;if((c|0)!=(b|0))k[R>>2]=c+(~((c+-4-b|0)>>>2)<<2);_r(b)}b=k[S+8>>2]|0;if(b|0)do{R=b;b=k[b>>2]|0;_r(R)}while((b|0)!=0);b=k[S>>2]|0;k[S>>2]=0;if(!b){u=T;return}_r(b);u=T;return}function tb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=u;u=u+48|0;G=O+24|0;N=O;H=a+8|0;I=k[H>>2]|0;k[N>>2]=0;Ik(G,I,N);I=a+624|0;g=k[I>>2]|0;e=k[g>>2]|0;f=g+4|0;if(!e)d=g+8|0;else{d=k[f>>2]|0;if((d|0)!=(e|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e);d=g+8|0;k[d>>2]=0;k[f>>2]=0;k[g>>2]=0}k[g>>2]=k[G>>2];k[f>>2]=k[G+4>>2];k[d>>2]=k[G+8>>2];F=k[H>>2]|0;k[N>>2]=0;Ik(G,F,N);F=a+636|0;g=k[F>>2]|0;d=k[g>>2]|0;f=g+4|0;if(!d)d=g+8|0;else{e=k[f>>2]|0;if((e|0)!=(d|0))k[f>>2]=e+(~((e+-4-d|0)>>>2)<<2);_r(d);d=g+8|0;k[d>>2]=0;k[f>>2]=0;k[g>>2]=0}k[g>>2]=k[G>>2];k[f>>2]=k[G+4>>2];k[d>>2]=k[G+8>>2];k[N>>2]=0;k[N+4>>2]=0;k[N+8>>2]=0;k[N+12>>2]=0;k[N+16>>2]=0;k[N+20>>2]=0;M=N+8|0;L=N+4|0;K=N+16|0;J=N+20|0;uc(N);d=k[L>>2]|0;e=(k[J>>2]|0)+(k[K>>2]|0)|0;if((k[M>>2]|0)==(d|0))d=0;else d=(k[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;k[d>>2]=b;k[d+4>>2]=0;k[d+8>>2]=0;d=(k[J>>2]|0)+1|0;k[J>>2]=d;a:do if(d|0){v=a+612|0;w=a+600|0;x=G+4|0;y=G+8|0;z=a+556|0;A=a+552|0;B=a+596|0;C=a+592|0;D=G+4|0;E=G+8|0;b:while(1){r=k[K>>2]|0;e=d+-1|0;l=r+e|0;s=k[L>>2]|0;q=k[s+(((l>>>0)/341|0)<<2)>>2]|0;l=(l>>>0)%341|0;t=k[q+(l*12|0)>>2]|0;f=k[q+(l*12|0)+4>>2]|0;l=k[q+(l*12|0)+8>>2]|0;k[J>>2]=e;e=k[M>>2]|0;s=e-s>>2;if((1-d-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){_r(k[e+-4>>2]|0);k[M>>2]=(k[M>>2]|0)+-4}g=k[I>>2]|0;s=g+(l*12|0)|0;e=((k[H>>2]|0)+-1|0)==(f|0)?0:f+1|0;r=(k[F>>2]|0)+(l*12|0)|0;d=(k[a>>2]|0)-(k[(k[r>>2]|0)+(e<<2)>>2]|0)|0;c:do if(!d)if((t|0)>0){e=k[c>>2]|0;f=e+4|0;g=e+8|0;d=0;do{h=k[s>>2]|0;b=k[h>>2]|0;k[G>>2]=b;k[D>>2]=k[h+4>>2];k[E>>2]=k[h+8>>2];h=k[f>>2]|0;if(h>>>0<(k[g>>2]|0)>>>0){k[h>>2]=b;k[h+4>>2]=k[D>>2];k[h+8>>2]=k[E>>2];k[f>>2]=h+12}else ei(e,G);d=d+1|0}while((d|0)<(t|0));n=15}else n=15;else{if(!t){n=27;break b}if(t>>>0<3){g=k[v>>2]|0;k[g>>2]=e;d=k[H>>2]|0;if(d>>>0>1){f=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;k[g+(f<<2)>>2]=e;f=f+1|0;d=k[H>>2]|0}while(f>>>0>>0)}o=k[c>>2]|0;p=o+4|0;q=o+8|0;n=0;while(1){if(d|0){h=k[v>>2]|0;i=k[w>>2]|0;j=k[r>>2]|0;b=0;do{l=h+(b<<2)|0;k[i+(k[l>>2]<<2)>>2]=0;d=k[l>>2]|0;m=(k[a>>2]|0)-(k[j+(d<<2)>>2]|0)|0;do if(m|0){d=i+(d<<2)|0;if((m|0)>=33){n=36;break b}if((m|0)<=0){n=38;break b}g=k[z>>2]|0;e=32-g|0;f=k[A>>2]|0;g=k[f>>2]<(e|0)){m=m-e|0;k[z>>2]=m;f=f+4|0;k[A>>2]=f;m=32-m|0;k[d>>2]=(k[f>>2]|0)>>>m|g>>>(m-e|0);break}k[d>>2]=g>>>(32-m|0);m=(k[z>>2]|0)+m|0;k[z>>2]=m;if((m|0)!=32)break;k[A>>2]=f+4;k[z>>2]=0}while(0);l=k[l>>2]|0;m=i+(l<<2)|0;k[m>>2]=k[m>>2]|k[(k[s>>2]|0)+(l<<2)>>2];b=b+1|0}while(b>>>0<(k[H>>2]|0)>>>0)}e=k[w>>2]|0;d=k[e>>2]|0;k[G>>2]=d;k[x>>2]=k[e+4>>2];k[y>>2]=k[e+8>>2];e=k[p>>2]|0;if(e>>>0<(k[q>>2]|0)>>>0){k[e>>2]=d;k[e+4>>2]=k[x>>2];k[e+8>>2]=k[y>>2];k[p>>2]=e+12}else ei(o,G);d=n+1|0;if(d>>>0>=t>>>0){n=15;break c}n=d;d=k[H>>2]|0}}h=1<>2]|0;d=k[s>>2]|0;b=d;g=k[g+(m*12|0)>>2]|0;if((f|0)!=(d|0)){f=f-d>>2;d=0;do{k[g+(d<<2)>>2]=k[b+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}g=g+(e<<2)|0;k[g>>2]=(k[g>>2]|0)+h;g=(ca(t|0)|0)^31;if(!g)d=0;else{f=0;d=0;do{d=(Nl(a+12+(f<<4)|0)|0)&1|d<<1;f=f+1|0}while((f|0)!=(g|0))}b=(t>>>1)-d|0;f=t-b|0;if((b|0)==(f|0)){i=b;j=b}else{t=k[B>>2]|0;d=k[C>>2]|0;g=(k[d>>2]&1<<31-t|0)!=0;t=t+1|0;k[B>>2]=t;if((t|0)==32){k[C>>2]=d+4;k[B>>2]=0}i=g?b:f;j=g?f:b}d=k[F>>2]|0;h=k[d+(l*12|0)>>2]|0;f=h+(e<<2)|0;k[f>>2]=(k[f>>2]|0)+1;f=k[d+(l*12|0)+4>>2]|0;g=h;if((f|0)!=(g|0)){b=k[d+(m*12|0)>>2]|0;f=f-g>>2;d=0;do{k[b+(d<<2)>>2]=k[h+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(i|0){b=k[M>>2]|0;g=k[L>>2]|0;t=b-g>>2;d=k[K>>2]|0;f=k[J>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(f+d|0)){uc(N);d=k[K>>2]|0;f=k[J>>2]|0;b=k[M>>2]|0;g=k[L>>2]|0}d=f+d|0;if((b|0)==(g|0))d=0;else d=(k[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=i;k[d+4>>2]=e;k[d+8>>2]=l;k[J>>2]=(k[J>>2]|0)+1}if(!j)n=15;else{b=k[M>>2]|0;g=k[L>>2]|0;t=b-g>>2;d=k[K>>2]|0;f=k[J>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(f+d|0)){uc(N);d=k[K>>2]|0;f=k[J>>2]|0;b=k[M>>2]|0;g=k[L>>2]|0}d=f+d|0;if((b|0)==(g|0))d=0;else d=(k[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=j;k[d+4>>2]=e;k[d+8>>2]=m;d=(k[J>>2]|0)+1|0;k[J>>2]=d}}while(0);if((n|0)==15){n=0;d=k[J>>2]|0}if(!d)break a}if((n|0)==27)Ka(19745,19783,223,19932);else if((n|0)==36)Ka(19947,19971,48,20081);else if((n|0)==38)Ka(20110,19971,49,20081)}while(0);d=k[L>>2]|0;e=k[K>>2]|0;g=d+(((e>>>0)/341|0)<<2)|0;f=k[M>>2]|0;h=f;i=d;if((f|0)==(d|0)){b=0;e=0}else{e=(k[g>>2]|0)+(((e>>>0)%341|0)*12|0)|0;b=e}d:while(1){do{if((e|0)==(b|0))break d;e=e+12|0}while((e-(k[g>>2]|0)|0)!=4092);e=g+4|0;g=e;e=k[e>>2]|0}k[J>>2]=0;e=h-i>>2;if(e>>>0>2)do{_r(k[d>>2]|0);d=(k[L>>2]|0)+4|0;k[L>>2]=d;f=k[M>>2]|0;e=f-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;n=85;break}case 2:{e=341;n=85;break}default:{}}if((n|0)==85)k[K>>2]=e;if((d|0)!=(f|0)){do{_r(k[d>>2]|0);d=d+4|0}while((d|0)!=(f|0));d=k[L>>2]|0;e=k[M>>2]|0;if((e|0)!=(d|0))k[M>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=k[N>>2]|0;if(!d){u=O;return}_r(d);u=O;return}function ub(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=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;P=u;u=u+64|0;O=P+16|0;N=P;I=a+8|0;k[I>>2]=e;i=a+32|0;d=a+36|0;h=k[d>>2]|0;g=k[i>>2]|0;f=h-g>>2;if(f>>>0>=e>>>0){if(f>>>0>e>>>0?(j=g+(e<<2)|0,(h|0)!=(j|0)):0)k[d>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else oj(i,e-f|0);d=O;f=d+48|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(f|0));k[N>>2]=0;if(!e){d=0;f=0}else{Yh(O,e,N);d=k[O+12>>2]|0;f=k[O+16>>2]|0}k[N>>2]=0;g=O+16|0;h=f-d>>2;if(h>>>0>=e>>>0){if(h>>>0>e>>>0?(l=d+(e<<2)|0,(f|0)!=(l|0)):0)k[g>>2]=f+(~((f+-4-l|0)>>>2)<<2)}else Yh(O+12|0,e-h|0,N);d=O+24|0;k[N>>2]=0;f=O+28|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(m=h+(e<<2)|0,(i|0)!=(m|0)):0)k[f>>2]=i+(~((i+-4-m|0)>>>2)<<2)}else Yh(d,e-g|0,N);d=O+36|0;k[N>>2]=0;f=O+40|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(n=h+(e<<2)|0,(i|0)!=(n|0)):0)k[f>>2]=i+(~((i+-4-n|0)>>>2)<<2)}else Yh(d,e-g|0,N);i=k[O>>2]|0;if((k[I>>2]|0)>0){l=a+16|0;h=a+32|0;m=a+12|0;g=0;do{d=k[i+(g<<2)>>2]|0;f=k[l>>2]|0;if((d|0)>(f|0)){j=k[h>>2]|0;k[j+(g<<2)>>2]=f}else{H=k[m>>2]|0;j=k[h>>2]|0;k[j+(g<<2)>>2]=(d|0)<(H|0)?H:d}g=g+1|0;d=k[I>>2]|0}while((g|0)<(d|0));if((d|0)>0){g=a+20|0;f=0;do{d=(k[b+(f<<2)>>2]|0)+(k[j+(f<<2)>>2]|0)|0;h=c+(f<<2)|0;k[h>>2]=d;if((d|0)<=(k[l>>2]|0)){if((d|0)<(k[m>>2]|0)){d=(k[g>>2]|0)+d|0;o=18}}else{d=d-(k[g>>2]|0)|0;o=18}if((o|0)==18){o=0;k[h>>2]=d}f=f+1|0}while((f|0)<(k[I>>2]|0))}}w=k[a+48>>2]|0;x=k[a+52>>2]|0;H=jo(16)|0;k[H>>2]=0;k[H+4>>2]=0;k[H+8>>2]=0;k[H+12>>2]=0;xl(N,e);y=a+56|0;g=k[y>>2]|0;h=k[g+4>>2]|0;f=k[g>>2]|0;G=h-f|0;z=G>>2;a:do if((G|0)>4){A=w+12|0;B=(e|0)>0;C=a+16|0;D=a+32|0;E=a+12|0;F=a+20|0;G=e<<2;d=1;while(1){if(h-f>>2>>>0<=d>>>0){Iq(g);f=k[g>>2]|0}s=k[f+(d<<2)>>2]|0;t=(((s>>>0)%3|0|0)==0?2:-1)+s|0;v=(s|t|0)<0;r=(s|0)<0?s:t;q=1;f=0;g=s;b:while(1){do{if((g|0)<=-1){o=62;break b}o=k[O+(f*12|0)>>2]|0;p=k[A>>2]|0;i=k[p+(g<<2)>>2]|0;if((i|0)>=0){j=k[w>>2]|0;l=k[x>>2]|0;n=k[l+(k[j+(i<<2)>>2]<<2)>>2]|0;h=i+1|0;h=((h|0)%3|0|0)==0?i+-2|0:h;if((h|0)<0)h=-1073741824;else h=k[j+(h<<2)>>2]|0;m=k[l+(h<<2)>>2]|0;h=(((i>>>0)%3|0|0)==0?2:-1)+i|0;if((h|0)<0)h=-1073741824;else h=k[j+(h<<2)>>2]|0;h=k[l+(h<<2)>>2]|0;if((n|0)<(d|0)&(m|0)<(d|0)&(h|0)<(d|0)){l=$(n,e)|0;j=$(m,e)|0;i=$(h,e)|0;if(B){h=0;do{k[o+(h<<2)>>2]=(k[c+(h+i<<2)>>2]|0)+(k[c+(h+j<<2)>>2]|0)-(k[c+(h+l<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0))}f=f+1|0;if((f|0)==4){f=4;o=45;break b}}}do if(q){o=g+1|0;g=((o|0)%3|0|0)==0?g+-2|0:o;if((g|0)>=0){g=k[p+(g<<2)>>2]|0;h=g+1|0;if((g|0)>=0)g=((h|0)%3|0|0)==0?g+-2|0:h}}else{g=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((g|0)>=0){g=k[p+(g<<2)>>2]|0;if((g|0)>=0)if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}}while(0);if((g|0)==(s|0)){o=62;break b}}while(!(q&(g|0)<0));if(v){q=0;g=r;continue}g=k[p+(t<<2)>>2]|0;if((g|0)<0){q=0;continue}if(!((g>>>0)%3|0)){q=0;g=g+2|0;continue}else{q=0;g=g+-1|0;continue}}if((o|0)==62)if((f|0)>0)o=45;else{L=$(d,e)|0;o=74}if((o|0)==45){o=0;if(B){_j(k[N>>2]|0,0,G|0)|0;m=f+-1|0;l=H+(m<<2)|0;m=k[a+60+(m*12|0)>>2]|0;n=k[N>>2]|0;j=0;g=0;do{v=k[l>>2]|0;k[l>>2]=v+1;if(!(k[m+(v>>>5<<2)>>2]&1<<(v&31))){i=k[O+(j*12|0)>>2]|0;h=0;do{v=n+(h<<2)|0;k[v>>2]=(k[v>>2]|0)+(k[i+(h<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0));g=g+1|0}j=j+1|0}while((j|0)!=(f|0));f=g}else{j=f+-1|0;i=H+(j<<2)|0;j=k[a+60+(j*12|0)>>2]|0;h=0;g=0;l=k[i>>2]|0;do{v=l;l=l+1|0;k[i>>2]=l;g=g+((k[j+(v>>>5<<2)>>2]&1<<(v&31)|0)==0&1)|0;h=h+1|0}while((h|0)!=(f|0));f=g}h=$(d,e)|0;if(f){j=k[N>>2]|0;if(B){g=0;do{v=j+(g<<2)|0;k[v>>2]=(k[v>>2]|0)/(f|0)|0;g=g+1|0}while((g|0)!=(e|0))}m=b+(h<<2)|0;l=c+(h<<2)|0;if((k[I>>2]|0)>0){h=0;do{f=k[j+(h<<2)>>2]|0;g=k[C>>2]|0;if((f|0)>(g|0)){i=k[D>>2]|0;k[i+(h<<2)>>2]=g}else{v=k[E>>2]|0;i=k[D>>2]|0;k[i+(h<<2)>>2]=(f|0)<(v|0)?v:f}h=h+1|0;f=k[I>>2]|0}while((h|0)<(f|0));if((f|0)>0){g=0;do{f=(k[m+(g<<2)>>2]|0)+(k[i+(g<<2)>>2]|0)|0;h=l+(g<<2)|0;k[h>>2]=f;if((f|0)<=(k[C>>2]|0)){if((f|0)<(k[E>>2]|0)){f=(k[F>>2]|0)+f|0;o=96}}else{f=f-(k[F>>2]|0)|0;o=96}if((o|0)==96){o=0;k[h>>2]=f}g=g+1|0}while((g|0)<(k[I>>2]|0))}}}else{L=h;o=74}}if((o|0)==74?(o=0,J=c+(($(d+-1|0,e)|0)<<2)|0,K=b+(L<<2)|0,M=c+(L<<2)|0,(k[I>>2]|0)>0):0){h=0;do{f=k[J+(h<<2)>>2]|0;g=k[C>>2]|0;if((f|0)>(g|0)){i=k[D>>2]|0;k[i+(h<<2)>>2]=g}else{v=k[E>>2]|0;i=k[D>>2]|0;k[i+(h<<2)>>2]=(f|0)<(v|0)?v:f}h=h+1|0;f=k[I>>2]|0}while((h|0)<(f|0));if((f|0)>0){g=0;do{f=(k[K+(g<<2)>>2]|0)+(k[i+(g<<2)>>2]|0)|0;h=M+(g<<2)|0;k[h>>2]=f;if((f|0)<=(k[C>>2]|0)){if((f|0)<(k[E>>2]|0)){f=(k[F>>2]|0)+f|0;o=84}}else{f=f-(k[F>>2]|0)|0;o=84}if((o|0)==84){o=0;k[h>>2]=f}g=g+1|0}while((g|0)<(k[I>>2]|0))}}d=d+1|0;if((d|0)>=(z|0)){d=N;break a}g=k[y>>2]|0;f=k[g>>2]|0;h=k[g+4>>2]|0}}else d=N;while(0);g=k[d>>2]|0;if(g|0){d=N+4|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-g|0)>>>2)<<2);_r(g)}_r(H);d=k[O+36>>2]|0;if(d|0){f=O+40|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-d|0)>>>2)<<2);_r(d)}d=k[O+24>>2]|0;if(d|0){f=O+28|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-d|0)>>>2)<<2);_r(d)}d=k[O+12>>2]|0;if(d|0){f=O+16|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-d|0)>>>2)<<2);_r(d)}g=k[O>>2]|0;if(!g){u=P;return 1}d=O+4|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-g|0)>>>2)<<2);_r(g);u=P;return 1}function vb(a,b,c){a=a|0;b=b|0;c=c|0;var 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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=u;u=u+32|0;M=N+8|0;E=N;F=a+8|0;G=k[F>>2]|0;k[E>>2]=0;Ik(M,G,E);G=a+112|0;g=k[G>>2]|0;e=k[g>>2]|0;f=g+4|0;if(!e)d=g+8|0;else{d=k[f>>2]|0;if((d|0)!=(e|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e);d=g+8|0;k[d>>2]=0;k[f>>2]=0;k[g>>2]=0}k[g>>2]=k[M>>2];k[f>>2]=k[M+4>>2];k[d>>2]=k[M+8>>2];D=k[F>>2]|0;k[E>>2]=0;Ik(M,D,E);D=a+124|0;g=k[D>>2]|0;d=k[g>>2]|0;f=g+4|0;if(!d)d=g+8|0;else{e=k[f>>2]|0;if((e|0)!=(d|0))k[f>>2]=e+(~((e+-4-d|0)>>>2)<<2);_r(d);d=g+8|0;k[d>>2]=0;k[f>>2]=0;k[g>>2]=0}k[g>>2]=k[M>>2];k[f>>2]=k[M+4>>2];k[d>>2]=k[M+8>>2];k[M>>2]=0;k[M+4>>2]=0;k[M+8>>2]=0;k[M+12>>2]=0;k[M+16>>2]=0;k[M+20>>2]=0;K=M+8|0;J=M+4|0;I=M+16|0;H=M+20|0;uc(M);d=k[J>>2]|0;e=(k[H>>2]|0)+(k[I>>2]|0)|0;if((k[K>>2]|0)==(d|0))d=0;else d=(k[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;k[d>>2]=b;k[d+4>>2]=0;k[d+8>>2]=0;d=(k[H>>2]|0)+1|0;k[H>>2]=d;a:do if(d|0){v=a+100|0;w=a+88|0;t=c+4|0;x=a+92|0;y=a+44|0;z=a+40|0;A=a+12|0;B=a+84|0;C=a+80|0;b:while(1){q=k[I>>2]|0;e=d+-1|0;l=q+e|0;r=k[J>>2]|0;p=k[r+(((l>>>0)/341|0)<<2)>>2]|0;l=(l>>>0)%341|0;s=k[p+(l*12|0)>>2]|0;f=k[p+(l*12|0)+4>>2]|0;l=k[p+(l*12|0)+8>>2]|0;k[H>>2]=e;e=k[K>>2]|0;r=e-r>>2;if((1-d-q+((r|0)==0?0:(r*341|0)+-1|0)|0)>>>0>681){_r(k[e+-4>>2]|0);k[K>>2]=(k[K>>2]|0)+-4}e=k[G>>2]|0;r=e+(l*12|0)|0;q=(k[D>>2]|0)+(l*12|0)|0;n=to(a,s,q,f)|0;d=(k[a>>2]|0)-(k[(k[q>>2]|0)+(n<<2)>>2]|0)|0;c:do if(!d){if((s|0)>0){f=e+(l*12|0)+4|0;j=k[c>>2]|0;g=j+84|0;b=j+68|0;h=j+40|0;j=j+64|0;e=0;l=k[t>>2]|0;do{d=l;l=l+1|0;k[t>>2]=l;m=k[r>>2]|0;if(((k[f>>2]|0)-m|0)!=12){L=22;break b}if(!(i[g>>0]|0))d=k[(k[b>>2]|0)+(d<<2)>>2]|0;p=h;q=k[p>>2]|0;p=io(q|0,k[p+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;Gh((k[k[j>>2]>>2]|0)+p|0,m|0,q|0)|0;e=e+1|0}while((e|0)<(s|0))}}else{if(!s){L=27;break b}if(s>>>0<3){g=k[v>>2]|0;k[g>>2]=n;e=k[F>>2]|0;if(e>>>0>1){f=1;d=n;do{d=(d|0)==(e+-1|0)?0:d+1|0;k[g+(f<<2)>>2]=d;f=f+1|0;e=k[F>>2]|0}while(f>>>0>>0)}d=0;while(1){if(!e)g=k[w>>2]|0;else{l=k[v>>2]|0;m=k[w>>2]|0;n=k[q>>2]|0;g=m;j=0;do{o=l+(j<<2)|0;k[m+(k[o>>2]<<2)>>2]=0;e=k[o>>2]|0;p=(k[a>>2]|0)-(k[n+(e<<2)>>2]|0)|0;do if(p|0){e=m+(e<<2)|0;if((p|0)>=33){L=41;break b}if((p|0)<=0){L=43;break b}h=k[y>>2]|0;f=32-h|0;b=k[z>>2]|0;h=k[b>>2]<(f|0)){p=p-f|0;k[y>>2]=p;b=b+4|0;k[z>>2]=b;p=32-p|0;k[e>>2]=(k[b>>2]|0)>>>p|h>>>(p-f|0);break}k[e>>2]=h>>>(32-p|0);p=(k[y>>2]|0)+p|0;k[y>>2]=p;if((p|0)!=32)break;k[z>>2]=b+4;k[y>>2]=0}while(0);o=k[o>>2]|0;p=m+(o<<2)|0;k[p>>2]=k[p>>2]|k[(k[r>>2]|0)+(o<<2)>>2];j=j+1|0}while(j>>>0<(k[F>>2]|0)>>>0)}f=k[c>>2]|0;e=k[t>>2]|0;k[t>>2]=e+1;if(((k[x>>2]|0)-g|0)!=12){L=36;break b}if(!(i[f+84>>0]|0))e=k[(k[f+68>>2]|0)+(e<<2)>>2]|0;o=f+40|0;p=k[o>>2]|0;o=io(p|0,k[o+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Gh((k[k[f+64>>2]>>2]|0)+o|0,g|0,p|0)|0;d=d+1|0;if(d>>>0>=s>>>0)break c;e=k[F>>2]|0}}b=1<>2]|0;d=k[r>>2]|0;g=d;f=k[(k[G>>2]|0)+(m*12|0)>>2]|0;if((e|0)!=(d|0)){e=e-d>>2;d=0;do{k[f+(d<<2)>>2]=k[g+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}g=f+(n<<2)|0;k[g>>2]=(k[g>>2]|0)+b;g=(ca(s|0)|0)^31;k[E>>2]=0;ok(A,g,E);g=(s>>>1)-(k[E>>2]|0)|0;e=s-g|0;if((g|0)==(e|0)){h=g;j=g}else{s=k[B>>2]|0;d=k[C>>2]|0;f=(k[d>>2]&1<<31-s|0)!=0;s=s+1|0;k[B>>2]=s;if((s|0)==32){k[C>>2]=d+4;k[B>>2]=0}h=f?g:e;j=f?e:g}d=k[D>>2]|0;b=k[d+(l*12|0)>>2]|0;e=b+(n<<2)|0;k[e>>2]=(k[e>>2]|0)+1;e=k[d+(l*12|0)+4>>2]|0;f=b;if((e|0)!=(f|0)){g=k[d+(m*12|0)>>2]|0;e=e-f>>2;d=0;do{k[g+(d<<2)>>2]=k[b+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(h|0){g=k[K>>2]|0;f=k[J>>2]|0;s=g-f>>2;d=k[I>>2]|0;e=k[H>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(e+d|0)){uc(M);d=k[I>>2]|0;e=k[H>>2]|0;g=k[K>>2]|0;f=k[J>>2]|0}d=e+d|0;if((g|0)==(f|0))d=0;else d=(k[f+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=h;k[d+4>>2]=n;k[d+8>>2]=l;k[H>>2]=(k[H>>2]|0)+1}if(j|0){g=k[K>>2]|0;f=k[J>>2]|0;s=g-f>>2;d=k[I>>2]|0;e=k[H>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(e+d|0)){uc(M);d=k[I>>2]|0;e=k[H>>2]|0;g=k[K>>2]|0;f=k[J>>2]|0}d=e+d|0;if((g|0)==(f|0))d=0;else d=(k[f+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=j;k[d+4>>2]=n;k[d+8>>2]=m;k[H>>2]=(k[H>>2]|0)+1}}while(0);d=k[H>>2]|0;if(!d)break a}if((L|0)==22)Ka(6212,6242,51,6368);else if((L|0)==27)Ka(19745,19783,223,19932);else if((L|0)==36)Ka(6212,6242,51,6368);else if((L|0)==41)Ka(19947,19971,48,20081);else if((L|0)==43)Ka(20110,19971,49,20081)}while(0);d=k[J>>2]|0;e=k[I>>2]|0;g=d+(((e>>>0)/341|0)<<2)|0;f=k[K>>2]|0;h=f;j=d;if((f|0)==(d|0)){b=0;e=0}else{e=(k[g>>2]|0)+(((e>>>0)%341|0)*12|0)|0;b=e}d:while(1){do{if((e|0)==(b|0))break d;e=e+12|0}while((e-(k[g>>2]|0)|0)!=4092);e=g+4|0;g=e;e=k[e>>2]|0}k[H>>2]=0;e=h-j>>2;if(e>>>0>2)do{_r(k[d>>2]|0);d=(k[J>>2]|0)+4|0;k[J>>2]=d;f=k[K>>2]|0;e=f-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;L=86;break}case 2:{e=341;L=86;break}default:{}}if((L|0)==86)k[I>>2]=e;if((d|0)!=(f|0)){do{_r(k[d>>2]|0);d=d+4|0}while((d|0)!=(f|0));d=k[J>>2]|0;e=k[K>>2]|0;if((e|0)!=(d|0))k[K>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=k[M>>2]|0;if(!d){u=N;return}_r(d);u=N;return}function wb(a,b,c){a=a|0;b=b|0;c=c|0;var 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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=u;u=u+32|0;M=N+8|0;E=N;F=a+8|0;G=k[F>>2]|0;k[E>>2]=0;Ik(M,G,E);G=a+112|0;g=k[G>>2]|0;e=k[g>>2]|0;f=g+4|0;if(!e)d=g+8|0;else{d=k[f>>2]|0;if((d|0)!=(e|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e);d=g+8|0;k[d>>2]=0;k[f>>2]=0;k[g>>2]=0}k[g>>2]=k[M>>2];k[f>>2]=k[M+4>>2];k[d>>2]=k[M+8>>2];D=k[F>>2]|0;k[E>>2]=0;Ik(M,D,E);D=a+124|0;g=k[D>>2]|0;d=k[g>>2]|0;f=g+4|0;if(!d)d=g+8|0;else{e=k[f>>2]|0;if((e|0)!=(d|0))k[f>>2]=e+(~((e+-4-d|0)>>>2)<<2);_r(d);d=g+8|0;k[d>>2]=0;k[f>>2]=0;k[g>>2]=0}k[g>>2]=k[M>>2];k[f>>2]=k[M+4>>2];k[d>>2]=k[M+8>>2];k[M>>2]=0;k[M+4>>2]=0;k[M+8>>2]=0;k[M+12>>2]=0;k[M+16>>2]=0;k[M+20>>2]=0;K=M+8|0;J=M+4|0;I=M+16|0;H=M+20|0;uc(M);d=k[J>>2]|0;e=(k[H>>2]|0)+(k[I>>2]|0)|0;if((k[K>>2]|0)==(d|0))d=0;else d=(k[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;k[d>>2]=b;k[d+4>>2]=0;k[d+8>>2]=0;d=(k[H>>2]|0)+1|0;k[H>>2]=d;a:do if(d|0){v=a+100|0;w=a+88|0;t=c+4|0;x=a+92|0;y=a+44|0;z=a+40|0;A=a+12|0;B=a+84|0;C=a+80|0;b:while(1){q=k[I>>2]|0;e=d+-1|0;l=q+e|0;r=k[J>>2]|0;p=k[r+(((l>>>0)/341|0)<<2)>>2]|0;l=(l>>>0)%341|0;s=k[p+(l*12|0)>>2]|0;f=k[p+(l*12|0)+4>>2]|0;l=k[p+(l*12|0)+8>>2]|0;k[H>>2]=e;e=k[K>>2]|0;r=e-r>>2;if((1-d-q+((r|0)==0?0:(r*341|0)+-1|0)|0)>>>0>681){_r(k[e+-4>>2]|0);k[K>>2]=(k[K>>2]|0)+-4}h=k[G>>2]|0;r=h+(l*12|0)|0;n=((k[F>>2]|0)+-1|0)==(f|0)?0:f+1|0;q=(k[D>>2]|0)+(l*12|0)|0;d=(k[a>>2]|0)-(k[(k[q>>2]|0)+(n<<2)>>2]|0)|0;c:do if(!d){if((s|0)>0){f=h+(l*12|0)+4|0;j=k[c>>2]|0;g=j+84|0;b=j+68|0;h=j+40|0;j=j+64|0;e=0;l=k[t>>2]|0;do{d=l;l=l+1|0;k[t>>2]=l;m=k[r>>2]|0;if(((k[f>>2]|0)-m|0)!=12){L=22;break b}if(!(i[g>>0]|0))d=k[(k[b>>2]|0)+(d<<2)>>2]|0;p=h;q=k[p>>2]|0;p=io(q|0,k[p+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;Gh((k[k[j>>2]>>2]|0)+p|0,m|0,q|0)|0;e=e+1|0}while((e|0)<(s|0))}}else{if(!s){L=27;break b}if(s>>>0<3){g=k[v>>2]|0;k[g>>2]=n;e=k[F>>2]|0;if(e>>>0>1){f=1;d=n;do{d=(d|0)==(e+-1|0)?0:d+1|0;k[g+(f<<2)>>2]=d;f=f+1|0;e=k[F>>2]|0}while(f>>>0>>0)}d=0;while(1){if(!e)g=k[w>>2]|0;else{l=k[v>>2]|0;m=k[w>>2]|0;n=k[q>>2]|0;g=m;j=0;do{o=l+(j<<2)|0;k[m+(k[o>>2]<<2)>>2]=0;e=k[o>>2]|0;p=(k[a>>2]|0)-(k[n+(e<<2)>>2]|0)|0;do if(p|0){e=m+(e<<2)|0;if((p|0)>=33){L=41;break b}if((p|0)<=0){L=43;break b}h=k[y>>2]|0;f=32-h|0;b=k[z>>2]|0;h=k[b>>2]<(f|0)){p=p-f|0;k[y>>2]=p;b=b+4|0;k[z>>2]=b;p=32-p|0;k[e>>2]=(k[b>>2]|0)>>>p|h>>>(p-f|0);break}k[e>>2]=h>>>(32-p|0);p=(k[y>>2]|0)+p|0;k[y>>2]=p;if((p|0)!=32)break;k[z>>2]=b+4;k[y>>2]=0}while(0);o=k[o>>2]|0;p=m+(o<<2)|0;k[p>>2]=k[p>>2]|k[(k[r>>2]|0)+(o<<2)>>2];j=j+1|0}while(j>>>0<(k[F>>2]|0)>>>0)}f=k[c>>2]|0;e=k[t>>2]|0;k[t>>2]=e+1;if(((k[x>>2]|0)-g|0)!=12){L=36;break b}if(!(i[f+84>>0]|0))e=k[(k[f+68>>2]|0)+(e<<2)>>2]|0;o=f+40|0;p=k[o>>2]|0;o=io(p|0,k[o+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Gh((k[k[f+64>>2]>>2]|0)+o|0,g|0,p|0)|0;d=d+1|0;if(d>>>0>=s>>>0)break c;e=k[F>>2]|0}}b=1<>2]|0;d=k[r>>2]|0;g=d;f=k[h+(m*12|0)>>2]|0;if((e|0)!=(d|0)){e=e-d>>2;d=0;do{k[f+(d<<2)>>2]=k[g+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}g=f+(n<<2)|0;k[g>>2]=(k[g>>2]|0)+b;g=(ca(s|0)|0)^31;k[E>>2]=0;ok(A,g,E);g=(s>>>1)-(k[E>>2]|0)|0;e=s-g|0;if((g|0)==(e|0)){h=g;j=g}else{s=k[B>>2]|0;d=k[C>>2]|0;f=(k[d>>2]&1<<31-s|0)!=0;s=s+1|0;k[B>>2]=s;if((s|0)==32){k[C>>2]=d+4;k[B>>2]=0}h=f?g:e;j=f?e:g}d=k[D>>2]|0;b=k[d+(l*12|0)>>2]|0;e=b+(n<<2)|0;k[e>>2]=(k[e>>2]|0)+1;e=k[d+(l*12|0)+4>>2]|0;f=b;if((e|0)!=(f|0)){g=k[d+(m*12|0)>>2]|0;e=e-f>>2;d=0;do{k[g+(d<<2)>>2]=k[b+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(h|0){g=k[K>>2]|0;f=k[J>>2]|0;s=g-f>>2;d=k[I>>2]|0;e=k[H>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(e+d|0)){uc(M);d=k[I>>2]|0;e=k[H>>2]|0;g=k[K>>2]|0;f=k[J>>2]|0}d=e+d|0;if((g|0)==(f|0))d=0;else d=(k[f+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=h;k[d+4>>2]=n;k[d+8>>2]=l;k[H>>2]=(k[H>>2]|0)+1}if(j|0){g=k[K>>2]|0;f=k[J>>2]|0;s=g-f>>2;d=k[I>>2]|0;e=k[H>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(e+d|0)){uc(M);d=k[I>>2]|0;e=k[H>>2]|0;g=k[K>>2]|0;f=k[J>>2]|0}d=e+d|0;if((g|0)==(f|0))d=0;else d=(k[f+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=j;k[d+4>>2]=n;k[d+8>>2]=m;k[H>>2]=(k[H>>2]|0)+1}}while(0);d=k[H>>2]|0;if(!d)break a}if((L|0)==22)Ka(6212,6242,51,6368);else if((L|0)==27)Ka(19745,19783,223,19932);else if((L|0)==36)Ka(6212,6242,51,6368);else if((L|0)==41)Ka(19947,19971,48,20081);else if((L|0)==43)Ka(20110,19971,49,20081)}while(0);d=k[J>>2]|0;e=k[I>>2]|0;g=d+(((e>>>0)/341|0)<<2)|0;f=k[K>>2]|0;h=f;j=d;if((f|0)==(d|0)){b=0;e=0}else{e=(k[g>>2]|0)+(((e>>>0)%341|0)*12|0)|0;b=e}d:while(1){do{if((e|0)==(b|0))break d;e=e+12|0}while((e-(k[g>>2]|0)|0)!=4092);e=g+4|0;g=e;e=k[e>>2]|0}k[H>>2]=0;e=h-j>>2;if(e>>>0>2)do{_r(k[d>>2]|0);d=(k[J>>2]|0)+4|0;k[J>>2]=d;f=k[K>>2]|0;e=f-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;L=86;break}case 2:{e=341;L=86;break}default:{}}if((L|0)==86)k[I>>2]=e;if((d|0)!=(f|0)){do{_r(k[d>>2]|0);d=d+4|0}while((d|0)!=(f|0));d=k[J>>2]|0;e=k[K>>2]|0;if((e|0)!=(d|0))k[K>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=k[M>>2]|0;if(!d){u=N;return}_r(d);u=N;return}function xb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=u;u=u+48|0;H=Q+24|0;P=Q;I=a+8|0;J=k[I>>2]|0;k[P>>2]=0;Ik(H,J,P);J=a+112|0;g=k[J>>2]|0;e=k[g>>2]|0;f=g+4|0;if(!e)d=g+8|0;else{d=k[f>>2]|0;if((d|0)!=(e|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e);d=g+8|0;k[d>>2]=0;k[f>>2]=0;k[g>>2]=0}k[g>>2]=k[H>>2];k[f>>2]=k[H+4>>2];k[d>>2]=k[H+8>>2];G=k[I>>2]|0;k[P>>2]=0;Ik(H,G,P);G=a+124|0;g=k[G>>2]|0;d=k[g>>2]|0;f=g+4|0;if(!d)d=g+8|0;else{e=k[f>>2]|0;if((e|0)!=(d|0))k[f>>2]=e+(~((e+-4-d|0)>>>2)<<2);_r(d);d=g+8|0;k[d>>2]=0;k[f>>2]=0;k[g>>2]=0}k[g>>2]=k[H>>2];k[f>>2]=k[H+4>>2];k[d>>2]=k[H+8>>2];k[P>>2]=0;k[P+4>>2]=0;k[P+8>>2]=0;k[P+12>>2]=0;k[P+16>>2]=0;k[P+20>>2]=0;N=P+8|0;M=P+4|0;L=P+16|0;K=P+20|0;uc(P);d=k[M>>2]|0;e=(k[K>>2]|0)+(k[L>>2]|0)|0;if((k[N>>2]|0)==(d|0))d=0;else d=(k[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;k[d>>2]=b;k[d+4>>2]=0;k[d+8>>2]=0;d=(k[K>>2]|0)+1|0;k[K>>2]=d;a:do if(d|0){v=a+100|0;w=a+88|0;x=H+4|0;y=H+8|0;z=a+44|0;A=a+40|0;B=a+12|0;C=a+84|0;D=a+80|0;E=H+4|0;F=H+8|0;b:while(1){r=k[L>>2]|0;e=d+-1|0;l=r+e|0;s=k[M>>2]|0;q=k[s+(((l>>>0)/341|0)<<2)>>2]|0;l=(l>>>0)%341|0;t=k[q+(l*12|0)>>2]|0;f=k[q+(l*12|0)+4>>2]|0;l=k[q+(l*12|0)+8>>2]|0;k[K>>2]=e;e=k[N>>2]|0;s=e-s>>2;if((1-d-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){_r(k[e+-4>>2]|0);k[N>>2]=(k[N>>2]|0)+-4}g=k[J>>2]|0;s=g+(l*12|0)|0;r=(k[G>>2]|0)+(l*12|0)|0;e=to(a,t,r,f)|0;d=(k[a>>2]|0)-(k[(k[r>>2]|0)+(e<<2)>>2]|0)|0;c:do if(!d){if((t|0)>0){e=k[c>>2]|0;f=e+4|0;g=e+8|0;d=0;do{h=k[s>>2]|0;b=k[h>>2]|0;k[H>>2]=b;k[E>>2]=k[h+4>>2];k[F>>2]=k[h+8>>2];h=k[f>>2]|0;if(h>>>0<(k[g>>2]|0)>>>0){k[h>>2]=b;k[h+4>>2]=k[E>>2];k[h+8>>2]=k[F>>2];k[f>>2]=h+12}else ei(e,H);d=d+1|0}while((d|0)<(t|0))}}else{if(!t){O=26;break b}if(t>>>0<3){g=k[v>>2]|0;k[g>>2]=e;d=k[I>>2]|0;if(d>>>0>1){f=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;k[g+(f<<2)>>2]=e;f=f+1|0;d=k[I>>2]|0}while(f>>>0>>0)}o=k[c>>2]|0;p=o+4|0;q=o+8|0;n=0;while(1){if(d|0){h=k[v>>2]|0;i=k[w>>2]|0;j=k[r>>2]|0;b=0;do{l=h+(b<<2)|0;k[i+(k[l>>2]<<2)>>2]=0;d=k[l>>2]|0;m=(k[a>>2]|0)-(k[j+(d<<2)>>2]|0)|0;do if(m|0){d=i+(d<<2)|0;if((m|0)>=33){O=35;break b}if((m|0)<=0){O=37;break b}g=k[z>>2]|0;e=32-g|0;f=k[A>>2]|0;g=k[f>>2]<(e|0)){m=m-e|0;k[z>>2]=m;f=f+4|0;k[A>>2]=f;m=32-m|0;k[d>>2]=(k[f>>2]|0)>>>m|g>>>(m-e|0);break}k[d>>2]=g>>>(32-m|0);m=(k[z>>2]|0)+m|0;k[z>>2]=m;if((m|0)!=32)break;k[A>>2]=f+4;k[z>>2]=0}while(0);l=k[l>>2]|0;m=i+(l<<2)|0;k[m>>2]=k[m>>2]|k[(k[s>>2]|0)+(l<<2)>>2];b=b+1|0}while(b>>>0<(k[I>>2]|0)>>>0)}e=k[w>>2]|0;d=k[e>>2]|0;k[H>>2]=d;k[x>>2]=k[e+4>>2];k[y>>2]=k[e+8>>2];e=k[p>>2]|0;if(e>>>0<(k[q>>2]|0)>>>0){k[e>>2]=d;k[e+4>>2]=k[x>>2];k[e+8>>2]=k[y>>2];k[p>>2]=e+12}else ei(o,H);d=n+1|0;if(d>>>0>=t>>>0)break c;n=d;d=k[I>>2]|0}}h=1<>2]|0;d=k[s>>2]|0;b=d;g=k[(k[J>>2]|0)+(m*12|0)>>2]|0;if((f|0)!=(d|0)){f=f-d>>2;d=0;do{k[g+(d<<2)>>2]=k[b+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}b=g+(e<<2)|0;k[b>>2]=(k[b>>2]|0)+h;b=(ca(t|0)|0)^31;k[H>>2]=0;ok(B,b,H);b=(t>>>1)-(k[H>>2]|0)|0;f=t-b|0;if((b|0)==(f|0)){i=b;j=b}else{t=k[C>>2]|0;d=k[D>>2]|0;g=(k[d>>2]&1<<31-t|0)!=0;t=t+1|0;k[C>>2]=t;if((t|0)==32){k[D>>2]=d+4;k[C>>2]=0}i=g?b:f;j=g?f:b}d=k[G>>2]|0;h=k[d+(l*12|0)>>2]|0;f=h+(e<<2)|0;k[f>>2]=(k[f>>2]|0)+1;f=k[d+(l*12|0)+4>>2]|0;g=h;if((f|0)!=(g|0)){b=k[d+(m*12|0)>>2]|0;f=f-g>>2;d=0;do{k[b+(d<<2)>>2]=k[h+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(i|0){b=k[N>>2]|0;g=k[M>>2]|0;t=b-g>>2;d=k[L>>2]|0;f=k[K>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(f+d|0)){uc(P);d=k[L>>2]|0;f=k[K>>2]|0;b=k[N>>2]|0;g=k[M>>2]|0}d=f+d|0;if((b|0)==(g|0))d=0;else d=(k[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=i;k[d+4>>2]=e;k[d+8>>2]=l;k[K>>2]=(k[K>>2]|0)+1}if(j|0){b=k[N>>2]|0;g=k[M>>2]|0;t=b-g>>2;d=k[L>>2]|0;f=k[K>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(f+d|0)){uc(P);d=k[L>>2]|0;f=k[K>>2]|0;b=k[N>>2]|0;g=k[M>>2]|0}d=f+d|0;if((b|0)==(g|0))d=0;else d=(k[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=j;k[d+4>>2]=e;k[d+8>>2]=m;k[K>>2]=(k[K>>2]|0)+1}}while(0);d=k[K>>2]|0;if(!d)break a}if((O|0)==26)Ka(19745,19783,223,19932);else if((O|0)==35)Ka(19947,19971,48,20081);else if((O|0)==37)Ka(20110,19971,49,20081)}while(0);d=k[M>>2]|0;e=k[L>>2]|0;g=d+(((e>>>0)/341|0)<<2)|0;f=k[N>>2]|0;h=f;i=d;if((f|0)==(d|0)){b=0;e=0}else{e=(k[g>>2]|0)+(((e>>>0)%341|0)*12|0)|0;b=e}d:while(1){do{if((e|0)==(b|0))break d;e=e+12|0}while((e-(k[g>>2]|0)|0)!=4092);e=g+4|0;g=e;e=k[e>>2]|0}k[K>>2]=0;e=h-i>>2;if(e>>>0>2)do{_r(k[d>>2]|0);d=(k[M>>2]|0)+4|0;k[M>>2]=d;f=k[N>>2]|0;e=f-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;O=83;break}case 2:{e=341;O=83;break}default:{}}if((O|0)==83)k[L>>2]=e;if((d|0)!=(f|0)){do{_r(k[d>>2]|0);d=d+4|0}while((d|0)!=(f|0));d=k[M>>2]|0;e=k[N>>2]|0;if((e|0)!=(d|0))k[N>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=k[P>>2]|0;if(!d){u=Q;return}_r(d);u=Q;return}function yb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=u;u=u+48|0;H=Q+24|0;P=Q;I=a+8|0;J=k[I>>2]|0;k[P>>2]=0;Ik(H,J,P);J=a+112|0;g=k[J>>2]|0;e=k[g>>2]|0;f=g+4|0;if(!e)d=g+8|0;else{d=k[f>>2]|0;if((d|0)!=(e|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e);d=g+8|0;k[d>>2]=0;k[f>>2]=0;k[g>>2]=0}k[g>>2]=k[H>>2];k[f>>2]=k[H+4>>2];k[d>>2]=k[H+8>>2];G=k[I>>2]|0;k[P>>2]=0;Ik(H,G,P);G=a+124|0;g=k[G>>2]|0;d=k[g>>2]|0;f=g+4|0;if(!d)d=g+8|0;else{e=k[f>>2]|0;if((e|0)!=(d|0))k[f>>2]=e+(~((e+-4-d|0)>>>2)<<2);_r(d);d=g+8|0;k[d>>2]=0;k[f>>2]=0;k[g>>2]=0}k[g>>2]=k[H>>2];k[f>>2]=k[H+4>>2];k[d>>2]=k[H+8>>2];k[P>>2]=0;k[P+4>>2]=0;k[P+8>>2]=0;k[P+12>>2]=0;k[P+16>>2]=0;k[P+20>>2]=0;N=P+8|0;M=P+4|0;L=P+16|0;K=P+20|0;uc(P);d=k[M>>2]|0;e=(k[K>>2]|0)+(k[L>>2]|0)|0;if((k[N>>2]|0)==(d|0))d=0;else d=(k[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;k[d>>2]=b;k[d+4>>2]=0;k[d+8>>2]=0;d=(k[K>>2]|0)+1|0;k[K>>2]=d;a:do if(d|0){v=a+100|0;w=a+88|0;x=H+4|0;y=H+8|0;z=a+44|0;A=a+40|0;B=a+12|0;C=a+84|0;D=a+80|0;E=H+4|0;F=H+8|0;b:while(1){r=k[L>>2]|0;e=d+-1|0;l=r+e|0;s=k[M>>2]|0;q=k[s+(((l>>>0)/341|0)<<2)>>2]|0;l=(l>>>0)%341|0;t=k[q+(l*12|0)>>2]|0;f=k[q+(l*12|0)+4>>2]|0;l=k[q+(l*12|0)+8>>2]|0;k[K>>2]=e;e=k[N>>2]|0;s=e-s>>2;if((1-d-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){_r(k[e+-4>>2]|0);k[N>>2]=(k[N>>2]|0)+-4}g=k[J>>2]|0;s=g+(l*12|0)|0;e=((k[I>>2]|0)+-1|0)==(f|0)?0:f+1|0;r=(k[G>>2]|0)+(l*12|0)|0;d=(k[a>>2]|0)-(k[(k[r>>2]|0)+(e<<2)>>2]|0)|0;c:do if(!d){if((t|0)>0){e=k[c>>2]|0;f=e+4|0;g=e+8|0;d=0;do{h=k[s>>2]|0;b=k[h>>2]|0;k[H>>2]=b;k[E>>2]=k[h+4>>2];k[F>>2]=k[h+8>>2];h=k[f>>2]|0;if(h>>>0<(k[g>>2]|0)>>>0){k[h>>2]=b;k[h+4>>2]=k[E>>2];k[h+8>>2]=k[F>>2];k[f>>2]=h+12}else ei(e,H);d=d+1|0}while((d|0)<(t|0))}}else{if(!t){O=26;break b}if(t>>>0<3){g=k[v>>2]|0;k[g>>2]=e;d=k[I>>2]|0;if(d>>>0>1){f=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;k[g+(f<<2)>>2]=e;f=f+1|0;d=k[I>>2]|0}while(f>>>0>>0)}o=k[c>>2]|0;p=o+4|0;q=o+8|0;n=0;while(1){if(d|0){h=k[v>>2]|0;i=k[w>>2]|0;j=k[r>>2]|0;b=0;do{l=h+(b<<2)|0;k[i+(k[l>>2]<<2)>>2]=0;d=k[l>>2]|0;m=(k[a>>2]|0)-(k[j+(d<<2)>>2]|0)|0;do if(m|0){d=i+(d<<2)|0;if((m|0)>=33){O=35;break b}if((m|0)<=0){O=37;break b}g=k[z>>2]|0;e=32-g|0;f=k[A>>2]|0;g=k[f>>2]<(e|0)){m=m-e|0;k[z>>2]=m;f=f+4|0;k[A>>2]=f;m=32-m|0;k[d>>2]=(k[f>>2]|0)>>>m|g>>>(m-e|0);break}k[d>>2]=g>>>(32-m|0);m=(k[z>>2]|0)+m|0;k[z>>2]=m;if((m|0)!=32)break;k[A>>2]=f+4;k[z>>2]=0}while(0);l=k[l>>2]|0;m=i+(l<<2)|0;k[m>>2]=k[m>>2]|k[(k[s>>2]|0)+(l<<2)>>2];b=b+1|0}while(b>>>0<(k[I>>2]|0)>>>0)}e=k[w>>2]|0;d=k[e>>2]|0;k[H>>2]=d;k[x>>2]=k[e+4>>2];k[y>>2]=k[e+8>>2];e=k[p>>2]|0;if(e>>>0<(k[q>>2]|0)>>>0){k[e>>2]=d;k[e+4>>2]=k[x>>2];k[e+8>>2]=k[y>>2];k[p>>2]=e+12}else ei(o,H);d=n+1|0;if(d>>>0>=t>>>0)break c;n=d;d=k[I>>2]|0}}h=1<>2]|0;d=k[s>>2]|0;b=d;g=k[g+(m*12|0)>>2]|0;if((f|0)!=(d|0)){f=f-d>>2;d=0;do{k[g+(d<<2)>>2]=k[b+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}b=g+(e<<2)|0;k[b>>2]=(k[b>>2]|0)+h;b=(ca(t|0)|0)^31;k[H>>2]=0;ok(B,b,H);b=(t>>>1)-(k[H>>2]|0)|0;f=t-b|0;if((b|0)==(f|0)){i=b;j=b}else{t=k[C>>2]|0;d=k[D>>2]|0;g=(k[d>>2]&1<<31-t|0)!=0;t=t+1|0;k[C>>2]=t;if((t|0)==32){k[D>>2]=d+4;k[C>>2]=0}i=g?b:f;j=g?f:b}d=k[G>>2]|0;h=k[d+(l*12|0)>>2]|0;f=h+(e<<2)|0;k[f>>2]=(k[f>>2]|0)+1;f=k[d+(l*12|0)+4>>2]|0;g=h;if((f|0)!=(g|0)){b=k[d+(m*12|0)>>2]|0;f=f-g>>2;d=0;do{k[b+(d<<2)>>2]=k[h+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(i|0){b=k[N>>2]|0;g=k[M>>2]|0;t=b-g>>2;d=k[L>>2]|0;f=k[K>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(f+d|0)){uc(P);d=k[L>>2]|0;f=k[K>>2]|0;b=k[N>>2]|0;g=k[M>>2]|0}d=f+d|0;if((b|0)==(g|0))d=0;else d=(k[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=i;k[d+4>>2]=e;k[d+8>>2]=l;k[K>>2]=(k[K>>2]|0)+1}if(j|0){b=k[N>>2]|0;g=k[M>>2]|0;t=b-g>>2;d=k[L>>2]|0;f=k[K>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(f+d|0)){uc(P);d=k[L>>2]|0;f=k[K>>2]|0;b=k[N>>2]|0;g=k[M>>2]|0}d=f+d|0;if((b|0)==(g|0))d=0;else d=(k[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=j;k[d+4>>2]=e;k[d+8>>2]=m;k[K>>2]=(k[K>>2]|0)+1}}while(0);d=k[K>>2]|0;if(!d)break a}if((O|0)==26)Ka(19745,19783,223,19932);else if((O|0)==35)Ka(19947,19971,48,20081);else if((O|0)==37)Ka(20110,19971,49,20081)}while(0);d=k[M>>2]|0;e=k[L>>2]|0;g=d+(((e>>>0)/341|0)<<2)|0;f=k[N>>2]|0;h=f;i=d;if((f|0)==(d|0)){b=0;e=0}else{e=(k[g>>2]|0)+(((e>>>0)%341|0)*12|0)|0;b=e}d:while(1){do{if((e|0)==(b|0))break d;e=e+12|0}while((e-(k[g>>2]|0)|0)!=4092);e=g+4|0;g=e;e=k[e>>2]|0}k[K>>2]=0;e=h-i>>2;if(e>>>0>2)do{_r(k[d>>2]|0);d=(k[M>>2]|0)+4|0;k[M>>2]=d;f=k[N>>2]|0;e=f-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;O=83;break}case 2:{e=341;O=83;break}default:{}}if((O|0)==83)k[L>>2]=e;if((d|0)!=(f|0)){do{_r(k[d>>2]|0);d=d+4|0}while((d|0)!=(f|0));d=k[M>>2]|0;e=k[N>>2]|0;if((e|0)!=(d|0))k[N>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=k[P>>2]|0;if(!d){u=Q;return}_r(d);u=Q;return}function zb(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=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;I=u;u=u+48|0;E=I+36|0;H=I+24|0;G=I+12|0;C=I;F=a+4|0;d=k[(k[F>>2]|0)+44>>2]|0;D=a+8|0;b=k[D>>2]|0;b=((k[b+4>>2]|0)-(k[b>>2]|0)>>2>>>0)/3|0;c=d+84|0;d=d+88|0;k[E>>2]=0;k[E+4>>2]=0;k[E+8>>2]=0;g=k[d>>2]|0;f=k[c>>2]|0;e=(g-f|0)/12|0;if(b>>>0<=e>>>0){if(b>>>0>>0?(h=f+(b*12|0)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~(((g+-12-h|0)>>>0)/12|0)*12|0)}else ih(c,b-e|0,E);q=a+228|0;r=a+232|0;if((k[r>>2]|0)==(k[q>>2]|0)){f=k[D>>2]|0;f=(k[f+28>>2]|0)-(k[f+24>>2]|0)>>2;k[E>>2]=-1;Ik(H,f,E);f=k[F>>2]|0;b=k[f+44>>2]|0;e=k[b+88>>2]|0;d=k[b+84>>2]|0;if((e-d|0)>0){o=G+4|0;p=G+8|0;c=0;n=0;m=b;b=f;g=f;j=e;while(1){k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;a=n*3|0;if((n|0)<0)e=-1073741824;else e=k[(k[k[D>>2]>>2]|0)+(a<<2)>>2]|0;i=k[H>>2]|0;e=i+(e<<2)|0;f=k[e>>2]|0;if((f|0)==-1){k[e>>2]=c;h=c+1|0;l=c}else{h=c;l=f}k[G>>2]=l;if((a|0)<-1)c=-1073741824;else c=k[(k[k[D>>2]>>2]|0)+(a+1<<2)>>2]|0;e=i+(c<<2)|0;c=k[e>>2]|0;if((c|0)==-1){k[e>>2]=h;e=h+1|0;c=h}else e=h;k[o>>2]=c;if((a|0)<-2)c=-1073741824;else c=k[(k[k[D>>2]>>2]|0)+(a+2<<2)>>2]|0;c=i+(c<<2)|0;f=k[c>>2]|0;if((f|0)==-1){k[c>>2]=e;c=e+1|0}else{c=e;e=f}k[p>>2]=e;h=m+84|0;a=m+88|0;f=(j-d|0)/12|0;e=d;i=n;n=n+1|0;if((i|0)<(f|0)){h=j;f=m}else{b=j;k[E>>2]=0;k[E+4>>2]=0;k[E+8>>2]=0;if(n>>>0<=f>>>0)if(n>>>0>>0?(A=e+(n*12|0)|0,(b|0)!=(A|0)):0){b=b+(~(((b+-12-A|0)>>>0)/12|0)*12|0)|0;k[a>>2]=b;f=m}else{f=m;b=j}else{ih(h,n-f|0,E);g=k[F>>2]|0;d=k[g+44>>2]|0;e=k[h>>2]|0;f=d;b=k[d+88>>2]|0;d=k[d+84>>2]|0}h=b;b=g}k[e+(i*12|0)>>2]=l;k[e+(i*12|0)+4>>2]=k[o>>2];k[e+(i*12|0)+8>>2]=k[p>>2];if((n|0)>=((h-d|0)/12|0|0)){d=H;break}else{m=f;j=h}}}else{c=0;d=H;b=f}k[(k[b+4>>2]|0)+68>>2]=c;d=k[d>>2]|0;if(d|0){b=H+4|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);_r(d)}u=I;return 1}k[H>>2]=0;A=H+4|0;k[A>>2]=0;k[H+8>>2]=0;b=k[D>>2]|0;xl(G,(k[b+4>>2]|0)-(k[b>>2]|0)>>2);b=k[D>>2]|0;if(((k[b+28>>2]|0)-(k[b+24>>2]|0)|0)>0){o=a+136|0;p=H+8|0;n=0;do{g=k[(k[b+24>>2]|0)+(n<<2)>>2]|0;a:do if((g|0)>=0){b:do if((k[(k[o>>2]|0)+(n>>>5<<2)>>2]&1<<(n&31)|0)==0?(t=k[r>>2]|0,v=k[q>>2]|0,w=v,(t|0)!=(v|0)):0){f=(((g>>>0)%3|0|0)==0?2:-1)+g|0;h=(f|0)<0;a=(t-v|0)/116|0;i=b+12|0;j=b+12|0;e=0;c:while(1){m=k[(k[k[w+(e*116|0)+68>>2]>>2]|0)+(g<<2)>>2]|0;do if(1<<(m&31)&k[(k[w+(e*116|0)+16>>2]|0)+(m>>>5<<2)>>2]|0){l=k[w+(e*116|0)+32>>2]|0;m=k[l+(g<<2)>>2]|0;if(!h){c=k[(k[i>>2]|0)+(f<<2)>>2]|0;do if((c|0)>=0)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);if((c|0)==(g|0))break;else d=c}else d=f;while(1){c=k[l+(d<<2)>>2]|0;if((d|0)<0)break c;if((c|0)!=(m|0)){g=d;break b}c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;do if((c|0)>=0){c=k[(k[j>>2]|0)+(c<<2)>>2]|0;if((c|0)>=0)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}}while(0);if((c|0)==(g|0))break;else d=c}}while(0);e=e+1|0;if(e>>>0>=a>>>0)break b}while(1)if((c|0)==(m|0))c=m;else{g=d;break}}while(0);c=k[A>>2]|0;k[(k[G>>2]|0)+(g<<2)>>2]=c-(k[H>>2]|0)>>2;k[E>>2]=g;if(c>>>0<(k[p>>2]|0)>>>0){k[c>>2]=g;k[A>>2]=c+4}else{Dj(H,E);b=k[D>>2]|0}if((((g|0)>=0?(x=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(x|0)>=0):0)?(s=k[(k[b+12>>2]|0)+(x<<2)>>2]|0,(s|0)>=0):0)?(y=s+(((s>>>0)%3|0|0)==0?2:-1)|0,(y|0)>-1&(y|0)!=(g|0)):0){d=g;f=y;while(1){b=k[r>>2]|0;c=k[q>>2]|0;e=c;d:do if((b|0)!=(c|0)){c=(b-c|0)/116|0;b=0;while(1){m=k[e+(b*116|0)+32>>2]|0;b=b+1|0;if((k[m+(f<<2)>>2]|0)!=(k[m+(d<<2)>>2]|0))break;if(b>>>0>=c>>>0){z=67;break d}}b=k[A>>2]|0;k[(k[G>>2]|0)+(f<<2)>>2]=b-(k[H>>2]|0)>>2;k[E>>2]=f;if(b>>>0<(k[p>>2]|0)>>>0){k[b>>2]=f;k[A>>2]=b+4}else Dj(H,E)}else z=67;while(0);if((z|0)==67){z=0;m=k[G>>2]|0;k[m+(f<<2)>>2]=k[m+(d<<2)>>2]}b=(((f>>>0)%3|0|0)==0?2:-1)+f|0;if((b|0)<0)break a;b=k[(k[(k[D>>2]|0)+12>>2]|0)+(b<<2)>>2]|0;if((b|0)<0)break a;b=b+(((b>>>0)%3|0|0)==0?2:-1)|0;if((b|0)>-1&(b|0)!=(g|0)){d=f;f=b}else break}}}while(0);n=n+1|0;b=k[D>>2]|0}while((n|0)<((k[b+28>>2]|0)-(k[b+24>>2]|0)>>2|0))}c=k[F>>2]|0;b=k[c+44>>2]|0;e=k[b+88>>2]|0;d=k[b+84>>2]|0;if((e-d|0)>0){n=C+4|0;o=C+8|0;m=0;i=c;j=c;while(1){k[C>>2]=0;k[C+4>>2]=0;k[C+8>>2]=0;g=(k[G>>2]|0)+(m*3<<2)|0;k[C>>2]=k[g>>2];k[C+4>>2]=k[g+4>>2];k[C+8>>2]=k[g+8>>2];g=b+84|0;h=b+88|0;a=(e-d|0)/12|0;c=d;l=m;m=m+1|0;if((l|0)<(a|0)){g=c;c=i;f=j}else{f=e;k[E>>2]=0;k[E+4>>2]=0;k[E+8>>2]=0;if(m>>>0<=a>>>0)if(m>>>0>>0?(B=c+(m*12|0)|0,(f|0)!=(B|0)):0){e=f+(~(((f+-12-B|0)>>>0)/12|0)*12|0)|0;k[h>>2]=e;f=j}else f=j;else{ih(g,m-a|0,E);f=k[F>>2]|0;d=k[f+44>>2]|0;c=k[g>>2]|0;b=d;e=k[d+88>>2]|0;d=k[d+84>>2]|0}g=c;c=f}k[g+(l*12|0)>>2]=k[C>>2];k[g+(l*12|0)+4>>2]=k[n>>2];k[g+(l*12|0)+8>>2]=k[o>>2];if((m|0)>=((e-d|0)/12|0|0))break;else{i=c;j=f}}}b=k[H>>2]|0;k[(k[c+4>>2]|0)+68>>2]=(k[A>>2]|0)-b>>2;d=k[G>>2]|0;if(d){b=G+4|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);_r(d);b=k[H>>2]|0}if(b|0){c=k[A>>2]|0;if((c|0)!=(b|0))k[A>>2]=c+(~((c+-4-b|0)>>>2)<<2);_r(b)}u=I;return 1}function Ab(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=u;u=u+560|0;j=G+8|0;t=G;F=G+524|0;E=F;m=G+512|0;k[t>>2]=0;D=m+12|0;Ap(b)|0;if((M|0)<0){b=-b;B=1;A=20966}else{B=(e&2049|0)!=0&1;A=(e&2048|0)==0?((e&1|0)==0?20967:20972):20969}Ap(b)|0;C=M&2146435072;do if(C>>>0<2146435072|(C|0)==2146435072&0<0){q=+Er(b,t)*2.0;g=q!=0.0;if(g)k[t>>2]=(k[t>>2]|0)+-1;w=f|32;if((w|0)==97){r=f&32;p=(r|0)==0?A:A+9|0;o=B|2;g=12-d|0;do if(!(d>>>0>11|(g|0)==0)){b=8.0;do{g=g+-1|0;b=b*16.0}while((g|0)!=0);if((i[p>>0]|0)==45){b=-(b+(-q-b));break}else{b=q+b-b;break}}else b=q;while(0);h=k[t>>2]|0;g=(h|0)<0?0-h|0:h;g=al(g,((g|0)<0)<<31>>31,D)|0;if((g|0)==(D|0)){g=m+11|0;i[g>>0]=48}i[g+-1>>0]=(h>>31&2)+43;n=g+-2|0;i[n>>0]=f+15;m=(d|0)<1;j=(e&8|0)==0;g=F;do{C=~~b;h=g+1|0;i[g>>0]=l[21001+C>>0]|r;b=(b-+(C|0))*16.0;if((h-E|0)==1?!(j&(m&b==0.0)):0){i[h>>0]=46;g=g+2|0}else g=h}while(b!=0.0);C=g-E|0;E=D-n|0;D=(d|0)!=0&(C+-2|0)<(d|0)?d+2|0:C;g=E+o+D|0;Wl(a,32,c,g,e);gq(a,p,o);Wl(a,48,c,g,e^65536);gq(a,F,C);Wl(a,48,D-C|0,0,0);gq(a,n,E);Wl(a,32,c,g,e^8192);break}h=(d|0)<0?6:d;if(g){g=(k[t>>2]|0)+-28|0;k[t>>2]=g;b=q*268435456.0}else{b=q;g=k[t>>2]|0}C=(g|0)<0?j:j+288|0;j=C;do{y=~~b>>>0;k[j>>2]=y;j=j+4|0;b=(b-+(y>>>0))*1.0e9}while(b!=0.0);if((g|0)>0){m=C;o=j;while(1){n=(g|0)<29?g:29;g=o+-4|0;if(g>>>0>=m>>>0){j=0;do{x=No(k[g>>2]|0,0,n|0)|0;x=Fp(x|0,M|0,j|0,0)|0;y=M;v=Zn(x|0,y|0,1e9,0)|0;k[g>>2]=v;j=Bq(x|0,y|0,1e9,0)|0;g=g+-4|0}while(g>>>0>=m>>>0);if(j){m=m+-4|0;k[m>>2]=j}}j=o;while(1){if(j>>>0<=m>>>0)break;g=j+-4|0;if(!(k[g>>2]|0))j=g;else break}g=(k[t>>2]|0)-n|0;k[t>>2]=g;if((g|0)>0)o=j;else break}}else m=C;if((g|0)<0){d=((h+25|0)/9|0)+1|0;s=(w|0)==102;do{r=0-g|0;r=(r|0)<9?r:9;if(m>>>0>>0){n=(1<>>r;p=0;g=m;do{y=k[g>>2]|0;k[g>>2]=(y>>>r)+p;p=$(y&n,o)|0;g=g+4|0}while(g>>>0>>0);g=(k[m>>2]|0)==0?m+4|0:m;if(!p){m=g;g=j}else{k[j>>2]=p;m=g;g=j+4|0}}else{m=(k[m>>2]|0)==0?m+4|0:m;g=j}j=s?C:m;j=(g-j>>2|0)>(d|0)?j+(d<<2)|0:g;g=(k[t>>2]|0)+r|0;k[t>>2]=g}while((g|0)<0);g=m;d=j}else{g=m;d=j}y=C;if(g>>>0>>0){j=(y-g>>2)*9|0;n=k[g>>2]|0;if(n>>>0>=10){m=10;do{m=m*10|0;j=j+1|0}while(n>>>0>=m>>>0)}}else j=0;s=(w|0)==103;v=(h|0)!=0;m=h-((w|0)!=102?j:0)+((v&s)<<31>>31)|0;if((m|0)<(((d-y>>2)*9|0)+-9|0)){m=m+9216|0;r=C+4+(((m|0)/9|0)+-1024<<2)|0;m=((m|0)%9|0)+1|0;if((m|0)<9){n=10;do{n=n*10|0;m=m+1|0}while((m|0)!=9)}else n=10;o=k[r>>2]|0;p=(o>>>0)%(n>>>0)|0;m=(r+4|0)==(d|0);if(!(m&(p|0)==0)){q=(((o>>>0)/(n>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;x=(n|0)/2|0;b=p>>>0>>0?.5:m&(p|0)==(x|0)?1.0:1.5;if(B){x=(i[A>>0]|0)==45;b=x?-b:b;q=x?-q:q}m=o-p|0;k[r>>2]=m;if(q+b!=q){x=m+n|0;k[r>>2]=x;if(x>>>0>999999999){j=r;while(1){m=j+-4|0;k[j>>2]=0;if(m>>>0>>0){g=g+-4|0;k[g>>2]=0}x=(k[m>>2]|0)+1|0;k[m>>2]=x;if(x>>>0>999999999)j=m;else break}}else m=r;j=(y-g>>2)*9|0;o=k[g>>2]|0;if(o>>>0>=10){n=10;do{n=n*10|0;j=j+1|0}while(o>>>0>=n>>>0)}}else m=r}else m=r;m=m+4|0;m=d>>>0>m>>>0?m:d;x=g}else{m=d;x=g}w=m;while(1){if(w>>>0<=x>>>0){t=0;break}g=w+-4|0;if(!(k[g>>2]|0))w=g;else{t=1;break}}d=0-j|0;do if(s){g=((v^1)&1)+h|0;if((g|0)>(j|0)&(j|0)>-5){n=f+-1|0;h=g+-1-j|0}else{n=f+-2|0;h=g+-1|0}g=e&8;if(!g){if(t?(z=k[w+-4>>2]|0,(z|0)!=0):0)if(!((z>>>0)%10|0)){m=0;g=10;do{g=g*10|0;m=m+1|0}while(!((z>>>0)%(g>>>0)|0|0))}else m=0;else m=9;g=((w-y>>2)*9|0)+-9|0;if((n|32|0)==102){r=g-m|0;r=(r|0)>0?r:0;h=(h|0)<(r|0)?h:r;r=0;break}else{r=g+j-m|0;r=(r|0)>0?r:0;h=(h|0)<(r|0)?h:r;r=0;break}}else r=g}else{n=f;r=e&8}while(0);s=h|r;o=(s|0)!=0&1;p=(n|32|0)==102;if(p){v=0;g=(j|0)>0?j:0}else{g=(j|0)<0?d:j;g=al(g,((g|0)<0)<<31>>31,D)|0;m=D;if((m-g|0)<2)do{g=g+-1|0;i[g>>0]=48}while((m-g|0)<2);i[g+-1>>0]=(j>>31&2)+43;g=g+-2|0;i[g>>0]=n;v=g;g=m-g|0}g=B+1+h+o+g|0;Wl(a,32,c,g,e);gq(a,A,B);Wl(a,48,c,g,e^65536);if(p){n=x>>>0>C>>>0?C:x;r=F+9|0;o=r;p=F+8|0;m=n;do{j=al(k[m>>2]|0,0,r)|0;if((m|0)==(n|0)){if((j|0)==(r|0)){i[p>>0]=48;j=p}}else if(j>>>0>F>>>0){_j(F|0,48,j-E|0)|0;do j=j+-1|0;while(j>>>0>F>>>0)}gq(a,j,o-j|0);m=m+4|0}while(m>>>0<=C>>>0);if(s|0)gq(a,21017,1);if(m>>>0>>0&(h|0)>0)while(1){j=al(k[m>>2]|0,0,r)|0;if(j>>>0>F>>>0){_j(F|0,48,j-E|0)|0;do j=j+-1|0;while(j>>>0>F>>>0)}gq(a,j,(h|0)<9?h:9);m=m+4|0;j=h+-9|0;if(!(m>>>0>>0&(h|0)>9)){h=j;break}else h=j}Wl(a,48,h+9|0,9,0)}else{s=t?w:x+4|0;if((h|0)>-1){t=F+9|0;r=(r|0)==0;d=t;o=0-E|0;p=F+8|0;n=x;do{j=al(k[n>>2]|0,0,t)|0;if((j|0)==(t|0)){i[p>>0]=48;j=p}do if((n|0)==(x|0)){m=j+1|0;gq(a,j,1);if(r&(h|0)<1){j=m;break}gq(a,21017,1);j=m}else{if(j>>>0<=F>>>0)break;_j(F|0,48,j+o|0)|0;do j=j+-1|0;while(j>>>0>F>>>0)}while(0);E=d-j|0;gq(a,j,(h|0)>(E|0)?E:h);h=h-E|0;n=n+4|0}while(n>>>0>>0&(h|0)>-1)}Wl(a,48,h+18|0,18,0);gq(a,v,D-v|0)}Wl(a,32,c,g,e^8192)}else{F=(f&32|0)!=0;g=B+3|0;Wl(a,32,c,g,e&-65537);gq(a,A,B);gq(a,b!=b|0.0!=0.0?(F?20993:20997):F?20985:20989,3);Wl(a,32,c,g,e^8192)}while(0);u=G;return ((g|0)<(c|0)?c:g)|0}function Bb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=u;u=u+32|0;A=B+16|0;z=B+4|0;w=B;k[a+36>>2]=b;x=a+24|0;y=a+28|0;e=k[y>>2]|0;d=k[x>>2]|0;c=e-d>>2;if(c>>>0>=b>>>0){if(c>>>0>b>>>0?(f=d+(b<<2)|0,(e|0)!=(f|0)):0)k[y>>2]=e+(~((e+-4-f|0)>>>2)<<2)}else Yh(x,b-c|0,4756);k[A>>2]=0;v=A+4|0;k[v>>2]=0;t=A+8|0;k[t>>2]=0;if(b|0){if((b|0)<0)Jq(A);d=((b+-1|0)>>>5)+1|0;s=jo(d<<2)|0;k[A>>2]=s;k[t>>2]=d;k[v>>2]=b;d=b>>>5;_j(s|0,0,d<<2|0)|0;c=b-(d<<5)|0;d=s+(d<<2)|0;if(c|0)k[d>>2]=k[d>>2]&~(-1>>>(32-c|0))}s=a+4|0;c=(k[s>>2]|0)-(k[a>>2]|0)|0;d=c>>2;k[z>>2]=0;e=z+4|0;k[e>>2]=0;f=z+8|0;k[f>>2]=0;if(d){if((c|0)<0)Jq(z);r=((d+-1|0)>>>5)+1|0;g=jo(r<<2)|0;k[z>>2]=g;k[f>>2]=r;k[e>>2]=d;r=d>>>5;_j(g|0,0,r<<2|0)|0;c=d-(r<<5)|0;d=g+(r<<2)|0;if(c)k[d>>2]=k[d>>2]&~(-1>>>(32-c|0))}else g=0;c=k[a>>2]|0;a:do if((k[s>>2]|0)-c>>2>>>0>2){n=a+12|0;o=a+32|0;p=a+52|0;q=a+56|0;r=a+48|0;d=b;m=0;b:while(1){l=m*3|0;if((m|0)>=0){b=k[c+(l<<2)>>2]|0;e=l+1|0;e=((e|0)%3|0|0)==0?l+-2|0:e;if((e|0)<0)f=-1073741824;else f=k[c+(e<<2)>>2]|0;e=(((l>>>0)%3|0|0)==0?2:-1)+l|0;if((e|0)<0)c=-1073741824;else c=k[c+(e<<2)>>2]|0;if((b|0)!=(f|0)?!((b|0)==(c|0)|(f|0)==(c|0)):0){j=0;do{c=j+l|0;if(!(k[g+(c>>>5<<2)>>2]&1<<(c&31))){f=k[(k[a>>2]|0)+(c<<2)>>2]|0;k[w>>2]=f;e=k[A>>2]|0;if(!(k[e+(f>>>5<<2)>>2]&1<<(f&31))){b=0;i=d;d=f}else{e=k[y>>2]|0;if((e|0)==(k[o>>2]|0))Dj(x,4756);else{k[e>>2]=-1073741824;k[y>>2]=e+4}e=k[p>>2]|0;if((e|0)==(k[q>>2]|0))Dj(r,w);else{k[e>>2]=k[w>>2];k[p>>2]=e+4}e=k[v>>2]|0;f=k[t>>2]|0;if((e|0)==(f<<5|0)){if((e+1|0)<0){Jq(A);f=k[t>>2]|0}i=f<<6;e=e+32&-32;lj(A,f<<5>>>0<1073741823?(i>>>0>>0?e:i):2147483647);e=k[v>>2]|0}k[v>>2]=e+1;h=k[A>>2]|0;b=h+(e>>>5<<2)|0;k[b>>2]=k[b>>2]&~(1<<(e&31));k[w>>2]=d;b=1;i=d+1|0;e=h}h=e+(d>>>5<<2)|0;k[h>>2]=k[h>>2]|1<<(d&31);c:do if(b){d=c;while(1){if((d|0)==-1073741824){d=68;break c}g=k[z>>2]|0;e=g+(d>>>5<<2)|0;k[e>>2]=k[e>>2]|1<<(d&31);e=k[w>>2]|0;k[(k[x>>2]|0)+(e<<2)>>2]=d;k[(k[a>>2]|0)+(d<<2)>>2]=e;e=d+1|0;do if((d|0)>=0){d=((e|0)%3|0|0)==0?d+-2|0:e;if((d|0)<0)break;d=k[(k[n>>2]|0)+(d<<2)>>2]|0;e=d+1|0;if((d|0)<0)break;d=((e|0)%3|0|0)==0?d+-2|0:e}while(0);if((d|0)==(c|0)){d=67;break}}}else{d=c;while(1){if((d|0)==-1073741824){d=68;break c}g=k[z>>2]|0;e=g+(d>>>5<<2)|0;k[e>>2]=k[e>>2]|1<<(d&31);k[(k[x>>2]|0)+(k[w>>2]<<2)>>2]=d;e=d+1|0;do if((d|0)>=0){d=((e|0)%3|0|0)==0?d+-2|0:e;if((d|0)<0)break;d=k[(k[n>>2]|0)+(d<<2)>>2]|0;e=d+1|0;if((d|0)<0)break;d=((e|0)%3|0|0)==0?d+-2|0:e}while(0);if((d|0)==(c|0)){d=67;break}}}while(0);do if((d|0)==67){d=0;if((c|0)==-1073741824){c=-1073741824;d=74}}else if((d|0)==68)if((c|0)>=0){c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((c|0)>=0){c=k[(k[n>>2]|0)+(c<<2)>>2]|0;if((c|0)<0){d=74;break}if(!((c>>>0)%3|0)){c=c+2|0;d=74;break}else{c=c+-1|0;d=74;break}}else d=74}else d=74;while(0);d:do if((d|0)==74){g=k[z>>2]|0;f=g+(c>>>5<<2)|0;d=1<<(c&31);e=(c|0)<0;if((c|0)!=-1073741824){if(!b){b=c;c=e;while(1){if(c)break b;k[f>>2]=k[f>>2]|d;c=(((b>>>0)%3|0|0)==0?2:-1)+b|0;do if((c|0)>=0){c=k[(k[n>>2]|0)+(c<<2)>>2]|0;if((c|0)<0)break;if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}}while(0);g=k[z>>2]|0;if((c|0)==-1073741824)break d;else{b=c;f=g+(c>>>5<<2)|0;d=1<<(c&31);c=(c|0)<0}}}h=k[a>>2]|0;b=c;while(1){c=h+(b<<2)|0;do{k[f>>2]=k[f>>2]|d;k[c>>2]=k[w>>2]}while(e);c=(((b>>>0)%3|0|0)==0?2:-1)+b|0;do if((c|0)>=0){c=k[(k[n>>2]|0)+(c<<2)>>2]|0;if((c|0)<0)break;if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}}while(0);g=k[z>>2]|0;if((c|0)==-1073741824)break;else{b=c;f=g+(c>>>5<<2)|0;d=1<<(c&31);e=(c|0)<0}}}}while(0);d=i}j=j+1|0}while((j|0)<3)}}m=m+1|0;c=k[a>>2]|0;if((m|0)>=(((k[s>>2]|0)-c>>2>>>0)/3|0|0))break a}while(1){}}while(0);i=a+44|0;k[i>>2]=0;c=k[A>>2]|0;b=k[v>>2]|0;y=b>>>5;h=c+(y<<2)|0;b=b&31;d=(y|0)!=0;e:do if(y|b|0){if(!b){g=c;e=0;while(1){f:do if(d){f=0;d=e;while(1){if(!(k[g>>2]&1<>2]=d}if((f|0)==31){e=d;break}else f=f+1|0}}else{f=0;d=e;while(1){if(!(k[g>>2]&1<>2]=d}if((f|0)==31){e=d;break f}f=f+1|0;if(!f)break e}}while(0);g=g+4|0;if((g|0)==(h|0))break e;else d=1}}if(d){d=0;e=0;f=c;do{g=0;while(1){if(!(k[f>>2]&1<>2]=e;d=e}if((g|0)==31)break;else g=g+1|0}f=f+4|0}while((f|0)!=(h|0))}else{f=c;d=0}e=0;do{if(!(k[f>>2]&1<>2]=d}e=e+1|0}while((e|0)!=(b|0))}while(0);d=k[z>>2]|0;if(d){_r(d);c=k[A>>2]|0}if(!c){u=B;return 1}_r(c);u=B;return 1}function Cb(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,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=u;u=u+64|0;C=G+16|0;D=G;A=G+24|0;E=G+8|0;F=G+20|0;k[C>>2]=b;x=(a|0)!=0;y=A+40|0;z=y;A=A+39|0;B=E+4|0;g=0;f=0;n=0;a:while(1){do if((f|0)>-1)if((g|0)>(2147483647-f|0)){f=Lr()|0;k[f>>2]=75;f=-1;break}else{f=g+f|0;break}while(0);g=i[b>>0]|0;if(!(g<<24>>24)){w=87;break}else h=b;b:while(1){switch(g<<24>>24){case 37:{g=h;w=9;break b}case 0:{g=h;break b}default:{}}v=h+1|0;k[C>>2]=v;g=i[v>>0]|0;h=v}c:do if((w|0)==9)while(1){w=0;if((i[h+1>>0]|0)!=37)break c;g=g+1|0;h=h+2|0;k[C>>2]=h;if((i[h>>0]|0)==37)w=9;else break}while(0);g=g-b|0;if(x)gq(a,b,g);if(g|0){b=h;continue}l=h+1|0;g=(i[l>>0]|0)+-48|0;if(g>>>0<10){v=(i[h+2>>0]|0)==36;t=v?g:-1;n=v?1:n;l=v?h+3|0:l}else t=-1;k[C>>2]=l;g=i[l>>0]|0;h=(g<<24>>24)+-32|0;d:do if(h>>>0<32){m=0;o=g;while(1){g=1<>2]=l;g=i[l>>0]|0;h=(g<<24>>24)+-32|0;if(h>>>0>=32)break;else o=g}}else m=0;while(0);if(g<<24>>24==42){h=l+1|0;g=(i[h>>0]|0)+-48|0;if(g>>>0<10?(i[l+2>>0]|0)==36:0){k[e+(g<<2)>>2]=10;g=k[d+((i[h>>0]|0)+-48<<3)>>2]|0;n=1;l=l+3|0}else{if(n|0){f=-1;break}if(x){n=(k[c>>2]|0)+(4-1)&~(4-1);g=k[n>>2]|0;k[c>>2]=n+4;n=0;l=h}else{g=0;n=0;l=h}}k[C>>2]=l;v=(g|0)<0;g=v?0-g|0:g;m=v?m|8192:m}else{g=qn(C)|0;if((g|0)<0){f=-1;break}l=k[C>>2]|0}do if((i[l>>0]|0)==46){if((i[l+1>>0]|0)!=42){k[C>>2]=l+1;h=qn(C)|0;l=k[C>>2]|0;break}o=l+2|0;h=(i[o>>0]|0)+-48|0;if(h>>>0<10?(i[l+3>>0]|0)==36:0){k[e+(h<<2)>>2]=10;h=k[d+((i[o>>0]|0)+-48<<3)>>2]|0;l=l+4|0;k[C>>2]=l;break}if(n|0){f=-1;break a}if(x){v=(k[c>>2]|0)+(4-1)&~(4-1);h=k[v>>2]|0;k[c>>2]=v+4}else h=0;k[C>>2]=o;l=o}else h=-1;while(0);s=0;while(1){if(((i[l>>0]|0)+-65|0)>>>0>57){f=-1;break a}v=l+1|0;k[C>>2]=v;o=i[(i[l>>0]|0)+-65+(20485+(s*58|0))>>0]|0;q=o&255;if((q+-1|0)>>>0<8){s=q;l=v}else break}if(!(o<<24>>24)){f=-1;break}r=(t|0)>-1;do if(o<<24>>24==19)if(r){f=-1;break a}else w=49;else{if(r){k[e+(t<<2)>>2]=q;r=d+(t<<3)|0;t=k[r+4>>2]|0;w=D;k[w>>2]=k[r>>2];k[w+4>>2]=t;w=49;break}if(!x){f=0;break a}Uf(D,q,c)}while(0);if((w|0)==49?(w=0,!x):0){g=0;b=v;continue}l=i[l>>0]|0;l=(s|0)!=0&(l&15|0)==3?l&-33:l;r=m&-65537;t=(m&8192|0)==0?m:r;e:do switch(l|0){case 110:switch((s&255)<<24>>24){case 0:{k[k[D>>2]>>2]=f;g=0;b=v;continue a}case 1:{k[k[D>>2]>>2]=f;g=0;b=v;continue a}case 2:{g=k[D>>2]|0;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=0;b=v;continue a}case 3:{j[k[D>>2]>>1]=f;g=0;b=v;continue a}case 4:{i[k[D>>2]>>0]=f;g=0;b=v;continue a}case 6:{k[k[D>>2]>>2]=f;g=0;b=v;continue a}case 7:{g=k[D>>2]|0;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=0;b=v;continue a}default:{g=0;b=v;continue a}}case 112:{l=120;h=h>>>0>8?h:8;b=t|8;w=61;break}case 88:case 120:{b=t;w=61;break}case 111:{l=D;b=k[l>>2]|0;l=k[l+4>>2]|0;q=On(b,l,y)|0;r=z-q|0;m=0;o=20949;h=(t&8|0)==0|(h|0)>(r|0)?h:r+1|0;r=t;w=67;break}case 105:case 100:{l=D;b=k[l>>2]|0;l=k[l+4>>2]|0;if((l|0)<0){b=Wo(0,0,b|0,l|0)|0;l=M;m=D;k[m>>2]=b;k[m+4>>2]=l;m=1;o=20949;w=66;break e}else{m=(t&2049|0)!=0&1;o=(t&2048|0)==0?((t&1|0)==0?20949:20951):20950;w=66;break e}}case 117:{l=D;m=0;o=20949;b=k[l>>2]|0;l=k[l+4>>2]|0;w=66;break}case 99:{i[A>>0]=k[D>>2];b=A;m=0;o=20949;q=y;l=1;h=r;break}case 109:{l=Lr()|0;l=lq(k[l>>2]|0)|0;w=71;break}case 115:{l=k[D>>2]|0;l=l|0?l:20959;w=71;break}case 67:{k[E>>2]=k[D>>2];k[B>>2]=0;k[D>>2]=E;q=-1;l=E;w=75;break}case 83:{b=k[D>>2]|0;if(!h){Wl(a,32,g,0,t);b=0;w=84}else{q=h;l=b;w=75}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{g=Ab(a,+p[D>>3],g,h,t,l)|0;b=v;continue a}default:{m=0;o=20949;q=y;l=h;h=t}}while(0);f:do if((w|0)==61){t=D;s=k[t>>2]|0;t=k[t+4>>2]|0;q=sn(s,t,y,l&32)|0;o=(b&8|0)==0|(s|0)==0&(t|0)==0;m=o?0:2;o=o?20949:20949+(l>>4)|0;r=b;b=s;l=t;w=67}else if((w|0)==66){q=al(b,l,y)|0;r=t;w=67}else if((w|0)==71){w=0;t=hj(l,0,h)|0;s=(t|0)==0;b=l;m=0;o=20949;q=s?l+h|0:t;l=s?h:t-l|0;h=r}else if((w|0)==75){w=0;o=l;b=0;h=0;while(1){m=k[o>>2]|0;if(!m)break;h=mq(F,m)|0;if((h|0)<0|h>>>0>(q-b|0)>>>0)break;b=h+b|0;if(q>>>0>b>>>0)o=o+4|0;else break}if((h|0)<0){f=-1;break a}Wl(a,32,g,b,t);if(!b){b=0;w=84}else{m=0;while(1){h=k[l>>2]|0;if(!h){w=84;break f}h=mq(F,h)|0;m=h+m|0;if((m|0)>(b|0)){w=84;break f}gq(a,F,h);if(m>>>0>=b>>>0){w=84;break}else l=l+4|0}}}while(0);if((w|0)==67){w=0;l=(b|0)!=0|(l|0)!=0;t=(h|0)!=0|l;l=((l^1)&1)+(z-q)|0;b=t?q:y;q=y;l=t?((h|0)>(l|0)?h:l):h;h=(h|0)>-1?r&-65537:r}else if((w|0)==84){w=0;Wl(a,32,g,b,t^8192);g=(g|0)>(b|0)?g:b;b=v;continue}s=q-b|0;r=(l|0)<(s|0)?s:l;t=r+m|0;g=(g|0)<(t|0)?t:g;Wl(a,32,g,t,h);gq(a,o,m);Wl(a,48,g,t,h^65536);Wl(a,48,r,s,0);gq(a,b,s);Wl(a,32,g,t,h^8192);b=v}g:do if((w|0)==87)if(!a)if(!n)f=0;else{f=1;while(1){b=k[e+(f<<2)>>2]|0;if(!b)break;Uf(d+(f<<3)|0,b,c);f=f+1|0;if((f|0)>=10){f=1;break g}}while(1){if(k[e+(f<<2)>>2]|0){f=-1;break g}f=f+1|0;if((f|0)>=10){f=1;break}}}while(0);u=G;return f|0} function Sk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=Wa[k[(k[a>>2]|0)+24>>2]&255](a)|0;if((d|0)<=0){e=1;return e|0}e=a+36|0;c=a+48|0;a=0;while(1){f=k[(k[e>>2]|0)+(a<<2)>>2]|0;a=a+1|0;if(!(Ra[k[(k[f>>2]|0)+20>>2]&31](f,c,b)|0)){a=0;c=5;break}if((a|0)>=(d|0)){a=1;c=5;break}}if((c|0)==5)return a|0;return 0}function Tk(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=4316;b=k[a+64>>2]|0;if(b|0){c=a+68|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}k[a+12>>2]=4340;b=k[a+32>>2]|0;if(b|0)_r(b);b=k[a+20>>2]|0;if(!b){_r(a);return}_r(b);_r(a);return}function Uk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=k[b>>2]|0;if(!c){e=0;return e|0}d=a+44|0;e=k[d>>2]|0;if(e>>>0<(k[a+48>>2]|0)>>>0){k[b>>2]=0;k[e>>2]=c;k[d>>2]=(k[d>>2]|0)+4;e=1;return e|0}else{oh(a+40|0,b);e=1;return e|0}return 0}function Vk(a){a=a|0;var b=0,c=0,d=0;d=a;a:do if(!(d&3))c=4;else{b=d;while(1){if(!(i[a>>0]|0)){a=b;break a}a=a+1|0;b=a;if(!(b&3)){c=4;break}}}while(0);if((c|0)==4){while(1){b=k[a>>2]|0;if(!((b&-2139062144^-2139062144)&b+-16843009))a=a+4|0;else break}if((b&255)<<24>>24)do a=a+1|0;while((i[a>>0]|0)!=0)}return a-d|0}function Wk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=Wa[k[(k[a>>2]|0)+24>>2]&255](a)|0;if((d|0)<=0){e=1;return e|0}e=a+36|0;c=a+48|0;a=0;while(1){f=k[(k[e>>2]|0)+(a<<2)>>2]|0;a=a+1|0;if(!(Ra[k[(k[f>>2]|0)+16>>2]&31](f,c,b)|0)){a=0;c=5;break}if((a|0)>=(d|0)){a=1;c=5;break}}if((c|0)==5)return a|0;return 0}function Xk(a,b){a=+a;b=b|0;var c=0,d=0,e=0;p[s>>3]=a;c=k[s>>2]|0;d=k[s+4>>2]|0;e=So(c|0,d|0,52)|0;switch(e&2047){case 0:{if(a!=0.0){a=+Xk(a*18446744073709551616.0,b);c=(k[b>>2]|0)+-64|0}else c=0;k[b>>2]=c;break}case 2047:break;default:{k[b>>2]=(e&2047)+-1022;k[s>>2]=c;k[s+4>>2]=d&-2146435073|1071644672;a=+p[s>>3]}}return +a}function Yk(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=4408;b=k[a+64>>2]|0;if(b|0){c=a+68|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}k[a+12>>2]=4388;b=k[a+32>>2]|0;if(b|0)_r(b);b=k[a+20>>2]|0;if(!b){_r(a);return}_r(b);_r(a);return}function Zk(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=2356;b=k[a+76>>2]|0;if(b|0)_r(b);d=a+68|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)Yr(b);k[a>>2]=1740;d=k[a+32>>2]|0;if(!d){_r(a);return}b=a+36|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);_r(d);_r(a);return}function _k(a,b){a=a|0;b=b|0;var c=0,d=0;d=0;while(1){if((l[21019+d>>0]|0)==(a|0)){a=2;break}c=d+1|0;if((c|0)==87){c=21107;d=87;a=5;break}else d=c}if((a|0)==2)if(!d)c=21107;else{c=21107;a=5}if((a|0)==5)while(1){do{a=c;c=c+1|0}while((i[a>>0]|0)!=0);d=d+-1|0;if(!d)break;else a=5}return ur(c,k[b+20>>2]|0)|0}function $k(a){a=a|0;if(!(k[a+44>>2]|0)){a=0;return a|0}if(!(k[a+48>>2]|0)){a=0;return a|0}if(!(k[a+28>>2]|0)){a=0;return a|0}if(!(k[a+32>>2]|0)){a=0;return a|0}if(!(k[a+36>>2]|0)){a=0;return a|0}if(!(k[a+40>>2]|0)){a=0;return a|0}a=(k[a+68>>2]|0)!=-1;return a|0}function al(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(b>>>0>0|(b|0)==0&a>>>0>4294967295){while(1){d=Zn(a|0,b|0,10,0)|0;c=c+-1|0;i[c>>0]=d&255|48;d=a;a=Bq(a|0,b|0,10,0)|0;if(!(b>>>0>9|(b|0)==9&d>>>0>4294967295))break;else b=M}b=a}else b=a;if(b)while(1){c=c+-1|0;i[c>>0]=(b>>>0)%10|0|48;if(b>>>0<10)break;else b=(b>>>0)/10|0}return c|0}function bl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0;a=u;u=u+32|0;f=a;e=a+8|0;p[f>>3]=0.0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;Jk(e,c,Vk(c)|0);yi(b,e,f)|0;d=+p[f>>3];Jp(e);u=a;return +d}function cl(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=4316;b=k[a+64>>2]|0;if(b|0){c=a+68|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}k[a+12>>2]=4340;b=k[a+32>>2]|0;if(b|0)_r(b);b=k[a+20>>2]|0;if(!b)return;_r(b);return}function dl(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=2020;b=k[a+76>>2]|0;if(b|0)_r(b);d=a+68|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)Yr(b);k[a>>2]=1740;d=k[a+32>>2]|0;if(!d){_r(a);return}b=a+36|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);_r(d);_r(a);return}function el(a){a=a|0;if(!(k[a+60>>2]|0)){a=0;return a|0}if(!(k[a+64>>2]|0)){a=0;return a|0}if(!(k[a+44>>2]|0)){a=0;return a|0}if(!(k[a+48>>2]|0)){a=0;return a|0}if(!(k[a+52>>2]|0)){a=0;return a|0}if(!(k[a+56>>2]|0)){a=0;return a|0}a=(k[a+84>>2]|0)!=-1;return a|0}function fl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a=u;u=u+16|0;e=a+12|0;d=a;k[e>>2]=0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;Jk(d,c,Vk(c)|0);qk(b,d,e)|0;c=k[e>>2]|0;Jp(d);u=a;return c|0}function gl(a){a=a|0;var b=0,c=0,d=0;d=jo(60)|0;b=d;c=b+60|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(c|0));a=ni(d,a)|0;b=a?0:d;if(a){d=a?d:0;return d|0}mk(b);_r(b);d=a?d:0;return d|0}function hl(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=4408;b=k[a+64>>2]|0;if(b|0){c=a+68|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}k[a+12>>2]=4388;b=k[a+32>>2]|0;if(b|0)_r(b);b=k[a+20>>2]|0;if(!b)return;_r(b);return}function il(a){a=a|0;if(!a)return;Jp(a+28|0);fk(a+12|0,k[a+16>>2]|0);nk(a,k[a+4>>2]|0);_r(a);return}function jl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;Zc(a,b);if((b|0)<=-1)return;f=a+76|0;e=k[f>>2]|0;a=k[a+72>>2]|0;if((e-a>>2|0)<=(b|0))return;c=a+(b<<2)|0;a=c+4|0;b=e-a|0;d=b>>2;if(!d)b=e;else{mn(c|0,a|0,b|0)|0;b=k[f>>2]|0}a=c+(d<<2)|0;if((b|0)==(a|0))return;k[f>>2]=b+(~((b+-4-a|0)>>>2)<<2);return}function kl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=Wo(j^a|0,i^b|0,j|0,i|0)|0;g=M;a=f^j;b=e^i;return Wo((Dd(h,g,Wo(f^c|0,e^d|0,f|0,e|0)|0,M,0)|0)^a|0,M^b|0,a|0,b|0)|0}function ll(a,b){a=a|0;b=b|0;var c=0,d=0;k[b>>2]=2;d=a+4|0;c=b+8|0;a=k[c>>2]|0;b=(k[b+12>>2]|0)-a|0;if(b>>>0<4294967292){Al(c,b+4|0,0);a=k[c>>2]|0}c=a+b|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[c>>0]=d;i[c+1>>0]=d>>8;i[c+2>>0]=d>>16;i[c+3>>0]=d>>24;return}function ml(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a=u;u=u+32|0;e=a;d=a+8|0;p[e>>3]=0.0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;Jk(d,c,Vk(c)|0);c=yi(b,d,e)|0;Jp(d);u=a;return c|0}function nl(a){a=a|0;var b=0,c=0;k[a>>2]=2356;b=k[a+76>>2]|0;if(b|0)_r(b);c=a+68|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)Yr(b);k[a>>2]=1740;c=k[a+32>>2]|0;if(!c)return;b=a+36|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);_r(c);return}function ol(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a=u;u=u+16|0;e=a+12|0;d=a;k[e>>2]=0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;Jk(d,c,Vk(c)|0);c=qk(b,d,e)|0;Jp(d);u=a;return c|0}function pl(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=4772;b=k[a+84>>2]|0;if(b|0){c=a+88|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);_r(b)}b=k[a+72>>2]|0;if(!b){Vh(a);_r(a);return}c=a+76|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b);Vh(a);_r(a);return}function ql(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=k[a>>2]|0;if((d|0)<0){c=-1073741824;return c|0}if((k[(k[b>>2]|0)+(d<<2)>>2]|0)==-1073741824){c=-1073741824;return c|0}b=(d>>>0)/3|0;a=k[c+84>>2]|0;if((b|0)>=(((k[c+88>>2]|0)-a|0)/12|0|0))Ka(20431,20341,64,20426);c=k[a+(b*12|0)+(((d>>>0)%3|0)<<2)>>2]|0;return c|0}function rl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;a=b+16|0;e=k[a>>2]|0;f=b+36|0;g=b+24|0;do if(e){if((e|0)!=(c|0)){k[f>>2]=(k[f>>2]|0)+1;k[g>>2]=2;i[b+54>>0]=1;break}if((k[g>>2]|0)==2)k[g>>2]=d}else{k[a>>2]=c;k[g>>2]=d;k[f>>2]=1}while(0);return}function sl(a){a=a|0;var b=0,c=0;k[a>>2]=2020;b=k[a+76>>2]|0;if(b|0)_r(b);c=a+68|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)Yr(b);k[a>>2]=1740;c=k[a+32>>2]|0;if(!c)return;b=a+36|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);_r(c);return}function tl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;k[a>>2]=b;i=b+16|0;g=k[i+4>>2]|0;h=a+8|0;k[h>>2]=k[i>>2];k[h+4>>2]=g;h=b+24|0;g=k[h+4>>2]|0;b=a+16|0;k[b>>2]=k[h>>2];k[b+4>>2]=g;b=a+40|0;k[b>>2]=c;k[b+4>>2]=d;d=a+48|0;k[d>>2]=e;k[d+4>>2]=f;return}function ul(a,b,c){a=a|0;b=b|0;c=c|0;if(((l[(k[a+4>>2]|0)+36>>0]|0)<<8&65535)<512?!(Wa[k[(k[a>>2]|0)+52>>2]&255](a)|0):0){c=0;return c|0}c=Ud(a,b,c)|0;return c|0}function vl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((b|0)<=-1)Ka(20316,20341,63,20426);d=k[a+84>>2]|0;if((((k[a+88>>2]|0)-d|0)/12|0|0)>(b|0)){d=d+(b*12|0)|0;yg(c,d,d+12|0);return 1}else Ka(20431,20341,64,20426);return 0}function wl(a,b){a=a|0;b=b|0;switch(b<<24>>24){case 0:{a=jo(20)|0;dp(a);break}case 1:{a=jo(24)|0;Ep(a);break}case 2:{a=jo(36)|0;qo(a);break}case 3:{a=jo(28)|0;xp(a);break}default:a=0}return a|0}function xl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;k[a>>2]=0;c=a+4|0;k[c>>2]=0;k[a+8>>2]=0;if(!b)return;if(b>>>0>1073741823){Jq(a);c=Ma(4)|0;Cr(c);wa(c|0,1344,125)}d=b<<2;e=jo(d)|0;k[a>>2]=e;b=e+(b<<2)|0;k[a+8>>2]=b;_j(e|0,0,d|0)|0;k[c>>2]=b;return}function yl(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=4772;b=k[a+84>>2]|0;if(b|0){c=a+88|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);_r(b)}b=k[a+72>>2]|0;if(!b){Vh(a);return}c=a+76|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b);Vh(a);return}function zl(a,b,c){a=a|0;b=b|0;c=c|0;if(!(xo(a,b,c)|0)){c=0;return c|0}b=k[b+4>>2]|0;if((c|0)<=-1)Ka(20132,20148,63,20247);a=k[b+8>>2]|0;if(((k[b+12>>2]|0)-a>>2|0)<=(c|0))Ka(20257,20148,64,20247);c=(k[(k[a+(c<<2)>>2]|0)+28>>2]|0)==9;return c|0}function Al(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;c=a+4|0;f=k[c>>2]|0;e=k[a>>2]|0;d=f-e|0;if(b>>>0<=d>>>0){if(b>>>0>>0?(g=e+b|0,(f|0)!=(g|0)):0)k[c>>2]=g}else qj(a,b-d|0);g=a+24|0;b=g;b=Fp(k[b>>2]|0,k[b+4>>2]|0,1,0)|0;k[g>>2]=b;k[g+4>>2]=M;return}function Bl(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=2412;b=k[a+76>>2]|0;if(b|0)_r(b);k[a>>2]=1740;b=k[a+32>>2]|0;if(!b){_r(a);return}c=a+36|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b);_r(a);return}function Cl(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;Kg(e,a,b,c);c=a+24|0;k[c>>2]=k[e>>2];b=e+4|0;$m(a+28|0,b)|0;Jp(b);u=d;return c|0}function Dl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a=k[b+4>>2]|0;if(!a){c=0;return c|0}b=k[a+40>>2]|0;d=k[a+44>>2]|0;a:do if((b|0)==(d|0))a=0;else while(1){a=k[b>>2]|0;b=b+4|0;if((k[a+40>>2]|0)==(c|0))break a;if((b|0)==(d|0)){a=0;break}}while(0);c=a;return c|0}function El(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=2076;b=k[a+76>>2]|0;if(b|0)_r(b);k[a>>2]=1740;b=k[a+32>>2]|0;if(!b){_r(a);return}c=a+36|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b);_r(a);return}function Fl(a,b){a=a|0;b=b|0;var c=0,d=0;d=jo(40)|0;k[d>>2]=-1;vo(d+8|0);Ua[k[(k[a>>2]|0)+16>>2]&7](a,d);b=b+88|0;c=k[b>>2]|0;k[b>>2]=d;if(!c)return 1;a=k[c+8>>2]|0;if(a|0){b=c+12|0;if((k[b>>2]|0)!=(a|0))k[b>>2]=a;_r(a)}_r(c);return 1}function Gl(a){a=a|0;var b=0;k[a>>2]=3128;b=k[a+80>>2]|0;if(b|0)_r(b);b=k[a+68>>2]|0;if(b|0)_r(b);b=k[a+56>>2]|0;if(b|0)_r(b);b=k[a+44>>2]|0;if(!b){_r(a);return}_r(b);_r(a);return}function Hl(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=1460;b=k[a+16>>2]|0;if(b|0){c=a+20|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+4>>2]|0;if(!b){_r(a);return}c=a+8|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b);_r(a);return}function Il(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;Lg(e,a,b,c);c=a+24|0;k[c>>2]=k[e>>2];b=e+4|0;$m(a+28|0,b)|0;Jp(b);u=d;return c|0}function Jl(a){a=a|0;var b=0;k[a>>2]=2792;b=k[a+80>>2]|0;if(b|0)_r(b);b=k[a+68>>2]|0;if(b|0)_r(b);b=k[a+56>>2]|0;if(b|0)_r(b);b=k[a+44>>2]|0;if(!b){_r(a);return}_r(b);_r(a);return}function Kl(a){a=a|0;var b=0;k[a>>2]=3856;b=k[a+80>>2]|0;if(b|0)_r(b);b=k[a+68>>2]|0;if(b|0)_r(b);b=k[a+56>>2]|0;if(b|0)_r(b);b=k[a+44>>2]|0;if(!b){_r(a);return}_r(b);_r(a);return}function Ll(a){a=a|0;var b=0,c=0,d=0;b=k[a+8>>2]|0;c=k[a+12>>2]|0;if((b|0)==(c|0)){c=1;return c|0}a=a+32|0;while(1){d=k[b>>2]|0;b=b+4|0;if(!(_a[k[(k[d>>2]|0)+16>>2]&127](d,k[a>>2]|0)|0)){b=0;a=5;break}if((b|0)==(c|0)){b=1;a=5;break}}if((a|0)==5)return b|0;return 0}function Ml(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(uq(a,k[b+8>>2]|0,f)|0)ak(0,b,c,d,e);else{a=k[a+8>>2]|0;Za[k[(k[a>>2]|0)+20>>2]&3](a,b,c,d,e,f)}return}function Nl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;c=l[a+12>>0]|0;d=a+8|0;b=k[d>>2]|0;if(b>>>0<4096){e=k[a>>2]|0;f=a+4|0;a=(k[f>>2]|0)+-1|0;k[f>>2]=a;b=l[e+a>>0]|0|b<<8;k[d>>2]=b}a=b&255;c=0-c&255;e=$(b>>>8,c)|0;f=a>>>0>>0;k[d>>2]=f?e+a|0:b-c-e|0;return f|0}function Ol(a){a=a|0;var b=0,c=0;k[a>>2]=2412;b=k[a+76>>2]|0;if(b|0)_r(b);k[a>>2]=1740;c=k[a+32>>2]|0;if(!c)return;b=a+36|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);_r(c);return}function Pl(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=2468;ds(a+100|0);k[a>>2]=1740;b=k[a+32>>2]|0;if(!b){_r(a);return}c=a+36|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b);_r(a);return}function Ql(a){a=a|0;var b=0,c=0;k[a>>2]=4080;c=a+28|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)Yr(b);k[a>>2]=1680;c=a+20|0;b=k[c>>2]|0;k[c>>2]=0;if(!b){ek(a);_r(a);return}Ta[k[(k[b>>2]|0)+4>>2]&127](b);ek(a);_r(a);return}function Rl(a){a=a|0;var b=0;k[a>>2]=3520;b=k[a+80>>2]|0;if(b|0)_r(b);b=k[a+68>>2]|0;if(b|0)_r(b);b=k[a+56>>2]|0;if(b|0)_r(b);b=k[a+44>>2]|0;if(!b){_r(a);return}_r(b);_r(a);return}function Sl(a){a=a|0;var b=0;k[a>>2]=3128;b=k[a+80>>2]|0;if(b|0)_r(b);b=k[a+68>>2]|0;if(b|0)_r(b);b=k[a+56>>2]|0;if(b|0)_r(b);b=k[a+44>>2]|0;if(!b)return;_r(b);return}function Tl(a){a=a|0;var b=0,c=0;k[a>>2]=2076;b=k[a+76>>2]|0;if(b|0)_r(b);k[a>>2]=1740;c=k[a+32>>2]|0;if(!c)return;b=a+36|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);_r(c);return}function Ul(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=2132;ds(a+100|0);k[a>>2]=1740;b=k[a+32>>2]|0;if(!b){_r(a);return}c=a+36|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b);_r(a);return}function Vl(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=1460;b=k[a+16>>2]|0;if(b|0){c=a+20|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}d=k[a+4>>2]|0;if(!d)return;b=a+8|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);_r(d);return}function Wl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=u;u=u+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;_j(f|0,b|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{gq(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}gq(a,f,e)}u=g;return}function Xl(a){a=a|0;var b=0;k[a>>2]=2792;b=k[a+80>>2]|0;if(b|0)_r(b);b=k[a+68>>2]|0;if(b|0)_r(b);b=k[a+56>>2]|0;if(b|0)_r(b);b=k[a+44>>2]|0;if(!b)return;_r(b);return}function Yl(a){a=a|0;var b=0;k[a>>2]=3856;b=k[a+80>>2]|0;if(b|0)_r(b);b=k[a+68>>2]|0;if(b|0)_r(b);b=k[a+56>>2]|0;if(b|0)_r(b);b=k[a+44>>2]|0;if(!b)return;_r(b);return}function Zl(a){a=a|0;var b=0,c=0;k[a>>2]=4080;c=a+28|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)Yr(b);k[a>>2]=1680;c=a+20|0;b=k[c>>2]|0;k[c>>2]=0;if(!b){ek(a);return}Ta[k[(k[b>>2]|0)+4>>2]&127](b);ek(a);return}function _l(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;k[a+4>>2]=b;d=k[b+4>>2]|0;if((c|0)<=-1)Ka(20132,20148,63,20247);b=k[d+8>>2]|0;if(((k[d+12>>2]|0)-b>>2|0)>(c|0)){k[a+8>>2]=k[b+(c<<2)>>2];k[a+12>>2]=c;return 1}else Ka(20257,20148,64,20247);return 0}function $l(a){a=a|0;var b=0;k[a>>2]=3520;b=k[a+80>>2]|0;if(b|0)_r(b);b=k[a+68>>2]|0;if(b|0)_r(b);b=k[a+56>>2]|0;if(b|0)_r(b);b=k[a+44>>2]|0;if(!b)return;_r(b);return}function am(a){a=a|0;var b=0,c=0;k[a>>2]=2468;ds(a+100|0);k[a>>2]=1740;c=k[a+32>>2]|0;if(!c)return;a=a+36|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);_r(c);return}function bm(a,b){a=a|0;b=b|0;var c=0;if((b|0)<0){b=0;return b|0}c=k[a+4>>2]|0;if(((k[c+12>>2]|0)-(k[c+8>>2]|0)>>2|0)<=(b|0)){c=0;return c|0}c=k[(k[a+8>>2]|0)+(k[(k[a+20>>2]|0)+(b<<2)>>2]<<2)>>2]|0;c=_a[k[(k[c>>2]|0)+32>>2]&127](c,b)|0;return c|0}function cm(a){a=a|0;var b=0;Bn(a);Bn(a+40|0);b=a+80|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[b+16>>2]=0;k[b+20>>2]=0;k[b+24>>2]=0;k[b+28>>2]=0;vr(a+112|0);k[a+128>>2]=-1;k[a+132>>2]=-1;return}function dm(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;c=k[a>>2]|0;d=a+4|0;f=k[d>>2]|0;e=c;b=f+(~((f+-4-e|0)>>>2)<<2)|0;if((f|0)==(c|0))b=c;else k[d>>2]=b;k[a+16>>2]=0;k[a+12>>2]=b;if(!c)return;if((b|0)!=(c|0))k[d>>2]=b+(~((b+-4-e|0)>>>2)<<2);_r(c);return}function em(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(uq(a,k[b+8>>2]|0,0)|0)rl(0,b,c,d);else{a=k[a+8>>2]|0;$a[k[(k[a>>2]|0)+28>>2]&3](a,b,c,d)}return}function fm(a){a=a|0;var b=0,c=0;k[a>>2]=2132;ds(a+100|0);k[a>>2]=1740;c=k[a+32>>2]|0;if(!c)return;a=a+36|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);_r(c);return}function gm(a,b){a=a|0;b=b|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;if((i[b+11>>0]|0)<0)Jk(a,k[b>>2]|0,k[b+4>>2]|0);else{k[a>>2]=k[b>>2];k[a+4>>2]=k[b+4>>2];k[a+8>>2]=k[b+8>>2]}return}function hm(a,b){a=a|0;b=b|0;var c=0;c=k[a+4>>2]|0;if(c|0?((l[c+36>>0]|0)<<8&65535)<512:0){c=1;return c|0}c=_a[k[(k[a>>2]|0)+48>>2]&127](a,(k[b+4>>2]|0)-(k[b>>2]|0)>>2)|0;return c|0}function im(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=u;u=u+32|0;f=e;d=e+20|0;k[f>>2]=k[a+60>>2];k[f+4>>2]=0;k[f+8>>2]=b;k[f+12>>2]=d;k[f+16>>2]=c;if((Pp(Ha(140,f|0)|0)|0)<0){k[d>>2]=-1;a=-1}else a=k[d>>2]|0;u=e;return a|0}function jm(a,b){a=a|0;b=b|0;var c=0;if((b|0)==-1|(b|0)>3){a=0;return a|0}c=k[a+20+(b*12|0)>>2]|0;if(((k[a+20+(b*12|0)+4>>2]|0)-c|0)<=0){a=0;return a|0}b=k[c>>2]|0;if((b|0)==-1){a=0;return a|0}a=k[(k[a+8>>2]|0)+(b<<2)>>2]|0;return a|0}function km(a,b){a=a|0;b=b|0;var c=0;Qn(a);k[a>>2]=1620;c=a+36|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;k[c+12>>2]=0;k[c+16>>2]=0;k[c+20>>2]=0;c=k[b>>2]|0;k[b>>2]=0;k[a+60>>2]=c;return}function lm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a:do if(!c)a=0;else{while(1){d=i[a>>0]|0;e=i[b>>0]|0;if(d<<24>>24!=e<<24>>24)break;c=c+-1|0;if(!c){a=0;break a}else{a=a+1|0;b=b+1|0}}a=(d&255)-(e&255)|0}while(0);return a|0}function mm(a,b,c){a=a|0;b=b|0;c=c|0;if(!(jk(k[a+8>>2]|0,(k[b+4>>2]|0)-(k[b>>2]|0)>>2)|0)){c=0;return c|0}c=Ra[k[(k[a>>2]|0)+32>>2]&31](a,b,c)|0;return c|0}function nm(a,b){a=a|0;b=b|0;var c=0;c=b*3|0;if((b|0)<0){c=0;return c|0}Dg(a,c,4760);Dg(a+12|0,c,4756);Nk(a+24|0,c);c=1;return c|0}function om(a,b){a=a|0;b=b|0;var c=0;c=k[a+16>>2]|0;if(((k[a+20>>2]|0)-c>>2|0)<=(b|0)){a=0;return a|0}b=k[c+(b<<2)>>2]|0;if((b|0)<0){a=0;return a|0}a=Th(k[(k[a+36>>2]|0)+(b<<2)>>2]|0)|0;return a|0}function pm(a){a=a|0;if(!(k[a+44>>2]|0))return 0;if(!(k[a+28>>2]|0))return 0;if(!(k[a+32>>2]|0))return 0;if(!(k[a+36>>2]|0))return 0;else return (k[a+40>>2]|0)!=0|0;return 0}function qm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=a+11|0;c=i[d>>0]|0;if(c<<24>>24<0)e=k[a+4>>2]|0;else e=c&255;if(e>>>0<=b>>>0){Eq(a);c=i[d>>0]|0}if(c<<24>>24<0)a=k[a>>2]|0;return a+b|0}function rm(a){a=a|0;var b=0,c=0;k[a>>2]=3184;b=k[a+60>>2]|0;if(b|0)_r(b);c=a+52|0;b=k[c>>2]|0;k[c>>2]=0;if(!b){_r(a);return}Yr(b);_r(a);return}function sm(a){a=a|0;if(!(k[a+60>>2]|0))return 0;if(!(k[a+44>>2]|0))return 0;if(!(k[a+48>>2]|0))return 0;if(!(k[a+52>>2]|0))return 0;else return (k[a+56>>2]|0)!=0|0;return 0}function tm(a){a=a|0;if(!(k[a+28>>2]|0)){a=0;return a|0}if(!(k[a+32>>2]|0)){a=0;return a|0}if(!(k[a+36>>2]|0)){a=0;return a|0}a=(k[a+40>>2]|0)!=0;return a|0}function um(a){a=a|0;var b=0,c=0;b=a+74|0;c=i[b>>0]|0;i[b>>0]=c+255|c;b=k[a>>2]|0;if(!(b&8)){k[a+8>>2]=0;k[a+4>>2]=0;c=k[a+44>>2]|0;k[a+28>>2]=c;k[a+20>>2]=c;k[a+16>>2]=c+(k[a+48>>2]|0);a=0}else{k[a>>2]=b|32;a=-1}return a|0}function vm(a,b){a=a|0;b=b|0;var c=0,d=0;d=a;c=d+64|0;do{k[d>>2]=k[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(c|0));d=a+64|0;k[a+88>>2]=0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;i[d+20>>0]=0;return}function wm(a){a=a|0;var b=0,c=0;k[a>>2]=2848;b=k[a+60>>2]|0;if(b|0)_r(b);c=a+52|0;b=k[c>>2]|0;k[c>>2]=0;if(!b){_r(a);return}Yr(b);_r(a);return}function xm(a){a=a|0;var b=0,c=0;k[a>>2]=3912;b=k[a+60>>2]|0;if(b|0)_r(b);c=a+52|0;b=k[c>>2]|0;k[c>>2]=0;if(!b){_r(a);return}Yr(b);_r(a);return}function ym(a,b){a=a|0;b=b|0;var c=0,d=0;c=i[a>>0]|0;d=i[b>>0]|0;if(c<<24>>24==0?1:c<<24>>24!=d<<24>>24)a=d;else{do{a=a+1|0;b=b+1|0;c=i[a>>0]|0;d=i[b>>0]|0}while(!(c<<24>>24==0?1:c<<24>>24!=d<<24>>24));a=d}return (c&255)-(a&255)|0}function zm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=u;u=u+32|0;d=e;k[a+36>>2]=17;if((k[a>>2]&64|0)==0?(k[d>>2]=k[a+60>>2],k[d+4>>2]=21523,k[d+8>>2]=e+16,Ga(54,d|0)|0):0)i[a+75>>0]=-1;d=Kh(a,b,c)|0;u=e;return d|0}function Am(a){a=a|0;if(!(k[a+44>>2]|0)){a=0;return a|0}if(!(k[a+48>>2]|0)){a=0;return a|0}if(!(k[a+52>>2]|0)){a=0;return a|0}a=(k[a+56>>2]|0)!=0;return a|0}function Bm(a,b,c){a=a|0;b=b|0;c=c|0;if((b|0)!=0&(c|0)!=0){nc(a,b,c);return}else{Bc(a,0,0);return}}function Cm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=da(e);k[a+4>>2]=b;xg(a+8|0,c,c+(d<<2)|0);o[a+20>>2]=e;return}function Dm(a){a=a|0;var b=0,c=0;c=a+15&-16|0;b=k[r>>2]|0;a=b+c|0;if((c|0)>0&(a|0)<(b|0)|(a|0)<0){ia()|0;za(12);return -1}k[r>>2]=a;if((a|0)>(ha()|0)?(ga()|0)==0:0){za(12);k[r>>2]=b;return -1}return b|0}function Em(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;k[e>>2]=0;k[d>>2]=k[e>>2];b=Rb(a,b,d)|0;u=c;return b|0}function Fm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=k[c>>2]|0;d=a;c=b-a>>2;while(1){if(!c)break;b=(c|0)/2|0;f=d+(b<<2)|0;a=(k[f>>2]|0)>>>0>>0;d=a?f+4|0:d;c=a?c+-1-b|0:b}return d|0}function Gm(a){a=a|0;var b=0,c=0;k[a>>2]=3576;b=k[a+60>>2]|0;if(b|0)_r(b);c=a+52|0;b=k[c>>2]|0;k[c>>2]=0;if(!b){_r(a);return}Yr(b);_r(a);return}function Hm(a,b){a=a|0;b=b|0;b=k[b+88>>2]|0;if(!b){a=0;return a|0}if((k[b>>2]|0)!=2){a=0;return a|0}b=k[b+8>>2]|0;k[a+4>>2]=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;a=1;return a|0}function Im(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=$(c,b)|0;c=(b|0)==0?0:c;if((k[d+76>>2]|0)>-1){f=(es(d)|0)==0;a=yj(a,e,d)|0;if(!f)ds(d)}else a=yj(a,e,d)|0;if((a|0)!=(e|0))c=(a>>>0)/(b>>>0)|0;return c|0}function Jm(a){a=a|0;var b=0;k[a>>2]=0;b=a+8|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;i[a+24>>0]=1;k[a+28>>2]=9;b=a+40|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[a+56>>2]=-1;k[a+60>>2]=0;return}function Km(a,b){a=a|0;b=b|0;if(!(_a[k[(k[a>>2]|0)+36>>2]&127](a,b)|0)){b=0;return b|0}if(!(_a[k[(k[a>>2]|0)+40>>2]&127](a,b)|0)){b=0;return b|0}b=Wa[k[(k[a>>2]|0)+44>>2]&255](a)|0;return b|0}function Lm(a){a=a|0;var b=0;k[a>>2]=3184;b=k[a+60>>2]|0;if(b|0)_r(b);b=a+52|0;a=k[b>>2]|0;k[b>>2]=0;if(!a)return;Yr(a);return}function Mm(a,b,c){a=a|0;b=b|0;c=c|0;if(!(xo(a,b,c)|0)){c=0;return c|0}a=k[a+8>>2]|0;if((i[a+24>>0]|0)!=3){c=0;return c|0}c=(k[a+28>>2]|0)==9;return c|0}function Nm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(uq(a,k[b+8>>2]|0,f)|0)ak(0,b,c,d,e);return}function Om(a,b){a=a|0;b=b|0;if(((b|0)!=0?(k[b+56>>2]|0)==0:0)?(i[b+24>>0]|0)==3:0){k[a+44>>2]=b;a=1}else a=0;return a|0}function Pm(a){a=a|0;var b=0;k[a>>2]=2848;b=k[a+60>>2]|0;if(b|0)_r(b);b=a+52|0;a=k[b>>2]|0;k[b>>2]=0;if(!a)return;Yr(a);return}function Qm(a){a=a|0;var b=0;k[a>>2]=3912;b=k[a+60>>2]|0;if(b|0)_r(b);b=a+52|0;a=k[b>>2]|0;k[b>>2]=0;if(!a)return;Yr(a);return}function Rm(a,b){a=a|0;b=b|0;if(k[b+56>>2]|0){b=0;return b|0}if((i[b+24>>0]|0)!=3){b=0;return b|0}k[a+44>>2]=b;b=1;return b|0}function Sm(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=1740;b=k[a+32>>2]|0;if(!b){_r(a);return}c=a+36|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b);_r(a);return}function Tm(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b;d=k[a+4>>2]|0;d=(k[d+56>>2]|0)-(k[d+52>>2]|0)>>2;i[c>>0]=0;Qh(a+20|0,d,c);u=b;return}function Um(a,b){a=a|0;b=b|0;if(((b|0)!=0?(k[b+56>>2]|0)==0:0)?(i[b+24>>0]|0)==3:0){k[a+60>>2]=b;a=1}else a=0;return a|0}function Vm(a,b){a=a|0;b=b|0;if(k[b+56>>2]|0){b=0;return b|0}if((i[b+24>>0]|0)!=3){b=0;return b|0}k[a+60>>2]=b;b=1;return b|0}function Wm(a){a=a|0;var b=0;k[a>>2]=3576;b=k[a+60>>2]|0;if(b|0)_r(b);b=a+52|0;a=k[b>>2]|0;k[b>>2]=0;if(!a)return;Yr(a);return}function Xm(){var a=0,b=0;a=jo(40)|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;o[a+16>>2]=da(1.0);b=a+20|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;o[a+36>>2]=da(1.0);return a|0}function Ym(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b;d=k[a+4>>2]|0;d=(k[d+28>>2]|0)-(k[d+24>>2]|0)>>2;i[c>>0]=0;Qh(a+20|0,d,c);u=b;return}function Zm(a){a=a|0;switch(a|0){case 11:case 2:case 1:{a=1;break}case 4:case 3:{a=2;break}case 6:case 5:{a=4;break}case 8:case 7:{a=8;break}case 9:{a=4;break}case 10:{a=8;break}default:a=-1}return a|0}function _m(a){a=a|0;k[a>>2]=4364;Bj(a+8|0);_r(a);return}function $m(a,b){a=a|0;b=b|0;var c=0,d=0;if((a|0)!=(b|0)){c=i[b+11>>0]|0;d=c<<24>>24<0;Qj(a,d?k[b>>2]|0:b,d?k[b+4>>2]|0:c&255)|0}return a|0}function an(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=$(e,f)|0;d=a>>>16;a=(c>>>16)+($(e,d)|0)|0;e=b>>>16;b=$(e,f)|0;return (M=(a>>>16)+($(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function bn(a){a=a|0;var b=0,c=0;i[a+36>>0]=0;c=Fp(k[a+32>>2]|0,0,7,0)|0;c=So(c|0,M|0,3)|0;a=a+16|0;b=a;b=Fp(c|0,M|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[a>>2]=b;k[a+4>>2]=M;return}function cn(a,b){a=a|0;b=b|0;var c=0;a=u;u=u+32|0;c=a;Gj(c,b);b=k[c+16>>2]|0;Jp(c+4|0);u=a;return b|0}function dn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Ka(7016,7022,76,7177);return 0}function en(a){a=a|0;k[a>>2]=4364;Bj(a+8|0);return}function fn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;k[b+44>>2]=e;Sd(a,b,c,d,e);return}function gn(a,b){a=a|0;b=b|0;var c=0;if((b|0)==-1|(b|0)>3){c=-1;return c|0}c=k[a+20+(b*12|0)>>2]|0;if(((k[a+20+(b*12|0)+4>>2]|0)-c|0)<=0){c=-1;return c|0}c=k[c>>2]|0;return c|0}function hn(a){a=a|0;var b=0,c=0;k[a>>2]=1740;c=k[a+32>>2]|0;if(!c)return;a=a+36|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);_r(c);return}function jn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(uq(a,k[b+8>>2]|0,0)|0)rl(0,b,c,d);return}function kn(a){a=a|0;var b=0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;i[a+24>>0]=1;a=a+28|0;b=a+40|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function ln(a){a=a|0;var b=0;k[a>>2]=4632;b=a+4|0;k[a+40>>2]=0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[b+16>>2]=0;k[b+20>>2]=0;k[b+24>>2]=0;k[b+28>>2]=0;j[b+32>>1]=0;return}function mn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((b|0)<(a|0)&(a|0)<(b+c|0)){d=a;b=b+c|0;a=a+c|0;while((c|0)>0){a=a-1|0;b=b-1|0;c=c-1|0;i[a>>0]=i[b>>0]|0}a=d}else Gh(a,b,c)|0;return a|0}function nn(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=1428;b=k[a+8>>2]|0;if(!b){_r(a);return}c=a+12|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b);_r(a);return}function on(a){a=a|0;var b=0;k[a>>2]=3240;b=k[a+60>>2]|0;if(!b){_r(a);return}_r(b);_r(a);return}function pn(a,b){a=a|0;b=b|0;var c=0;if((b|0)<=-1)Ka(20132,20148,55,20247);c=k[a+8>>2]|0;if(((k[a+12>>2]|0)-c>>2|0)>(b|0))return k[c+(b<<2)>>2]|0;else Ka(20257,20148,56,20247);return 0}function qn(a){a=a|0;var b=0,c=0,d=0;c=k[a>>2]|0;d=(i[c>>0]|0)+-48|0;if(d>>>0<10){b=0;do{b=d+(b*10|0)|0;c=c+1|0;k[a>>2]=c;d=(i[c>>0]|0)+-48|0}while(d>>>0<10)}else b=0;return b|0}function rn(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=k[a+(d<<2)>>2]|0;k[c+(d<<2)>>2]=e<<31>>31^e>>>1;d=d+1|0}while((d|0)!=(b|0));return}function sn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(!((a|0)==0&(b|0)==0))do{c=c+-1|0;i[c>>0]=l[21001+(a&15)>>0]|0|d;a=So(a|0,b|0,4)|0;b=M}while(!((a|0)==0&(b|0)==0));return c|0}function tn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=u;u=u+16|0;d=e;k[d>>2]=k[c>>2];a=Ra[k[(k[a>>2]|0)+16>>2]&31](a,b,d)|0;if(a)k[c>>2]=k[d>>2];u=e;return a&1|0}function un(){var a=0,b=0;a=go()|0;if((a|0?(b=k[a>>2]|0,b|0):0)?(a=b+48|0,(k[a>>2]&-256|0)==1126902528?(k[a+4>>2]|0)==1129074247:0):0)Tp(k[b+12>>2]|0);Tp(dr()|0)}function vn(a){a=a|0;var b=0;k[a>>2]=2904;b=k[a+60>>2]|0;if(!b){_r(a);return}_r(b);_r(a);return}function wn(a){a=a|0;var b=0;k[a>>2]=3968;b=k[a+60>>2]|0;if(!b){_r(a);return}_r(b);_r(a);return}function xn(a){a=a|0;var b=0;b=i[w+(a&255)>>0]|0;if((b|0)<8)return b|0;b=i[w+(a>>8&255)>>0]|0;if((b|0)<8)return b+8|0;b=i[w+(a>>16&255)>>0]|0;if((b|0)<8)return b+16|0;return (i[w+(a>>>24)>>0]|0)+24|0}function yn(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=k[a>>2]|0;if(b|0){c=a+4|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}_r(a);return}function zn(a,b){a=a|0;b=b|0;var c=0;i[b+84>>0]=1;c=k[b+68>>2]|0;a=b+72|0;b=k[a>>2]|0;if((b|0)==(c|0))return 1;k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);return 1}function An(a){a=a|0;var b=0;k[a>>2]=3632;b=k[a+60>>2]|0;if(!b){_r(a);return}_r(b);_r(a);return}function Bn(a){a=a|0;var b=0;k[a>>2]=0;b=a+8|0;j[a+38>>1]=0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[b+16>>2]=0;k[b+20>>2]=0;k[b+24>>2]=0;i[b+28>>0]=0;return}function Cn(a){a=a|0;var b=0,c=0;k[a>>2]=1680;c=a+20|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)Ta[k[(k[b>>2]|0)+4>>2]&127](b);ek(a);_r(a);return}function Dn(a){a=a|0;var b=0,c=0;k[a>>2]=1428;c=k[a+8>>2]|0;if(!c)return;a=a+12|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);_r(c);return}function En(a,b){a=a|0;b=b|0;return bj(a+8|0,b)|0}function Fn(a,b,c){a=a|0;b=b|0;c=c|0;Tb(a,b,c);return}function Gn(a){a=a|0;k[a>>2]=3240;a=k[a+60>>2]|0;if(!a)return;_r(a);return}function Hn(a){a=a|0;var b=0,c=0;k[a>>2]=1680;c=a+20|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)Ta[k[(k[b>>2]|0)+4>>2]&127](b);ek(a);return}function In(a,b){a=a|0;b=b|0;if(!b)return 0;else Ka(11535,11906,61,11546);return 0}function Jn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if((k[b+4>>2]|0)==(c|0)?(e=b+28|0,(k[e>>2]|0)!=1):0)k[e>>2]=d;return}function Kn(a,b){a=a|0;b=b|0;if(!b)return 0;else Ka(11535,10862,65,11546);return 0}function Ln(a){a=a|0;k[a>>2]=2904;a=k[a+60>>2]|0;if(!a)return;_r(a);return}function Mn(a){a=a|0;k[a>>2]=3968;a=k[a+60>>2]|0;if(!a)return;_r(a);return}function Nn(a){a=a|0;var b=0;k[a>>2]=4340;b=k[a+20>>2]|0;if(b|0)_r(b);b=k[a+8>>2]|0;if(!b){_r(a);return}_r(b);_r(a);return}function On(a,b,c){a=a|0;b=b|0;c=c|0;if(!((a|0)==0&(b|0)==0))do{c=c+-1|0;i[c>>0]=a&7|48;a=So(a|0,b|0,3)|0;b=M}while(!((a|0)==0&(b|0)==0));return c|0}function Pn(){var a=0,b=0;a=jo(24)|0;k[a>>2]=1428;k[a+4>>2]=-1;b=a+8|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;return a|0}function Qn(a){a=a|0;k[a>>2]=1460;a=a+4|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;k[a+24>>2]=0;k[a+28>>2]=0;return}function Rn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=a+20|0;e=k[d>>2]|0;a=(k[a+16>>2]|0)-e|0;a=a>>>0>c>>>0?c:a;Gh(e|0,b|0,a|0)|0;k[d>>2]=(k[d>>2]|0)+a;return c|0}function Sn(a,b){a=a|0;b=b|0;if(!b)return 0;else Ka(11535,12252,68,11546);return 0}function Tn(a,b){a=a|0;b=b|0;return ej(a+8|0,b)|0}function Un(a){a=a|0;var b=0;Jm(a);b=a+64|0;k[a+88>>2]=0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[b+16>>2]=0;i[b+20>>0]=0;return}function Vn(a){a=a|0;var b=0,c=0;if(!a)return;b=k[a+8>>2]|0;if(b|0){c=a+12|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;_r(b)}_r(a);return}function Wn(a){a=a|0;k[a>>2]=3632;a=k[a+60>>2]|0;if(!a)return;_r(a);return}function Xn(a){a=a|0;var b=0;k[a>>2]=4388;b=k[a+20>>2]|0;if(b|0)_r(b);b=k[a+8>>2]|0;if(!b){_r(a);return}_r(b);_r(a);return}function Yn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;k[a>>2]=b;b=a+8|0;k[b>>2]=c;k[b+4>>2]=0;j[a+38>>1]=d;d=a+16|0;k[d>>2]=0;k[d+4>>2]=0;return}function Zn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=u;u=u+16|0;e=f|0;Dd(a,b,c,d,e)|0;u=f;return (M=k[e+4>>2]|0,k[e>>2]|0)|0}function _n(a){a=a|0;k[a>>2]=3296;ds(a+84|0);_r(a);return}function $n(a){a=a|0;var b=0;k[a>>2]=4340;b=k[a+20>>2]|0;if(b|0)_r(b);a=k[a+8>>2]|0;if(!a)return;_r(a);return}function ao(a){a=a|0;Cq(a);k[a+16>>2]=0;k[a+20>>2]=0;k[a+12>>2]=a+16;a=a+24|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;return}function bo(a){a=a|0;Yo(a);k[a>>2]=4772;a=a+72|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;return}function co(a){a=a|0;k[a>>2]=2960;ds(a+84|0);_r(a);return}function eo(a){a=a|0;k[a>>2]=4024;ds(a+84|0);_r(a);return}function fo(a){a=a|0;k[a>>2]=3296;ds(a+84|0);return}function go(){var a=0,b=0;a=u;u=u+16|0;if(!(Ea(24368,3)|0)){b=ua(k[6093]|0)|0;u=a;return b|0}else Po(23518,a);return 0}function ho(a){a=a|0;var b=0;k[a>>2]=4388;b=k[a+20>>2]|0;if(b|0)_r(b);a=k[a+8>>2]|0;if(!a)return;_r(a);return}function io(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=an(e,f)|0;a=M;return (M=($(b,f)|0)+($(d,e)|0)+a|a&0,c|0|0)|0}function jo(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=db(b)|0;if(a|0)break;a=br()|0;if(!a){a=0;break}Ya[a&3]()}return a|0}function ko(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return md(b,c,d)|0}function lo(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;a=cs(k[a+60>>2]|0)|0;k[c>>2]=a;a=Pp(ya(6,c|0)|0)|0;u=b;return a|0}function mo(a){a=a|0;k[a>>2]=3688;ds(a+84|0);_r(a);return}function no(a){a=a|0;var b=0;b=u;u=u+16|0;Db(a);if(!(va(k[6093]|0,0)|0)){u=b;return}else Po(23617,b)}function oo(a){a=a|0;k[a>>2]=2960;ds(a+84|0);return}function po(a){a=a|0;k[a>>2]=4024;ds(a+84|0);return}function qo(a){a=a|0;Ep(a);k[a>>2]=4080;k[a+24>>2]=-1;k[a+28>>2]=0;o[a+32>>2]=da(0.0);return}function ro(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return zd(b,c,d)|0}function so(a,b,c){a=a|0;b=b|0;c=c|0;k[a>>2]=b;b=a+8|0;k[b>>2]=c;k[b+4>>2]=0;c=a+16|0;k[c>>2]=0;k[c+4>>2]=0;return}function to(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return (((k[a+8>>2]|0)+-1|0)==(d|0)?0:d+1|0)|0}function uo(a){a=a|0;k[a>>2]=3688;ds(a+84|0);return}function vo(a){a=a|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;a=a+16|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;return}function wo(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function xo(a,b,c){a=a|0;b=b|0;c=c|0;return _l(a,b,c)|0}function yo(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 Va[a&63](b|0,c|0,d|0,e|0,f|0,g|0)|0}function zo(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){M=b>>c;return a>>>c|(b&(1<>c-32|0}function Ao(a,b,c){a=a|0;b=b|0;c=c|0;return gn(b,c)|0}function Bo(a){a=a|0;he(a);_r(a);return}function Co(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;k[e>>2]=c;c=Wq(a,b,e)|0;u=d;return c|0}function Do(a,b,c){a=a|0;b=da(b);c=c|0;var d=Pa;d=da(da(1.0)/da(c|0));o[a+4>>2]=d;o[a>>2]=b;return}function Eo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Xj(b,c,d)|0}function Fo(){var a=0;a=u;u=u+16|0;if(!(Ca(24372,127)|0)){u=a;return}else Po(23567,a)}function Go(a){a=a|0;kf(a);_r(a);return}function Ho(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;k[d>>2]=b;b=ji(k[1308]|0,a,d)|0;u=c;return b|0}function Io(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;Za[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function Jo(a){a=a|0;if(!(k[a+44>>2]|0))return 0;else return Wa[k[(k[a>>2]|0)+48>>2]&255](a)|0;return 0}function Ko(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return vh(b,c,d)|0}function Lo(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)_j(a|0,(xr(c)|0)&255|0,b|0)|0;return a|0}function Mo(a){a=a|0;return 4}function No(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){M=b<>>32-c;return a<>2]|0;return _a[k[(k[a>>2]|0)+16>>2]&127](a,b)|0}function Po(a,b){a=a|0;b=b|0;var c=0;c=u;u=u+16|0;k[c>>2]=b;b=k[1276]|0;ji(b,a,c)|0;Ck(10,b)|0;Aa()}function Qo(a,b){a=a|0;b=b|0;a=k[a+48>>2]|0;return _a[k[(k[a>>2]|0)+12>>2]&127](a,b)|0}function Ro(a,b){a=a|0;b=b|0;a=k[a+48>>2]|0;return _a[k[(k[a>>2]|0)+20>>2]&127](a,b)|0}function So(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){M=b>>>c;return a>>>c|(b&(1<>>c-32|0}function To(a,b,c){a=a|0;b=b|0;c=c|0;return Cl(a,b,c)|0}function Uo(a){a=a|0;Ee(a);_r(a);return}function Vo(){}function Wo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (M=d,a-c>>>0|0)|0}function Xo(a){a=a|0;return 5}function Yo(a){a=a|0;var b=0;k[a>>2]=4812;a=a+4|0;b=a+68|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function Zo(a){a=a|0;return 6}function _o(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return vl(b,c,d)|0}function $o(a,b,c){a=a|0;b=b|0;c=c|0;k[a+28>>2]=b;k[a+32>>2]=c;return 1}function ap(a,b){a=a|0;b=b|0;if(!b)b=0;else b=Ai(k[b>>2]|0,k[b+4>>2]|0,a)|0;return (b|0?b:a)|0}function bp(a,b,c){a=a|0;b=b|0;c=c|0;return Ao(a,b,c)|0}function cp(a,b,c){a=a|0;b=b|0;c=c|0;return Rg(b,c)|0}function dp(a){a=a|0;k[a>>2]=1572;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=-1;k[a+16>>2]=0;return}function ep(a,b){a=a|0;b=b|0;Rk(a,b);return}function fp(a){a=a|0;if(!a)return;Jp(a+4|0);_r(a);return}function gp(a){a=a|0;a=a+4|0;if((i[a+11>>0]|0)<0){a=k[a>>2]|0;return a|0}else return a|0;return 0}function hp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Sa[a&3](b|0,c|0,d|0,e|0,f|0)}function ip(a,b,c){a=a|0;b=b|0;c=c|0;return Il(a,b,c)|0}function jp(a,b,c){a=a|0;b=b|0;c=c|0;return Gk(a,b,c)|0}function kp(a,b,c){a=a|0;b=b|0;c=c|0;return ml(a,b,c)|0}function lp(a,b,c){a=a|0;b=b|0;c=c|0;return zk(a,b,c)|0}function mp(a,b,c){a=a|0;b=b|0;c=c|0;return +(+bl(a,b,c))}function np(a){a=a|0;a=k[a+48>>2]|0;return Wa[k[(k[a>>2]|0)+28>>2]&255](a)|0}function op(a,b){a=a|0;b=b|0;return _a[k[(k[a>>2]|0)+12>>2]&127](a,b)|0}function pp(a,b){a=a|0;b=b|0;return _a[k[(k[a>>2]|0)+56>>2]&127](a,b)|0}function qp(a){a=a|0;a=k[a+48>>2]|0;return Wa[k[(k[a>>2]|0)+24>>2]&255](a)|0}function rp(a){a=a|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;return}function sp(a,b,c){a=a|0;b=b|0;c=c|0;return Dl(a,b,c)|0}function tp(a,b){a=a|0;b=b|0;k[a+4>>2]=b;return 1}function up(a){a=a|0;a=k[a+48>>2]|0;return Wa[k[(k[a>>2]|0)+36>>2]&255](a)|0}function vp(a,b,c){a=a|0;b=b|0;c=c|0;return ol(a,b,c)|0}function wp(a,b,c){a=a|0;b=b|0;c=c|0;return fl(a,b,c)|0}function xp(a){a=a|0;Ep(a);k[a>>2]=2524;k[a+24>>2]=-1;return}function yp(a,b){a=a|0;b=b|0;k[a+8>>2]=b;k[a+12>>2]=-1;return 1}function zp(a,b,c){a=a|0;b=b|0;c=c|0;return dk(b,c)|0}function Ap(a){a=+a;var b=0;p[s>>3]=a;b=k[s>>2]|0;M=k[s+4>>2]|0;return b|0}function Bp(a){a=a|0;k[a+12>>2]=0;k[a+16>>2]=0;k[a>>2]=0;o[a+4>>2]=da(0.0);return}function Cp(){var a=0;a=jo(40)|0;k[a>>2]=-1;vo(a+8|0);return a|0}function Dp(){var a=0;a=jo(8)|0;k[a>>2]=1400;k[a+4>>2]=-1;return a|0}function Ep(a){a=a|0;dp(a);k[a>>2]=1680;k[a+20>>2]=0;return}function Fp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (M=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function Gp(a,b){a=a|0;b=b|0;ep(a,b);return}function Hp(a,b){a=a|0;b=b|0;return da(o[(k[a+8>>2]|0)+(b<<2)>>2])}function Ip(a,b){a=a|0;b=b|0;return cn(a,b)|0}function Jp(a){a=a|0;if((i[a+11>>0]|0)<0)_r(k[a>>2]|0);return}function Kp(a){a=a|0;if(!a)return;Ta[k[(k[a>>2]|0)+4>>2]&127](a);return}function Lp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;$a[a&3](b|0,c|0,d|0,e|0)}function Mp(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)mn(a|0,b|0,c|0)|0;return a|0}function Np(a){a=a|0;var b=0;b=a+60|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function Op(a,b,c){a=a|0;b=b|0;c=c|0;return pn(b,c)|0}function Pp(a){a=a|0;var b=0;if(a>>>0>4294963200){b=Lr()|0;k[b>>2]=0-a;a=-1}return a|0}function Qp(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)Gh(a|0,b|0,c|0)|0;return a|0}function Rp(a,b){a=a|0;b=b|0;return -1}function Sp(a){a=a|0;if(!a)a=0;else a=(mi(a,1304,1376,0)|0)!=0;return a&1|0}function Tp(a){a=a|0;var b=0;b=u;u=u+16|0;Ya[a&3]();Po(23670,b)}function Up(a){a=a|0;Zi(a);_r(a);return}function Vp(a){a=a|0;bq(a);k[a>>2]=4208;k[a+48>>2]=0;return}function Wp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ra[a&31](b|0,c|0,d|0)|0}function Xp(a,b,c){a=a|0;b=b|0;c=c|0;so(a,b,c);return}function Yp(a){a=a|0;if(!a)return;ds(a+24|0);_r(a);return}function Zp(a,b){a=a|0;b=b|0;return k[(k[a+4>>2]|0)+(b<<2)>>2]|0}function _p(){var a=0;a=jo(64)|0;Jm(a);return a|0}function $p(a,b){a=a|0;b=b|0;return da(fq(a,b))}function aq(a){a=a|0;return k[a+8>>2]|0}function bq(a){a=a|0;ln(a);k[a>>2]=4148;k[a+44>>2]=0;return}function cq(a){a=a|0;if(!a)return;Ij(a);_r(a);return}function dq(a,b){a=a|0;b=b|0;return Qq(a,b)|0}function eq(a){a=a|0;return i[(k[a+8>>2]|0)+24>>0]|0}function fq(a,b){a=a|0;b=b|0;return da(o[(k[a>>2]|0)+(b<<2)>>2])}function gq(a,b,c){a=a|0;b=b|0;c=c|0;if(!(k[a>>2]&32))yj(b,c,a)|0;return}function hq(a){a=a|0;return (k[a+8>>2]|0)-(k[a+4>>2]|0)>>2|0}function iq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Xa[a&7](b|0,c|0,d|0)}function jq(){var a=0;a=jo(96)|0;Un(a);return a|0}function kq(a){a=a|0;var b=0;b=u;u=u+a|0;u=u+15&-16;return b|0}function lq(a){a=a|0;var b=0;b=(Ur()|0)+188|0;return _k(a,k[b>>2]|0)|0}function mq(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Ej(a,b,0)|0;return a|0}function nq(a){a=a|0;return ((k[a+88>>2]|0)-(k[a+84>>2]|0)|0)/12|0|0}function oq(){var a=0;a=jo(12)|0;Gq(a);return a|0}function pq(){var a=0;a=jo(40)|0;Bn(a);return a|0}function qq(a,b){a=a|0;b=b|0;return yq(a,b)|0}function rq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ea(4);return 0}function sq(a){a=a|0;ek(a);_r(a);return}function tq(a){a=a|0;o[a>>2]=da(1.0);o[a+4>>2]=da(1.0);return}function uq(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function vq(a){a=a|0;Qn(a);k[a>>2]=1516;return}function wq(a,b){a=a|0;b=b|0;var c=0;c=Lq(a|0)|0;return ((b|0)==0?a:c)|0}function xq(a){a=a|0;return (k[a+12>>2]|0)-(k[a+8>>2]|0)>>2|0}function yq(a,b){a=a|0;b=b|0;return k[(k[a>>2]|0)+(b<<2)>>2]|0}function zq(a,b){a=a|0;b=b|0;k[a+4>>2]=b;return}function Aq(a,b){a=a|0;b=b|0;return 1}function Bq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Dd(a,b,c,d,0)|0}function Cq(a){a=a|0;k[a+4>>2]=0;k[a+8>>2]=0;k[a>>2]=a+4;return}function Dq(){var a=0;a=jo(72)|0;Yo(a);return a|0}function Eq(a){a=a|0;Ka(23193,23079,1194,23222)}function Fq(a){a=a|0;Ka(23050,23079,1183,23172)}function Gq(a){a=a|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;return}function Hq(a){a=a|0;return (k[a+4>>2]|0)-(k[a>>2]|0)>>2|0}function Iq(a){a=a|0;Ka(23027,22934,315,23222)}function Jq(a){a=a|0;Ka(22911,22934,304,23172)}function Kq(a,b,c){a=a|0;b=b|0;c=c|0;return _a[a&127](b|0,c|0)|0}function Lq(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Mq(a){a=a|0;bq(a);k[a>>2]=4548;return}function Nq(){var a=0;a=jo(1)|0;ds(a);return a|0}function Oq(a,b){a=a|0;b=b|0;i[a>>0]=i[b>>0]|0;return}function Pq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ea(8)}function Qq(a,b){a=a|0;b=b|0;return k[b+4>>2]|0}function Rq(a){a=a|0;return da(o[a+20>>2])}function Sq(a){a=a|0;return k[a+4>>2]|0}function Tq(a){a=a|0;if(!a)return;_r(a);return}function Uq(a,b){a=a|0;b=b|0;if(!x){x=a;y=b}}function Vq(a){a=a|0;return 3}function Wq(a,b,c){a=a|0;b=b|0;c=c|0;return Nj(a,2147483647,b,c)|0}function Xq(a){a=a|0;return k[a+88>>2]|0}function Yq(a,b,c){a=a|0;b=b|0;c=c|0;Ua[a&7](b|0,c|0)}function Zq(){var a=0;a=jo(40)|0;ao(a);return a|0}function _q(){var a=0;a=jo(96)|0;bo(a);return a|0}function $q(a){a=a|0;return (i[a+32>>0]|0)!=0|0}function ar(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ea(1)}function br(){var a=0;a=k[6094]|0;k[6094]=a+0;return a|0}function cr(a){a=a|0;return k[a+56>>2]|0}function dr(){var a=0;a=k[1467]|0;k[1467]=a+0;return a|0}function er(a){a=a|0;Vh(a);_r(a);return}function fr(a){a=a|0;return i[a+24>>0]|0}function gr(a,b){a=a|0;b=b|0;return 0}function hr(a){a=a|0;return k[a+40>>2]|0}function ir(a){a=a|0;return k[a+48>>2]|0}function jr(a,b){a=a|0;b=b|0;return Wa[a&255](b|0)|0}function kr(a){a=a|0;return k[a+60>>2]|0}function lr(a){a=a|0;return k[a+28>>2]|0}function mr(a){a=a|0;Ba(a|0)|0;un()}function nr(a){a=a|0;return k[a+80>>2]|0}function or(a,b){a=a|0;b=b|0;u=a;v=b}function pr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ea(10)}function qr(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function rr(a){a=a|0;return (k[a>>2]|0)==0|0}function sr(a){a=a|0;return k[a+68>>2]|0}function tr(a,b){a=a|0;b=b|0;Ta[a&127](b|0)}function ur(a,b){a=a|0;b=b|0;return ap(a,b)|0}function vr(a){a=a|0;i[a+12>>0]=0;return}function wr(a){a=a|0;ds(a);_r(a);return}function xr(a){a=a|0;return a&255|0}function yr(a){a=a|0;k[a>>2]=0;return}function zr(a,b,c){a=a|0;b=b|0;c=c|0;ea(0);return 0}function Ar(a){a=a|0;return k[a>>2]|0}function Br(a){a=a|0;return 2}function Cr(a){a=a|0;k[a>>2]=5964;return}function Dr(a){a=a|0;return 1}function Er(a,b){a=+a;b=b|0;return +(+Xk(a,b))}function Fr(){return 3}function Gr(a,b,c){a=a|0;b=b|0;c=c|0;ea(6)}function Hr(){return -4}function Ir(){return 4}function Jr(){return -3}function Kr(){return 1}function Lr(){return (Ur()|0)+64|0}function Mr(){return 2}function Nr(){return -5}function Or(a,b){a=a|0;b=b|0;ea(9);return 0}function Pr(a){a=a|0;return 23710}function Qr(a){a=a|0;Ya[a&3]()}function Rr(){return -2}function Sr(){La()}function Tr(){return -1}function Ur(){return is()|0}function Vr(a,b){a=a|0;b=b|0;ea(3)}function Wr(){return 0}function Xr(a){a=a|0;return jo(a)|0}function Yr(a){a=a|0;_r(a);return}function Zr(a){a=a|0;u=a}function _r(a){a=a|0;Db(a);return}function $r(a){a=a|0;M=a}function as(){return 23808}function bs(a){a=a|0;ea(5);return 0}function cs(a){a=a|0;return a|0}function ds(a){a=a|0;return}function es(a){a=a|0;return 0}function fs(){return M|0}function gs(){return u|0}function hs(a){a=a|0;ea(2)}function is(){return 4860}function js(){ea(7)} // EMSCRIPTEN_END_FUNCS var Ra=[zr,$o,_l,mm,wo,nj,xo,dh,Ud,Vj,Mm,uj,Jj,Si,zl,vj,ul,Kh,im,zm,Rn,lk,zr,zr,zr,zr,zr,zr,zr,zr,zr,zr];var Sa=[ar,Yj,Wh,ar];var Ta=[hs,ds,Yr,Dn,nn,Vl,Hl,Hl,ek,sq,Zi,Up,Hn,Cn,hn,Sm,Sm,Sm,Sm,Ok,Fk,sl,dl,Tl,El,fm,Ul,Sm,Sm,Kk,Ek,nl,Zk,Ol,Bl,am,Pl,Cn,ds,Yr,Yr,ds,Yr,Yr,Yr,Xl,Jl,Pm,wm,Ln,vn,oo,co,Yr,Yr,Sl,Gl,Lm,rm,Gn,on,fo,_n,ds,Yr,Yr,Yr,$l,Rl,Wm,Gm,Wn,An,uo,mo,Yr,Yr,Yl,Kl,Qm,xm,Mn,wn,po,eo,Zl,Ql,Bk,xk,bk,Uj,Ee,Uo,cl,Tk,$n,Nn,Tm,en,_m,ho,Xn,Ym,hl,Yk,he,Bo,kf,Go,xk,ds,Yr,xk,xk,xk,yl,pl,sb,Vh,er,ds,wr,ds,ds,wr,ds,wr,no];var Ua=[Vr,ll,Sg,jl,Zc,Vr,Vr,Vr];var Va=[rq,pe,oc,ec,ub,Ke,jf,dn,pc,dc,mb,Ge,hf,dn,kk,xf,vd,Hb,yh,$h,Gc,Cf,pd,Eb,uh,Xh,Ec,pk,Af,yd,Jb,Ch,di,Ic,Kf,rd,Gb,zh,ai,Hc,rq,rq,rq,rq,rq,rq,rq,rq,rq,rq,rq,rq,rq,rq,rq,rq,rq,rq,rq,rq,rq,rq,rq,rq];var Wa=[bs,Br,Dr,hq,lr,Dr,zf,eq,Sq,es,es,Dr,es,Dr,Dr,Am,Br,Am,Mo,Am,Vq,sm,Dr,Xo,sm,Dr,Zo,el,Dr,Dr,Am,Br,Am,Mo,Am,Vq,sm,Dr,Xo,sm,Dr,Zo,el,Dr,Br,Br,Vq,es,Sq,Dr,es,Dr,Vq,Dr,tm,Br,tm,Mo,tm,Vq,pm,Dr,Xo,pm,Dr,Zo,$k,Dr,Dr,tm,Br,tm,Mo,tm,Vq,pm,Dr,Xo,pm,Dr,Zo,$k,Dr,es,Sq,Dr,es,Dr,Br,Dr,tm,Br,tm,Mo,tm,Vq,pm,Dr,Xo,pm,Dr,Zo,$k,Dr,Dr,tm,Br,tm,Mo,tm,Vq,pm,Dr,Xo,pm,Dr,Zo,$k,Dr,zg,Dr,Dr,Jo,ff,Ll,Dr,es,fh,np,up,qp,gb,Dr,Sq,aq,Hh,Og,Oh,eb,Dr,Sq,aq,fb,Dr,Sq,aq,Fb,Tj,es,Dr,Mk,Mk,Qk,lo,Pr,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs];var Xa=[Gr,qh,hk,$g,Wg,Gr,Gr,Gr];var Ya=[js,Sr,zj,Fo];var Za=[Pq,Nm,Ml,Pq];var _a=[Or,Hm,wi,lc,Km,Zp,gr,Aq,Aq,Zb,yp,Aq,ii,mg,Jh,om,Wk,Sk,wl,hm,Ne,Rp,gr,aj,yf,Sn,Vm,Lf,In,Um,Jf,Kn,Vm,wh,yf,Sn,Vm,Lf,In,Um,Jf,Kn,Vm,wh,cj,Rp,gr,En,hh,Sn,Rm,Fh,In,Om,Dh,Kn,Rm,Wj,hh,Sn,Rm,Fh,In,Om,Dh,Kn,Rm,Wj,Rp,gr,Tn,mh,Sn,Rm,Lh,In,Om,Ih,Kn,Rm,ck,mh,Sn,Rm,Lh,In,Om,Ih,Kn,Rm,ck,pp,Xg,gr,gr,Ro,Qo,Oo,tp,mj,pj,Xb,lg,wg,og,tp,mj,pj,Xb,tp,mj,pj,Xb,Nh,zn,Aj,Nh,Or,Or,Or,Or,Or,Or,Or,Or,Or,Or,Or];var $a=[pr,jn,em,pr];return{_emscripten_bind_Decoder_GetAttributeFloat_3:Ko,_emscripten_bind_PointAttribute_normalized_0:$q,_bitshift64Lshr:So,_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3:ko,_emscripten_bind_Status_code_0:Ar,_emscripten_bind_PointAttribute_size_0:nr,_emscripten_enum_draco_GeometryAttribute_Type_POSITION:Wr,_sbrk:Dm,_memcpy:Gh,_emscripten_enum_draco_GeometryAttribute_Type_INVALID:Tr,_emscripten_bind_Decoder_GetAttributeIdByName_2:zp,_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD:Wr,___udivmoddi4:Dd,_emscripten_bind_Status_ok_0:rr,_emscripten_bind_Mesh_num_faces_0:nq,_emscripten_get_global_libc:as,_emscripten_bind_Decoder_DecodeBufferToPointCloud_2:To,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM:Wr,_emscripten_bind_Decoder_GetEncodedGeometryType_1:Ip,___cxa_can_catch:tn,_free:Db,_emscripten_bind_GeometryAttribute___destroy___0:Tq,_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE:Tr,_emscripten_bind_PointAttribute_byte_stride_0:hr,_emscripten_bind_Metadata_Metadata_0:Xm,_emscripten_bind_PointCloud_num_attributes_0:xq,_emscripten_bind_Decoder_Decoder_0:Zq,_emscripten_bind_MetadataQuerier_GetStringEntry_2:lp,_emscripten_bind_MetadataQuerier_GetIntEntry_2:wp,___divdi3:kl,_emscripten_bind_Decoder___destroy___0:il,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM:Mr,_emscripten_bind_MetadataQuerier_HasStringEntry_2:jp,_emscripten_bind_AttributeTransformData___destroy___0:Vn,_emscripten_bind_PointAttribute_num_components_0:fr,___cxa_is_pointer_type:Sp,_emscripten_bind_AttributeTransformData_AttributeTransformData_0:Cp,_llvm_cttz_i32:xn,_emscripten_bind_AttributeQuantizationTransform___destroy___0:Kp,_emscripten_bind_DracoInt32Array___destroy___0:yn,_emscripten_bind_Mesh_num_points_0:sr,_emscripten_bind_AttributeQuantizationTransform_min_value_1:Hp,_emscripten_bind_Mesh_Mesh_0:_q,_emscripten_bind_MetadataQuerier_MetadataQuerier_0:Nq,_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3:Eo,_emscripten_bind_MetadataQuerier_HasDoubleEntry_2:kp,_emscripten_bind_MetadataQuerier_GetDoubleEntry_2:mp,_emscripten_bind_Mesh_num_attributes_0:xq,_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0:Sq,_emscripten_bind_AttributeOctahedronTransform___destroy___0:Kp,_llvm_bswap_i32:Lq,_emscripten_bind_Decoder_GetAttributeMetadata_2:sp,_emscripten_bind_PointAttribute_unique_id_0:kr,_emscripten_enum_draco_StatusCode_IO_ERROR:Rr,_emscripten_bind_MetadataQuerier_HasIntEntry_2:vp,_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2:cp,_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD:Fr,_emscripten_bind_DecoderBuffer_DecoderBuffer_0:pq,_bitshift64Ashr:zo,_emscripten_bind_DracoInt32Array_size_0:Hq,_emscripten_bind_Decoder_SkipAttributeTransform_1:Gp,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM:Kr,_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3:ro,_emscripten_enum_draco_StatusCode_ERROR:Tr,_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0:Sq,_emscripten_enum_draco_StatusCode_INVALID_PARAMETER:Jr,_emscripten_enum_draco_GeometryAttribute_Type_COLOR:Mr,_emscripten_bind_VoidPtr___destroy___0:Tq,_memset:_j,_emscripten_bind_PointAttribute_attribute_type_0:cr,_emscripten_bind_MetadataQuerier___destroy___0:Tq,_emscripten_bind_DecoderBuffer___destroy___0:Yp,_emscripten_bind_Decoder_GetAttribute_2:Op,_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH:Kr,_i64Subtract:Wo,_emscripten_bind_DracoInt32Array_DracoInt32Array_0:oq,_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION:Nr,_emscripten_bind_DracoFloat32Array___destroy___0:yn,_emscripten_bind_PointCloud_num_points_0:sr,_emscripten_bind_PointCloud___destroy___0:Kp,_emscripten_bind_GeometryAttribute_GeometryAttribute_0:_p,___muldsi3:an,_emscripten_bind_Decoder_GetFaceFromMesh_3:_o,_emscripten_bind_PointAttribute_data_type_0:lr,_emscripten_bind_DracoFloat32Array_size_0:Hq,_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1:op,_malloc:db,_emscripten_bind_PointAttribute_GetAttributeTransformData_0:Xq,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM:Tr,_emscripten_enum_draco_GeometryAttribute_Type_NORMAL:Kr,_emscripten_bind_PointCloud_PointCloud_0:Dq,_emscripten_bind_Status_error_msg_0:gp,_emscripten_bind_Mesh___destroy___0:Kp,_emscripten_bind_Metadata___destroy___0:cq,_emscripten_bind_Status___destroy___0:fp,___udivdi3:Bq,_emscripten_bind_PointAttribute_byte_offset_0:ir,_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0:Pn,_emscripten_bind_AttributeQuantizationTransform_range_0:Rq,_bitshift64Shl:No,_emscripten_bind_Decoder_GetAttributeId_2:bp,_emscripten_enum_draco_StatusCode_OK:Wr,_emscripten_bind_AttributeTransformData_transform_type_0:Ar,_emscripten_bind_DecoderBuffer_Init_2:Xp,___muldi3:io,_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0:Dp,___uremdi3:Zn,_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0:oq,_emscripten_enum_draco_GeometryAttribute_Type_GENERIC:Ir,_i64Add:Fp,_emscripten_bind_Decoder_DecodeBufferToMesh_2:ip,_emscripten_bind_DracoFloat32Array_GetValue_1:$p,_memmove:mn,_emscripten_bind_PointAttribute_PointAttribute_0:jq,_emscripten_bind_Decoder_GetMetadata_1:dq,_emscripten_bind_DracoInt32Array_GetValue_1:qq,_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1:op,_emscripten_bind_PointAttribute___destroy___0:tk,_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION:Hr,runPostSets:Vo,_emscripten_replace_memory:Qa,stackAlloc:kq,stackSave:gs,stackRestore:Zr,establishStackSpace:or,setTempRet0:$r,getTempRet0:fs,setThrew:Uq,stackAlloc:kq,stackSave:gs,stackRestore:Zr,establishStackSpace:or,setThrew:Uq,setTempRet0:$r,getTempRet0:fs,dynCall_iiii:Wp,dynCall_viiiii:hp,dynCall_vi:tr,dynCall_vii:Yq,dynCall_iiiiiii:yo,dynCall_ii:jr,dynCall_viii:iq,dynCall_v:Qr,dynCall_viiiiii:Io,dynCall_iii:Kq,dynCall_viiii:Lp}}) // EMSCRIPTEN_END_ASM (Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _emscripten_bind_Decoder_GetAttributeFloat_3=Module["_emscripten_bind_Decoder_GetAttributeFloat_3"]=asm["_emscripten_bind_Decoder_GetAttributeFloat_3"];var _emscripten_bind_PointAttribute_normalized_0=Module["_emscripten_bind_PointAttribute_normalized_0"]=asm["_emscripten_bind_PointAttribute_normalized_0"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3"];var _emscripten_bind_DecoderBuffer_Init_2=Module["_emscripten_bind_DecoderBuffer_Init_2"]=asm["_emscripten_bind_DecoderBuffer_Init_2"];var _emscripten_bind_PointAttribute_size_0=Module["_emscripten_bind_PointAttribute_size_0"]=asm["_emscripten_bind_PointAttribute_size_0"];var _bitshift64Ashr=Module["_bitshift64Ashr"]=asm["_bitshift64Ashr"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var stackSave=Module["stackSave"]=asm["stackSave"];var _emscripten_enum_draco_GeometryAttribute_Type_INVALID=Module["_emscripten_enum_draco_GeometryAttribute_Type_INVALID"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_INVALID"];var _emscripten_bind_Decoder_GetAttributeIdByName_2=Module["_emscripten_bind_Decoder_GetAttributeIdByName_2"]=asm["_emscripten_bind_Decoder_GetAttributeIdByName_2"];var _emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=Module["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"]=asm["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"];var ___udivmoddi4=Module["___udivmoddi4"]=asm["___udivmoddi4"];var _emscripten_bind_Status_ok_0=Module["_emscripten_bind_Status_ok_0"]=asm["_emscripten_bind_Status_ok_0"];var _emscripten_bind_Mesh_num_faces_0=Module["_emscripten_bind_Mesh_num_faces_0"]=asm["_emscripten_bind_Mesh_num_faces_0"];var _emscripten_get_global_libc=Module["_emscripten_get_global_libc"]=asm["_emscripten_get_global_libc"];var _emscripten_bind_Decoder_DecodeBufferToPointCloud_2=Module["_emscripten_bind_Decoder_DecodeBufferToPointCloud_2"]=asm["_emscripten_bind_Decoder_DecodeBufferToPointCloud_2"];var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM"]=asm["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _emscripten_bind_Decoder_GetEncodedGeometryType_1=Module["_emscripten_bind_Decoder_GetEncodedGeometryType_1"]=asm["_emscripten_bind_Decoder_GetEncodedGeometryType_1"];var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var _free=Module["_free"]=asm["_free"];var _emscripten_bind_GeometryAttribute___destroy___0=Module["_emscripten_bind_GeometryAttribute___destroy___0"]=asm["_emscripten_bind_GeometryAttribute___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_bind_PointAttribute_byte_stride_0=Module["_emscripten_bind_PointAttribute_byte_stride_0"]=asm["_emscripten_bind_PointAttribute_byte_stride_0"];var _emscripten_bind_Metadata_Metadata_0=Module["_emscripten_bind_Metadata_Metadata_0"]=asm["_emscripten_bind_Metadata_Metadata_0"];var _emscripten_bind_AttributeQuantizationTransform_min_value_1=Module["_emscripten_bind_AttributeQuantizationTransform_min_value_1"]=asm["_emscripten_bind_AttributeQuantizationTransform_min_value_1"];var _emscripten_bind_Decoder_Decoder_0=Module["_emscripten_bind_Decoder_Decoder_0"]=asm["_emscripten_bind_Decoder_Decoder_0"];var _emscripten_bind_MetadataQuerier_GetStringEntry_2=Module["_emscripten_bind_MetadataQuerier_GetStringEntry_2"]=asm["_emscripten_bind_MetadataQuerier_GetStringEntry_2"];var _emscripten_bind_MetadataQuerier_GetIntEntry_2=Module["_emscripten_bind_MetadataQuerier_GetIntEntry_2"]=asm["_emscripten_bind_MetadataQuerier_GetIntEntry_2"];var _emscripten_bind_Decoder___destroy___0=Module["_emscripten_bind_Decoder___destroy___0"]=asm["_emscripten_bind_Decoder___destroy___0"];var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM"]=asm["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM"];var getTempRet0=Module["getTempRet0"]=asm["getTempRet0"];var setThrew=Module["setThrew"]=asm["setThrew"];var _emscripten_bind_MetadataQuerier_HasStringEntry_2=Module["_emscripten_bind_MetadataQuerier_HasStringEntry_2"]=asm["_emscripten_bind_MetadataQuerier_HasStringEntry_2"];var _emscripten_bind_AttributeTransformData___destroy___0=Module["_emscripten_bind_AttributeTransformData___destroy___0"]=asm["_emscripten_bind_AttributeTransformData___destroy___0"];var _emscripten_bind_PointAttribute_num_components_0=Module["_emscripten_bind_PointAttribute_num_components_0"]=asm["_emscripten_bind_PointAttribute_num_components_0"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var _emscripten_bind_AttributeTransformData_AttributeTransformData_0=Module["_emscripten_bind_AttributeTransformData_AttributeTransformData_0"]=asm["_emscripten_bind_AttributeTransformData_AttributeTransformData_0"];var _llvm_cttz_i32=Module["_llvm_cttz_i32"]=asm["_llvm_cttz_i32"];var _emscripten_bind_AttributeQuantizationTransform___destroy___0=Module["_emscripten_bind_AttributeQuantizationTransform___destroy___0"]=asm["_emscripten_bind_AttributeQuantizationTransform___destroy___0"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var _emscripten_bind_DracoInt32Array___destroy___0=Module["_emscripten_bind_DracoInt32Array___destroy___0"]=asm["_emscripten_bind_DracoInt32Array___destroy___0"];var _emscripten_bind_Mesh_num_points_0=Module["_emscripten_bind_Mesh_num_points_0"]=asm["_emscripten_bind_Mesh_num_points_0"];var ___divdi3=Module["___divdi3"]=asm["___divdi3"];var _emscripten_bind_Mesh_Mesh_0=Module["_emscripten_bind_Mesh_Mesh_0"]=asm["_emscripten_bind_Mesh_Mesh_0"];var _emscripten_bind_MetadataQuerier_MetadataQuerier_0=Module["_emscripten_bind_MetadataQuerier_MetadataQuerier_0"]=asm["_emscripten_bind_MetadataQuerier_MetadataQuerier_0"];var _emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=Module["_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3"]=asm["_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3"];var _emscripten_bind_MetadataQuerier_HasDoubleEntry_2=Module["_emscripten_bind_MetadataQuerier_HasDoubleEntry_2"]=asm["_emscripten_bind_MetadataQuerier_HasDoubleEntry_2"];var _emscripten_bind_MetadataQuerier_GetDoubleEntry_2=Module["_emscripten_bind_MetadataQuerier_GetDoubleEntry_2"]=asm["_emscripten_bind_MetadataQuerier_GetDoubleEntry_2"];var _emscripten_bind_Mesh_num_attributes_0=Module["_emscripten_bind_Mesh_num_attributes_0"]=asm["_emscripten_bind_Mesh_num_attributes_0"];var _emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=Module["_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0"]=asm["_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0"];var _emscripten_bind_AttributeOctahedronTransform___destroy___0=Module["_emscripten_bind_AttributeOctahedronTransform___destroy___0"]=asm["_emscripten_bind_AttributeOctahedronTransform___destroy___0"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _emscripten_bind_Decoder_GetAttributeMetadata_2=Module["_emscripten_bind_Decoder_GetAttributeMetadata_2"]=asm["_emscripten_bind_Decoder_GetAttributeMetadata_2"];var _emscripten_bind_PointAttribute_unique_id_0=Module["_emscripten_bind_PointAttribute_unique_id_0"]=asm["_emscripten_bind_PointAttribute_unique_id_0"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var _emscripten_enum_draco_StatusCode_IO_ERROR=Module["_emscripten_enum_draco_StatusCode_IO_ERROR"]=asm["_emscripten_enum_draco_StatusCode_IO_ERROR"];var _emscripten_bind_MetadataQuerier_HasIntEntry_2=Module["_emscripten_bind_MetadataQuerier_HasIntEntry_2"]=asm["_emscripten_bind_MetadataQuerier_HasIntEntry_2"];var _emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=Module["_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2"]=asm["_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2"];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_bind_PointCloud_num_attributes_0=Module["_emscripten_bind_PointCloud_num_attributes_0"]=asm["_emscripten_bind_PointCloud_num_attributes_0"];var _emscripten_bind_DecoderBuffer_DecoderBuffer_0=Module["_emscripten_bind_DecoderBuffer_DecoderBuffer_0"]=asm["_emscripten_bind_DecoderBuffer_DecoderBuffer_0"];var _emscripten_enum_draco_GeometryAttribute_Type_POSITION=Module["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"];var _emscripten_bind_DracoInt32Array_size_0=Module["_emscripten_bind_DracoInt32Array_size_0"]=asm["_emscripten_bind_DracoInt32Array_size_0"];var _emscripten_bind_Decoder_SkipAttributeTransform_1=Module["_emscripten_bind_Decoder_SkipAttributeTransform_1"]=asm["_emscripten_bind_Decoder_SkipAttributeTransform_1"];var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM"]=asm["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM"];var _emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3"];var _emscripten_enum_draco_StatusCode_ERROR=Module["_emscripten_enum_draco_StatusCode_ERROR"]=asm["_emscripten_enum_draco_StatusCode_ERROR"];var _emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=Module["_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0"]=asm["_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0"];var _emscripten_enum_draco_StatusCode_INVALID_PARAMETER=Module["_emscripten_enum_draco_StatusCode_INVALID_PARAMETER"]=asm["_emscripten_enum_draco_StatusCode_INVALID_PARAMETER"];var _emscripten_enum_draco_GeometryAttribute_Type_COLOR=Module["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"];var _emscripten_bind_VoidPtr___destroy___0=Module["_emscripten_bind_VoidPtr___destroy___0"]=asm["_emscripten_bind_VoidPtr___destroy___0"];var _memset=Module["_memset"]=asm["_memset"];var _emscripten_bind_PointAttribute_attribute_type_0=Module["_emscripten_bind_PointAttribute_attribute_type_0"]=asm["_emscripten_bind_PointAttribute_attribute_type_0"];var _emscripten_bind_MetadataQuerier___destroy___0=Module["_emscripten_bind_MetadataQuerier___destroy___0"]=asm["_emscripten_bind_MetadataQuerier___destroy___0"];var _emscripten_bind_DracoInt32Array_GetValue_1=Module["_emscripten_bind_DracoInt32Array_GetValue_1"]=asm["_emscripten_bind_DracoInt32Array_GetValue_1"];var _emscripten_bind_DecoderBuffer___destroy___0=Module["_emscripten_bind_DecoderBuffer___destroy___0"]=asm["_emscripten_bind_DecoderBuffer___destroy___0"];var _emscripten_bind_Decoder_GetAttribute_2=Module["_emscripten_bind_Decoder_GetAttribute_2"]=asm["_emscripten_bind_Decoder_GetAttribute_2"];var _emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=Module["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"]=asm["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var setTempRet0=Module["setTempRet0"]=asm["setTempRet0"];var _emscripten_bind_DracoInt32Array_DracoInt32Array_0=Module["_emscripten_bind_DracoInt32Array_DracoInt32Array_0"]=asm["_emscripten_bind_DracoInt32Array_DracoInt32Array_0"];var _emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=Module["_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION"]=asm["_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION"];var _emscripten_bind_DracoFloat32Array___destroy___0=Module["_emscripten_bind_DracoFloat32Array___destroy___0"]=asm["_emscripten_bind_DracoFloat32Array___destroy___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_PointCloud___destroy___0=Module["_emscripten_bind_PointCloud___destroy___0"]=asm["_emscripten_bind_PointCloud___destroy___0"];var _emscripten_bind_GeometryAttribute_GeometryAttribute_0=Module["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"]=asm["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"];var ___muldsi3=Module["___muldsi3"]=asm["___muldsi3"];var _emscripten_bind_Decoder_GetFaceFromMesh_3=Module["_emscripten_bind_Decoder_GetFaceFromMesh_3"]=asm["_emscripten_bind_Decoder_GetFaceFromMesh_3"];var _emscripten_bind_PointAttribute_data_type_0=Module["_emscripten_bind_PointAttribute_data_type_0"]=asm["_emscripten_bind_PointAttribute_data_type_0"];var _emscripten_bind_DracoFloat32Array_size_0=Module["_emscripten_bind_DracoFloat32Array_size_0"]=asm["_emscripten_bind_DracoFloat32Array_size_0"];var _emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1=Module["_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1"]=asm["_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1"];var _malloc=Module["_malloc"]=asm["_malloc"];var _emscripten_bind_PointAttribute_GetAttributeTransformData_0=Module["_emscripten_bind_PointAttribute_GetAttributeTransformData_0"]=asm["_emscripten_bind_PointAttribute_GetAttributeTransformData_0"];var _emscripten_bind_PointAttribute_byte_offset_0=Module["_emscripten_bind_PointAttribute_byte_offset_0"]=asm["_emscripten_bind_PointAttribute_byte_offset_0"];var _emscripten_replace_memory=Module["_emscripten_replace_memory"]=asm["_emscripten_replace_memory"];var _memmove=Module["_memmove"]=asm["_memmove"];var _emscripten_bind_PointCloud_PointCloud_0=Module["_emscripten_bind_PointCloud_PointCloud_0"]=asm["_emscripten_bind_PointCloud_PointCloud_0"];var _emscripten_bind_Status_error_msg_0=Module["_emscripten_bind_Status_error_msg_0"]=asm["_emscripten_bind_Status_error_msg_0"];var _emscripten_bind_Mesh___destroy___0=Module["_emscripten_bind_Mesh___destroy___0"]=asm["_emscripten_bind_Mesh___destroy___0"];var _emscripten_bind_Metadata___destroy___0=Module["_emscripten_bind_Metadata___destroy___0"]=asm["_emscripten_bind_Metadata___destroy___0"];var _emscripten_bind_Status___destroy___0=Module["_emscripten_bind_Status___destroy___0"]=asm["_emscripten_bind_Status___destroy___0"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM"]=asm["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM"];var _emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0=Module["_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0"]=asm["_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0"];var _emscripten_bind_AttributeQuantizationTransform_range_0=Module["_emscripten_bind_AttributeQuantizationTransform_range_0"]=asm["_emscripten_bind_AttributeQuantizationTransform_range_0"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _emscripten_bind_Decoder_GetAttributeId_2=Module["_emscripten_bind_Decoder_GetAttributeId_2"]=asm["_emscripten_bind_Decoder_GetAttributeId_2"];var _emscripten_enum_draco_StatusCode_OK=Module["_emscripten_enum_draco_StatusCode_OK"]=asm["_emscripten_enum_draco_StatusCode_OK"];var _emscripten_bind_AttributeTransformData_transform_type_0=Module["_emscripten_bind_AttributeTransformData_transform_type_0"]=asm["_emscripten_bind_AttributeTransformData_transform_type_0"];var _emscripten_bind_Status_code_0=Module["_emscripten_bind_Status_code_0"]=asm["_emscripten_bind_Status_code_0"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var _emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=Module["_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0"]=asm["_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0"];var ___uremdi3=Module["___uremdi3"]=asm["___uremdi3"];var _emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=Module["_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0"]=asm["_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0"];var _emscripten_enum_draco_GeometryAttribute_Type_GENERIC=Module["_emscripten_enum_draco_GeometryAttribute_Type_GENERIC"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_GENERIC"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _emscripten_bind_Decoder_DecodeBufferToMesh_2=Module["_emscripten_bind_Decoder_DecodeBufferToMesh_2"]=asm["_emscripten_bind_Decoder_DecodeBufferToMesh_2"];var _emscripten_bind_DracoFloat32Array_GetValue_1=Module["_emscripten_bind_DracoFloat32Array_GetValue_1"]=asm["_emscripten_bind_DracoFloat32Array_GetValue_1"];var _emscripten_bind_PointAttribute_PointAttribute_0=Module["_emscripten_bind_PointAttribute_PointAttribute_0"]=asm["_emscripten_bind_PointAttribute_PointAttribute_0"];var _emscripten_bind_Decoder_GetMetadata_1=Module["_emscripten_bind_Decoder_GetMetadata_1"]=asm["_emscripten_bind_Decoder_GetMetadata_1"];var _emscripten_enum_draco_GeometryAttribute_Type_NORMAL=Module["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var _emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=Module["_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1"]=asm["_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1"];var _emscripten_bind_PointAttribute___destroy___0=Module["_emscripten_bind_PointAttribute___destroy___0"]=asm["_emscripten_bind_PointAttribute___destroy___0"];var _emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=Module["_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION"]=asm["_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];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;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}run();function WrapperObject(){}WrapperObject.prototype=Object.create(WrapperObject.prototype);WrapperObject.prototype.constructor=WrapperObject;WrapperObject.prototype.__class__=WrapperObject;WrapperObject.__cache__={};Module["WrapperObject"]=WrapperObject;function getCache(__class__){return(__class__||WrapperObject).__cache__}Module["getCache"]=getCache;function wrapPointer(ptr,__class__){var cache=getCache(__class__);var ret=cache[ptr];if(ret)return ret;ret=Object.create((__class__||WrapperObject).prototype);ret.ptr=ptr;return cache[ptr]=ret}Module["wrapPointer"]=wrapPointer;function castObject(obj,__class__){return wrapPointer(obj.ptr,__class__)}Module["castObject"]=castObject;Module["NULL"]=wrapPointer(0);function destroy(obj){if(!obj["__destroy__"])throw"Error: Cannot destroy object. (Did you create it yourself?)";obj["__destroy__"]();delete getCache(obj.__class__)[obj.ptr]}Module["destroy"]=destroy;function compare(obj1,obj2){return obj1.ptr===obj2.ptr}Module["compare"]=compare;function getPointer(obj){return obj.ptr}Module["getPointer"]=getPointer;function getClass(obj){return obj.__class__}Module["getClass"]=getClass;var ensureCache={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:(function(){if(ensureCache.needed){for(var i=0;i=ensureCache.size){assert(len>0);ensureCache.needed+=len;ret=Module["_malloc"](len);ensureCache.temps.push(ret)}else{ret=ensureCache.buffer+ensureCache.pos;ensureCache.pos+=len}return ret}),copy:(function(array,view,offset){var offsetShifted=offset;var bytes=view.BYTES_PER_ELEMENT;switch(bytes){case 2:offsetShifted>>=1;break;case 4:offsetShifted>>=2;break;case 8:offsetShifted>>=3;break}for(var i=0;i