((function(root,wrapper){if(typeof define=="function"&&define.amd)define([],(function(){return wrapper}));else if(typeof module=="object"&&module.exports)module.exports=wrapper;else(root.nbind=root.nbind||{}).init=wrapper}))(this,(function(Module,cb){if(typeof Module=="function"){cb=Module;Module={}}Module.onRuntimeInitialized=(function(init,cb){return(function(){if(init)init.apply(this,arguments);try{Module.ccall("nbind_init")}catch(err){cb(err);return}cb(null,{bind:Module._nbind_value,reflect:Module.NBind.reflect,queryType:Module.NBind.queryType,toggleLightGC:Module.toggleLightGC,lib:Module})})})(Module.onRuntimeInitialized,cb);var Module;if(!Module)Module=(typeof Module!=="undefined"?Module:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=typeof window==="object";var ENVIRONMENT_IS_WORKER=typeof importScripts==="function";var ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=function print(x){process["stdout"].write(x+"\n")};if(!Module["printErr"])Module["printErr"]=function printErr(x){process["stderr"].write(x+"\n")};var nodeFS=require("fs");var nodePath=require("path");Module["read"]=function read(filename,binary){filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);if(!ret&&filename!=nodePath["resolve"](filename)){filename=path.join(__dirname,"..","src",filename);ret=nodeFS["readFileSync"](filename)}if(ret&&!binary)ret=ret.toString();return ret};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 (jsc?)"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};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.log(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){if(!args.splice)args=Array.prototype.slice.call(args);args.splice(0,0,ptr);return Module["dynCall_"+sig].apply(null,args)}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i=TOTAL_MEMORY){var success=enlargeMemory();if(!success){DYNAMICTOP=ret;return 0}}return ret}),alignMemory:(function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret}),makeBigInt:(function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret}),GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var __THREW__=0;var ABORT=false;var EXITSTATUS=0;var undef=0;var tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempDouble,tempFloat;var tempI64,tempI64b;var tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var globalScope=this;function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=Runtime.stackAlloc((str.length<<2)+1);writeStringToMemory(str,ret)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}Module["Pointer_stringify"]=Pointer_stringify;function AsciiToString(ptr){var str="";while(1){var ch=HEAP8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}Module["AsciiToString"]=AsciiToString;function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}Module["stringToAscii"]=stringToAscii;function UTF8ArrayToString(u8Array,idx){var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}Module["UTF8ArrayToString"]=UTF8ArrayToString;function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module["UTF8ToString"]=UTF8ToString;function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}Module["stringToUTF8Array"]=stringToUTF8Array;function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}Module["stringToUTF8"]=stringToUTF8;function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;function UTF16ToString(ptr){var i=0;var str="";while(1){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)return str;++i;str+=String.fromCharCode(codeUnit)}}Module["UTF16ToString"]=UTF16ToString;function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}Module["stringToUTF16"]=stringToUTF16;function lengthBytesUTF16(str){return str.length*2}Module["lengthBytesUTF16"]=lengthBytesUTF16;function UTF32ToString(ptr){var i=0;var str="";while(1){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)return str;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}}Module["UTF32ToString"]=UTF32ToString;function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}Module["stringToUTF32"]=stringToUTF32;function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}Module["lengthBytesUTF32"]=lengthBytesUTF32;function demangle(func){var hasLibcxxabi=!!Module["___cxa_demangle"];if(hasLibcxxabi){try{var buf=_malloc(func.length);writeStringToMemory(func.substr(1),buf);var status=_malloc(4);var ret=Module["___cxa_demangle"](buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}var i=3;var basicTypes={"v":"void","b":"bool","c":"char","s":"short","i":"int","l":"long","f":"float","d":"double","w":"wchar_t","a":"signed char","h":"unsigned char","t":"unsigned short","j":"unsigned int","m":"unsigned long","x":"long long","y":"unsigned long long","z":"..."};var subs=[];var first=true;function dump(x){if(x)Module.print(x);Module.print(func);var pre="";for(var a=0;a"}else{ret=name}paramLoop:while(i0){var c=func[i++];if(c in basicTypes){list.push(basicTypes[c])}else{switch(c){case"P":list.push(parse(true,1,true)[0]+"*");break;case"R":list.push(parse(true,1,true)[0]+"&");break;case"L":{i++;var end=func.indexOf("E",i);var size=end-i;list.push(func.substr(i,size));i+=size+2;break};case"A":{var size=parseInt(func.substr(i));i+=size.toString().length;if(func[i]!=="_")throw"?";i++;list.push(parse(true,1,true)[0]+" ["+size+"]");break};case"E":break paramLoop;default:ret+="?"+c;break paramLoop}}}if(!allowVoid&&list.length===1&&list[0]==="void")list=[];if(rawList){if(ret){list.push(ret+"?")}return list}else{return ret+flushList()}}var parsed=func;try{if(func=="Object._main"||func=="_main"){return"main()"}if(typeof func==="number")func=Pointer_stringify(func);if(func[0]!=="_")return func;if(func[1]!=="_")return func;if(func[2]!=="Z")return func;switch(func[3]){case"n":return"operator new()";case"d":return"operator delete()"}parsed=parse()}catch(e){parsed+="?"}if(parsed.indexOf("?")>=0&&!hasLibcxxabi){Runtime.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling")}return parsed}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}Module["stackTrace"]=stackTrace;var PAGE_SIZE=4096;function alignMemoryPage(x){if(x%4096>0){x+=4096-x%4096}return x}var HEAP;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var STATIC_BASE=0,STATICTOP=0,staticSealed=false;var STACK_BASE=0,STACKTOP=0,STACK_MAX=0;var DYNAMIC_BASE=0,DYNAMICTOP=0;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||134217728;var totalMemory=64*1024;while(totalMemory0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Runtime.dynCall("v",func)}else{Runtime.dynCall("vi",func,[callback.arg])}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}Module["addOnPreRun"]=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=addOnPostRun;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){var array=intArrayFromString(string,dontAddNull);var i=0;while(i>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<=half&&(bits<=32||value>half)){value=-2*half+value}return value}if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];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_min=Math.min;var Math_clz32=Math.clz32;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[(function($0,$1,$2,$3,$4,$5,$6,$7){{return _nbind.callbackSignatureList[$0].apply(this,arguments)}})];function _emscripten_asm_const_3(code,a0,a1,a2){return ASM_CONSTS[code](a0,a1,a2)}function _emscripten_asm_const_4(code,a0,a1,a2,a3){return ASM_CONSTS[code](a0,a1,a2,a3)}function _emscripten_asm_const_5(code,a0,a1,a2,a3,a4){return ASM_CONSTS[code](a0,a1,a2,a3,a4)}function _emscripten_asm_const_6(code,a0,a1,a2,a3,a4,a5){return ASM_CONSTS[code](a0,a1,a2,a3,a4,a5)}function _emscripten_asm_const_7(code,a0,a1,a2,a3,a4,a5,a6){return ASM_CONSTS[code](a0,a1,a2,a3,a4,a5,a6)}function _emscripten_asm_const_8(code,a0,a1,a2,a3,a4,a5,a6,a7){return ASM_CONSTS[code](a0,a1,a2,a3,a4,a5,a6,a7)}STATIC_BASE=8;STATICTOP=STATIC_BASE+12640;__ATINIT__.push({func:(function(){__GLOBAL__sub_I_nbind_cc()})},{func:(function(){__GLOBAL__sub_I_common_cc()})},{func:(function(){__GLOBAL__sub_I_Binding_cc()})});allocate([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,0,0,184,34,0,0,224,1,0,0,0,0,0,0,240,16,0,0,197,34,0,0,240,16,0,0,210,34,0,0,24,17,0,0,223,34,0,0,232,1,0,0,0,0,0,0,24,17,0,0,0,35,0,0,240,1,0,0,0,0,0,0,24,17,0,0,34,35,0,0,0,2,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,128,191,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,192,127,0,0,0,0,214,24,0,0,228,24,0,0,240,24,0,0,188,24,0,0,198,24,0,0,206,24,0,0,1,0,0,0,3,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,29,0,0,22,29,0,0,23,29,0,0,22,29,0,0,23,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,158,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,4,0,0,0,2,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,33,0,0,22,29,0,0,22,29,0,0,22,29,0,0,22,29,0,0,22,29,0,0,22,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,33,0,0,22,29,0,0,22,29,0,0,23,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,161,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,33,0,0,28,8,0,0,3,0,0,0,162,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,8,0,0,163,33,0,0,2,0,0,0,164,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,163,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,33,0,0,80,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,33,0,0,80,8,0,0,163,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,29,0,0,23,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,165,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,6,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,33,0,0,23,29,0,0,22,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,165,33,0,0,23,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,33,0,0,22,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,33,0,0,23,29,0,0,22,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,33,0,0,23,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,33,0,0,232,10,0,0,3,0,0,0,240,10,0,0,1,0,0,0,164,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,11,0,0,23,29,0,0,22,29,0,0,2,0,0,0,165,33,0,0,240,11,0,0,166,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,12,0,0,2,0,0,0,158,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,140,12,0,0,22,29,0,0,22,29,0,0,2,0,0,0,21,29,0,0,0,0,0,0,0,0,0,0,2,0,0,0,9,0,0,0,10,0,0,0,2,0,0,0,11,0,0,0,140,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,161,33,0,0,23,29,0,0,160,33,0,0,23,29,0,0,161,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,13,0,0,18,34,0,0,188,33,0,0,160,33,0,0,201,33,0,0,161,33,0,0,206,33,0,0,211,33,0,0,212,33,0,0,28,8,0,0,224,33,0,0,72,13,0,0,237,33,0,0,0,34,0,0,1,34,0,0,10,34,0,0,11,34,0,0,0,0,0,0,3,0,0,0,80,13,0,0,1,0,0,0,162,33,0,0,31,34,0,0,32,34,0,0,33,34,0,0,34,34,0,0,35,34,0,0,163,33,0,0,23,29,0,0,36,34,0,0,37,34,0,0,38,34,0,0,39,34,0,0,40,34,0,0,22,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,47,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,12,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,0,34,0,0,31,34,0,0,48,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,0,0,31,34,0,0,48,34,0,0,68,14,0,0,7,0,0,0,48,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,0,0,31,34,0,0,48,34,0,0,163,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,0,0,31,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,33,0,0,48,34,0,0,68,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,33,0,0,48,34,0,0,172,14,0,0,2,0,0,0,180,14,0,0,1,0,0,0,33,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,33,0,0,48,34,0,0,31,34,0,0,31,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,33,0,0,48,34,0,0,172,14,0,0,163,33,0,0,68,14,0,0,252,14,0,0,7,0,0,0,172,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,0,159,33,0,0,163,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,15,0,0,163,33,0,0,2,0,0,0,48,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,33,0,0,163,33,0,0,163,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,163,33,0,0,163,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,0,0,48,34,0,0,28,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,33,0,0,28,8,0,0,28,8,0,0,28,8,0,0,28,8,0,0,28,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,33,0,0,172,14,0,0,28,8,0,0,128,16,0,0,2,0,0,0,183,34,0,0,0,0,0,0,0,0,0,0,2,0,0,0,15,0,0,0,16,0,0,0,2,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,1,0,0,18,0,0,0,19,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,16,2,0,0,20,0,0,0,24,0,0,0,22,0,0,0,23,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,17,0,0,224,17,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,76,47,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,5,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,68,43,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,102,111,114,32,108,105,115,116,0,67,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,102,111,114,32,105,116,101,109,115,0,67,111,117,108,100,32,110,111,116,32,101,120,116,101,110,100,32,97,108,108,111,99,97,116,105,111,110,32,102,111,114,32,105,116,101,109,115,0,0,0,0,37,115,0,67,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,102,111,114,32,110,111,100,101,0,67,97,110,110,111,116,32,114,101,115,101,116,32,97,32,110,111,100,101,32,119,104,105,99,104,32,115,116,105,108,108,32,104,97,115,32,99,104,105,108,100,114,101,110,32,97,116,116,97,99,104,101,100,0,67,97,110,110,111,116,32,114,101,115,101,116,32,97,32,110,111,100,101,32,115,116,105,108,108,32,97,116,116,97,99,104,101,100,32,116,111,32,97,32,112,97,114,101,110,116,0,67,97,110,110,111,116,32,115,101,116,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,58,32,78,111,100,101,115,32,119,105,116,104,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,32,99,97,110,110,111,116,32,104,97,118,101,32,99,104,105,108,100,114,101,110,46,0,67,104,105,108,100,32,97,108,114,101,97,100,121,32,104,97,115,32,97,32,112,97,114,101,110,116,44,32,105,116,32,109,117,115,116,32,98,101,32,114,101,109,111,118,101,100,32,102,105,114,115,116,46,0,67,97,110,110,111,116,32,97,100,100,32,99,104,105,108,100,58,32,78,111,100,101,115,32,119,105,116,104,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,32,99,97,110,110,111,116,32,104,97,118,101,32,99,104,105,108,100,114,101,110,46,0,79,110,108,121,32,108,101,97,102,32,110,111,100,101,115,32,119,105,116,104,32,99,117,115,116,111,109,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,115,104,111,117,108,100,32,109,97,110,117,97,108,108,121,32,109,97,114,107,32,116,104,101,109,115,101,108,118,101,115,32,97,115,32,100,105,114,116,121,0,67,97,110,110,111,116,32,103,101,116,32,99,111,109,112,117,116,101,100,32,118,97,108,117,101,32,111,102,32,109,117,108,116,105,45,101,100,103,101,32,115,104,111,114,116,104,97,110,100,115,0,67,97,110,110,111,116,32,103,101,116,32,108,97,121,111,117,116,32,112,114,111,112,101,114,116,105,101,115,32,111,102,32,109,117,108,116,105,45,101,100,103,101,32,115,104,111,114,116,104,97,110,100,115,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,37,115,37,100,46,123,91,115,107,105,112,112,101,100,93,32,0,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,97,119,58,32,37,102,32,97,104,58,32,37,102,32,61,62,32,100,58,32,40,37,102,44,32,37,102,41,32,37,115,10,0,42,0,37,115,37,100,46,123,37,115,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,97,119,58,32,37,102,32,97,104,58,32,37,102,32,37,115,10,0,37,115,37,100,46,125,37,115,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,100,58,32,40,37,102,44,32,37,102,41,32,37,115,10,0,79,117,116,32,111,102,32,99,97,99,104,101,32,101,110,116,114,105,101,115,33,0,105,110,105,116,105,97,108,0,0,0,0,97,118,97,105,108,97,98,108,101,87,105,100,116,104,32,105,115,32,105,110,100,101,102,105,110,105,116,101,32,115,111,32,119,105,100,116,104,77,101,97,115,117,114,101,77,111,100,101,32,109,117,115,116,32,98,101,32,89,71,77,101,97,115,117,114,101,77,111,100,101,85,110,100,101,102,105,110,101,100,0,97,118,97,105,108,97,98,108,101,72,101,105,103,104,116,32,105,115,32,105,110,100,101,102,105,110,105,116,101,32,115,111,32,104,101,105,103,104,116,77,101,97,115,117,114,101,77,111,100,101,32,109,117,115,116,32,98,101,32,89,71,77,101,97,115,117,114,101,77,111,100,101,85,110,100,101,102,105,110,101,100,0,109,101,97,115,117,114,101,0,102,108,101,120,0,115,116,114,101,116,99,104,0,97,98,115,45,109,101,97,115,117,114,101,0,97,98,115,45,108,97,121,111,117,116,0,69,120,112,101,99,116,32,99,117,115,116,111,109,32,98,97,115,101,108,105,110,101,32,102,117,110,99,116,105,111,110,32,116,111,32,110,111,116,32,114,101,116,117,114,110,32,78,97,78,0,85,78,68,69,70,73,78,69,68,0,69,88,65,67,84,76,89,0,65,84,95,77,79,83,84,0,76,65,89,95,85,78,68,69,70,73,78,69,68,0,76,65,89,95,69,88,65,67,84,76,89,0,76,65,89,95,65,84,95,77,79,83,84,0,32,32,0,123,0,108,97,121,111,117,116,58,32,123,0,119,105,100,116,104,58,32,37,103,44,32,0,104,101,105,103,104,116,58,32,37,103,44,32,0,116,111,112,58,32,37,103,44,32,0,108,101,102,116,58,32,37,103,0,125,44,32,0,102,108,101,120,68,105,114,101,99,116,105,111,110,58,32,39,99,111,108,117,109,110,39,44,32,0,102,108,101,120,68,105,114,101,99,116,105,111,110,58,32,39,99,111,108,117,109,110,45,114,101,118,101,114,115,101,39,44,32,0,102,108,101,120,68,105,114,101,99,116,105,111,110,58,32,39,114,111,119,39,44,32,0,102,108,101,120,68,105,114,101,99,116,105,111,110,58,32,39,114,111,119,45,114,101,118,101,114,115,101,39,44,32,0,106,117,115,116,105,102,121,67,111,110,116,101,110,116,58,32,39,99,101,110,116,101,114,39,44,32,0,106,117,115,116,105,102,121,67,111,110,116,101,110,116,58,32,39,102,108,101,120,45,101,110,100,39,44,32,0,106,117,115,116,105,102,121,67,111,110,116,101,110,116,58,32,39,115,112,97,99,101,45,97,114,111,117,110,100,39,44,32,0,106,117,115,116,105,102,121,67,111,110,116,101,110,116,58,32,39,115,112,97,99,101,45,98,101,116,119,101,101,110,39,44,32,0,97,108,105,103,110,73,116,101,109,115,58,32,39,99,101,110,116,101,114,39,44,32,0,97,108,105,103,110,73,116,101,109,115,58,32,39,102,108,101,120,45,101,110,100,39,44,32,0,97,108,105,103,110,73,116,101,109,115,58,32,39,115,116,114,101,116,99,104,39,44,32,0,97,108,105,103,110,67,111,110,116,101,110,116,58,32,39,99,101,110,116,101,114,39,44,32,0,97,108,105,103,110,67,111,110,116,101,110,116,58,32,39,102,108,101,120,45,101,110,100,39,44,32,0,97,108,105,103,110,67,111,110,116,101,110,116,58,32,39,115,116,114,101,116,99,104,39,44,32,0,97,108,105,103,110,83,101,108,102,58,32,39,102,108,101,120,45,115,116,97,114,116,39,44,32,0,97,108,105,103,110,83,101,108,102,58,32,39,99,101,110,116,101,114,39,44,32,0,97,108,105,103,110,83,101,108,102,58,32,39,102,108,101,120,45,101,110,100,39,44,32,0,97,108,105,103,110,83,101,108,102,58,32,39,115,116,114,101,116,99,104,39,44,32,0,37,115,58,32,37,103,44,32,0,102,108,101,120,71,114,111,119,0,102,108,101,120,83,104,114,105,110,107,0,102,108,101,120,66,97,115,105,115,0,111,118,101,114,102,108,111,119,58,32,39,104,105,100,100,101,110,39,44,32,0,111,118,101,114,102,108,111,119,58,32,39,118,105,115,105,98,108,101,39,44,32,0,111,118,101,114,102,108,111,119,58,32,39,115,99,114,111,108,108,39,44,32,0,109,97,114,103,105,110,0,109,97,114,103,105,110,76,101,102,116,0,109,97,114,103,105,110,82,105,103,104,116,0,109,97,114,103,105,110,84,111,112,0,109,97,114,103,105,110,66,111,116,116,111,109,0,109,97,114,103,105,110,83,116,97,114,116,0,109,97,114,103,105,110,69,110,100,0,112,97,100,100,105,110,103,0,112,97,100,100,105,110,103,76,101,102,116,0,112,97,100,100,105,110,103,82,105,103,104,116,0,112,97,100,100,105,110,103,84,111,112,0,112,97,100,100,105,110,103,66,111,116,116,111,109,0,112,97,100,100,105,110,103,83,116,97,114,116,0,112,97,100,100,105,110,103,69,110,100,0,98,111,114,100,101,114,87,105,100,116,104,0,98,111,114,100,101,114,76,101,102,116,87,105,100,116,104,0,98,111,114,100,101,114,82,105,103,104,116,87,105,100,116,104,0,98,111,114,100,101,114,84,111,112,87,105,100,116,104,0,98,111,114,100,101,114,66,111,116,116,111,109,87,105,100,116,104,0,98,111,114,100,101,114,83,116,97,114,116,87,105,100,116,104,0,98,111,114,100,101,114,69,110,100,87,105,100,116,104,0,119,105,100,116,104,0,104,101,105,103,104,116,0,109,97,120,87,105,100,116,104,0,109,97,120,72,101,105,103,104,116,0,109,105,110,87,105,100,116,104,0,109,105,110,72,101,105,103,104,116,0,112,111,115,105,116,105,111,110,58,32,39,97,98,115,111,108,117,116,101,39,44,32,0,108,101,102,116,0,114,105,103,104,116,0,116,111,112,0,98,111,116,116,111,109,0,99,104,105,108,100,114,101,110,58,32,91,10,0,93,125,44,10,0,125,44,10,0,112,120,0,37,0,37,115,58,32,37,103,37,115,44,32,0,0,0,0,115,101,116,69,120,112,101,114,105,109,101,110,116,97,108,70,101,97,116,117,114,101,69,110,97,98,108,101,100,0,105,115,69,120,112,101,114,105,109,101,110,116,97,108,70,101,97,116,117,114,101,69,110,97,98,108,101,100,0,103,101,116,73,110,115,116,97,110,99,101,67,111,117,110,116,0,78,111,100,101,0,99,114,101,97,116,101,0,100,101,115,116,114,111,121,0,114,101,115,101,116,0,99,111,112,121,83,116,121,108,101,0,115,101,116,80,111,115,105,116,105,111,110,84,121,112,101,0,115,101,116,80,111,115,105,116,105,111,110,0,115,101,116,80,111,115,105,116,105,111,110,80,101,114,99,101,110,116,0,115,101,116,65,108,105,103,110,67,111,110,116,101,110,116,0,115,101,116,65,108,105,103,110,73,116,101,109,115,0,115,101,116,65,108,105,103,110,83,101,108,102,0,115,101,116,70,108,101,120,68,105,114,101,99,116,105,111,110,0,115,101,116,70,108,101,120,87,114,97,112,0,115,101,116,74,117,115,116,105,102,121,67,111,110,116,101,110,116,0,115,101,116,77,97,114,103,105,110,0,115,101,116,77,97,114,103,105,110,80,101,114,99,101,110,116,0,115,101,116,79,118,101,114,102,108,111,119,0,115,101,116,70,108,101,120,0,115,101,116,70,108,101,120,66,97,115,105,115,0,115,101,116,70,108,101,120,66,97,115,105,115,80,101,114,99,101,110,116,0,115,101,116,70,108,101,120,71,114,111,119,0,115,101,116,70,108,101,120,83,104,114,105,110,107,0,115,101,116,87,105,100,116,104,0,115,101,116,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,72,101,105,103,104,116,0,115,101,116,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,77,105,110,87,105,100,116,104,0,115,101,116,77,105,110,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,77,105,110,72,101,105,103,104,116,0,115,101,116,77,105,110,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,77,97,120,87,105,100,116,104,0,115,101,116,77,97,120,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,77,97,120,72,101,105,103,104,116,0,115,101,116,77,97,120,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,65,115,112,101,99,116,82,97,116,105,111,0,115,101,116,66,111,114,100,101,114,0,115,101,116,80,97,100,100,105,110,103,0,115,101,116,80,97,100,100,105,110,103,80,101,114,99,101,110,116,0,103,101,116,80,111,115,105,116,105,111,110,84,121,112,101,0,103,101,116,80,111,115,105,116,105,111,110,0,103,101,116,65,108,105,103,110,67,111,110,116,101,110,116,0,103,101,116,65,108,105,103,110,73,116,101,109,115,0,103,101,116,65,108,105,103,110,83,101,108,102,0,103,101,116,70,108,101,120,68,105,114,101,99,116,105,111,110,0,103,101,116,70,108,101,120,87,114,97,112,0,103,101,116,74,117,115,116,105,102,121,67,111,110,116,101,110,116,0,103,101,116,77,97,114,103,105,110,0,103,101,116,70,108,101,120,66,97,115,105,115,0,103,101,116,70,108,101,120,71,114,111,119,0,103,101,116,70,108,101,120,83,104,114,105,110,107,0,103,101,116,87,105,100,116,104,0,103,101,116,72,101,105,103,104,116,0,103,101,116,77,105,110,87,105,100,116,104,0,103,101,116,77,105,110,72,101,105,103,104,116,0,103,101,116,77,97,120,87,105,100,116,104,0,103,101,116,77,97,120,72,101,105,103,104,116,0,103,101,116,65,115,112,101,99,116,82,97,116,105,111,0,103,101,116,66,111,114,100,101,114,0,103,101,116,80,97,100,100,105,110,103,0,105,110,115,101,114,116,67,104,105,108,100,0,114,101,109,111,118,101,67,104,105,108,100,0,103,101,116,67,104,105,108,100,67,111,117,110,116,0,103,101,116,80,97,114,101,110,116,0,103,101,116,67,104,105,108,100,0,115,101,116,77,101,97,115,117,114,101,70,117,110,99,0,117,110,115,101,116,77,101,97,115,117,114,101,70,117,110,99,0,109,97,114,107,68,105,114,116,121,0,105,115,68,105,114,116,121,0,99,97,108,99,117,108,97,116,101,76,97,121,111,117,116,0,103,101,116,67,111,109,112,117,116,101,100,76,101,102,116,0,103,101,116,67,111,109,112,117,116,101,100,82,105,103,104,116,0,103,101,116,67,111,109,112,117,116,101,100,84,111,112,0,103,101,116,67,111,109,112,117,116,101,100,66,111,116,116,111,109,0,103,101,116,67,111,109,112,117,116,101,100,87,105,100,116,104,0,103,101,116,67,111,109,112,117,116,101,100,72,101,105,103,104,116,0,103,101,116,67,111,109,112,117,116,101,100,76,97,121,111,117,116,0,103,101,116,67,111,109,112,117,116,101,100,77,97,114,103,105,110,0,103,101,116,67,111,109,112,117,116,101,100,66,111,114,100,101,114,0,103,101,116,67,111,109,112,117,116,101,100,80,97,100,100,105,110,103,0,0,0,0,0,0,0,0,0,86,97,108,117,101,0,76,97,121,111,117,116,0,83,105,122,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,118,111,105,100,0,98,111,111,108,0,0,115,116,100,58,58,115,116,114,105,110,103,0,99,98,70,117,110,99,116,105,111,110,32,38,0,99,111,110,115,116,32,99,98,70,117,110,99,116,105,111,110,32,38,0,0,69,120,116,101,114,110,97,108,0,0,66,117,102,102,101,114,0,1,1,1,2,2,4,4,4,4,8,8,4,8,0,0,0,0,0,0,0,0,0,0,73,110,116,54,52,0,0,0,95,110,98,105,110,100,95,110,101,119,0,123,114,101,116,117,114,110,40,95,110,98,105,110,100,46,99,97,108,108,98,97,99,107,83,105,103,110,97,116,117,114,101,76,105,115,116,91,36,48,93,46,97,112,112,108,121,40,116,104,105,115,44,97,114,103,117,109,101,110,116,115,41,41,59,125,0,78,66,105,110,100,73,68,0,78,66,105,110,100,0,98,105,110,100,95,118,97,108,117,101,0,114,101,102,108,101,99,116,0,113,117,101,114,121,84,121,112,101,0,108,97,108,108,111,99,0,108,114,101,115,101,116,0,0,83,116,57,98,97,100,95,97,108,108,111,99,0,83,116,57,101,120,99,101,112,116,105,111,110,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,49,54,95,95,115,104,105,109,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,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,33,34,118,101,99,116,111,114,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,85,115,101,114,115,47,101,109,105,108,115,106,47,68,111,99,117,109,101,110,116,115,47,101,109,115,100,107,95,112,111,114,116,97,98,108,101,47,101,109,115,99,114,105,112,116,101,110,47,49,46,51,53,46,48,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,95,95,116,104,114,111,119,95,108,101,110,103,116,104,95,101,114,114,111,114,0,115,116,100,58,58,98,97,100,95,97,108,108,111,99,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],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([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],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240);allocate([17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,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,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,46,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+12100);var tempDoublePtr=Runtime.alignMemory(allocate(12,"i8",ALLOC_STATIC),8);assert(tempDoublePtr%8==0);function copyTempFloat(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3]}function copyTempDouble(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3];HEAP8[tempDoublePtr+4]=HEAP8[ptr+4];HEAP8[tempDoublePtr+5]=HEAP8[ptr+5];HEAP8[tempDoublePtr+6]=HEAP8[ptr+6];HEAP8[tempDoublePtr+7]=HEAP8[ptr+7]}function _atexit(func,arg){__ATEXIT__.unshift({func:func,arg:arg})}function ___cxa_atexit(){return _atexit.apply(null,arguments)}Module["_i64Subtract"]=_i64Subtract;var _fabsf=Math_abs;var _floorf=Math_floor;function _pthread_cleanup_pop(){assert(_pthread_cleanup_push.level==__ATEXIT__.length,"cannot pop if something else added meanwhile!");__ATEXIT__.pop();_pthread_cleanup_push.level=__ATEXIT__.length}function _llvm_stackrestore(p){var self=_llvm_stacksave;var ret=self.LLVM_SAVEDSTACKS[p];self.LLVM_SAVEDSTACKS.splice(p,1);Runtime.stackRestore(ret)}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){if(info.destructor){Runtime.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}EXCEPTIONS.clearRef(EXCEPTIONS.deAdjust(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(asm["setTempRet0"](0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(asm["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(asm["setTempRet0"](typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(asm["setTempRet0"](throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0};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;var _BDtoILow=true;Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}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 __decorate(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r}function __extends(d,b){for(var p in b)if(b.hasOwnProperty(p))d[p]=b[p];function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}function _defineHidden(value){return(function(target,key){Object.defineProperty(target,key,{configurable:false,enumerable:false,value:value,writable:true})})}var _nbind={};function __nbind_free_external(num){_nbind.externalList[num].dereference(num)}Module["_i64Add"]=_i64Add;function __nbind_reference_external(num){_nbind.externalList[num].reference()}function __nbind_register_primitive(id,size,flags){var spec={flags:1024|flags,id:id,ptrSize:size};_nbind.makeType(_nbind.constructType,spec)}var _emscripten_asm_const_int=true;function __nbind_register_pool(pageSize,usedPtr,rootPtr,pagePtr){_nbind.Pool.pageSize=pageSize;_nbind.Pool.usedPtr=usedPtr/4;_nbind.Pool.rootPtr=rootPtr;_nbind.Pool.pagePtr=pagePtr/4;HEAP32[usedPtr/4]=16909060;if(HEAP8[usedPtr]==1)_nbind.bigEndian=true;HEAP32[usedPtr/4]=0;_nbind.makeTypeKindTbl=(_a={},_a[1024]=_nbind.PrimitiveType,_a[64]=_nbind.Int64Type,_a[2048]=_nbind.BindClass,_a[3072]=_nbind.BindClassPtr,_a[4096]=_nbind.SharedClassPtr,_a[5120]=_nbind.ArrayType,_a[6144]=_nbind.ArrayType,_a[7168]=_nbind.CStringType,_a[9216]=_nbind.CallbackType,_a[10240]=_nbind.BindType,_a);_nbind.makeTypeNameTbl={"Buffer":_nbind.BufferType,"External":_nbind.ExternalType,"Int64":_nbind.Int64Type,"_nbind_new":_nbind.CreateValueType,"bool":_nbind.BooleanType,"cbFunction &":_nbind.CallbackType,"const cbFunction &":_nbind.CallbackType,"std::string":_nbind.StringType};Module["toggleLightGC"]=_nbind.toggleLightGC;_nbind.callUpcast=Module["dynCall_ii"];var globalScope=_nbind.makeType(_nbind.constructType,{flags:2048,id:0,name:""});globalScope.proto=Module;_nbind.BindClass.list.push(globalScope);var _a}var PATH=undefined;function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){setTimeout(Browser.mainLoop.runner,value)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(!window["setImmediate"]){var setImmediates=[];var emscriptenMainLoopMessageId="__emcc";function Browser_setImmediate_messageHandler(event){if(event.source===window&&event.data===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}}window.addEventListener("message",Browser_setImmediate_messageHandler,true);window["setImmediate"]=function Browser_emulated_setImmediate(func){setImmediates.push(func);window.postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){window["setImmediate"](Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){Module["noExitRuntime"]=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();setTimeout(Browser.mainLoop.runner,0);return}if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}if(Browser.mainLoop.method==="timeout"&&Module.ctx){Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter((function(){if(typeof arg!=="undefined"){Runtime.dynCall("vi",func,[arg])}else{Runtime.dynCall("v",func)}}));if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:(function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++}),resume:(function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()}),updateStatus:(function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout((function(){finish(audio)}),1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);var canvas=Module["canvas"];function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===canvas||document["mozPointerLockElement"]===canvas||document["webkitPointerLockElement"]===canvas||document["msPointerLockElement"]===canvas}if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||(function(){});canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||(function(){});canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",(function(ev){if(!Browser.pointerLock&&canvas.requestPointerLock){canvas.requestPointerLock();ev.preventDefault()}}),false)}}}),createContext:(function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}canvas.style.backgroundColor="black"}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach((function(callback){callback()}));Browser.init()}return ctx}),destroyContext:(function(canvas,useWebGL,setInModule){}),fullScreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullScreen:(function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullScreenChange(){Browser.isFullScreen=false;var canvasContainer=canvas.parentNode;if((document["webkitFullScreenElement"]||document["webkitFullscreenElement"]||document["mozFullScreenElement"]||document["mozFullscreenElement"]||document["fullScreenElement"]||document["fullscreenElement"]||document["msFullScreenElement"]||document["msFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.cancelFullScreen=document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["webkitCancelFullScreen"]||document["msExitFullscreen"]||document["exitFullscreen"]||(function(){});canvas.cancelFullScreen=canvas.cancelFullScreen.bind(document);if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullScreen=true;if(Browser.resizeCanvas)Browser.setFullScreenCanvasSize()}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas)Browser.setWindowedCanvasSize()}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullScreen);Browser.updateCanvasDimensions(canvas)}if(!Browser.fullScreenHandlersInstalled){Browser.fullScreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullScreenChange,false);document.addEventListener("mozfullscreenchange",fullScreenChange,false);document.addEventListener("webkitfullscreenchange",fullScreenChange,false);document.addEventListener("MSFullscreenChange",fullScreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullScreen=canvasContainer["requestFullScreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullScreen"]?(function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}):null);if(vrDevice){canvasContainer.requestFullScreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullScreen()}}),nextRAF:0,fakeRequestAnimationFrame:(function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)}),requestAnimationFrame:function requestAnimationFrame(func){if(typeof window==="undefined"){Browser.fakeRequestAnimationFrame(func)}else{if(!window.requestAnimationFrame){window.requestAnimationFrame=window["requestAnimationFrame"]||window["mozRequestAnimationFrame"]||window["webkitRequestAnimationFrame"]||window["msRequestAnimationFrame"]||window["oRequestAnimationFrame"]||Browser.fakeRequestAnimationFrame}window.requestAnimationFrame(func)}},safeCallback:(function(func){return(function(){if(!ABORT)return func.apply(null,arguments)})}),allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:(function(){Browser.allowAsyncCallbacks=false}),resumeAsyncCallbacks:(function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach((function(func){func()}))}}),safeRequestAnimationFrame:(function(func){return Browser.requestAnimationFrame((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}}))}),safeSetTimeout:(function(func,timeout){Module["noExitRuntime"]=true;return setTimeout((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}}),timeout)}),safeSetInterval:(function(func,timeout){Module["noExitRuntime"]=true;return setInterval((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}}),timeout)}),getMimetype:(function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]}),getUserMedia:(function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)}),getMovementX:(function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0}),getMovementY:(function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0}),getMouseWheelDelta:(function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail;break;case"mousewheel":delta=event.wheelDelta;break;case"wheel":delta=event["deltaY"];break;default:throw"unrecognized mouse wheel event: "+event.type}return delta}),mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:(function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}}),xhrLoad:(function(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)}),asyncLoad:(function(url,onload,onerror,noRunDep){Browser.xhrLoad(url,(function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(!noRunDep)removeRunDependency("al "+url)}),(function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}}));if(!noRunDep)addRunDependency("al "+url)}),resizeListeners:[],updateResizeListeners:(function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach((function(listener){listener(canvas.width,canvas.height)}))}),setCanvasSize:(function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()}),windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:(function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags|8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()}),setWindowedCanvasSize:(function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags&~8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()}),updateCanvasDimensions:(function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>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}}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(ERRNO_CODES.EINVAL);return-1}Module["_bitshift64Lshr"]=_bitshift64Lshr;function _typeModule(self){var structureList=[[0,1,"X"],[1,1,"const X"],[128,1,"X *"],[256,1,"X &"],[384,1,"X &&"],[512,1,"std::shared_ptr"],[640,1,"std::unique_ptr"],[5120,1,"std::vector"],[6144,2,"std::array"],[9216,-1,"std::function"]];function applyStructure(outerName,outerFlags,innerName,innerFlags,param,flip){if(outerFlags==1){var ref=innerFlags&896;if(ref==128||ref==256||ref==384)outerName="X const"}var name;if(flip){name=innerName.replace("X",outerName).replace("Y",param)}else{name=outerName.replace("X",innerName).replace("Y",param)}return name.replace(/([*&]) (?=[*&])/g,"$1")}function reportProblem(problem,id,kind,structureType,place){throw new Error(problem+" type "+kind.replace("X",id+"?")+(structureType?" with flag "+structureType:"")+" in "+place)}function getComplexType(id,constructType,getType,queryType,place,kind,prevStructure,depth){if(kind===void 0){kind="X"}if(depth===void 0){depth=1}var result=getType(id);if(result)return result;var query=queryType(id);var structureType=query.placeholderFlag;var structure=structureList[structureType];if(prevStructure&&structure){kind=applyStructure(prevStructure[2],prevStructure[0],kind,structure[0],"?",true)}var problem;if(structureType==0)problem="Unbound";if(structureType>=10)problem="Corrupt";if(depth>20)problem="Deeply nested";if(problem)reportProblem(problem,id,kind,structureType,place||"?");var subId=query.paramList[0];var subType=getComplexType(subId,constructType,getType,queryType,place,kind,structure,depth+1);var srcSpec;var spec={flags:structure[0],id:id,name:"",paramList:[subType]};var argList=[];var structureParam="?";switch(query.placeholderFlag){case 1:srcSpec=subType.spec;break;case 2:if((subType.flags&15360)==1024&&subType.spec.ptrSize==1){spec.flags=7168;break};case 3:case 6:case 5:srcSpec=subType.spec;if((subType.flags&15360)!=2048){}break;case 8:structureParam=""+query.paramList[1];spec.paramList.push(query.paramList[1]);break;case 9:for(var _i=0,_a=query.paramList[1];_i<_a.length;_i++){var paramId=_a[_i];var paramType=getComplexType(paramId,constructType,getType,queryType,place,kind,structure,depth+1);argList.push(paramType.name);spec.paramList.push(paramType)}structureParam=argList.join(", ");break;default:break}spec.name=applyStructure(structure[2],structure[0],subType.name,subType.flags,structureParam);if(srcSpec){for(var _b=0,_c=Object.keys(srcSpec);_b<_c.length;_b++){var key=_c[_b];spec[key]=spec[key]||srcSpec[key]}spec.flags|=srcSpec.flags}return makeType(constructType,spec)}function makeType(constructType,spec){var flags=spec.flags;var refKind=flags&896;var kind=flags&15360;if(!spec.name&&kind==1024){if(spec.ptrSize==1){spec.name=(flags&16?"":(flags&8?"un":"")+"signed ")+"char"}else{spec.name=(flags&8?"u":"")+(flags&32?"float":"int")+(spec.ptrSize*8+"_t")}}if(spec.ptrSize==8&&!(flags&32))kind=64;if(kind==2048){if(refKind==512||refKind==640){kind=4096}else if(refKind)kind=3072}return constructType(kind,spec)}var Type=(function(){function Type(spec){this.id=spec.id;this.name=spec.name;this.flags=spec.flags;this.spec=spec}Type.prototype.toString=(function(){return this.name});return Type})();var output={Type:Type,getComplexType:getComplexType,makeType:makeType,structureList:structureList};self.output=output;return self.output||output}function __nbind_register_type(id,namePtr){var name=_nbind.readAsciiString(namePtr);var spec={flags:10240,id:id,name:name};_nbind.makeType(_nbind.constructType,spec)}var _BDtoIHigh=true;function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_pthread_cleanup_push.level=__ATEXIT__.length}function __nbind_register_callback_signature(typeListPtr,typeCount){var typeList=_nbind.readTypeIdList(typeListPtr,typeCount);var num=_nbind.callbackSignatureList.length;_nbind.callbackSignatureList[num]=_nbind.makeJSCaller(typeList);return num}function __nbind_register_class(idListPtr,policyListPtr,superListPtr,upcastListPtr,superCount,destructorPtr,namePtr){var name=_nbind.readAsciiString(namePtr);var policyTbl=_nbind.readPolicyList(policyListPtr);var idList=HEAPU32.subarray(idListPtr/4,idListPtr/4+2);var spec={flags:2048|(policyTbl["Value"]?2:0),id:idList[0],name:name};var bindClass=_nbind.makeType(_nbind.constructType,spec);bindClass.ptrType=_nbind.getComplexType(idList[1],_nbind.constructType,_nbind.getType,_nbind.queryType);bindClass.destroy=_nbind.makeMethodCaller(bindClass.ptrType,{boundID:spec.id,flags:0,name:"destroy",num:0,ptr:destructorPtr,title:bindClass.name+".free",typeList:["void","uint32_t","uint32_t"]});if(superCount){bindClass.superIdList=Array.prototype.slice.call(HEAPU32.subarray(superListPtr/4,superListPtr/4+superCount));bindClass.upcastList=Array.prototype.slice.call(HEAPU32.subarray(upcastListPtr/4,upcastListPtr/4+superCount))}Module[bindClass.name]=bindClass.makeBound(policyTbl);_nbind.BindClass.list.push(bindClass)}function _removeAccessorPrefix(name){var prefixMatcher=/^[Gg]et_?([A-Z]?([A-Z]?))/;return name.replace(prefixMatcher,(function(match,initial,second){return second?initial:initial.toLowerCase()}))}function __nbind_register_function(boundID,policyListPtr,typeListPtr,typeCount,ptr,direct,signatureType,namePtr,num,flags){var bindClass=_nbind.getType(boundID);var policyTbl=_nbind.readPolicyList(policyListPtr);var typeList=_nbind.readTypeIdList(typeListPtr,typeCount);var specList;if(signatureType==4){specList=[{direct:ptr,name:"__nbindConstructor",ptr:0,title:bindClass.name+" constructor",typeList:["uint32_t"].concat(typeList.slice(1))},{direct:direct,name:"__nbindValueConstructor",ptr:0,title:bindClass.name+" value constructor",typeList:["void","uint32_t"].concat(typeList.slice(1))}]}else{var name_1=_nbind.readAsciiString(namePtr);var title=(bindClass.name&&bindClass.name+".")+name_1;if(signatureType==2||signatureType==3){name_1=_removeAccessorPrefix(name_1)}specList=[{boundID:boundID,direct:direct,name:name_1,ptr:ptr,title:title,typeList:typeList}]}for(var _i=0,specList_1=specList;_i>>0}return ret}function _llvm_stacksave(){var self=_llvm_stacksave;if(!self.LLVM_SAVEDSTACKS){self.LLVM_SAVEDSTACKS=[]}self.LLVM_SAVEDSTACKS.push(Runtime.stackSave());return self.LLVM_SAVEDSTACKS.length-1}var _BItoD=true;function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function _pthread_self(){return 0}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;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.buffer=[];var buffer=___syscall146.buffer;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;jPool.pageSize/2||size>Pool.pageSize-used){var NBind=_nbind.typeNameTbl["NBind"].proto;return NBind.lalloc(size)}else{HEAPU32[Pool.usedPtr]=used+size;return Pool.rootPtr+used}});Pool.lreset=(function(used,page){var topPage=HEAPU32[Pool.pagePtr];if(topPage){var NBind=_nbind.typeNameTbl["NBind"].proto;NBind.lreset(used,page)}else{HEAPU32[Pool.usedPtr]=used}});return Pool})();_nbind.Pool=Pool;function constructType(kind,spec){var construct=kind==10240?_nbind.makeTypeNameTbl[spec.name]||_nbind.BindType:_nbind.makeTypeKindTbl[kind];var bindType=new construct(spec);typeIdTbl[spec.id]=bindType;_nbind.typeNameTbl[spec.name]=bindType;return bindType}_nbind.constructType=constructType;function getType(id){return typeIdTbl[id]}_nbind.getType=getType;function queryType(id){var placeholderFlag=HEAPU8[id];var paramCount=_nbind.structureList[placeholderFlag][1];id/=4;if(paramCount<0){++id;paramCount=HEAPU32[id]+1}var paramList=Array.prototype.slice.call(HEAPU32.subarray(id+1,id+1+paramCount));if(placeholderFlag==9){paramList=[paramList[0],paramList.slice(1)]}return{paramList:paramList,placeholderFlag:placeholderFlag}}_nbind.queryType=queryType;function getTypes(idList,place){return idList.map((function(id){return typeof id=="number"?_nbind.getComplexType(id,constructType,getType,queryType,place):_nbind.typeNameTbl[id]}))}_nbind.getTypes=getTypes;function readTypeIdList(typeListPtr,typeCount){return Array.prototype.slice.call(HEAPU32,typeListPtr/4,typeListPtr/4+typeCount)}_nbind.readTypeIdList=readTypeIdList;function readAsciiString(ptr){var endPtr=ptr;while(HEAPU8[endPtr++]);return String.fromCharCode.apply("",HEAPU8.subarray(ptr,endPtr-1))}_nbind.readAsciiString=readAsciiString;function readPolicyList(policyListPtr){var policyTbl={};if(policyListPtr){while(1){var namePtr=HEAPU32[policyListPtr/4];if(!namePtr)break;policyTbl[readAsciiString(namePtr)]=true;policyListPtr+=4}}return policyTbl}_nbind.readPolicyList=readPolicyList;function getDynCall(typeList,name){var mangleMap={float32_t:"d",float64_t:"d",int64_t:"d",uint64_t:"d","void":"v"};var signature=typeList.map((function(type){return mangleMap[type.name]||"i"})).join("");var dynCall=Module["dynCall_"+signature];if(!dynCall){throw new Error("dynCall_"+signature+" not found for "+name+"("+typeList.map((function(type){return type.name})).join(", ")+")")}return dynCall}_nbind.getDynCall=getDynCall;function addMethod(obj,name,func,arity){var overload=obj[name];if(obj.hasOwnProperty(name)&&overload){if(overload.arity||overload.arity===0){overload=_nbind.makeOverloader(overload,overload.arity);obj[name]=overload}overload.addMethod(func,arity)}else{func.arity=arity;obj[name]=func}}_nbind.addMethod=addMethod;function throwError(message){throw new Error(message)}_nbind.throwError=throwError;_nbind.bigEndian=false;_a=_typeModule(_typeModule),_nbind.Type=_a.Type,_nbind.makeType=_a.makeType,_nbind.getComplexType=_a.getComplexType,_nbind.structureList=_a.structureList;var BindType=(function(_super){__extends(BindType,_super);function BindType(){var _this=_super!==null&&_super.apply(this,arguments)||this;_this.heap=HEAPU32;_this.ptrSize=4;return _this}BindType.prototype.needsWireRead=(function(policyTbl){return!!this.wireRead||!!this.makeWireRead});BindType.prototype.needsWireWrite=(function(policyTbl){return!!this.wireWrite||!!this.makeWireWrite});return BindType})(_nbind.Type);_nbind.BindType=BindType;var PrimitiveType=(function(_super){__extends(PrimitiveType,_super);function PrimitiveType(spec){var _this=_super.call(this,spec)||this;var heapTbl=spec.flags&32?{32:HEAPF32,64:HEAPF64}:spec.flags&8?{8:HEAPU8,16:HEAPU16,32:HEAPU32}:{8:HEAP8,16:HEAP16,32:HEAP32};_this.heap=heapTbl[spec.ptrSize*8];_this.ptrSize=spec.ptrSize;return _this}PrimitiveType.prototype.needsWireWrite=(function(policyTbl){return!!policyTbl&&!!policyTbl["Strict"]});PrimitiveType.prototype.makeWireWrite=(function(expr,policyTbl){return policyTbl&&policyTbl["Strict"]&&(function(arg){if(typeof arg=="number")return arg;throw new Error("Type mismatch")})});return PrimitiveType})(BindType);_nbind.PrimitiveType=PrimitiveType;function pushCString(str,policyTbl){if(str===null||str===undefined){if(policyTbl&&policyTbl["Nullable"]){return 0}else throw new Error("Type mismatch")}if(policyTbl&&policyTbl["Strict"]){if(typeof str!="string")throw new Error("Type mismatch")}else str=str.toString();var length=Module.lengthBytesUTF8(str)+1;var result=_nbind.Pool.lalloc(length);Module.stringToUTF8Array(str,HEAPU8,result,length);return result}_nbind.pushCString=pushCString;function popCString(ptr){if(ptr===0)return null;return Module.Pointer_stringify(ptr)}_nbind.popCString=popCString;var CStringType=(function(_super){__extends(CStringType,_super);function CStringType(){var _this=_super!==null&&_super.apply(this,arguments)||this;_this.wireRead=popCString;_this.wireWrite=pushCString;_this.readResources=[_nbind.resources.pool];_this.writeResources=[_nbind.resources.pool];return _this}CStringType.prototype.makeWireWrite=(function(expr,policyTbl){return(function(arg){return pushCString(arg,policyTbl)})});return CStringType})(BindType);_nbind.CStringType=CStringType;var BooleanType=(function(_super){__extends(BooleanType,_super);function BooleanType(){var _this=_super!==null&&_super.apply(this,arguments)||this;_this.wireRead=(function(arg){return!!arg});return _this}BooleanType.prototype.needsWireWrite=(function(policyTbl){return!!policyTbl&&!!policyTbl["Strict"]});BooleanType.prototype.makeWireRead=(function(expr){return"!!("+expr+")"});BooleanType.prototype.makeWireWrite=(function(expr,policyTbl){return policyTbl&&policyTbl["Strict"]&&(function(arg){if(typeof arg=="boolean")return arg;throw new Error("Type mismatch")})||expr});return BooleanType})(BindType);_nbind.BooleanType=BooleanType;var Wrapper=(function(){function Wrapper(){}Wrapper.prototype.persist=(function(){this.__nbindState|=1});return Wrapper})();_nbind.Wrapper=Wrapper;function makeBound(policyTbl,bindClass){var Bound=(function(_super){__extends(Bound,_super);function Bound(marker,flags,ptr,shared){var _this=_super.call(this)||this;if(!(_this instanceof Bound)){return new(Function.prototype.bind.apply(Bound,Array.prototype.concat.apply([null],arguments)))}var nbindFlags=flags;var nbindPtr=ptr;var nbindShared=shared;if(marker!==_nbind.ptrMarker){var wirePtr=_this.__nbindConstructor.apply(_this,arguments);nbindFlags=4096|512;nbindShared=HEAPU32[wirePtr/4];nbindPtr=HEAPU32[wirePtr/4+1]}var spec={configurable:true,enumerable:false,value:null,writable:false};var propTbl={"__nbindFlags":nbindFlags,"__nbindPtr":nbindPtr};if(nbindShared){propTbl["__nbindShared"]=nbindShared;_nbind.mark(_this)}for(var _i=0,_a=Object.keys(propTbl);_i<_a.length;_i++){var key=_a[_i];spec.value=propTbl[key];Object.defineProperty(_this,key,spec)}_defineHidden(0)(_this,"__nbindState");return _this}Bound.prototype.free=(function(){bindClass.destroy.call(this,this.__nbindShared,this.__nbindFlags);this.__nbindState|=2;disableMember(this,"__nbindShared");disableMember(this,"__nbindPtr")});return Bound})(Wrapper);__decorate([_defineHidden()],Bound.prototype,"__nbindConstructor",void 0);__decorate([_defineHidden()],Bound.prototype,"__nbindValueConstructor",void 0);__decorate([_defineHidden(policyTbl)],Bound.prototype,"__nbindPolicies",void 0);return Bound}_nbind.makeBound=makeBound;function disableMember(obj,name){function die(){throw new Error("Accessing deleted object")}Object.defineProperty(obj,name,{configurable:false,enumerable:false,get:die,set:die})}_nbind.ptrMarker={};var BindClass=(function(_super){__extends(BindClass,_super);function BindClass(spec){var _this=_super.call(this,spec)||this;_this.wireRead=(function(arg){return _nbind.popValue(arg,_this.ptrType)});_this.wireWrite=(function(arg){return pushPointer(arg,_this.ptrType,true)});_this.pendingSuperCount=0;_this.ready=false;_this.methodTbl={};if(spec.paramList){_this.classType=spec.paramList[0].classType;_this.proto=_this.classType.proto}else _this.classType=_this;return _this}BindClass.prototype.makeBound=(function(policyTbl){var Bound=_nbind.makeBound(policyTbl,this);this.proto=Bound;this.ptrType.proto=Bound;return Bound});BindClass.prototype.addMethod=(function(spec){var overloadList=this.methodTbl[spec.name]||[];overloadList.push(spec);this.methodTbl[spec.name]=overloadList});BindClass.prototype.registerMethods=(function(src,staticOnly){var setter;for(var _i=0,_a=Object.keys(src.methodTbl);_i<_a.length;_i++){var name_1=_a[_i];var overloadList=src.methodTbl[name_1];for(var _b=0,overloadList_1=overloadList;_b>=1;var obj=_nbind.valueList[num];_nbind.valueList[num]=firstFreeValue;firstFreeValue=num;return obj}else if(type){return _nbind.popShared(num,type)}else throw new Error("Invalid value slot "+num)}_nbind.popValue=popValue;var valueBase=0x10000000000000000;function push64(num){if(typeof num=="number")return num;return pushValue(num)*4096+valueBase}function pop64(num){if(num=3){srcBuf=Buffer.from(src)}else srcBuf=new Buffer(src);srcBuf.copy(buf)}else getBuffer(buf).set(src)}}_nbind.commitBuffer=commitBuffer;var dirtyList=[];var gcTimer=0;function sweep(){for(var _i=0,dirtyList_1=dirtyList;_i>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0]}function ac(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0];a[k+4>>0]=a[b+4>>0];a[k+5>>0]=a[b+5>>0];a[k+6>>0]=a[b+6>>0];a[k+7>>0]=a[b+7>>0]}function bc(a){a=a|0;D=a}function cc(){return D|0}function dc(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;e=f+8|0;d=f;b=Cb[c[544>>2]&31](12)|0;if(!b){c[d>>2]=5184;lc(0,5296,d);$a()}c[b>>2]=a;c[b+4>>2]=0;d=Cb[c[544>>2]&31](a<<2)|0;c[b+8>>2]=d;if(!d){c[e>>2]=5219;lc(0,5296,e);$a()}else{i=f;return b|0}return 0}function ec(a){a=a|0;if(!a)return;Ab[c[552>>2]&127](c[a+8>>2]|0);Ab[c[552>>2]&127](a);return}function fc(a){a=a|0;if(!a){a=0;return a|0}a=c[a+4>>2]|0;return a|0}function gc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;h=j;f=c[a>>2]|0;if(!f){f=dc(4)|0;c[a>>2]=f}g=f+4|0;a=c[g>>2]|0;do if((a|0)==(c[f>>2]|0)){c[f>>2]=a<<1;k=f+8|0;a=Kb[c[548>>2]&15](c[k>>2]|0,a<<3)|0;c[k>>2]=a;if(!a){c[h>>2]=5255;lc(0,5296,h);$a()}else{e=c[g>>2]|0;break}}else e=a;while(0);f=f+8|0;if(e>>>0<=d>>>0){k=e;k=k+1|0;c[g>>2]=k;k=c[f>>2]|0;k=k+(d<<2)|0;c[k>>2]=b;i=j;return}do{k=e;e=e+-1|0;h=c[f>>2]|0;c[h+(k<<2)>>2]=c[h+(e<<2)>>2]}while(e>>>0>d>>>0);k=c[g>>2]|0;k=k+1|0;c[g>>2]=k;k=c[f>>2]|0;k=k+(d<<2)|0;c[k>>2]=b;i=j;return}function hc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+8|0;e=(c[d>>2]|0)+(b<<2)|0;f=c[e>>2]|0;c[e>>2]=0;e=a+4|0;a=(c[e>>2]|0)+-1|0;if(a>>>0<=b>>>0){d=a;c[e>>2]=d;return f|0}do{a=b;b=b+1|0;g=c[d>>2]|0;c[g+(a<<2)>>2]=c[g+(b<<2)>>2];c[(c[d>>2]|0)+(b<<2)>>2]=0;a=(c[e>>2]|0)+-1|0}while(b>>>0>>0);c[e>>2]=a;return f|0}function ic(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=c[a+4>>2]|0;if(!e){g=0;return g|0}f=c[a+8>>2]|0;d=0;while(1){if((c[f+(d<<2)>>2]|0)==(b|0))break;d=d+1|0;if(d>>>0>=e>>>0){d=0;g=6;break}}if((g|0)==6)return d|0;g=hc(a,d)|0;return g|0}function jc(a,b){a=a|0;b=b|0;if(!a){a=0;return a|0}if(!(c[a+4>>2]|0)){a=0;return a|0}a=c[(c[a+8>>2]|0)+(b<<2)>>2]|0;return a|0}function kc(){var a=0,b=0,d=0;d=i;i=i+16|0;b=d;a=Cb[c[544>>2]&31](968)|0;if(!a){c[b>>2]=5299;lc(0,5296,b);$a()}else{c[139]=(c[139]|0)+1;Gn(a|0,568,968)|0;i=d;return a|0}return 0}function lc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;Fb[c[1536>>2]&15](a,b,f)|0;i=e;return}function mc(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+936|0;d=c[b>>2]|0;if(d){ic(c[d+940>>2]|0,a)|0;c[b>>2]=0}e=a+940|0;f=fc(c[e>>2]|0)|0;b=c[e>>2]|0;if(f){d=0;do{c[(jc(b,d)|0)+936>>2]=0;d=d+1|0;b=c[e>>2]|0}while((d|0)!=(f|0))}ec(b);Ab[c[552>>2]&127](a);c[139]=(c[139]|0)+-1;return}function nc(a){a=a|0;return fc(c[a+940>>2]|0)|0}function oc(a,b){a=a|0;b=b|0;return jc(c[a+940>>2]|0,b)|0}function pc(b,d){b=b|0;d=d|0;if(!(ic(c[b+940>>2]|0,d)|0))return;c[d+936>>2]=0;while(1){d=b+964|0;if(a[d>>0]|0){d=5;break}a[d>>0]=1;g[b+500>>2]=s;b=c[b+936>>2]|0;if(!b){d=5;break}}if((d|0)==5)return}function qc(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;e=f+8|0;d=f;b=a+940|0;if(fc(c[b>>2]|0)|0){c[d>>2]=5334;lc(0,5296,d);$a()}if(!(c[a+936>>2]|0)){ec(c[b>>2]|0);Gn(a|0,568,968)|0;i=f;return}else{c[e>>2]=5388;lc(0,5296,e);$a()}}function rc(){return c[139]|0}function sc(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;if(!b){c[a+948>>2]=0;i=e;return}if(fc(c[a+940>>2]|0)|0){c[d>>2]=5435;lc(0,5296,d);$a()}c[a+948>>2]=b;i=e;return}function tc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k+8|0;h=k;f=d+936|0;if(c[f>>2]|0){c[h>>2]=5515;lc(0,5296,h);$a()}if(c[b+948>>2]|0){c[j>>2]=5569;lc(0,5296,j);$a()}gc(b+940|0,d,e);c[f>>2]=b;while(1){f=b+964|0;if(a[f>>0]|0){f=8;break}a[f>>0]=1;g[b+500>>2]=s;b=c[b+936>>2]|0;if(!b){f=8;break}}if((f|0)==8){i=k;return}}function uc(a){a=a|0;return c[a+936>>2]|0}function vc(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f;if(!(c[b+948>>2]|0)){c[d>>2]=5638;lc(0,5296,d);$a()}else e=b;while(1){b=e+964|0;if(a[b>>0]|0){b=5;break}a[b>>0]=1;g[e+500>>2]=s;e=c[e+936>>2]|0;if(!e){b=5;break}}if((b|0)==5){i=f;return}}function wc(b){b=b|0;return (a[b+964>>0]|0)!=0|0}function xc(b,d){b=b|0;d=d|0;if(!(hn(b,d,396)|0))return;Gn(b|0,d|0,396)|0;d=b;while(1){b=d+964|0;if(a[b>>0]|0){b=5;break}a[b>>0]=1;g[d+500>>2]=s;d=c[d+936>>2]|0;if(!d){b=5;break}}if((b|0)==5)return}function yc(a){a=a|0;var b=0.0;b=+g[a+40>>2];if(((g[k>>2]=b,c[k>>2]|0)&2147483647)>>>0>2139095040){b=+g[a+36>>2];return +(b>0.0&((g[k>>2]=b,c[k>>2]|0)&2147483647)>>>0<2139095041?b:0.0)}else return +b;return 0.0}function zc(a){a=a|0;var b=0.0;b=+g[a+44>>2];if(((g[k>>2]=b,c[k>>2]|0)&2147483647)>>>0>2139095040){b=+g[a+36>>2];return +(b<0.0&((g[k>>2]=b,c[k>>2]|0)&2147483647)>>>0<2139095041?-b:0.0)}else return +b;return 0.0}function Ac(a,b){a=a|0;b=b|0;var d=0.0,e=0;if(!(c[b+52>>2]|0)){d=+g[b+36>>2];b=d>0.0&((g[k>>2]=d,c[k>>2]|0)&2147483647)>>>0<2139095041?1540:1548}else b=b+48|0;e=b;b=c[e+4>>2]|0;c[a>>2]=c[e>>2];c[a+4>>2]=b;return}function Bc(b,d){b=b|0;d=+d;var e=0;e=b+36|0;if(!(+g[e>>2]!=d))return;g[e>>2]=d;while(1){e=b+964|0;if(a[e>>0]|0){e=5;break}a[e>>0]=1;g[b+500>>2]=s;b=c[b+936>>2]|0;if(!b){e=5;break}}if((e|0)==5)return}function Cc(a,b){a=a|0;b=b|0;c[a+960>>2]=b;return}function Dc(a){a=a|0;return c[a+960>>2]|0}function Ec(b,d){b=b|0;d=d|0;var e=0;e=b+4|0;if((c[e>>2]|0)==(d|0))return;c[e>>2]=d;while(1){e=b+964|0;if(a[e>>0]|0){e=5;break}a[e>>0]=1;g[b+500>>2]=s;b=c[b+936>>2]|0;if(!b){e=5;break}}if((e|0)==5)return}function Fc(a){a=a|0;return c[a+4>>2]|0}function Gc(b,d){b=b|0;d=d|0;var e=0;e=b+8|0;if((c[e>>2]|0)==(d|0))return;c[e>>2]=d;while(1){e=b+964|0;if(a[e>>0]|0){e=5;break}a[e>>0]=1;g[b+500>>2]=s;b=c[b+936>>2]|0;if(!b){e=5;break}}if((e|0)==5)return}function Hc(a){a=a|0;return c[a+8>>2]|0}function Ic(b,d){b=b|0;d=d|0;var e=0;e=b+12|0;if((c[e>>2]|0)==(d|0))return;c[e>>2]=d;while(1){e=b+964|0;if(a[e>>0]|0){e=5;break}a[e>>0]=1;g[b+500>>2]=s;b=c[b+936>>2]|0;if(!b){e=5;break}}if((e|0)==5)return}function Jc(a){a=a|0;return c[a+12>>2]|0}function Kc(b,d){b=b|0;d=d|0;var e=0;e=b+16|0;if((c[e>>2]|0)==(d|0))return;c[e>>2]=d;while(1){e=b+964|0;if(a[e>>0]|0){e=5;break}a[e>>0]=1;g[b+500>>2]=s;b=c[b+936>>2]|0;if(!b){e=5;break}}if((e|0)==5)return}function Lc(a){a=a|0;return c[a+16>>2]|0}function Mc(b,d){b=b|0;d=d|0;var e=0;e=b+20|0;if((c[e>>2]|0)==(d|0))return;c[e>>2]=d;while(1){e=b+964|0;if(a[e>>0]|0){e=5;break}a[e>>0]=1;g[b+500>>2]=s;b=c[b+936>>2]|0;if(!b){e=5;break}}if((e|0)==5)return}function Nc(a){a=a|0;return c[a+20>>2]|0}function Oc(b,d){b=b|0;d=d|0;var e=0;e=b+24|0;if((c[e>>2]|0)==(d|0))return;c[e>>2]=d;while(1){e=b+964|0;if(a[e>>0]|0){e=5;break}a[e>>0]=1;g[b+500>>2]=s;b=c[b+936>>2]|0;if(!b){e=5;break}}if((e|0)==5)return}function Pc(a){a=a|0;return c[a+24>>2]|0}function Qc(b,d){b=b|0;d=d|0;var e=0;e=b+28|0;if((c[e>>2]|0)==(d|0))return;c[e>>2]=d;while(1){e=b+964|0;if(a[e>>0]|0){e=5;break}a[e>>0]=1;g[b+500>>2]=s;b=c[b+936>>2]|0;if(!b){e=5;break}}if((e|0)==5)return}function Rc(a){a=a|0;return c[a+28>>2]|0}function Sc(b,d){b=b|0;d=d|0;var e=0;e=b+32|0;if((c[e>>2]|0)==(d|0))return;c[e>>2]=d;while(1){e=b+964|0;if(a[e>>0]|0){e=5;break}a[e>>0]=1;g[b+500>>2]=s;b=c[b+936>>2]|0;if(!b){e=5;break}}if((e|0)==5)return}function Tc(b,d){b=b|0;d=+d;var e=0;e=b+40|0;if(!(+g[e>>2]!=d))return;g[e>>2]=d;while(1){e=b+964|0;if(a[e>>0]|0){e=5;break}a[e>>0]=1;g[b+500>>2]=s;b=c[b+936>>2]|0;if(!b){e=5;break}}if((e|0)==5)return}function Uc(b,d){b=b|0;d=+d;var e=0;e=b+44|0;if(!(+g[e>>2]!=d))return;g[e>>2]=d;while(1){e=b+964|0;if(a[e>>0]|0){e=5;break}a[e>>0]=1;g[b+500>>2]=s;b=c[b+936>>2]|0;if(!b){e=5;break}}if((e|0)==5)return}function Vc(b,d){b=b|0;d=+d;var e=0,f=0;f=b+48|0;e=b+52|0;if(!(+g[f>>2]!=d)?(c[e>>2]|0)==1:0)return;g[f>>2]=d;c[e>>2]=((g[k>>2]=d,c[k>>2]|0)&2147483647)>>>0<2139095041&1;while(1){e=b+964|0;if(a[e>>0]|0){e=6;break}a[e>>0]=1;g[b+500>>2]=s;b=c[b+936>>2]|0;if(!b){e=6;break}}if((e|0)==6)return}function Wc(b,d){b=b|0;d=+d;var e=0,f=0;f=b+48|0;e=b+52|0;if(!(+g[f>>2]!=d)?(c[e>>2]|0)==2:0)return;g[f>>2]=d;c[e>>2]=((g[k>>2]=d,c[k>>2]|0)&2147483647)>>>0>2139095040?0:2;while(1){e=b+964|0;if(a[e>>0]|0){e=6;break}a[e>>0]=1;g[b+500>>2]=s;b=c[b+936>>2]|0;if(!b){e=6;break}}if((e|0)==6)return}function Xc(b,d,e){b=b|0;d=d|0;e=+e;var f=0;f=b+128+(d<<3)|0;d=b+128+(d<<3)+4|0;if(!(+g[f>>2]!=e)?(c[d>>2]|0)==1:0)return;g[f>>2]=e;c[d>>2]=((g[k>>2]=e,c[k>>2]|0)&2147483647)>>>0<2139095041&1;while(1){d=b+964|0;if(a[d>>0]|0){d=6;break}a[d>>0]=1;g[b+500>>2]=s;b=c[b+936>>2]|0;if(!b){d=6;break}}if((d|0)==6)return}function Yc(b,d,e){b=b|0;d=d|0;e=+e;var f=0;f=b+128+(d<<3)|0;d=b+128+(d<<3)+4|0;if(!(+g[f>>2]!=e)?(c[d>>2]|0)==2:0)return;g[f>>2]=e;c[d>>2]=((g[k>>2]=e,c[k>>2]|0)&2147483647)>>>0>2139095040?0:2;while(1){d=b+964|0;if(a[d>>0]|0){d=6;break}a[d>>0]=1;g[b+500>>2]=s;b=c[b+936>>2]|0;if(!b){d=6;break}}if((d|0)==6)return}function Zc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;e=f;if(d>>>0>=6){c[e>>2]=5724;lc(0,5296,e);$a()}a:do if(!(c[b+128+(d<<3)+4>>2]|0)){if((d&-3|0)==1?(c[b+188>>2]|0)!=0:0){d=b+184|0;break}switch(d|0){case 0:case 2:case 4:case 5:{if(c[b+180>>2]|0){d=b+176|0;break a}break}default:{}}d=(c[b+196>>2]|0)==0?1548:b+192|0}else d=b+128+(d<<3)|0;while(0);b=d;e=c[b+4>>2]|0;c[a>>2]=c[b>>2];c[a+4>>2]=e;i=f;return}function _c(b,d,e){b=b|0;d=d|0;e=+e;var f=0;f=b+56+(d<<3)|0;d=b+56+(d<<3)+4|0;if(!(+g[f>>2]!=e)?(c[d>>2]|0)==1:0)return;g[f>>2]=e;c[d>>2]=((g[k>>2]=e,c[k>>2]|0)&2147483647)>>>0<2139095041&1;while(1){d=b+964|0;if(a[d>>0]|0){d=6;break}a[d>>0]=1;g[b+500>>2]=s;b=c[b+936>>2]|0;if(!b){d=6;break}}if((d|0)==6)return}function $c(b,d,e){b=b|0;d=d|0;e=+e;var f=0;f=b+56+(d<<3)|0;d=b+56+(d<<3)+4|0;if(!(+g[f>>2]!=e)?(c[d>>2]|0)==2:0)return;g[f>>2]=e;c[d>>2]=((g[k>>2]=e,c[k>>2]|0)&2147483647)>>>0>2139095040?0:2;while(1){d=b+964|0;if(a[d>>0]|0){d=6;break}a[d>>0]=1;g[b+500>>2]=s;b=c[b+936>>2]|0;if(!b){d=6;break}}if((d|0)==6)return}function ad(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;e=f;if(d>>>0>=6){c[e>>2]=5724;lc(0,5296,e);$a()}a:do if(!(c[b+56+(d<<3)+4>>2]|0)){if((d&-3|0)==1?(c[b+116>>2]|0)!=0:0){d=b+112|0;break}switch(d|0){case 0:case 2:case 4:case 5:{if(c[b+108>>2]|0){d=b+104|0;break a}break}default:{}}if(!(c[b+124>>2]|0)){d=(d&-2|0)==4?1548:1540;break}else{d=b+120|0;break}}else d=b+56+(d<<3)|0;while(0);b=d;e=c[b+4>>2]|0;c[a>>2]=c[b>>2];c[a+4>>2]=e;i=f;return}function bd(b,d,e){b=b|0;d=d|0;e=+e;var f=0;f=b+200+(d<<3)|0;d=b+200+(d<<3)+4|0;if(!(+g[f>>2]!=e)?(c[d>>2]|0)==1:0)return;g[f>>2]=e;c[d>>2]=((g[k>>2]=e,c[k>>2]|0)&2147483647)>>>0<2139095041&1;while(1){d=b+964|0;if(a[d>>0]|0){d=6;break}a[d>>0]=1;g[b+500>>2]=s;b=c[b+936>>2]|0;if(!b){d=6;break}}if((d|0)==6)return}function cd(b,d,e){b=b|0;d=d|0;e=+e;var f=0;f=b+200+(d<<3)|0;d=b+200+(d<<3)+4|0;if(!(+g[f>>2]!=e)?(c[d>>2]|0)==2:0)return;g[f>>2]=e;c[d>>2]=((g[k>>2]=e,c[k>>2]|0)&2147483647)>>>0>2139095040?0:2;while(1){d=b+964|0;if(a[d>>0]|0){d=6;break}a[d>>0]=1;g[b+500>>2]=s;b=c[b+936>>2]|0;if(!b){d=6;break}}if((d|0)==6)return}function dd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;e=f;if(d>>>0>=6){c[e>>2]=5724;lc(0,5296,e);$a()}a:do if(!(c[b+200+(d<<3)+4>>2]|0)){if((d&-3|0)==1?(c[b+260>>2]|0)!=0:0){d=b+256|0;break}switch(d|0){case 0:case 2:case 4:case 5:{if(c[b+252>>2]|0){d=b+248|0;break a}break}default:{}}if(!(c[b+268>>2]|0)){d=(d&-2|0)==4?1548:1540;break}else{d=b+264|0;break}}else d=b+200+(d<<3)|0;while(0);b=d;e=c[b+4>>2]|0;c[a>>2]=c[b>>2];c[a+4>>2]=e;i=f;return}function ed(b,d,e){b=b|0;d=d|0;e=+e;var f=0;f=b+272+(d<<3)|0;d=b+272+(d<<3)+4|0;if(!(+g[f>>2]!=e)?(c[d>>2]|0)==1:0)return;g[f>>2]=e;c[d>>2]=((g[k>>2]=e,c[k>>2]|0)&2147483647)>>>0<2139095041&1;while(1){d=b+964|0;if(a[d>>0]|0){d=6;break}a[d>>0]=1;g[b+500>>2]=s;b=c[b+936>>2]|0;if(!b){d=6;break}}if((d|0)==6)return}function fd(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;if(b>>>0>=6){c[d>>2]=5724;lc(0,5296,d);$a()}a:do if(!(c[a+272+(b<<3)+4>>2]|0)){if((b&-3|0)==1?(c[a+332>>2]|0)!=0:0){b=a+328|0;break}switch(b|0){case 0:case 2:case 4:case 5:{if(c[a+324>>2]|0){b=a+320|0;break a}break}default:{}}if(!(c[a+340>>2]|0)){b=(b&-2|0)==4?1548:1540;break}else{b=a+336|0;break}}else b=a+272+(b<<3)|0;while(0);i=e;return +(+g[b>>2])}function gd(b,d){b=b|0;d=+d;var e=0,f=0;f=b+344|0;e=b+348|0;if(!(+g[f>>2]!=d)?(c[e>>2]|0)==1:0)return;g[f>>2]=d;c[e>>2]=((g[k>>2]=d,c[k>>2]|0)&2147483647)>>>0<2139095041&1;while(1){e=b+964|0;if(a[e>>0]|0){e=6;break}a[e>>0]=1;g[b+500>>2]=s;b=c[b+936>>2]|0;if(!b){e=6;break}}if((e|0)==6)return}function hd(b,d){b=b|0;d=+d;var e=0,f=0;f=b+344|0;e=b+348|0;if(!(+g[f>>2]!=d)?(c[e>>2]|0)==2:0)return;g[f>>2]=d;c[e>>2]=((g[k>>2]=d,c[k>>2]|0)&2147483647)>>>0>2139095040?0:2;while(1){e=b+964|0;if(a[e>>0]|0){e=6;break}a[e>>0]=1;g[b+500>>2]=s;b=c[b+936>>2]|0;if(!b){e=6;break}}if((e|0)==6)return}function id(a,b){a=a|0;b=b|0;var d=0,e=0;e=b+344|0;d=c[e+4>>2]|0;b=a;c[b>>2]=c[e>>2];c[b+4>>2]=d;return}function jd(b,d){b=b|0;d=+d;var e=0,f=0;f=b+352|0;e=b+356|0;if(!(+g[f>>2]!=d)?(c[e>>2]|0)==1:0)return;g[f>>2]=d;c[e>>2]=((g[k>>2]=d,c[k>>2]|0)&2147483647)>>>0<2139095041&1;while(1){e=b+964|0;if(a[e>>0]|0){e=6;break}a[e>>0]=1;g[b+500>>2]=s;b=c[b+936>>2]|0;if(!b){e=6;break}}if((e|0)==6)return}function kd(b,d){b=b|0;d=+d;var e=0,f=0;f=b+352|0;e=b+356|0;if(!(+g[f>>2]!=d)?(c[e>>2]|0)==2:0)return;g[f>>2]=d;c[e>>2]=((g[k>>2]=d,c[k>>2]|0)&2147483647)>>>0>2139095040?0:2;while(1){e=b+964|0;if(a[e>>0]|0){e=6;break}a[e>>0]=1;g[b+500>>2]=s;b=c[b+936>>2]|0;if(!b){e=6;break}}if((e|0)==6)return}function ld(a,b){a=a|0;b=b|0;var d=0,e=0;e=b+352|0;d=c[e+4>>2]|0;b=a;c[b>>2]=c[e>>2];c[b+4>>2]=d;return}function md(b,d){b=b|0;d=+d;var e=0,f=0;f=b+360|0;e=b+364|0;if(!(+g[f>>2]!=d)?(c[e>>2]|0)==1:0)return;g[f>>2]=d;c[e>>2]=((g[k>>2]=d,c[k>>2]|0)&2147483647)>>>0<2139095041&1;while(1){e=b+964|0;if(a[e>>0]|0){e=6;break}a[e>>0]=1;g[b+500>>2]=s;b=c[b+936>>2]|0;if(!b){e=6;break}}if((e|0)==6)return}function nd(b,d){b=b|0;d=+d;var e=0,f=0;f=b+360|0;e=b+364|0;if(!(+g[f>>2]!=d)?(c[e>>2]|0)==2:0)return;g[f>>2]=d;c[e>>2]=((g[k>>2]=d,c[k>>2]|0)&2147483647)>>>0>2139095040?0:2;while(1){e=b+964|0;if(a[e>>0]|0){e=6;break}a[e>>0]=1;g[b+500>>2]=s;b=c[b+936>>2]|0;if(!b){e=6;break}}if((e|0)==6)return}function od(a,b){a=a|0;b=b|0;var d=0,e=0;e=b+360|0;d=c[e+4>>2]|0;b=a;c[b>>2]=c[e>>2];c[b+4>>2]=d;return}function pd(b,d){b=b|0;d=+d;var e=0,f=0;f=b+368|0;e=b+372|0;if(!(+g[f>>2]!=d)?(c[e>>2]|0)==1:0)return;g[f>>2]=d;c[e>>2]=((g[k>>2]=d,c[k>>2]|0)&2147483647)>>>0<2139095041&1;while(1){e=b+964|0;if(a[e>>0]|0){e=6;break}a[e>>0]=1;g[b+500>>2]=s;b=c[b+936>>2]|0;if(!b){e=6;break}}if((e|0)==6)return}function qd(b,d){b=b|0;d=+d;var e=0,f=0;f=b+368|0;e=b+372|0;if(!(+g[f>>2]!=d)?(c[e>>2]|0)==2:0)return;g[f>>2]=d;c[e>>2]=((g[k>>2]=d,c[k>>2]|0)&2147483647)>>>0>2139095040?0:2;while(1){e=b+964|0;if(a[e>>0]|0){e=6;break}a[e>>0]=1;g[b+500>>2]=s;b=c[b+936>>2]|0;if(!b){e=6;break}}if((e|0)==6)return}function rd(a,b){a=a|0;b=b|0;var d=0,e=0;e=b+368|0;d=c[e+4>>2]|0;b=a;c[b>>2]=c[e>>2];c[b+4>>2]=d;return}function sd(b,d){b=b|0;d=+d;var e=0,f=0;f=b+376|0;e=b+380|0;if(!(+g[f>>2]!=d)?(c[e>>2]|0)==1:0)return;g[f>>2]=d;c[e>>2]=((g[k>>2]=d,c[k>>2]|0)&2147483647)>>>0<2139095041&1;while(1){e=b+964|0;if(a[e>>0]|0){e=6;break}a[e>>0]=1;g[b+500>>2]=s;b=c[b+936>>2]|0;if(!b){e=6;break}}if((e|0)==6)return}function td(b,d){b=b|0;d=+d;var e=0,f=0;f=b+376|0;e=b+380|0;if(!(+g[f>>2]!=d)?(c[e>>2]|0)==2:0)return;g[f>>2]=d;c[e>>2]=((g[k>>2]=d,c[k>>2]|0)&2147483647)>>>0>2139095040?0:2;while(1){e=b+964|0;if(a[e>>0]|0){e=6;break}a[e>>0]=1;g[b+500>>2]=s;b=c[b+936>>2]|0;if(!b){e=6;break}}if((e|0)==6)return}function ud(a,b){a=a|0;b=b|0;var d=0,e=0;e=b+376|0;d=c[e+4>>2]|0;b=a;c[b>>2]=c[e>>2];c[b+4>>2]=d;return}function vd(b,d){b=b|0;d=+d;var e=0,f=0;f=b+384|0;e=b+388|0;if(!(+g[f>>2]!=d)?(c[e>>2]|0)==1:0)return;g[f>>2]=d;c[e>>2]=((g[k>>2]=d,c[k>>2]|0)&2147483647)>>>0<2139095041&1;while(1){e=b+964|0;if(a[e>>0]|0){e=6;break}a[e>>0]=1;g[b+500>>2]=s;b=c[b+936>>2]|0;if(!b){e=6;break}}if((e|0)==6)return}function wd(b,d){b=b|0;d=+d;var e=0,f=0;f=b+384|0;e=b+388|0;if(!(+g[f>>2]!=d)?(c[e>>2]|0)==2:0)return;g[f>>2]=d;c[e>>2]=((g[k>>2]=d,c[k>>2]|0)&2147483647)>>>0>2139095040?0:2;while(1){e=b+964|0;if(a[e>>0]|0){e=6;break}a[e>>0]=1;g[b+500>>2]=s;b=c[b+936>>2]|0;if(!b){e=6;break}}if((e|0)==6)return}function xd(a,b){a=a|0;b=b|0;var d=0,e=0;e=b+384|0;d=c[e+4>>2]|0;b=a;c[b>>2]=c[e>>2];c[b+4>>2]=d;return}function yd(b,d){b=b|0;d=+d;var e=0;e=b+392|0;if(!(+g[e>>2]!=d))return;g[e>>2]=d;while(1){e=b+964|0;if(a[e>>0]|0){e=5;break}a[e>>0]=1;g[b+500>>2]=s;b=c[b+936>>2]|0;if(!b){e=5;break}}if((e|0)==5)return}function zd(a){a=a|0;return +(+g[a+392>>2])}function Ad(a){a=a|0;return +(+g[a+396>>2])}function Bd(a){a=a|0;return +(+g[a+400>>2])}function Cd(a){a=a|0;return +(+g[a+404>>2])}function Dd(a){a=a|0;return +(+g[a+408>>2])}function Ed(a){a=a|0;return +(+g[a+412>>2])}function Fd(a){a=a|0;return +(+g[a+416>>2])}function Gd(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;if(b>>>0>=6){c[d>>2]=5775;lc(0,5296,d);$a()}a:do switch(b|0){case 0:if((c[a+492>>2]|0)==2){b=a+440|0;break a}else{b=a+436|0;break a}case 2:if((c[a+492>>2]|0)==2){b=a+436|0;break a}else{b=a+440|0;break a}default:b=a+420+(b<<2)|0}while(0);i=e;return +(+g[b>>2])}function Hd(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;if(b>>>0>=6){c[d>>2]=5775;lc(0,5296,d);$a()}a:do switch(b|0){case 0:if((c[a+492>>2]|0)==2){b=a+464|0;break a}else{b=a+460|0;break a}case 2:if((c[a+492>>2]|0)==2){b=a+460|0;break a}else{b=a+464|0;break a}default:b=a+444+(b<<2)|0}while(0);i=e;return +(+g[b>>2])}function Id(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;if(b>>>0>=6){c[d>>2]=5775;lc(0,5296,d);$a()}a:do switch(b|0){case 0:if((c[a+492>>2]|0)==2){b=a+488|0;break a}else{b=a+484|0;break a}case 2:if((c[a+492>>2]|0)==2){b=a+484|0;break a}else{b=a+488|0;break a}default:b=a+468+(b<<2)|0}while(0);i=e;return +(+g[b>>2])}function Jd(a,b,d,e,f,h,i,j,l,m,n,o){a=a|0;b=+b;d=d|0;e=+e;f=f|0;h=+h;i=i|0;j=+j;l=+l;m=+m;n=+n;o=+o;var p=0,q=0;if(l<0.0|m<0.0){i=0;return i|0}do if((f|0)==(a|0))if(((g[k>>2]=h,c[k>>2]|0)&2147483647)>>>0>2139095040){p=((g[k>>2]=b,c[k>>2]|0)&2147483647)>>>0>2139095040;break}else{p=+O(+(h-b))<9.999999747378752e-05;break}else p=0;while(0);do if((i|0)==(d|0))if(((g[k>>2]=j,c[k>>2]|0)&2147483647)>>>0>2139095040){q=((g[k>>2]=e,c[k>>2]|0)&2147483647)>>>0>2139095040;break}else{q=+O(+(j-e))<9.999999747378752e-05;break}else q=0;while(0);a:do if(!p){n=b-n;if((a|0)==1){if(((g[k>>2]=n,c[k>>2]|0)&2147483647)>>>0>2139095040){if(((g[k>>2]=l,c[k>>2]|0)&2147483647)>>>0>2139095040){a=1;break}}else if(+O(+(n-l))<9.999999747378752e-05){a=1;break}a=0;break}p=(a|0)==2;do if(p&(f|0)==0){if(n>=l){a=1;break a}if(((g[k>>2]=n,c[k>>2]|0)&2147483647)>>>0>2139095040)if(((g[k>>2]=l,c[k>>2]|0)&2147483647)>>>0>2139095040){a=1;break a}else{p=1;break}else if(+O(+(n-l))<9.999999747378752e-05){a=1;break a}else{p=1;break}}while(0);if(n=l))if(((g[k>>2]=n,c[k>>2]|0)&2147483647)>>>0>2139095040){a=((g[k>>2]=l,c[k>>2]|0)&2147483647)>>>0>2139095040;break}else{a=+O(+(n-l))<9.999999747378752e-05;break}else a=1;else a=0}else a=1;while(0);b:do if(!q){n=e-o;if((d|0)==1){if(((g[k>>2]=n,c[k>>2]|0)&2147483647)>>>0>2139095040){if(((g[k>>2]=m,c[k>>2]|0)&2147483647)>>>0>2139095040){p=1;break}}else if(+O(+(n-m))<9.999999747378752e-05){p=1;break}p=0;break}p=(d|0)==2;do if(p&(i|0)==0){if(n>=m){p=1;break b}if(((g[k>>2]=n,c[k>>2]|0)&2147483647)>>>0>2139095040)if(((g[k>>2]=m,c[k>>2]|0)&2147483647)>>>0>2139095040){p=1;break b}else{p=1;break}else if(+O(+(n-m))<9.999999747378752e-05){p=1;break b}else{p=1;break}}while(0);if(n=m))if(((g[k>>2]=n,c[k>>2]|0)&2147483647)>>>0>2139095040){p=((g[k>>2]=m,c[k>>2]|0)&2147483647)>>>0>2139095040;break}else{p=+O(+(n-m))<9.999999747378752e-05;break}else p=1;else p=0}else p=1;while(0);i=a&p;return i|0}function Kd(b,d,e,f,j,l,m,n,o,p){b=b|0;d=+d;e=+e;f=f|0;j=j|0;l=l|0;m=+m;n=+n;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=i;i=i+160|0;D=G+120|0;B=G+104|0;A=G+72|0;y=G+56|0;C=G+8|0;z=G;c[141]=(c[141]|0)+1;F=b+964|0;if((a[F>>0]|0)!=0?(c[b+504>>2]|0)!=(c[140]|0):0)x=4;else if((c[b+508>>2]|0)==(f|0))E=0;else x=4;if((x|0)==4){c[b+512>>2]=0;c[b+916>>2]=-1;c[b+920>>2]=-1;g[b+924>>2]=-1.0;g[b+928>>2]=-1.0;E=1}a:do if(!(c[b+948>>2]|0)){if(o){q=b+908|0;v=+g[q>>2];if(((g[k>>2]=v,c[k>>2]|0)&2147483647)>>>0>2139095040){if(((g[k>>2]=d,c[k>>2]|0)&2147483647)>>>0<=2139095040){q=0;x=52;break}}else if(!(+O(+(v-d))<9.999999747378752e-05)){q=0;x=52;break}v=+g[b+912>>2];if(((g[k>>2]=v,c[k>>2]|0)&2147483647)>>>0>2139095040){if(((g[k>>2]=e,c[k>>2]|0)&2147483647)>>>0<=2139095040){q=0;x=52;break}}else if(!(+O(+(v-e))<9.999999747378752e-05)){q=0;x=52;break}if((c[b+916>>2]|0)!=(j|0)){q=0;x=52;break}q=(c[b+920>>2]|0)==(l|0)?q:0;x=43;break}r=c[b+512>>2]|0;if(!r){q=0;x=52}else{s=((g[k>>2]=d,c[k>>2]|0)&2147483647)>>>0>2139095040;t=((g[k>>2]=e,c[k>>2]|0)&2147483647)>>>0>2139095040;u=0;while(1){q=b+516+(u*24|0)|0;v=+g[q>>2];if(((g[k>>2]=v,c[k>>2]|0)&2147483647)>>>0>2139095040){if(s)x=37}else if(+O(+(v-d))<9.999999747378752e-05)x=37;do if((x|0)==37){x=0;v=+g[b+516+(u*24|0)+4>>2];if(((g[k>>2]=v,c[k>>2]|0)&2147483647)>>>0>2139095040){if(!t)break}else if(!(+O(+(v-e))<9.999999747378752e-05))break;if((c[b+516+(u*24|0)+8>>2]|0)==(j|0)?(c[b+516+(u*24|0)+12>>2]|0)==(l|0):0){x=43;break a}}while(0);u=u+1|0;if(u>>>0>=r>>>0){q=0;x=52;break}}}}else{q=c[b+92>>2]|0;if(!q){do if(!(c[b+60>>2]|0))if(!(c[b+108>>2]|0)){q=(c[b+124>>2]|0)==0?1540:b+120|0;break}else{q=b+104|0;break}else q=b+56|0;while(0);v=+g[q>>2];v=(c[q+4>>2]|0)==1?v:v*m/100.0}else{v=+g[b+88>>2];v=(q|0)==1?v:v*m/100.0}w=v+ +Pd(b,2,m);do if(!(c[b+68>>2]|0))if(!(c[b+116>>2]|0)){q=(c[b+124>>2]|0)==0?1540:b+120|0;break}else{q=b+112|0;break}else q=b+64|0;while(0);v=+g[q>>2];v=(c[q+4>>2]|0)==1?v:v*m/100.0;v=v+ +Pd(b,0,m);q=b+908|0;if(!(Jd(j,d,l,e,c[b+916>>2]|0,+g[q>>2],c[b+920>>2]|0,+g[b+912>>2],+g[b+924>>2],+g[b+928>>2],w,v)|0)){r=c[b+512>>2]|0;if(!r){q=0;x=52}else{s=0;while(1){q=b+516+(s*24|0)|0;if(Jd(j,d,l,e,c[b+516+(s*24|0)+8>>2]|0,+g[q>>2],c[b+516+(s*24|0)+12>>2]|0,+g[b+516+(s*24|0)+4>>2],+g[b+516+(s*24|0)+16>>2],+g[b+516+(s*24|0)+20>>2],w,v)|0){x=43;break a}s=s+1|0;if(s>>>0>=r>>>0){q=0;x=52;break}}}}else x=43}while(0);if((x|0)==43)if((q|0)!=0&(E^1)){t=q+16|0;c[b+900>>2]=c[t>>2];u=q+20|0;c[b+904>>2]=c[u>>2];if(!((a[5294]|0)==0|(a[5295]|0)==0)){r=c[141]|0;c[z>>2]=r>>>0>60?5829:5829+(60-r)|0;c[z+4>>2]=r;cn(5890,z)|0;r=c[b+956>>2]|0;if(r)Ab[r&127](b);if(j>>>0>2)s=5907;else s=c[(o?1556:1568)+(j<<2)>>2]|0;if(l>>>0>2)r=5907;else r=c[(o?1556:1568)+(l<<2)>>2]|0;n=+g[t>>2];m=+g[u>>2];c[C>>2]=s;c[C+4>>2]=r;h[C+8>>3]=d;h[C+16>>3]=e;h[C+24>>3]=n;h[C+32>>3]=m;c[C+40>>2]=p;cn(5908,C)|0}}else x=52;if((x|0)==52){if(a[5294]|0){r=c[141]|0;c[y>>2]=r>>>0>60?5829:5829+(60-r)|0;c[y+4>>2]=r;c[y+8>>2]=E?5957:5907;cn(5959,y)|0;r=c[b+956>>2]|0;if(r)Ab[r&127](b);if(j>>>0>2)s=5907;else s=c[(o?1556:1568)+(j<<2)>>2]|0;if(l>>>0>2)r=5907;else r=c[(o?1556:1568)+(l<<2)>>2]|0;c[A>>2]=s;c[A+4>>2]=r;h[A+8>>3]=d;h[A+16>>3]=e;c[A+24>>2]=p;cn(5968,A)|0}Qd(b,d,e,f,j,l,m,n,o);if(a[5294]|0){r=c[141]|0;c[B>>2]=r>>>0>60?5829:5829+(60-r)|0;c[B+4>>2]=r;c[B+8>>2]=E?5957:5907;cn(6002,B)|0;r=c[b+956>>2]|0;if(r)Ab[r&127](b);if(j>>>0>2)s=5907;else s=c[(o?1556:1568)+(j<<2)>>2]|0;if(l>>>0>2)r=5907;else r=c[(o?1556:1568)+(l<<2)>>2]|0;n=+g[b+900>>2];m=+g[b+904>>2];c[D>>2]=s;c[D+4>>2]=r;h[D+8>>3]=n;h[D+16>>3]=m;c[D+24>>2]=p;cn(6011,D)|0}c[b+508>>2]=f;if(!q){r=b+512|0;q=c[r>>2]|0;if((q|0)==16){if(a[5294]|0)dn(6043)|0;c[r>>2]=0;q=0}if(o)q=b+908|0;else{c[r>>2]=q+1;q=b+516+(q*24|0)|0}g[q>>2]=d;g[q+4>>2]=e;c[q+8>>2]=j;c[q+12>>2]=l;c[q+16>>2]=c[b+900>>2];c[q+20>>2]=c[b+904>>2];q=0}}if(!o){F=c[141]|0;F=F+-1|0;c[141]=F;F=c[140]|0;o=b+504|0;c[o>>2]=F;o=(q|0)==0;o=E|o;i=G;return o|0}c[b+412>>2]=c[b+900>>2];c[b+416>>2]=c[b+904>>2];a[b+965>>0]=1;a[F>>0]=0;F=c[141]|0;F=F+-1|0;c[141]=F;F=c[140]|0;o=b+504|0;c[o>>2]=F;o=(q|0)==0;o=E|o;i=G;return o|0}function Ld(b,d,e,f){b=b|0;d=+d;e=+e;f=f|0;var h=0.0,i=0,j=0.0,l=0,m=0.0;c[140]=(c[140]|0)+1;do if(((g[k>>2]=d,c[k>>2]|0)&2147483647)>>>0>2139095040){i=c[b+348>>2]|0;if((i|0)!=0?(h=+g[b+344>>2],h>=0.0):0){j=(i|0)==1?h:h*d/100.0;i=c[b+92>>2]|0;if(!i){do if(!(c[b+60>>2]|0))if(!(c[b+108>>2]|0)){i=(c[b+124>>2]|0)==0?1540:b+120|0;break}else{i=b+104|0;break}else i=b+56|0;while(0);h=+g[i>>2];h=(c[i+4>>2]|0)==1?h:h*d/100.0}else{h=+g[b+88>>2];h=(i|0)==1?h:h*d/100.0}h=j+(h+ +Pd(b,2,d));l=1;break}h=+g[b+376>>2];h=(c[b+380>>2]|0)==1?h:h*d/100.0;if(!(h>=0.0)){h=d;l=0}else l=2}else{h=d;l=1}while(0);do if(((g[k>>2]=e,c[k>>2]|0)&2147483647)>>>0>2139095040){i=c[b+356>>2]|0;if((i|0)!=0?(m=+g[b+352>>2],m>=0.0):0){j=(i|0)==1?m:m*e/100.0;do if(!(c[b+68>>2]|0))if(!(c[b+116>>2]|0)){i=(c[b+124>>2]|0)==0?1540:b+120|0;break}else{i=b+112|0;break}else i=b+64|0;while(0);m=+g[i>>2];m=(c[i+4>>2]|0)==1?m:m*d/100.0;j=j+(m+ +Pd(b,0,d));i=1;break}j=+g[b+384>>2];j=(c[b+388>>2]|0)==1?j:j*e/100.0;if(!(j>=0.0)){j=e;i=0}else i=2}else{j=e;i=1}while(0);if(!(Kd(b,h,j,f,l,i,d,e,1,6065)|0))return;Rd(b,c[b+492>>2]|0,d,e,d);if(a[6073]|0)Sd(b);if(!(a[5293]|0))return;Od(b,7,0);return}function Md(b){b=b|0;return (a[6073+b>>0]|0)!=0|0}function Nd(b,c){b=b|0;c=c|0;a[6073+b>>0]=c&1;return}function Od(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,j=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;V=i;i=i+304|0;R=V+296|0;U=V+288|0;T=V+280|0;Q=V+272|0;P=V+264|0;O=V+256|0;N=V+248|0;M=V+240|0;L=V+224|0;K=V+208|0;I=V+200|0;H=V+192|0;F=V+184|0;E=V+176|0;D=V+168|0;C=V+160|0;B=V+152|0;A=V+144|0;z=V+136|0;y=V+128|0;x=V+120|0;w=V+112|0;u=V+104|0;t=V+96|0;s=V+88|0;r=V+80|0;q=V+72|0;p=V+64|0;o=V+56|0;n=V+48|0;l=V+40|0;J=V+32|0;G=V+24|0;v=V+16|0;j=V+8|0;f=V;S=(d|0)==0;if(!S){e=0;do{lc(3,6396,f);e=e+1|0}while((e|0)!=(d|0))}lc(3,6399,j);e=c[a+956>>2]|0;if(e)Ab[e&127](a);if(b&1){lc(3,6401,v);h[G>>3]=+g[a+412>>2];lc(3,6411,G);h[J>>3]=+g[a+416>>2];lc(3,6423,J);h[l>>3]=+g[a+400>>2];lc(3,6436,l);h[n>>3]=+g[a+396>>2];lc(3,6446,n);lc(3,6455,o)}if(b&2){switch(c[a+4>>2]|0){case 0:{lc(3,6459,p);break}case 1:{lc(3,6485,q);break}case 2:{lc(3,6519,r);break}case 3:{lc(3,6542,s);break}default:{}}switch(c[a+8>>2]|0){case 1:{lc(3,6573,t);break}case 2:{lc(3,6600,u);break}case 4:{lc(3,6629,w);break}case 3:{lc(3,6662,x);break}default:{}}switch(c[a+16>>2]|0){case 2:{lc(3,6696,y);break}case 3:{lc(3,6719,z);break}case 4:{lc(3,6744,A);break}default:{}}switch(c[a+12>>2]|0){case 2:{lc(3,6768,B);break}case 3:{lc(3,6793,C);break}case 4:{lc(3,6820,D);break}default:{}}switch(c[a+20>>2]|0){case 1:{lc(3,6846,E);break}case 2:{lc(3,6872,F);break}case 3:{lc(3,6894,H);break}case 4:{lc(3,6918,I);break}default:{}}m=+g[a+40>>2];if(((g[k>>2]=m,c[k>>2]|0)&2147483647)>>>0>2139095040){m=+g[a+36>>2];m=m>0.0&((g[k>>2]=m,c[k>>2]|0)&2147483647)>>>0<2139095041?m:0.0}if(((g[k>>2]=m,c[k>>2]|0)&2147483647)>>>0<=2139095040){c[K>>2]=6950;h[K+8>>3]=m;lc(3,6941,K)}m=+g[a+44>>2];if(((g[k>>2]=m,c[k>>2]|0)&2147483647)>>>0>2139095040){m=+g[a+36>>2];m=m<0.0&((g[k>>2]=m,c[k>>2]|0)&2147483647)>>>0<2139095041?-m:0.0}if(((g[k>>2]=m,c[k>>2]|0)&2147483647)>>>0<=2139095040){c[L>>2]=6959;h[L+8>>3]=m;lc(3,6941,L)}if(!(c[a+52>>2]|0)){m=+g[a+36>>2];e=m>0.0&((g[k>>2]=m,c[k>>2]|0)&2147483647)>>>0<2139095041?1540:1548}else e=a+48|0;be(6970,e);switch(c[a+32>>2]|0){case 1:{lc(3,6980,M);break}case 0:{lc(3,7001,N);break}case 2:{lc(3,7023,O);break}default:{}}e=a+56|0;f=ce(e)|0;do if(!(c[a+60>>2]|0))if(!(c[a+108>>2]|0)){e=(c[a+124>>2]|0)==0?1540:a+120|0;break}else{e=a+104|0;break}while(0);if(f)de(7044,e);else{de(7051,e);do if(!(c[a+76>>2]|0))if(!(c[a+108>>2]|0)){e=(c[a+124>>2]|0)==0?1540:a+120|0;break}else{e=a+104|0;break}else e=a+72|0;while(0);de(7062,e);do if(!(c[a+68>>2]|0))if(!(c[a+116>>2]|0)){e=(c[a+124>>2]|0)==0?1540:a+120|0;break}else{e=a+112|0;break}else e=a+64|0;while(0);de(7074,e);do if(!(c[a+84>>2]|0))if(!(c[a+116>>2]|0)){e=(c[a+124>>2]|0)==0?1540:a+120|0;break}else{e=a+112|0;break}else e=a+80|0;while(0);de(7084,e);do if(!(c[a+92>>2]|0))if(!(c[a+108>>2]|0)){e=(c[a+124>>2]|0)==0?1548:a+120|0;break}else{e=a+104|0;break}else e=a+88|0;while(0);de(7097,e);do if(!(c[a+100>>2]|0))if(!(c[a+108>>2]|0)){e=(c[a+124>>2]|0)==0?1548:a+120|0;break}else{e=a+104|0;break}else e=a+96|0;while(0);de(7109,e)}e=a+200|0;f=ce(e)|0;do if(!(c[a+204>>2]|0))if(!(c[a+252>>2]|0)){e=(c[a+268>>2]|0)==0?1540:a+264|0;break}else{e=a+248|0;break}while(0);if(f)de(7119,e);else{de(7127,e);do if(!(c[a+220>>2]|0))if(!(c[a+252>>2]|0)){e=(c[a+268>>2]|0)==0?1540:a+264|0;break}else{e=a+248|0;break}else e=a+216|0;while(0);de(7139,e);do if(!(c[a+212>>2]|0))if(!(c[a+260>>2]|0)){e=(c[a+268>>2]|0)==0?1540:a+264|0;break}else{e=a+256|0;break}else e=a+208|0;while(0);de(7152,e);do if(!(c[a+228>>2]|0))if(!(c[a+260>>2]|0)){e=(c[a+268>>2]|0)==0?1540:a+264|0;break}else{e=a+256|0;break}else e=a+224|0;while(0);de(7163,e);do if(!(c[a+236>>2]|0))if(!(c[a+252>>2]|0)){e=(c[a+268>>2]|0)==0?1548:a+264|0;break}else{e=a+248|0;break}else e=a+232|0;while(0);de(7177,e);do if(!(c[a+244>>2]|0))if(!(c[a+252>>2]|0)){e=(c[a+268>>2]|0)==0?1548:a+264|0;break}else{e=a+248|0;break}else e=a+240|0;while(0);de(7190,e)}e=a+272|0;f=ce(e)|0;do if(!(c[a+276>>2]|0))if(!(c[a+324>>2]|0)){e=(c[a+340>>2]|0)==0?1540:a+336|0;break}else{e=a+320|0;break}while(0);if(f)de(7201,e);else{de(7213,e);do if(!(c[a+292>>2]|0))if(!(c[a+324>>2]|0)){e=(c[a+340>>2]|0)==0?1540:a+336|0;break}else{e=a+320|0;break}else e=a+288|0;while(0);de(7229,e);do if(!(c[a+284>>2]|0))if(!(c[a+332>>2]|0)){e=(c[a+340>>2]|0)==0?1540:a+336|0;break}else{e=a+328|0;break}else e=a+280|0;while(0);de(7246,e);do if(!(c[a+300>>2]|0))if(!(c[a+332>>2]|0)){e=(c[a+340>>2]|0)==0?1540:a+336|0;break}else{e=a+328|0;break}else e=a+296|0;while(0);de(7261,e);do if(!(c[a+308>>2]|0))if(!(c[a+324>>2]|0)){e=(c[a+340>>2]|0)==0?1548:a+336|0;break}else{e=a+320|0;break}else e=a+304|0;while(0);de(7279,e);do if(!(c[a+316>>2]|0))if(!(c[a+324>>2]|0)){e=(c[a+340>>2]|0)==0?1548:a+336|0;break}else{e=a+320|0;break}else e=a+312|0;while(0);de(7296,e)}be(7311,a+344|0);be(7317,a+352|0);be(7324,a+376|0);be(7333,a+384|0);be(7343,a+360|0);be(7352,a+368|0);if((c[a+24>>2]|0)==1)lc(3,7362,P);e=a+128|0;do if(!(c[a+132>>2]|0))if(!(c[a+180>>2]|0)){e=(c[a+196>>2]|0)==0?1548:a+192|0;break}else{e=a+176|0;break}while(0);be(7385,e);do if(!(c[a+148>>2]|0))if(!(c[a+180>>2]|0)){e=(c[a+196>>2]|0)==0?1548:a+192|0;break}else{e=a+176|0;break}else e=a+144|0;while(0);be(7390,e);do if(!(c[a+140>>2]|0))if(!(c[a+188>>2]|0)){e=(c[a+196>>2]|0)==0?1548:a+192|0;break}else{e=a+184|0;break}else e=a+136|0;while(0);be(7396,e);do if(!(c[a+156>>2]|0))if(!(c[a+188>>2]|0)){e=(c[a+196>>2]|0)==0?1548:a+192|0;break}else{e=a+184|0;break}else e=a+152|0;while(0);be(7400,e)}j=a+940|0;l=fc(c[j>>2]|0)|0;if(!((b&4|0)!=0&(l|0)!=0)){lc(3,7425,R);i=V;return}lc(3,7407,Q);e=d+1|0;f=0;do{Od(jc(c[j>>2]|0,f)|0,b,e);f=f+1|0}while((f|0)!=(l|0));if(!S){e=0;do{lc(3,6396,T);e=e+1|0}while((e|0)!=(d|0))}lc(3,7420,U);i=V;return}function Pd(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0.0;if((b&-2|0)==2?(e=c[a+100>>2]|0,(e|0)!=0):0){f=+g[a+96>>2];d=(e|0)==1?f:f*d/100.0;return +d}e=c[1596+(b<<2)>>2]|0;a:do if(!(c[a+56+(e<<3)+4>>2]|0)){if(b>>>0<2?(c[a+116>>2]|0)!=0:0){e=a+112|0;break}switch(e|0){case 0:case 2:case 4:case 5:{if(c[a+108>>2]|0){e=a+104|0;break a}break}default:{}}e=(c[a+124>>2]|0)==0?1540:a+120|0}else e=a+56+(e<<3)|0;while(0);f=+g[e>>2];f=(c[e+4>>2]|0)==1?f:f*d/100.0;return +f}function Qd(b,d,e,f,h,j,l,m,n){b=b|0;d=+d;e=+e;f=f|0;h=h|0;j=j|0;l=+l;m=+m;n=n|0;var o=0,p=0.0,q=0.0,r=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0,H=0,I=0,J=0,K=0.0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0.0,$=0.0,aa=0.0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0.0,ia=0.0,ja=0,ka=0,la=0,ma=0,na=0.0,oa=0.0,pa=0.0,qa=0.0,ra=0,sa=0,ta=0.0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0.0,Ba=0,Ca=0.0,Da=0.0,Ea=0,Fa=0.0,Ga=0.0,Ha=0,Ia=0.0,Ja=0.0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0.0,Wa=0.0,Xa=0.0;Ua=i;i=i+32|0;t=Ua+8|0;o=Ua;w=Ua+16|0;u=((g[k>>2]=d,c[k>>2]|0)&2147483647)>>>0>2139095040;if(!((h|0)==0|u^1)){c[o>>2]=6076;lc(0,5296,o);$a()}v=((g[k>>2]=e,c[k>>2]|0)&2147483647)>>>0>2139095040;if(!((j|0)==0|v^1)){c[t>>2]=6156;lc(0,5296,t);$a()}Oa=c[b>>2]|0;Oa=(Oa|0)==0?((f|0)!=0?f:1):Oa;c[b+492>>2]=Oa;Pa=(Oa|0)==2;Na=Pa?3:2;t=b+92|0;o=c[t>>2]|0;if(!o){o=c[1580+(Na<<2)>>2]|0;a:do if(!(c[b+56+(o<<3)+4>>2]|0)){switch(o|0){case 0:case 2:case 4:case 5:{if(c[b+108>>2]|0){o=b+104|0;break a}break}default:{}}o=(c[b+124>>2]|0)==0?1540:b+120|0}else o=b+56+(o<<3)|0;while(0);p=+g[o>>2];p=(c[o+4>>2]|0)==1?p:p*l/100.0}else{p=+g[b+88>>2];p=(o|0)==1?p:p*l/100.0}g[b+436>>2]=p;g[b+440>>2]=+Pd(b,Na,l);x=b+68|0;do if(!(c[x>>2]|0))if(!(c[b+116>>2]|0)){o=(c[b+124>>2]|0)==0?1540:b+120|0;break}else{o=b+112|0;break}else o=b+64|0;while(0);Ja=+g[o>>2];g[b+424>>2]=(c[o+4>>2]|0)==1?Ja:Ja*l/100.0;g[b+432>>2]=+Pd(b,0,l);g[b+460>>2]=+Wd(b,Na);g[b+464>>2]=+Xd(b,Na);Sa=b+284|0;do if(!(c[Sa>>2]|0))if(!(c[b+332>>2]|0)){o=(c[b+340>>2]|0)==0?1540:b+336|0;break}else{o=b+328|0;break}else o=b+280|0;while(0);g[b+448>>2]=+Mm(+g[o>>2],0.0);Ta=b+300|0;do if(!(c[Ta>>2]|0))if(!(c[b+332>>2]|0)){o=(c[b+340>>2]|0)==0?1540:b+336|0;break}else{o=b+328|0;break}else o=b+296|0;while(0);g[b+456>>2]=+Mm(+g[o>>2],0.0);g[b+484>>2]=+Yd(b,Na,l);g[b+488>>2]=+Zd(b,Na,l);g[b+472>>2]=+Yd(b,0,l);g[b+480>>2]=+Zd(b,0,l);f=b+948|0;if(c[f>>2]|0){p=+Yd(b,2,d);p=p+ +Wd(b,2);D=+Zd(b,2,d);D=p+(D+ +Xd(b,2));p=+Yd(b,0,d);do if(!(c[Sa>>2]|0))if(!(c[b+332>>2]|0)){o=(c[b+340>>2]|0)==0?1540:b+336|0;break}else{o=b+328|0;break}else o=b+280|0;while(0);p=p+ +Mm(+g[o>>2],0.0);q=+Zd(b,0,d);do if(!(c[Ta>>2]|0))if(!(c[b+332>>2]|0)){o=(c[b+340>>2]|0)==0?1540:b+336|0;break}else{o=b+328|0;break}else o=b+296|0;while(0);C=p+(q+ +Mm(+g[o>>2],0.0));o=c[t>>2]|0;if(!o){do if(!(c[b+60>>2]|0))if(!(c[b+108>>2]|0)){o=(c[b+124>>2]|0)==0?1540:b+120|0;break}else{o=b+104|0;break}else o=b+56|0;while(0);p=+g[o>>2];p=(c[o+4>>2]|0)==1?p:p*d/100.0}else{p=+g[b+88>>2];p=(o|0)==1?p:p*d/100.0}p=p+ +Pd(b,2,d);do if(!(c[x>>2]|0))if(!(c[b+116>>2]|0)){o=(c[b+124>>2]|0)==0?1540:b+120|0;break}else{o=b+112|0;break}else o=b+64|0;while(0);B=+g[o>>2];B=(c[o+4>>2]|0)==1?B:B*d/100.0;r=d-p;p=r-D;B=e-(B+ +Pd(b,0,d));q=B-C;do if(!((h|0)==1&(j|0)==1))if(p<=0.0|q<=0.0){q=+g[b+360>>2];q=(c[b+364>>2]|0)==1?q:q*d/100.0;p=+g[b+376>>2];p=(c[b+380>>2]|0)==1?p:p*d/100.0;p=p<0.0&(p>=0.0&((g[k>>2]=p,c[k>>2]|0)&2147483647)>>>0<2139095041)?p:0.0;Ja=q>=0.0&((g[k>>2]=q,c[k>>2]|0)&2147483647)>>>0<2139095041&p>2]=+Mm(Ja,p+(q+ +Xd(b,2)));q=+g[b+368>>2];q=(c[b+372>>2]|0)==1?q:q*e/100.0;p=+g[b+384>>2];p=(c[b+388>>2]|0)==1?p:p*e/100.0;p=p<0.0&(p>=0.0&((g[k>>2]=p,c[k>>2]|0)&2147483647)>>>0<2139095041)?p:0.0;r=q>=0.0&((g[k>>2]=q,c[k>>2]|0)&2147483647)>>>0<2139095041&p>2]|0))if(!(c[b+332>>2]|0)){o=(c[b+340>>2]|0)==0?1540:b+336|0;break}else{o=b+328|0;break}else o=b+280|0;while(0);q=p+ +Mm(+g[o>>2],0.0);p=+Zd(b,0,d);do if(!(c[Ta>>2]|0))if(!(c[b+332>>2]|0)){o=(c[b+340>>2]|0)==0?1540:b+336|0;break}else{o=b+328|0;break}else o=b+296|0;while(0);g[b+904>>2]=+Mm(r,q+(p+ +Mm(+g[o>>2],0.0)));break}else{Ib[c[f>>2]&1](w,b,p,h,q,j);q=(h&-3|0)==0?D+ +g[w>>2]:r;r=+g[b+360>>2];r=(c[b+364>>2]|0)==1?r:r*d/100.0;p=+g[b+376>>2];p=(c[b+380>>2]|0)==1?p:p*d/100.0;p=p=0.0&((g[k>>2]=p,c[k>>2]|0)&2147483647)>>>0<2139095041)?p:q;p=r>=0.0&((g[k>>2]=r,c[k>>2]|0)&2147483647)>>>0<2139095041&p>2]=+Mm(p,r+(q+ +Xd(b,2)));q=(j&-3|0)==0?C+ +g[w+4>>2]:B;r=+g[b+368>>2];r=(c[b+372>>2]|0)==1?r:r*e/100.0;p=+g[b+384>>2];p=(c[b+388>>2]|0)==1?p:p*e/100.0;p=p=0.0&((g[k>>2]=p,c[k>>2]|0)&2147483647)>>>0<2139095041)?p:q;r=r>=0.0&((g[k>>2]=r,c[k>>2]|0)&2147483647)>>>0<2139095041&p>2]|0))if(!(c[b+332>>2]|0)){o=(c[b+340>>2]|0)==0?1540:b+336|0;break}else{o=b+328|0;break}else o=b+280|0;while(0);q=p+ +Mm(+g[o>>2],0.0);p=+Zd(b,0,d);do if(!(c[Ta>>2]|0))if(!(c[b+332>>2]|0)){o=(c[b+340>>2]|0)==0?1540:b+336|0;break}else{o=b+328|0;break}else o=b+296|0;while(0);g[b+904>>2]=+Mm(r,q+(p+ +Mm(+g[o>>2],0.0)));break}else{q=+g[b+360>>2];q=(c[b+364>>2]|0)==1?q:q*d/100.0;p=+g[b+376>>2];p=(c[b+380>>2]|0)==1?p:p*d/100.0;p=p=0.0&((g[k>>2]=p,c[k>>2]|0)&2147483647)>>>0<2139095041)?p:r;Ja=q>=0.0&((g[k>>2]=q,c[k>>2]|0)&2147483647)>>>0<2139095041&p>2]=+Mm(Ja,p+(q+ +Xd(b,2)));q=+g[b+368>>2];q=(c[b+372>>2]|0)==1?q:q*e/100.0;p=+g[b+384>>2];p=(c[b+388>>2]|0)==1?p:p*e/100.0;p=p=0.0&((g[k>>2]=p,c[k>>2]|0)&2147483647)>>>0<2139095041)?p:B;r=q>=0.0&((g[k>>2]=q,c[k>>2]|0)&2147483647)>>>0<2139095041&p>2]|0))if(!(c[b+332>>2]|0)){o=(c[b+340>>2]|0)==0?1540:b+336|0;break}else{o=b+328|0;break}else o=b+280|0;while(0);q=p+ +Mm(+g[o>>2],0.0);p=+Zd(b,0,d);do if(!(c[Ta>>2]|0))if(!(c[b+332>>2]|0)){o=(c[b+340>>2]|0)==0?1540:b+336|0;break}else{o=b+328|0;break}else o=b+296|0;while(0);g[b+904>>2]=+Mm(r,q+(p+ +Mm(+g[o>>2],0.0)))}while(0);i=Ua;return}Qa=b+940|0;Ra=fc(c[Qa>>2]|0)|0;if(!Ra){p=+Yd(b,2,l);p=p+ +Wd(b,2);r=+Zd(b,2,l);r=p+(r+ +Xd(b,2));p=+Yd(b,0,l);do if(!(c[Sa>>2]|0))if(!(c[b+332>>2]|0)){o=(c[b+340>>2]|0)==0?1540:b+336|0;break}else{o=b+328|0;break}else o=b+280|0;while(0);p=p+ +Mm(+g[o>>2],0.0);q=+Zd(b,0,l);do if(!(c[Ta>>2]|0))if(!(c[b+332>>2]|0)){o=(c[b+340>>2]|0)==0?1540:b+336|0;break}else{o=b+328|0;break}else o=b+296|0;while(0);C=p+(q+ +Mm(+g[o>>2],0.0));o=c[t>>2]|0;if(!o){do if(!(c[b+60>>2]|0))if(!(c[b+108>>2]|0)){o=(c[b+124>>2]|0)==0?1540:b+120|0;break}else{o=b+104|0;break}else o=b+56|0;while(0);p=+g[o>>2];p=(c[o+4>>2]|0)==1?p:p*l/100.0}else{p=+g[b+88>>2];p=(o|0)==1?p:p*l/100.0}p=p+ +Pd(b,2,l);do if(!(c[x>>2]|0))if(!(c[b+116>>2]|0)){o=(c[b+124>>2]|0)==0?1540:b+120|0;break}else{o=b+112|0;break}else o=b+64|0;while(0);B=+g[o>>2];B=(c[o+4>>2]|0)==1?B:B*l/100.0;B=B+ +Pd(b,0,l);q=(h&-3|0)==0?r:d-p;r=+g[b+360>>2];r=(c[b+364>>2]|0)==1?r:r*l/100.0;p=+g[b+376>>2];p=(c[b+380>>2]|0)==1?p:p*l/100.0;p=p=0.0&((g[k>>2]=p,c[k>>2]|0)&2147483647)>>>0<2139095041)?p:q;p=r>=0.0&((g[k>>2]=r,c[k>>2]|0)&2147483647)>>>0<2139095041&p>2]=+Mm(p,r+(q+ +Xd(b,2)));q=(j&-3|0)==0?C:e-B;r=+g[b+368>>2];r=(c[b+372>>2]|0)==1?r:r*m/100.0;p=+g[b+384>>2];p=(c[b+388>>2]|0)==1?p:p*m/100.0;p=p=0.0&((g[k>>2]=p,c[k>>2]|0)&2147483647)>>>0<2139095041)?p:q;r=r>=0.0&((g[k>>2]=r,c[k>>2]|0)&2147483647)>>>0<2139095041&p>2]|0))if(!(c[b+332>>2]|0)){o=(c[b+340>>2]|0)==0?1540:b+336|0;break}else{o=b+328|0;break}else o=b+280|0;while(0);q=p+ +Mm(+g[o>>2],0.0);p=+Zd(b,0,l);do if(!(c[Ta>>2]|0))if(!(c[b+332>>2]|0)){o=(c[b+340>>2]|0)==0?1540:b+336|0;break}else{o=b+328|0;break}else o=b+296|0;while(0);g[b+904>>2]=+Mm(r,q+(p+ +Mm(+g[o>>2],0.0)));i=Ua;return}do if(!n){f=(h|0)==2;if((!(d<=0.0&f)?!(e<=0.0&(j|0)==2):0)?!((h|0)==1&(j|0)==1):0)break;do if(!(c[x>>2]|0))if(!(c[b+116>>2]|0)){o=(c[b+124>>2]|0)==0?1540:b+120|0;break}else{o=b+112|0;break}else o=b+64|0;while(0);B=+g[o>>2];B=(c[o+4>>2]|0)==1?B:B*l/100.0;B=B+ +Pd(b,0,l);o=c[t>>2]|0;if(!o){do if(!(c[b+60>>2]|0))if(!(c[b+108>>2]|0)){o=(c[b+124>>2]|0)==0?1540:b+120|0;break}else{o=b+104|0;break}else o=b+56|0;while(0);p=+g[o>>2];p=(c[o+4>>2]|0)==1?p:p*l/100.0}else{p=+g[b+88>>2];p=(o|0)==1?p:p*l/100.0}q=d-(p+ +Pd(b,2,l));q=u|d<0.0&f?0.0:q;r=+g[b+360>>2];r=(c[b+364>>2]|0)==1?r:r*l/100.0;p=+g[b+376>>2];p=(c[b+380>>2]|0)==1?p:p*l/100.0;p=p=0.0&((g[k>>2]=p,c[k>>2]|0)&2147483647)>>>0<2139095041)?p:q;Ga=r>=0.0&((g[k>>2]=r,c[k>>2]|0)&2147483647)>>>0<2139095041&p>2]=+Mm(Ga,Ia+(Ja+ +Xd(b,2)));if(v)q=0.0;else q=e<0.0&(j|0)==2?0.0:e-B;r=+g[b+368>>2];r=(c[b+372>>2]|0)==1?r:r*m/100.0;p=+g[b+384>>2];p=(c[b+388>>2]|0)==1?p:p*m/100.0;p=p=0.0&((g[k>>2]=p,c[k>>2]|0)&2147483647)>>>0<2139095041)?p:q;r=r>=0.0&((g[k>>2]=r,c[k>>2]|0)&2147483647)>>>0<2139095041&p>2]|0))if(!(c[b+332>>2]|0)){o=(c[b+340>>2]|0)==0?1540:b+336|0;break}else{o=b+328|0;break}else o=b+280|0;while(0);q=p+ +Mm(+g[o>>2],0.0);p=+Zd(b,0,l);do if(!(c[Ta>>2]|0))if(!(c[b+332>>2]|0)){o=(c[b+340>>2]|0)==0?1540:b+336|0;break}else{o=b+328|0;break}else o=b+296|0;while(0);g[b+904>>2]=+Mm(r,q+(p+ +Mm(+g[o>>2],0.0)));i=Ua;return}while(0);La=b+4|0;o=c[La>>2]|0;b:do if(Pa){switch(o|0){case 2:{o=3;ja=0;Ma=0;break b}case 3:break;default:{Ha=157;break b}}o=2;ja=0;Ma=0}else Ha=157;while(0);if((Ha|0)==157){Ma=o>>>0<2;ja=Ma;Ma=Ma?Na:0}ka=(o&-2|0)==2;Ka=b+8|0;la=c[Ka>>2]|0;ma=(c[b+28>>2]|0)==1;Ca=ka?l:m;Fa=ka?m:l;na=+Yd(b,o,l);na=na+ +Wd(b,o);oa=+Zd(b,o,l);oa=oa+ +Xd(b,o);pa=+Yd(b,Ma,l);pa=pa+ +Wd(b,Ma);E=+Yd(b,o,l);E=E+ +Wd(b,o);Da=+Zd(b,o,l);Da=E+(Da+ +Xd(b,o));E=+Yd(b,Ma,l);E=E+ +Wd(b,Ma);Ga=+Zd(b,Ma,l);Ga=E+(Ga+ +Xd(b,Ma));Ba=ka?h:j;Ea=ka?j:h;E=ka?Da:Ga;F=ka?Ga:Da;f=c[t>>2]|0;if(!f){do if(!(c[b+60>>2]|0))if(!(c[b+108>>2]|0)){f=(c[b+124>>2]|0)==0?1540:b+120|0;break}else{f=b+104|0;break}else f=b+56|0;while(0);p=+g[f>>2];p=(c[f+4>>2]|0)==1?p:p*l/100.0}else{p=+g[b+88>>2];p=(f|0)==1?p:p*l/100.0}p=p+ +Pd(b,2,l);do if(!(c[x>>2]|0))if(!(c[b+116>>2]|0)){f=(c[b+124>>2]|0)==0?1540:b+120|0;break}else{f=b+112|0;break}else f=b+64|0;while(0);B=+g[f>>2];B=(c[f+4>>2]|0)==1?B:B*l/100.0;B=B+ +Pd(b,0,l);ra=b+364|0;sa=b+360|0;q=+g[sa>>2];q=((c[ra>>2]|0)==1?q:q*l/100.0)-p-E;ua=b+380|0;va=b+376|0;r=+g[va>>2];r=((c[ua>>2]|0)==1?r:r*l/100.0)-p-E;wa=b+372|0;xa=b+368|0;C=+g[xa>>2];C=((c[wa>>2]|0)==1?C:C*m/100.0)-B-F;ya=b+388|0;za=b+384|0;D=+g[za>>2];D=((c[ya>>2]|0)==1?D:D*m/100.0)-B-F;ha=ka?q:C;ia=ka?r:D;ta=d-p;p=ta-E;if(((g[k>>2]=p,c[k>>2]|0)&2147483647)>>>0>2139095040)Ja=p;else Ja=+Mm(+Nm(p,r),q);qa=e-B;p=qa-F;if(((g[k>>2]=p,c[k>>2]|0)&2147483647)>>>0>2139095040)Ia=p;else Ia=+Mm(+Nm(p,D),C);E=ka?Ja:Ia;Aa=ka?Ia:Ja;ga=(h|0)==1;if(!(ga&ka)?!((j|0)==1&(ka^1)):0)f=0;else{u=0;t=0;Ha=177}c:do if((Ha|0)==177)while(1){Ha=0;f=jc(c[Qa>>2]|0,u)|0;do if(t)if(!(c[f+24>>2]|0)){p=+g[f+40>>2];if(((g[k>>2]=p,c[k>>2]|0)&2147483647)>>>0>2139095040){p=+g[f+36>>2];if(p>0.0&((g[k>>2]=p,c[k>>2]|0)&2147483647)>>>0<2139095041){K=p;Ha=181}}else{K=p;Ha=181}if((Ha|0)==181?(Ha=0,K!=0.0):0){f=0;break c}p=+g[f+44>>2];if(((g[k>>2]=p,c[k>>2]|0)&2147483647)>>>0>2139095040){p=+g[f+36>>2];if(p<0.0&((g[k>>2]=p,c[k>>2]|0)&2147483647)>>>0<2139095041)p=-p;else{f=t;break}}if(p!=0.0){f=0;break c}else f=t}else f=t;else{p=+g[f+40>>2];if(((g[k>>2]=p,c[k>>2]|0)&2147483647)>>>0>2139095040){p=+g[f+36>>2];if(!(p>0.0&((g[k>>2]=p,c[k>>2]|0)&2147483647)>>>0<2139095041)){f=0;break}}if(!(p>0.0)){f=0;break}p=+g[f+44>>2];if(((g[k>>2]=p,c[k>>2]|0)&2147483647)>>>0>2139095040){p=+g[f+36>>2];if(p<0.0&((g[k>>2]=p,c[k>>2]|0)&2147483647)>>>0<2139095041)p=-p;else{f=0;break}}if(!(p>0.0)){f=0;break}}while(0);u=u+1|0;if(u>>>0>=Ra>>>0)break;else{t=f;Ha=177}}while(0);P=(Oa|0)!=0?Oa:1;Q=b+32|0;S=(g[k>>2]=Ia,c[k>>2]|0)&2147483647;R=S>>>0>2139095040;S=S>>>0<2139095041;T=(j|0)==1;U=b+16|0;W=(g[k>>2]=Ja,c[k>>2]|0)&2147483647;V=W>>>0<2139095041;W=W>>>0>2139095040;X=f+496|0;Y=f+500|0;O=0;t=0;Z=0;while(1){N=jc(c[Qa>>2]|0,Z)|0;if(n){fa=c[N>>2]|0;Rd(N,(fa|0)==0?P:fa,E,Aa,Ja)}d:do if((c[N+24>>2]|0)==1){if(O)c[O+944>>2]=N;c[N+944>>2]=0;u=N;t=(t|0)==0?N:t}else{if((N|0)==(f|0)){c[X>>2]=c[140];g[Y>>2]=0.0;u=O;break}u=c[La>>2]|0;e:do if(Pa){switch(u|0){case 2:{u=3;break e}case 3:break;default:{Ha=206;break e}}u=2}else Ha=206;while(0);if((Ha|0)==206)Ha=0;M=(u&-2|0)==2;p=M?Ja:Ia;z=N+348|0;w=c[z>>2]|0;if(!w)A=0;else A=+g[N+344>>2]>=0.0;G=N+356|0;y=c[G>>2]|0;if(!y)H=0;else H=+g[N+352>>2]>=0.0;x=(c[N+52>>2]|0)==0;if(x){aa=+g[N+36>>2];v=aa>0.0&((g[k>>2]=aa,c[k>>2]|0)&2147483647)>>>0<2139095041?1540:1548}else v=N+48|0;do if(!(c[v+4>>2]|0))Ha=223;else{if(((g[k>>2]=p,c[k>>2]|0)&2147483647)>>>0>2139095040){Ha=223;break}w=N+500|0;if((c[w>>2]&2147483647)>>>0<=2139095040){if(!(a[6074]|0))break;if((c[N+496>>2]|0)==(c[140]|0))break}if(x){aa=+g[N+36>>2];v=aa>0.0&((g[k>>2]=aa,c[k>>2]|0)&2147483647)>>>0<2139095041?1540:1548}else v=N+48|0;_=+g[v>>2];_=(c[v+4>>2]|0)==1?_:p*_/100.0;$=+Yd(N,u,Ja);$=$+ +Wd(N,u);aa=+Zd(N,u,Ja);g[w>>2]=+Mm(_,$+(aa+ +Xd(N,u)))}while(0);do if((Ha|0)==223){Ha=0;L=M^1;J=A^1;if(!(L|J)){_=+g[N+344>>2];$=+Yd(N,2,Ja);$=$+ +Wd(N,2);aa=+Zd(N,2,Ja);g[N+500>>2]=+Mm((w|0)==1?_:Ja*_/100.0,$+(aa+ +Xd(N,2)));break}I=H^1;if(!(M|I)){r=+g[N+352>>2];r=(y|0)==1?r:Ia*r/100.0;p=+Yd(N,0,Ja);do if(!(c[N+284>>2]|0))if(!(c[N+332>>2]|0)){u=(c[N+340>>2]|0)==0?1540:N+336|0;break}else{u=N+328|0;break}else u=N+280|0;while(0);p=p+ +Mm(+g[u>>2],0.0);q=+Zd(N,0,Ja);do if(!(c[N+300>>2]|0))if(!(c[N+332>>2]|0)){u=(c[N+340>>2]|0)==0?1540:N+336|0;break}else{u=N+328|0;break}else u=N+296|0;while(0);g[N+500>>2]=+Mm(r,p+(q+ +Mm(+g[u>>2],0.0)));break}v=c[N+92>>2]|0;if(!v){do if(!(c[N+60>>2]|0))if(!(c[N+108>>2]|0)){v=(c[N+124>>2]|0)==0?1540:N+120|0;break}else{v=N+104|0;break}else v=N+56|0;while(0);p=+g[v>>2];p=(c[v+4>>2]|0)==1?p:Ja*p/100.0}else{p=+g[N+88>>2];p=(v|0)==1?p:Ja*p/100.0}C=p+ +Pd(N,2,Ja);do if(!(c[N+68>>2]|0))if(!(c[N+116>>2]|0)){v=(c[N+124>>2]|0)==0?1540:N+120|0;break}else{v=N+112|0;break}else v=N+64|0;while(0);B=+g[v>>2];B=(c[v+4>>2]|0)==1?B:Ja*B/100.0;B=B+ +Pd(N,0,Ja);if(A){q=+g[N+344>>2];q=C+((c[z>>2]|0)==1?q:Ja*q/100.0);w=1}else{q=s;w=0}if(H){r=+g[N+352>>2];r=B+((c[G>>2]|0)==1?r:Ia*r/100.0);v=1}else{r=s;v=0}x=c[Q>>2]|0;if(!(M&(x|0)==2)){Ha=((g[k>>2]=q,c[k>>2]|0)&2147483647)>>>0>2139095040;q=Ha?(W?q:Ja):q;w=Ha?(W?w:2):w;if((x|0)==2&(M^1))Ha=257;else Ha=256}else Ha=256;do if((Ha|0)==256){Ha=0;fa=((g[k>>2]=r,c[k>>2]|0)&2147483647)>>>0>2139095040;r=fa?(R?r:Ia):r;v=fa?(R?v:2):v;if(!M){Ha=257;break}if(!(S&(T&I)))break;x=c[N+20>>2]|0;if(!x)x=c[U>>2]|0;fa=(x|0)==4;v=fa?1:v;r=fa?Ia:r}while(0);do if((Ha|0)==257){Ha=0;if(!(V&(ga&J)))break;x=c[N+20>>2]|0;if(!x)x=c[U>>2]|0;fa=(x|0)==4;w=fa?1:w;q=fa?Ja:q}while(0);p=+g[N+392>>2];do if(((g[k>>2]=p,c[k>>2]|0)&2147483647)>>>0<=2139095040){if(!((w|0)==1&L)){if(!(M&(v|0)==1))break;$=+Yd(N,2,Ja);$=$+ +Wd(N,2);aa=+Zd(N,2,Ja);g[N+500>>2]=+Mm((r-B)*p,$+(aa+ +Xd(N,2)));u=O;break d}r=(q-C)/p;p=+Yd(N,0,Ja);do if(!(c[N+284>>2]|0))if(!(c[N+332>>2]|0)){u=(c[N+340>>2]|0)==0?1540:N+336|0;break}else{u=N+328|0;break}else u=N+280|0;while(0);p=p+ +Mm(+g[u>>2],0.0);q=+Zd(N,0,Ja);do if(!(c[N+300>>2]|0))if(!(c[N+332>>2]|0)){u=(c[N+340>>2]|0)==0?1540:N+336|0;break}else{u=N+328|0;break}else u=N+296|0;while(0);g[N+500>>2]=+Mm(r,p+(q+ +Mm(+g[u>>2],0.0)));u=O;break d}while(0);p=+g[N+376>>2];p=(c[N+380>>2]|0)==1?p:Ja*p/100.0;switch(w|0){case 2:case 1:{q=q>2]=p,c[k>>2]|0)&2147483647)>>>0>2139095040?q:p;break}case 0:{w=((g[k>>2]=p,c[k>>2]|0)&2147483647)>>>0>2139095040;q=w?q:p;w=w?0:2;break}default:{}}p=+g[N+384>>2];p=(c[N+388>>2]|0)==1?p:Ia*p/100.0;switch(v|0){case 2:case 1:{p=r>2]=p,c[k>>2]|0)&2147483647)>>>0>2139095040?r:p;break}case 0:{v=((g[k>>2]=p,c[k>>2]|0)&2147483647)>>>0>2139095040;p=v?r:p;v=v?0:2;break}default:p=r}Kd(N,q,p,Oa,w,v,Ja,Ia,0,6238)|0;_=+g[(M?N+900|0:N+904|0)>>2];$=+Yd(N,u,Ja);$=$+ +Wd(N,u);aa=+Zd(N,u,Ja);g[N+500>>2]=+Mm(_,$+(aa+ +Xd(N,u)))}while(0);c[N+496>>2]=c[140];u=O}while(0);Z=Z+1|0;if((Z|0)==(Ra|0)){fa=t;break}else O=u}ea=(Ea|0)==1;O=ea&(n^1);M=((g[k>>2]=ha,c[k>>2]|0)&2147483647)>>>0<2139095041;N=((g[k>>2]=ia,c[k>>2]|0)&2147483647)>>>0<2139095041;P=(Ba|0)==2;Q=1612+(o<<2)|0;R=(Ea&-3|0)==0;S=(Ea|0)==2;ea=ea&(ma^1);T=(Ma&-2|0)==2;U=1580+(Ma<<2)|0;V=Ma>>>0<2;W=1580+(Ma<<2)|0;X=b+16|0;Y=1612+(Ma<<2)|0;Z=1580+(o<<2)|0;ba=1580+(o<<2)|0;ca=((g[k>>2]=Aa,c[k>>2]|0)&2147483647)>>>0>2139095040;da=ca?0:2;L=(j|0)==1;I=0;f=0;aa=0.0;q=0.0;while(1){f:do if(I>>>0>>0){z=0;t=I;A=0;w=0;p=0.0;D=0.0;d=0.0;while(1){y=jc(c[Qa>>2]|0,t)|0;c[y+932>>2]=f;v=y+24|0;if((c[v>>2]|0)==1){u=z;v=A;B=D;r=d}else{j=c[Q>>2]|0;B=+g[y+360+(j<<3)>>2];x=y+500|0;B=+Mm((c[y+360+(j<<3)+4>>2]|0)==1?B:Ca*B/100.0,+g[x>>2]);do if(ka){u=c[y+92>>2]|0;if(!u){Ha=294;break}r=+g[y+88>>2];r=(u|0)==1?r:Ja*r/100.0}else Ha=294;while(0);if((Ha|0)==294){Ha=0;u=c[Z>>2]|0;g:do if(!(c[y+56+(u<<3)+4>>2]|0)){do if(ja){if(!(c[y+116>>2]|0))break;u=y+112|0;break g}while(0);h:do switch(u|0){case 0:case 2:case 4:case 5:{if(!(c[y+108>>2]|0))break h;u=y+104|0;break g}default:{}}while(0);u=(c[y+124>>2]|0)==0?1540:y+120|0}else u=y+56+(u<<3)|0;while(0);r=+g[u>>2];r=(c[u+4>>2]|0)==1?r:Ja*r/100.0}C=p+(B+(r+ +Pd(y,o,Ja)));if(ma&(w|0)!=0&C>E){J=t;v=A;B=D;break f}w=w+1|0;do if(!(c[v>>2]|0)){r=+g[y+40>>2];u=((g[k>>2]=r,c[k>>2]|0)&2147483647)>>>0>2139095040;if(u){p=+g[y+36>>2];if(p>0.0&((g[k>>2]=p,c[k>>2]|0)&2147483647)>>>0<2139095041)Ha=308;else Ha=309}else{p=r;Ha=308}if((Ha|0)==308?(Ha=0,!(p!=0.0)):0)Ha=309;if((Ha|0)==309){Ha=0;p=+g[y+44>>2];if(((g[k>>2]=p,c[k>>2]|0)&2147483647)>>>0>2139095040){p=+g[y+36>>2];if(p<0.0&((g[k>>2]=p,c[k>>2]|0)&2147483647)>>>0<2139095041)p=-p;else{B=D;r=d;break}}if(!(p!=0.0)){B=D;r=d;break}}if(u){p=+g[y+36>>2];r=p>0.0&((g[k>>2]=p,c[k>>2]|0)&2147483647)>>>0<2139095041?p:0.0}p=+g[y+44>>2];if(((g[k>>2]=p,c[k>>2]|0)&2147483647)>>>0>2139095040){p=+g[y+36>>2];p=p<0.0&((g[k>>2]=p,c[k>>2]|0)&2147483647)>>>0<2139095041?-p:0.0}B=D+r;r=d-p*+g[x>>2]}else{B=D;r=d}while(0);if(z)c[z+944>>2]=y;c[y+944>>2]=0;u=y;v=(A|0)==0?y:A;p=C}t=t+1|0;if(t>>>0>>0){z=u;A=v;D=B;d=r}else{J=t;d=r;break}}}else{J=I;v=0;w=0;p=0.0;B=0.0;d=0.0}while(0);if(((g[k>>2]=E,c[k>>2]|0)&2147483647)>>>0>2139095040)if(M&pia?ia:E;else $=E;do if(((g[k>>2]=$,c[k>>2]|0)&2147483647)>>>0>2139095040){if(!(p<0.0)){_=0.0;break}_=-p}else _=$-p;while(0);i:do if(O)p=0.0;else{y=(v|0)==0;if(y){p=0.0;break}t=_<0.0;K=_/d;u=_>0.0;e=_/B;x=v;E=0.0;p=0.0;r=0.0;do{F=+g[x+500>>2];do if(t){C=+g[x+44>>2];if(((g[k>>2]=C,c[k>>2]|0)&2147483647)>>>0>2139095040){C=+g[x+36>>2];C=C<0.0&((g[k>>2]=C,c[k>>2]|0)&2147483647)>>>0<2139095041?-C:0.0}C=F*C;if(!(C!=-0.0))break;Va=F-C*K;Xa=+_d(x,o,Va,$);Wa=+Yd(x,o,Ja);Wa=Wa+ +Wd(x,o);D=+Zd(x,o,Ja);D=+Mm(Xa,Wa+(D+ +Xd(x,o)));if(!(Va!=D))break;p=p+C;r=r-(D-F)}else{if(!u)break;C=+g[x+40>>2];if(((g[k>>2]=C,c[k>>2]|0)&2147483647)>>>0>2139095040){C=+g[x+36>>2];if(!(C>0.0&((g[k>>2]=C,c[k>>2]|0)&2147483647)>>>0<2139095041))break}if(!(C!=0.0))break;Xa=F+C*e;Va=+_d(x,o,Xa,$);Wa=+Yd(x,o,Ja);Wa=Wa+ +Wd(x,o);D=+Zd(x,o,Ja);D=+Mm(Va,Wa+(D+ +Xd(x,o)));if(!(Xa!=D))break;E=E-C;r=r-(D-F)}while(0);x=c[x+944>>2]|0}while((x|0)!=0);C=E;p=d+p;r=_+r;if(y){p=0.0;break}G=r<0.0;H=p==0.0;e=r/p;z=c[Y>>2]|0;A=r>0.0;K=r/(B+C);p=0.0;while(1){B=+g[v+500>>2];do if(G){r=+g[v+44>>2];if(((g[k>>2]=r,c[k>>2]|0)&2147483647)>>>0>2139095040){r=+g[v+36>>2];r=r<0.0&((g[k>>2]=r,c[k>>2]|0)&2147483647)>>>0<2139095041?-r:0.0}Xa=B*r;r=-Xa;if(!(Xa!=-0.0)){C=B;break}Wa=+_d(v,o,B+(H?r:e*r),$);Xa=+Yd(v,o,Ja);Xa=Xa+ +Wd(v,o);C=+Zd(v,o,Ja);C=+Mm(Wa,Xa+(C+ +Xd(v,o)))}else{if(!A){C=B;break}r=+g[v+40>>2];if(((g[k>>2]=r,c[k>>2]|0)&2147483647)>>>0>2139095040){r=+g[v+36>>2];if(!(r>0.0&((g[k>>2]=r,c[k>>2]|0)&2147483647)>>>0<2139095041)){C=B;break}}if(!(r!=0.0)){C=B;break}Wa=+_d(v,o,B+r*K,$);Xa=+Yd(v,o,Ja);Xa=Xa+ +Wd(v,o);C=+Zd(v,o,Ja);C=+Mm(Wa,Xa+(C+ +Xd(v,o)))}while(0);p=p-(C-B);t=c[v+92>>2]|0;if(!t){do if(!(c[v+60>>2]|0))if(!(c[v+108>>2]|0)){t=(c[v+124>>2]|0)==0?1540:v+120|0;break}else{t=v+104|0;break}else t=v+56|0;while(0);r=+g[t>>2];r=(c[t+4>>2]|0)==1?r:Ja*r/100.0}else{r=+g[v+88>>2];r=(t|0)==1?r:Ja*r/100.0}E=r+ +Pd(v,2,Ja);do if(!(c[v+68>>2]|0))if(!(c[v+116>>2]|0)){t=(c[v+124>>2]|0)==0?1540:v+120|0;break}else{t=v+112|0;break}else t=v+64|0;while(0);F=+g[t>>2];F=(c[t+4>>2]|0)==1?F:Ja*F/100.0;F=F+ +Pd(v,0,Ja);j:do if(ka){r=C+E;u=c[v+356>>2]|0;do if(!ca){if(!u)t=0;else t=+g[v+352>>2]>=0.0;if(!(L&(t^1)))break;t=c[v+20>>2]|0;if(!t)t=c[X>>2]|0;if((t|0)==4){D=Aa;x=1;u=1;break j}}while(0);if(!u){D=Aa;x=1;u=da;break}B=+g[v+352>>2];if(!(B>=0.0)){D=Aa;x=1;u=da;break}D=F+((u|0)==1?B:Ia*B/100.0);x=1;u=1}else{B=C+F;u=c[v+348>>2]|0;do if(!ca){if(!u)t=0;else t=+g[v+344>>2]>=0.0;if(!(ga&(t^1)))break;t=c[v+20>>2]|0;if(!t)t=c[X>>2]|0;if((t|0)==4){r=Aa;D=B;x=1;u=1;break j}}while(0);if(!u){r=Aa;D=B;x=da;u=1;break}r=+g[v+344>>2];if(!(r>=0.0)){r=Aa;D=B;x=da;u=1;break}r=E+((u|0)==1?r:Ja*r/100.0);D=B;x=1;u=1}while(0);y=v+392|0;B=+g[y>>2];do if(((g[k>>2]=B,c[k>>2]|0)&2147483647)>>>0>2139095040){C=r;B=D}else{if(!ka){Wa=+Yd(v,2,Ja);Wa=Wa+ +Wd(v,2);Xa=+Zd(v,2,Ja);B=+Mm((D-F)*B,Wa+(Xa+ +Xd(v,2)));do if(!(c[v+24>>2]|0)){r=+g[v+40>>2];if(((g[k>>2]=r,c[k>>2]|0)&2147483647)>>>0>2139095040){r=+g[v+36>>2];if(r>0.0&((g[k>>2]=r,c[k>>2]|0)&2147483647)>>>0<2139095041)Ha=414;else Ha=415}else Ha=414;if((Ha|0)==414?(Ha=0,!(r!=0.0)):0)Ha=415;if((Ha|0)==415){Ha=0;r=+g[v+44>>2];if(((g[k>>2]=r,c[k>>2]|0)&2147483647)>>>0>2139095040){r=+g[v+36>>2];if(r<0.0&((g[k>>2]=r,c[k>>2]|0)&2147483647)>>>0<2139095041)r=-r;else{r=D;break}}if(!(r!=0.0)){r=D;break}}r=+Nm(B-E,Ja);B=r;r=F+r/+g[y>>2]}else r=D;while(0);x=1;C=E+B;B=r;break}D=(r-E)/B;B=+Yd(v,0,Ja);do if(!(c[v+284>>2]|0))if(!(c[v+332>>2]|0)){t=(c[v+340>>2]|0)==0?1540:v+336|0;break}else{t=v+328|0;break}else t=v+280|0;while(0);B=B+ +Mm(+g[t>>2],0.0);C=+Zd(v,0,Ja);do if(!(c[v+300>>2]|0))if(!(c[v+332>>2]|0)){t=(c[v+340>>2]|0)==0?1540:v+336|0;break}else{t=v+328|0;break}else t=v+296|0;while(0);C=+Mm(D,B+(C+ +Mm(+g[t>>2],0.0)));do if(!(c[v+24>>2]|0)){B=+g[v+40>>2];if(((g[k>>2]=B,c[k>>2]|0)&2147483647)>>>0>2139095040){B=+g[v+36>>2];if(B>0.0&((g[k>>2]=B,c[k>>2]|0)&2147483647)>>>0<2139095041)Ha=405;else Ha=406}else Ha=405;if((Ha|0)==405?(Ha=0,!(B!=0.0)):0)Ha=406;if((Ha|0)==406){Ha=0;B=+g[v+44>>2];if(((g[k>>2]=B,c[k>>2]|0)&2147483647)>>>0>2139095040){B=+g[v+36>>2];if(B<0.0&((g[k>>2]=B,c[k>>2]|0)&2147483647)>>>0<2139095041)B=-B;else{B=C;break}}if(!(B!=0.0)){B=C;break}}r=+Nm(C-F,Ia);B=r;r=E+r*+g[y>>2]}else B=C;while(0);C=r;u=1;B=F+B}while(0);r=+g[v+376>>2];r=(c[v+380>>2]|0)==1?r:Ja*r/100.0;switch(x|0){case 2:case 1:{C=C>2]=r,c[k>>2]|0)&2147483647)>>>0>2139095040?C:r;break}case 0:{x=((g[k>>2]=r,c[k>>2]|0)&2147483647)>>>0>2139095040;C=x?C:r;x=x?0:2;break}default:{}}r=+g[v+384>>2];r=(c[v+388>>2]|0)==1?r:Ia*r/100.0;switch(u|0){case 2:case 1:{B=B>2]=r,c[k>>2]|0)&2147483647)>>>0>2139095040?B:r;break}case 0:{u=((g[k>>2]=r,c[k>>2]|0)&2147483647)>>>0>2139095040;B=u?B:r;u=u?0:2;break}default:{}}if((c[v+344+(z<<3)+4>>2]|0)!=0?+g[v+344+(z<<3)>>2]>=0.0:0)t=0;else{t=c[v+20>>2]|0;if(!t)t=c[X>>2]|0;if((t|0)==5?(c[La>>2]|0)>>>0<2:0)t=1;t=(t|0)==4}if(n)t=t^1;else t=0;Kd(v,C,B,Oa,x,u,Ja,Ia,t,6246)|0;v=c[v+944>>2]|0;if(!v)break i}}while(0);r=_+p;do if(P&r>0.0){t=c[Q>>2]|0;u=c[b+360+(t<<3)+4>>2]|0;if(!u){p=0.0;break}p=+g[b+360+(t<<3)>>2];p=(u|0)==1?p:Ca*p/100.0;if(!(p>=0.0)){p=0.0;break}p=+Mm(0.0,p-($-r))}else p=r;while(0);k:do switch(la|0){case 1:{E=0.0;D=p*.5;break}case 2:{E=0.0;D=p;break}case 3:{if(w>>>0<=1){E=0.0;D=0.0;break k}E=+Mm(p,0.0)/+((w+-1|0)>>>0);D=0.0;break}case 4:{D=p/+(w>>>0);E=D;D=D*.5;break}default:{E=0.0;D=0.0}}while(0);p=na+D;w=I>>>0>>0;l:do if(w){r=0.0;v=I;while(1){u=jc(c[Qa>>2]|0,v)|0;m:do switch(c[u+24>>2]|0){case 1:{if(ka){do if(!(c[u+164>>2]|0))if(!(c[u+180>>2]|0)){t=(c[u+196>>2]|0)==0?1548:u+192|0;break}else{t=u+176|0;break}else t=u+160|0;while(0);if(!(c[t+4>>2]|0))Ha=456}else Ha=456;if((Ha|0)==456){Ha=0;t=c[Z>>2]|0;n:do if(!(c[u+128+(t<<3)+4>>2]|0)){do if(ja){if(!(c[u+188>>2]|0))break;t=u+184|0;break n}while(0);o:do switch(t|0){case 0:case 2:case 4:case 5:{if(!(c[u+180>>2]|0))break o;t=u+176|0;break n}default:{}}while(0);t=(c[u+196>>2]|0)==0?1548:u+192|0}else t=u+128+(t<<3)|0;while(0);if(!(c[t+4>>2]|0)){Ha=525;break m}}if(!n)break m;C=+Ud(u,o,$)+ +Wd(b,o);do if(ka){t=c[u+92>>2]|0;if(!t){Ha=470;break}B=+g[u+88>>2];B=(t|0)==1?B:Ja*B/100.0}else Ha=470;while(0);if((Ha|0)==470){Ha=0;t=c[Z>>2]|0;p:do if(!(c[u+56+(t<<3)+4>>2]|0)){do if(ja){if(!(c[u+116>>2]|0))break;t=u+112|0;break p}while(0);q:do switch(t|0){case 0:case 2:case 4:case 5:{if(!(c[u+108>>2]|0))break q;t=u+104|0;break p}default:{}}while(0);t=(c[u+124>>2]|0)==0?1540:u+120|0}else t=u+56+(t<<3)|0;while(0);B=+g[t>>2];B=(c[t+4>>2]|0)==1?B:Ja*B/100.0}g[u+396+(c[ba>>2]<<2)>>2]=C+B;break}case 0:{if(n){j=u+396+(c[ba>>2]<<2)|0;g[j>>2]=p+ +g[j>>2]}if(O){do if(ka){t=c[u+92>>2]|0;if(!t){Ha=487;break}r=+g[u+88>>2];r=(t|0)==1?r:Ja*r/100.0}else Ha=487;while(0);if((Ha|0)==487){Ha=0;t=c[Z>>2]|0;r:do if(!(c[u+56+(t<<3)+4>>2]|0)){do if(ja){if(!(c[u+116>>2]|0))break;t=u+112|0;break r}while(0);s:do switch(t|0){case 0:case 2:case 4:case 5:{if(!(c[u+108>>2]|0))break s;t=u+104|0;break r}default:{}}while(0);t=(c[u+124>>2]|0)==0?1540:u+120|0}else t=u+56+(t<<3)|0;while(0);r=+g[t>>2];r=(c[t+4>>2]|0)==1?r:Ja*r/100.0}Xa=E+(r+ +Pd(u,o,Ja));r=Aa;p=p+(+g[u+500>>2]+Xa);break m}C=+g[u+900+(c[Q>>2]<<2)>>2];do if(ka){t=c[u+92>>2]|0;if(!t){Ha=501;break}B=+g[u+88>>2];B=(t|0)==1?B:Ja*B/100.0}else Ha=501;while(0);if((Ha|0)==501){Ha=0;t=c[Z>>2]|0;t:do if(!(c[u+56+(t<<3)+4>>2]|0)){do if(ja){if(!(c[u+116>>2]|0))break;t=u+112|0;break t}while(0);u:do switch(t|0){case 0:case 2:case 4:case 5:{if(!(c[u+108>>2]|0))break u;t=u+104|0;break t}default:{}}while(0);t=(c[u+124>>2]|0)==0?1540:u+120|0}else t=u+56+(t<<3)|0;while(0);B=+g[t>>2];B=(c[t+4>>2]|0)==1?B:Ja*B/100.0}p=p+(E+(C+B+ +Pd(u,o,Ja)));C=+g[u+900+(c[Y>>2]<<2)>>2];do if(T){t=c[u+92>>2]|0;if(!t){Ha=514;break}B=+g[u+88>>2];B=(t|0)==1?B:Ja*B/100.0}else Ha=514;while(0);if((Ha|0)==514){Ha=0;t=c[U>>2]|0;v:do if(!(c[u+56+(t<<3)+4>>2]|0)){do if(V){if(!(c[u+116>>2]|0))break;t=u+112|0;break v}while(0);w:do switch(t|0){case 0:case 2:case 4:case 5:{if(!(c[u+108>>2]|0))break w;t=u+104|0;break v}default:{}}while(0);t=(c[u+124>>2]|0)==0?1540:u+120|0}else t=u+56+(t<<3)|0;while(0);B=+g[t>>2];B=(c[t+4>>2]|0)==1?B:Ja*B/100.0}r=+Mm(r,C+B+ +Pd(u,Ma,Ja));break}default:Ha=525}while(0);do if((Ha|0)==525){Ha=0;if(!n)break;Xa=D+ +Wd(b,o);j=u+396+(c[ba>>2]<<2)|0;g[j>>2]=Xa+ +g[j>>2]}while(0);v=v+1|0;if((v|0)==(J|0))break l}}else r=0.0;while(0);K=oa+p;do if(R){Wa=+_d(b,Ma,Ga+r,Fa);Xa=+Yd(b,Ma,l);Xa=Xa+ +Wd(b,Ma);p=+Zd(b,Ma,l);p=+Mm(Wa,Xa+(p+ +Xd(b,Ma)))-Ga;if(!S)break;p=+Nm(p,Aa)}else p=Aa;while(0);Wa=+_d(b,Ma,Ga+(ea?Aa:r),Fa);Xa=+Yd(b,Ma,l);Xa=Xa+ +Wd(b,Ma);F=+Zd(b,Ma,l);F=+Mm(Wa,Xa+(F+ +Xd(b,Ma)))-Ga;if(w&n){w=I;do{v=jc(c[Qa>>2]|0,w)|0;x:do if((c[v+24>>2]|0)==1){if(T){do if(!(c[v+164>>2]|0))if(!(c[v+180>>2]|0)){t=(c[v+196>>2]|0)==0?1548:v+192|0;break}else{t=v+176|0;break}else t=v+160|0;while(0);if(!(c[t+4>>2]|0))Ha=540}else Ha=540;do if((Ha|0)==540){Ha=0;u=c[U>>2]|0;y:do if(!(c[v+128+(u<<3)+4>>2]|0)){do if(V){if(!(c[v+188>>2]|0))break;t=v+184|0;break y}while(0);z:do switch(u|0){case 0:case 2:case 4:case 5:{if(!(c[v+180>>2]|0))break z;t=v+176|0;break y}default:{}}while(0);t=(c[v+196>>2]|0)==0?1548:v+192|0}else t=v+128+(u<<3)|0;while(0);if(c[t+4>>2]|0)break;B=+Wd(b,Ma);do if(T){t=c[v+92>>2]|0;if(!t){Ha=567;break}r=+g[v+88>>2];r=(t|0)==1?r:Ja*r/100.0}else Ha=567;while(0);if((Ha|0)==567){Ha=0;A:do if(!(c[v+56+(u<<3)+4>>2]|0)){do if(V){if(!(c[v+116>>2]|0))break;t=v+112|0;break A}while(0);B:do switch(u|0){case 0:case 2:case 4:case 5:{if(!(c[v+108>>2]|0))break B;t=v+104|0;break A}default:{}}while(0);t=(c[v+124>>2]|0)==0?1540:v+120|0}else t=v+56+(u<<3)|0;while(0);r=+g[t>>2];r=(c[t+4>>2]|0)==1?r:Ja*r/100.0}g[v+396+(c[W>>2]<<2)>>2]=B+r;break x}while(0);B=+Ud(v,Ma,Aa);B=B+ +Wd(b,Ma);do if(T){t=c[v+92>>2]|0;if(!t){Ha=553;break}r=+g[v+88>>2];r=(t|0)==1?r:Ja*r/100.0}else Ha=553;while(0);if((Ha|0)==553){Ha=0;t=c[U>>2]|0;C:do if(!(c[v+56+(t<<3)+4>>2]|0)){do if(V){if(!(c[v+116>>2]|0))break;t=v+112|0;break C}while(0);D:do switch(t|0){case 0:case 2:case 4:case 5:{if(!(c[v+108>>2]|0))break D;t=v+104|0;break C}default:{}}while(0);t=(c[v+124>>2]|0)==0?1540:v+120|0}else t=v+56+(t<<3)|0;while(0);r=+g[t>>2];r=(c[t+4>>2]|0)==1?r:Ja*r/100.0}g[v+396+(c[W>>2]<<2)>>2]=B+r}else{t=c[v+20>>2]|0;if(!t)t=c[X>>2]|0;E:do switch(t|0){case 5:{if((c[La>>2]|0)>>>0<2)r=pa;else Ha=605;break}case 4:{do if(ka){if(!(c[v+356>>2]|0)){u=0;break}u=+g[v+352>>2]>=0.0}else{if(!(c[v+348>>2]|0)){u=0;break}u=+g[v+344>>2]>=0.0}while(0);t=c[v+92>>2]|0;if(!t){do if(!(c[v+60>>2]|0))if(!(c[v+108>>2]|0)){t=(c[v+124>>2]|0)==0?1540:v+120|0;break}else{t=v+104|0;break}else t=v+56|0;while(0);r=+g[t>>2];r=(c[t+4>>2]|0)==1?r:Ja*r/100.0}else{r=+g[v+88>>2];r=(t|0)==1?r:Ja*r/100.0}C=r+ +Pd(v,2,Ja);do if(!(c[v+68>>2]|0))if(!(c[v+116>>2]|0)){t=(c[v+124>>2]|0)==0?1540:v+120|0;break}else{t=v+112|0;break}else t=v+64|0;while(0);D=+g[t>>2];D=((c[t+4>>2]|0)==1?D:Ja*D/100.0)+ +Pd(v,0,Ja);if(ka){r=+g[v+900>>2];B=+g[v+392>>2];E=C+r;B=((g[k>>2]=B,c[k>>2]|0)&2147483647)>>>0>2139095040?F:D+r/B}else{B=+g[v+904>>2];r=+g[v+392>>2];E=((g[k>>2]=r,c[k>>2]|0)&2147483647)>>>0>2139095040?F:C+B*r;B=D+B}C=+g[v+376>>2];C=(c[v+380>>2]|0)==1?C:Ja*C/100.0;r=+g[v+384>>2];r=(c[v+388>>2]|0)==1?r:Ia*r/100.0;if(u){r=pa;break E}r=B>2]=r,c[k>>2]|0)&2147483647)>>>0>2139095040?B:r;Xa=E>2]=C,c[k>>2]|0)&2147483647)>>>0>2139095040?E:C;Kd(v,Xa,r,Oa,((g[k>>2]=Xa,c[k>>2]|0)&2147483647)>>>0<2139095041&1,((g[k>>2]=r,c[k>>2]|0)&2147483647)>>>0<2139095041&1,Ja,Ia,1,6251)|0;r=pa;break}case 1:{r=pa;break}default:Ha=605}while(0);do if((Ha|0)==605){Ha=0;B=+g[v+900+(c[Y>>2]<<2)>>2];do if(T){u=c[v+92>>2]|0;if(!u){Ha=608;break}r=+g[v+88>>2];r=(u|0)==1?r:Ja*r/100.0}else Ha=608;while(0);if((Ha|0)==608){Ha=0;u=c[U>>2]|0;F:do if(!(c[v+56+(u<<3)+4>>2]|0)){do if(V){if(!(c[v+116>>2]|0))break;u=v+112|0;break F}while(0);G:do switch(u|0){case 0:case 2:case 4:case 5:{if(!(c[v+108>>2]|0))break G;u=v+104|0;break F}default:{}}while(0);u=(c[v+124>>2]|0)==0?1540:v+120|0}else u=v+56+(u<<3)|0;while(0);r=+g[u>>2];r=(c[u+4>>2]|0)==1?r:Ja*r/100.0}r=p-(B+r+ +Pd(v,Ma,Ja));if((t|0)==2){r=pa+r*.5;break}else{r=pa+r;break}}while(0);j=v+396+(c[W>>2]<<2)|0;g[j>>2]=q+r+ +g[j>>2]}while(0);w=w+1|0}while((w|0)!=(J|0))}q=q+F;p=+Mm(aa,K);f=f+1|0;if(J>>>0>>0){E=$;I=J;aa=p}else{e=q;K=p;J=f;F=$;break}}H:do if(n){I:do if(J>>>0<=1){if((c[La>>2]|0)>>>0<2)break H;if((c[b+16>>2]|0)==5)break;if(!(fc(c[Qa>>2]|0)|0))break H;else f=0;while(1){ma=jc(c[Qa>>2]|0,f)|0;if((c[ma+24>>2]|0)==0?(c[ma+20>>2]|0)==5:0)break I;f=f+1|0;if(f>>>0>=(fc(c[Qa>>2]|0)|0)>>>0)break H}}while(0);if(((g[k>>2]=Aa,c[k>>2]|0)&2147483647)>>>0<=2139095040){p=Aa-e;J:do switch(c[b+12>>2]|0){case 3:{E=0.0;p=pa+p;break}case 2:{E=0.0;p=pa+p*.5;break}case 4:{if(!(Aa>e)){E=0.0;p=pa;break J}E=p/+(J>>>0);p=pa;break}default:{E=0.0;p=pa}}while(0);if(J){y=b+16|0;z=(Ma&-2|0)==2;A=1580+(Ma<<2)|0;G=Ma>>>0<2;H=1580+(Ma<<2)|0;I=1612+(Ma<<2)|0;v=0;x=0;while(1){K:do if(v>>>0>>0){f=v;r=0.0;q=0.0;D=0.0;while(1){w=jc(c[Qa>>2]|0,f)|0;do if(!(c[w+24>>2]|0)){if((c[w+932>>2]|0)!=(x|0))break K;C=+g[w+900+(c[I>>2]<<2)>>2];if(C>=0.0&((g[k>>2]=C,c[k>>2]|0)&2147483647)>>>0<2139095041){do if(z){t=c[w+92>>2]|0;if(!t){Ha=647;break}B=+g[w+88>>2];B=(t|0)==1?B:Ja*B/100.0}else Ha=647;while(0);if((Ha|0)==647){Ha=0;t=c[A>>2]|0;L:do if(!(c[w+56+(t<<3)+4>>2]|0)){do if(G){if(!(c[w+116>>2]|0))break;t=w+112|0;break L}while(0);M:do switch(t|0){case 0:case 2:case 4:case 5:{if(!(c[w+108>>2]|0))break M;t=w+104|0;break L}default:{}}while(0);t=(c[w+124>>2]|0)==0?1540:w+120|0}else t=w+56+(t<<3)|0;while(0);B=+g[t>>2];B=(c[t+4>>2]|0)==1?B:Ja*B/100.0}r=+Mm(r,C+(B+ +Pd(w,Ma,Ja)))}t=c[w+20>>2]|0;if(!t)t=c[y>>2]|0;if((t|0)!=5){B=D;break}if((c[La>>2]|0)>>>0<2){B=D;break}B=+$d(w);u=(c[w+68>>2]|0)==0;do if(u)if(!(c[w+116>>2]|0)){t=(c[w+124>>2]|0)==0?1540:w+120|0;break}else{t=w+112|0;break}else t=w+64|0;while(0);C=+g[t>>2];B=B+((c[t+4>>2]|0)==1?C:Ja*C/100.0);C=+g[w+904>>2];do if(u)if(!(c[w+116>>2]|0)){t=(c[w+124>>2]|0)==0?1540:w+120|0;break}else{t=w+112|0;break}else t=w+64|0;while(0);Xa=+g[t>>2];Xa=(c[t+4>>2]|0)==1?Xa:Ja*Xa/100.0;Xa=C+(Xa+ +Pd(w,0,Ja))-B;q=+Mm(q,B);B=+Mm(D,Xa);r=+Mm(r,q+B)}else B=D;while(0);f=f+1|0;if(f>>>0>>0)D=B;else break}}else{f=v;r=0.0;q=0.0}while(0);C=E+r;if(v>>>0>>0){r=p+q;B=p+C;do{u=jc(c[Qa>>2]|0,v)|0;N:do if(!(c[u+24>>2]|0)){t=c[u+20>>2]|0;if(!t)t=c[y>>2]|0;O:do switch(t|0){case 5:{if((c[La>>2]|0)>>>0<2)break O;g[u+400>>2]=r-+$d(u)+ +Ud(u,0,Aa);break N}case 1:break;case 3:{Xa=B-+Pd(u,Ma,Ja);g[u+396+(c[H>>2]<<2)>>2]=Xa-+g[u+900+(c[I>>2]<<2)>>2];break N}case 2:{g[u+396+(c[H>>2]<<2)>>2]=p+(C-+g[u+900+(c[I>>2]<<2)>>2])*.5;break N}case 4:{do if(z){t=c[u+92>>2]|0;if(!t){Ha=700;break}q=+g[u+88>>2];q=(t|0)==1?q:Ja*q/100.0}else Ha=700;while(0);if((Ha|0)==700){Ha=0;t=c[A>>2]|0;P:do if(!(c[u+56+(t<<3)+4>>2]|0)){do if(G){if(!(c[u+116>>2]|0))break;t=u+112|0;break P}while(0);Q:do switch(t|0){case 0:case 2:case 4:case 5:{if(!(c[u+108>>2]|0))break Q;t=u+104|0;break P}default:{}}while(0);t=(c[u+124>>2]|0)==0?1540:u+120|0}else t=u+56+(t<<3)|0;while(0);q=+g[t>>2];q=(c[t+4>>2]|0)==1?q:Ja*q/100.0}g[u+396+(c[H>>2]<<2)>>2]=p+q;break N}default:break N}while(0);do if(z){t=c[u+92>>2]|0;if(!t){Ha=684;break}q=+g[u+88>>2];q=(t|0)==1?q:Ja*q/100.0}else Ha=684;while(0);if((Ha|0)==684){Ha=0;t=c[A>>2]|0;R:do if(!(c[u+56+(t<<3)+4>>2]|0)){do if(G){if(!(c[u+116>>2]|0))break;t=u+112|0;break R}while(0);S:do switch(t|0){case 0:case 2:case 4:case 5:{if(!(c[u+108>>2]|0))break S;t=u+104|0;break R}default:{}}while(0);t=(c[u+124>>2]|0)==0?1540:u+120|0}else t=u+56+(t<<3)|0;while(0);q=+g[t>>2];q=(c[t+4>>2]|0)==1?q:Ja*q/100.0}g[u+396+(c[H>>2]<<2)>>2]=p+q}while(0);v=v+1|0}while((v|0)!=(f|0))}x=x+1|0;if((x|0)==(J|0))break;else{p=p+C;v=f}}}}}while(0);q=+g[sa>>2];q=(c[ra>>2]|0)==1?q:q*l/100.0;p=+g[va>>2];p=(c[ua>>2]|0)==1?p:p*l/100.0;p=p=0.0&((g[k>>2]=p,c[k>>2]|0)&2147483647)>>>0<2139095041)?p:ta;Xa=q>=0.0&((g[k>>2]=q,c[k>>2]|0)&2147483647)>>>0<2139095041&p>2]=+Mm(Xa,p+(q+ +Xd(b,2)));q=+g[xa>>2];q=(c[wa>>2]|0)==1?q:q*m/100.0;p=+g[za>>2];p=(c[ya>>2]|0)==1?p:p*m/100.0;p=p=0.0&((g[k>>2]=p,c[k>>2]|0)&2147483647)>>>0<2139095041)?p:qa;r=q>=0.0&((g[k>>2]=q,c[k>>2]|0)&2147483647)>>>0<2139095041&p>2]|0))if(!(c[b+332>>2]|0)){f=(c[b+340>>2]|0)==0?1540:b+336|0;break}else{f=b+328|0;break}else f=b+280|0;while(0);p=p+ +Mm(+g[f>>2],0.0);q=+Zd(b,0,l);do if(!(c[Ta>>2]|0))if(!(c[b+332>>2]|0)){f=(c[b+340>>2]|0)==0?1540:b+336|0;break}else{f=b+328|0;break}else f=b+296|0;while(0);R=b+904|0;g[R>>2]=+Mm(r,p+(q+ +Mm(+g[f>>2],0.0)));do if(!Ba)Ha=726;else{t=c[b+32>>2]|0;f=(Ba|0)==2;if(f&(t|0)!=2){Ha=726;break}if(!(f&(t|0)==2))break;Xa=+Mm(+Nm(Da+F,+_d(b,o,K,Ca)),Da);g[b+900+(c[1612+(o<<2)>>2]<<2)>>2]=Xa}while(0);if((Ha|0)==726){Va=+_d(b,o,K,Ca);Wa=+Yd(b,o,l);Wa=Wa+ +Wd(b,o);Xa=+Zd(b,o,l);Xa=+Mm(Va,Wa+(Xa+ +Xd(b,o)));g[b+900+(c[1612+(o<<2)>>2]<<2)>>2]=Xa}do if(!Ea)Ha=731;else{t=c[b+32>>2]|0;f=(Ea|0)==2;if(f&(t|0)!=2){Ha=731;break}if(!(f&(t|0)==2))break;Xa=+Mm(+Nm(Ga+Aa,+_d(b,Ma,Ga+e,Fa)),Ga);g[b+900+(c[1612+(Ma<<2)>>2]<<2)>>2]=Xa}while(0);if((Ha|0)==731){Va=+_d(b,Ma,Ga+e,Fa);Wa=+Yd(b,Ma,l);Wa=Wa+ +Wd(b,Ma);Xa=+Zd(b,Ma,l);Xa=+Mm(Va,Wa+(Xa+ +Xd(b,Ma)));g[b+900+(c[1612+(Ma<<2)>>2]<<2)>>2]=Xa}if(!n){i=Ua;return}if(fa){L=b+332|0;M=b+340|0;N=b+336|0;O=b+328|0;P=b+296|0;Q=b+280|0;H=(h|0)!=0;I=Ja>0.0;J=b+16|0;G=fa;do{f=c[La>>2]|0;T:do if(Pa){switch(f|0){case 2:{f=3;A=0;z=0;break T}case 3:break;default:{Ha=740;break T}}f=2;A=0;z=0}else Ha=740;while(0);if((Ha|0)==740){Ha=0;z=f>>>0<2;A=z?Na:0}y=(f&-2|0)==2;w=G+92|0;t=c[w>>2]|0;if(!t){do if(!(c[G+60>>2]|0))if(!(c[G+108>>2]|0)){t=(c[G+124>>2]|0)==0?1540:G+120|0;break}else{t=G+104|0;break}else t=G+56|0;while(0);p=+g[t>>2];p=(c[t+4>>2]|0)==1?p:Ja*p/100.0}else{p=+g[G+88>>2];p=(t|0)==1?p:Ja*p/100.0}D=p+ +Pd(G,2,Ja);x=G+68|0;do if(!(c[x>>2]|0))if(!(c[G+116>>2]|0)){t=(c[G+124>>2]|0)==0?1540:G+120|0;break}else{t=G+112|0;break}else t=G+64|0;while(0);C=+g[t>>2];C=(c[t+4>>2]|0)==1?C:Ja*C/100.0;C=C+ +Pd(G,0,Ja);t=c[G+348>>2]|0;do if(!t)Ha=757;else{p=+g[G+344>>2];if(!(p>=0.0)){Ha=757;break}p=D+((t|0)==1?p:Ja*p/100.0)}while(0);do if((Ha|0)==757){Ha=0;do if(!(c[G+164>>2]|0))if(!(c[G+180>>2]|0)){t=(c[G+196>>2]|0)==0?1548:G+192|0;break}else{t=G+176|0;break}else t=G+160|0;while(0);if(!(c[t+4>>2]|0)){do if(!(c[G+132>>2]|0))if(!(c[G+180>>2]|0)){t=(c[G+196>>2]|0)==0?1548:G+192|0;break}else{t=G+176|0;break}else t=G+128|0;while(0);if(!(c[t+4>>2]|0)){p=s;break}}do if(!(c[G+172>>2]|0))if(!(c[G+180>>2]|0)){t=(c[G+196>>2]|0)==0?1548:G+192|0;break}else{t=G+176|0;break}else t=G+168|0;while(0);if(!(c[t+4>>2]|0)){do if(!(c[G+148>>2]|0))if(!(c[G+180>>2]|0)){t=(c[G+196>>2]|0)==0?1548:G+192|0;break}else{t=G+176|0;break}else t=G+144|0;while(0);if(!(c[t+4>>2]|0)){p=s;break}}q=+g[S>>2];r=+Wd(b,2);r=q-(r+ +Xd(b,2));q=+Ud(G,2,Ja);q=r-(q+ +Vd(G,2,Ja));r=+g[G+360>>2];r=(c[G+364>>2]|0)==1?r:Ja*r/100.0;p=+g[G+376>>2];p=(c[G+380>>2]|0)==1?p:Ja*p/100.0;p=p=0.0&((g[k>>2]=p,c[k>>2]|0)&2147483647)>>>0<2139095041)?p:q;Wa=r>=0.0&((g[k>>2]=r,c[k>>2]|0)&2147483647)>>>0<2139095041&p>2]|0;do if(!t)Ha=785;else{q=+g[G+352>>2];if(!(q>=0.0)){Ha=785;break}q=C+((t|0)==1?q:Ia*q/100.0)}while(0);do if((Ha|0)==785){do if(!(c[G+140>>2]|0))if(!(c[G+188>>2]|0)){t=(c[G+196>>2]|0)==0?1548:G+192|0;break}else{t=G+184|0;break}else t=G+136|0;while(0);if(!(c[t+4>>2]|0)){q=s;break}do if(!(c[G+156>>2]|0))if(!(c[G+188>>2]|0)){t=(c[G+196>>2]|0)==0?1548:G+192|0;break}else{t=G+184|0;break}else t=G+152|0;while(0);if(!(c[t+4>>2]|0)){q=s;break}r=+g[R>>2];do if(!(c[Sa>>2]|0)){if(c[L>>2]|0){t=O;break}t=(c[M>>2]|0)==0?1540:N}else t=Q;while(0);q=+Mm(+g[t>>2],0.0);do if(!(c[Ta>>2]|0)){if(c[L>>2]|0){t=O;break}t=(c[M>>2]|0)==0?1540:N}else t=P;while(0);B=r-(q+ +Mm(+g[t>>2],0.0));r=+Ud(G,0,Ia);r=B-(r+ +Vd(G,0,Ia));B=+g[G+368>>2];B=(c[G+372>>2]|0)==1?B:Ia*B/100.0;q=+g[G+384>>2];q=(c[G+388>>2]|0)==1?q:Ia*q/100.0;q=q=0.0&((g[k>>2]=q,c[k>>2]|0)&2147483647)>>>0<2139095041)?q:r;B=B>=0.0&((g[k>>2]=B,c[k>>2]|0)&2147483647)>>>0<2139095041&q>2]|0))if(!(c[G+332>>2]|0)){t=(c[G+340>>2]|0)==0?1540:G+336|0;break}else{t=G+328|0;break}else t=G+280|0;while(0);q=q+ +Mm(+g[t>>2],0.0);r=+Zd(G,0,Ja);do if(!(c[G+300>>2]|0))if(!(c[G+332>>2]|0)){t=(c[G+340>>2]|0)==0?1540:G+336|0;break}else{t=G+328|0;break}else t=G+296|0;while(0);q=+Mm(B,q+(r+ +Mm(+g[t>>2],0.0)))}while(0);t=((g[k>>2]=p,c[k>>2]|0)&2147483647)>>>0>2139095040;u=((g[k>>2]=q,c[k>>2]|0)&2147483647)>>>0>2139095040;do if(t^u){r=+g[G+392>>2];if(((g[k>>2]=r,c[k>>2]|0)&2147483647)>>>0>2139095040)break;if(!t){if(!u)break;Xa=+Yd(G,2,Ja);Xa=Xa+ +Wd(G,2);q=+Zd(G,2,Ja);q=C+ +Mm((p-D)/r,Xa+(q+ +Xd(G,2)));break}B=(q-C)*r;p=+Yd(G,0,Ja);do if(!(c[G+284>>2]|0))if(!(c[G+332>>2]|0)){t=(c[G+340>>2]|0)==0?1540:G+336|0;break}else{t=G+328|0;break}else t=G+280|0;while(0);p=p+ +Mm(+g[t>>2],0.0);r=+Zd(G,0,Ja);do if(!(c[G+300>>2]|0))if(!(c[G+332>>2]|0)){t=(c[G+340>>2]|0)==0?1540:G+336|0;break}else{t=G+328|0;break}else t=G+296|0;while(0);p=D+ +Mm(B,p+(r+ +Mm(+g[t>>2],0.0)))}while(0);u=((g[k>>2]=p,c[k>>2]|0)&2147483647)>>>0>2139095040;v=(g[k>>2]=q,c[k>>2]|0)&2147483647;if(u|v>>>0>2139095040){t=u&1^1;if(!y){Ha=I&(H&u);p=Ha?Ja:p;t=Ha?2:t}Kd(G,p,q,Oa,t,v>>>0<2139095041&1,p,q,0,6259)|0;q=+g[G+900>>2];t=c[w>>2]|0;if(!t){do if(!(c[G+60>>2]|0))if(!(c[G+108>>2]|0)){t=(c[G+124>>2]|0)==0?1540:G+120|0;break}else{t=G+104|0;break}else t=G+56|0;while(0);p=+g[t>>2];p=(c[t+4>>2]|0)==1?p:Ja*p/100.0}else{p=+g[G+88>>2];p=(t|0)==1?p:Ja*p/100.0}p=q+(p+ +Pd(G,2,Ja));q=+g[G+904>>2];do if(!(c[x>>2]|0))if(!(c[G+116>>2]|0)){t=(c[G+124>>2]|0)==0?1540:G+120|0;break}else{t=G+112|0;break}else t=G+64|0;while(0);Xa=+g[t>>2];Xa=(c[t+4>>2]|0)==1?Xa:Ja*Xa/100.0;q=q+(Xa+ +Pd(G,0,Ja))}Kd(G,p,q,Oa,1,1,p,q,1,6271)|0;if(y){do if(!(c[G+172>>2]|0))if(!(c[G+180>>2]|0)){t=(c[G+196>>2]|0)==0?1548:G+192|0;break}else{t=G+176|0;break}else t=G+168|0;while(0);if(c[t+4>>2]|0)Ha=865;else Ha=854}else Ha=854;do if((Ha|0)==854){t=c[1596+(f<<2)>>2]|0;U:do if(!(c[G+128+(t<<3)+4>>2]|0)){do if(z){if(!(c[G+188>>2]|0))break;t=G+184|0;break U}while(0);V:do switch(t|0){case 0:case 2:case 4:case 5:{if(!(c[G+180>>2]|0))break V;t=G+176|0;break U}default:{}}while(0);t=(c[G+196>>2]|0)==0?1548:G+192|0}else t=G+128+(t<<3)|0;while(0);if(!(c[t+4>>2]|0)){Ha=882;break}if(y)Ha=865;else Ha=871}while(0);if((Ha|0)==865){t=c[G+164>>2]|0;do if(!t)if(!(c[G+180>>2]|0)){u=(c[G+196>>2]|0)==0?1548:G+192|0;break}else{u=G+176|0;break}else u=G+160|0;while(0);if(!(c[u+4>>2]|0))Ha=871;else Ha=884}do if((Ha|0)==871){Ha=0;u=c[1580+(f<<2)>>2]|0;W:do if(!(c[G+128+(u<<3)+4>>2]|0)){do if(z){if(!(c[G+188>>2]|0))break;t=G+184|0;break W}while(0);X:do switch(u|0){case 0:case 2:case 4:case 5:{if(!(c[G+180>>2]|0))break X;t=G+176|0;break W}default:{}}while(0);t=(c[G+196>>2]|0)==0?1548:G+192|0}else t=G+128+(u<<3)|0;while(0);if(c[t+4>>2]|0){Ha=882;break}h=c[1612+(f<<2)>>2]|0;Xa=+g[b+900+(h<<2)>>2]-+g[G+900+(h<<2)>>2];Xa=Xa-+Xd(b,f);g[G+396+(u<<2)>>2]=Xa-+Vd(G,f,Ja)}while(0);do if((Ha|0)==882){if(!y){Ha=890;break}t=c[G+164>>2]|0;Ha=884}while(0);if((Ha|0)==884){do if(!t)if(!(c[G+180>>2]|0)){u=(c[G+196>>2]|0)==0?1548:G+192|0;break}else{u=G+176|0;break}else u=G+160|0;while(0);if(!(c[u+4>>2]|0))Ha=890;else Ha=904}Y:do if((Ha|0)==890){Ha=0;u=c[1580+(f<<2)>>2]|0;t=c[G+128+(u<<3)+4>>2]|0;Z:do if(!t){do if(z){if(!(c[G+188>>2]|0))break;v=G+184|0;break Z}while(0);_:do switch(u|0){case 0:case 2:case 4:case 5:{if(!(c[G+180>>2]|0))break _;v=G+176|0;break Z}default:{}}while(0);v=(c[G+196>>2]|0)==0?1548:G+192|0}else v=G+128+(u<<3)|0;while(0);do if(!(c[v+4>>2]|0)){if((c[Ka>>2]|0)!=1)break;h=c[1612+(f<<2)>>2]|0;g[G+396+(u<<2)>>2]=(+g[b+900+(h<<2)>>2]-+g[G+900+(h<<2)>>2])*.5;break Y}while(0);if(!y){Ha=911;break}t=c[G+164>>2]|0;Ha=904}while(0);do if((Ha|0)==904){Ha=0;do if(!t)if(!(c[G+180>>2]|0)){t=(c[G+196>>2]|0)==0?1548:G+192|0;break}else{t=G+176|0;break}else t=G+160|0;while(0);if(c[t+4>>2]|0)break;u=c[1580+(f<<2)>>2]|0;t=c[G+128+(u<<3)+4>>2]|0;Ha=911}while(0);do if((Ha|0)==911){$:do if(!t){do if(z){if(!(c[G+188>>2]|0))break;t=G+184|0;break $}while(0);aa:do switch(u|0){case 0:case 2:case 4:case 5:{if(!(c[G+180>>2]|0))break aa;t=G+176|0;break $}default:{}}while(0);t=(c[G+196>>2]|0)==0?1548:G+192|0}else t=G+128+(u<<3)|0;while(0);if(c[t+4>>2]|0)break;if((c[Ka>>2]|0)!=2)break;Ha=c[1612+(f<<2)>>2]|0;g[G+396+(u<<2)>>2]=+g[b+900+(Ha<<2)>>2]-+g[G+900+(Ha<<2)>>2]}while(0);v=(A&-2|0)==2;if(v){do if(!(c[G+172>>2]|0))if(!(c[G+180>>2]|0)){f=(c[G+196>>2]|0)==0?1548:G+192|0;break}else{f=G+176|0;break}else f=G+168|0;while(0);if(c[f+4>>2]|0)Ha=941;else Ha=930}else Ha=930;do if((Ha|0)==930){f=c[1596+(A<<2)>>2]|0;ba:do if(!(c[G+128+(f<<3)+4>>2]|0)){do if(A>>>0<2){if(!(c[G+188>>2]|0))break;f=G+184|0;break ba}while(0);ca:do switch(f|0){case 0:case 2:case 4:case 5:{if(!(c[G+180>>2]|0))break ca;f=G+176|0;break ba}default:{}}while(0);f=(c[G+196>>2]|0)==0?1548:G+192|0}else f=G+128+(f<<3)|0;while(0);if(!(c[f+4>>2]|0)){Ha=958;break}if(v)Ha=941;else Ha=947}while(0);if((Ha|0)==941){f=c[G+164>>2]|0;do if(!f)if(!(c[G+180>>2]|0)){t=(c[G+196>>2]|0)==0?1548:G+192|0;break}else{t=G+176|0;break}else t=G+160|0;while(0);if(!(c[t+4>>2]|0))Ha=947;else Ha=960}do if((Ha|0)==947){Ha=0;t=c[1580+(A<<2)>>2]|0;da:do if(!(c[G+128+(t<<3)+4>>2]|0)){do if(A>>>0<2){if(!(c[G+188>>2]|0))break;f=G+184|0;break da}while(0);ea:do switch(t|0){case 0:case 2:case 4:case 5:{if(!(c[G+180>>2]|0))break ea;f=G+176|0;break da}default:{}}while(0);f=(c[G+196>>2]|0)==0?1548:G+192|0}else f=G+128+(t<<3)|0;while(0);if(c[f+4>>2]|0){Ha=958;break}h=c[1612+(A<<2)>>2]|0;Xa=+g[b+900+(h<<2)>>2]-+g[G+900+(h<<2)>>2];Xa=Xa-+Xd(b,A);g[G+396+(t<<2)>>2]=Xa-+Vd(G,A,Ja)}while(0);do if((Ha|0)==958){if(!v){Ha=966;break}f=c[G+164>>2]|0;Ha=960}while(0);if((Ha|0)==960){do if(!f)if(!(c[G+180>>2]|0)){t=(c[G+196>>2]|0)==0?1548:G+192|0;break}else{t=G+176|0;break}else t=G+160|0;while(0);if(!(c[t+4>>2]|0))Ha=966;else Ha=982}fa:do if((Ha|0)==966){Ha=0;u=c[1580+(A<<2)>>2]|0;f=c[G+128+(u<<3)+4>>2]|0;ga:do if(!f){do if(A>>>0<2){if(!(c[G+188>>2]|0))break;t=G+184|0;break ga}while(0);ha:do switch(u|0){case 0:case 2:case 4:case 5:{if(!(c[G+180>>2]|0))break ha;t=G+176|0;break ga}default:{}}while(0);t=(c[G+196>>2]|0)==0?1548:G+192|0}else t=G+128+(u<<3)|0;while(0);do if(!(c[t+4>>2]|0)){t=c[G+20>>2]|0;if(!t)t=c[J>>2]|0;if((t|0)!=2)break;h=c[1612+(A<<2)>>2]|0;g[G+396+(u<<2)>>2]=(+g[b+900+(h<<2)>>2]-+g[G+900+(h<<2)>>2])*.5;break fa}while(0);if(!v){t=u;Ha=989;break}f=c[G+164>>2]|0;Ha=982}while(0);do if((Ha|0)==982){Ha=0;do if(!f)if(!(c[G+180>>2]|0)){f=(c[G+196>>2]|0)==0?1548:G+192|0;break}else{f=G+176|0;break}else f=G+160|0;while(0);if(c[f+4>>2]|0)break;t=c[1580+(A<<2)>>2]|0;f=c[G+128+(t<<3)+4>>2]|0;Ha=989}while(0);do if((Ha|0)==989){Ha=0;ia:do if(!f){do if(A>>>0<2){if(!(c[G+188>>2]|0))break;f=G+184|0;break ia}while(0);ja:do switch(t|0){case 0:case 2:case 4:case 5:{if(!(c[G+180>>2]|0))break ja;f=G+176|0;break ia}default:{}}while(0);f=(c[G+196>>2]|0)==0?1548:G+192|0}else f=G+128+(t<<3)|0;while(0);if(c[f+4>>2]|0)break;f=c[G+20>>2]|0;if(!f)f=c[J>>2]|0;if((f|0)!=3)break;h=c[1612+(A<<2)>>2]|0;g[G+396+(t<<2)>>2]=+g[b+900+(h<<2)>>2]-+g[G+900+(h<<2)>>2]}while(0);G=c[G+944>>2]|0}while((G|0)!=0)}x=(o&-3|0)==1;y=(Ma&-3|0)==1;if(!(x|y)){i=Ua;return}z=1612+(o<<2)|0;A=1580+(o<<2)|0;u=1596+(o<<2)|0;v=1612+(Ma<<2)|0;w=1580+(Ma<<2)|0;o=1596+(Ma<<2)|0;t=0;do{f=jc(c[Qa>>2]|0,t)|0;if(x){Ta=c[z>>2]|0;g[f+396+(c[u>>2]<<2)>>2]=+g[b+900+(Ta<<2)>>2]-+g[f+900+(Ta<<2)>>2]-+g[f+396+(c[A>>2]<<2)>>2]}if(y){Ta=c[v>>2]|0;g[f+396+(c[o>>2]<<2)>>2]=+g[b+900+(Ta<<2)>>2]-+g[f+900+(Ta<<2)>>2]-+g[f+396+(c[w>>2]<<2)>>2]}t=t+1|0}while((t|0)!=(Ra|0));i=Ua;return}function Rd(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=+e;f=+f;var h=0,i=0,j=0.0,k=0,l=0,m=0;h=c[a+4>>2]|0;b=(b|0)==2;a:do if(b){switch(h|0){case 2:{h=3;l=0;b=0;break a}case 3:break;default:{i=4;break a}}h=2;l=0;b=0}else i=4;while(0);if((i|0)==4){i=h>>>0<2;l=i?(b?3:2):0;b=i}j=+Td(a,h,d);e=+Td(a,l,e);if((h&-2|0)==2?(k=c[a+92>>2]|0,(k|0)!=0):0){d=+g[a+88>>2];d=(k|0)==1?d:d*f/100.0;b=c[1580+(h<<2)>>2]|0}else{i=c[1580+(h<<2)>>2]|0;b:do if(!(c[a+56+(i<<3)+4>>2]|0)){if(b?(c[a+116>>2]|0)!=0:0){b=a+112|0;break}switch(i|0){case 0:case 2:case 4:case 5:{if(c[a+108>>2]|0){b=a+104|0;break b}break}default:{}}b=(c[a+124>>2]|0)==0?1540:a+120|0}else b=a+56+(i<<3)|0;while(0);d=+g[b>>2];d=(c[b+4>>2]|0)==1?d:d*f/100.0;b=i}g[a+396+(b<<2)>>2]=j+d;j=j+ +Pd(a,h,f);g[a+396+(c[1596+(h<<2)>>2]<<2)>>2]=j;if((l&-2|0)==2?(m=c[a+92>>2]|0,(m|0)!=0):0){j=+g[a+88>>2];j=(m|0)==1?j:j*f/100.0;m=c[1580+(l<<2)>>2]|0;j=e+j;m=a+396+(m<<2)|0;g[m>>2]=j;f=+Pd(a,l,f);f=e+f;m=1596+(l<<2)|0;m=c[m>>2]|0;a=a+396+(m<<2)|0;g[a>>2]=f;return}h=c[1580+(l<<2)>>2]|0;c:do if(!(c[a+56+(h<<3)+4>>2]|0)){if(l>>>0<2?(c[a+116>>2]|0)!=0:0){b=a+112|0;break}switch(h|0){case 0:case 2:case 4:case 5:{if(c[a+108>>2]|0){b=a+104|0;break c}break}default:{}}b=(c[a+124>>2]|0)==0?1540:a+120|0}else b=a+56+(h<<3)|0;while(0);j=+g[b>>2];j=(c[b+4>>2]|0)==1?j:j*f/100.0;m=h;j=e+j;m=a+396+(m<<2)|0;g[m>>2]=j;f=+Pd(a,l,f);f=e+f;m=1596+(l<<2)|0;m=c[m>>2]|0;a=a+396+(m<<2)|0;g[a>>2]=f;return}function Sd(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,h=0,i=0.0,j=0.0,k=0.0;d=a+396|0;f=+g[d>>2];j=f-+N(+f);b=a+400|0;e=+g[b>>2];i=e-+N(+e);h=a+412|0;k=+Qm(j+ +g[h>>2]);g[h>>2]=k-+Qm(j);h=a+416|0;j=+Qm(i+ +g[h>>2]);g[h>>2]=j-+Qm(i);g[d>>2]=+Qm(f);g[b>>2]=+Qm(e);a=a+940|0;b=fc(c[a>>2]|0)|0;if(!b)return;else d=0;do{Sd(jc(c[a>>2]|0,d)|0);d=d+1|0}while((d|0)!=(b|0));return}function Td(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0;if((b&-2|0)==2){do if(!(c[a+164>>2]|0))if(!(c[a+180>>2]|0)){e=(c[a+196>>2]|0)==0?1548:a+192|0;break}else{e=a+176|0;break}else e=a+160|0;while(0);if(!(c[e+4>>2]|0))f=8}else f=8;if((f|0)==8){e=c[1580+(b<<2)>>2]|0;a:do if(!(c[a+128+(e<<3)+4>>2]|0)){if(b>>>0<2?(c[a+188>>2]|0)!=0:0){e=a+184|0;break}switch(e|0){case 0:case 2:case 4:case 5:{if(c[a+180>>2]|0){e=a+176|0;break a}break}default:{}}e=(c[a+196>>2]|0)==0?1548:a+192|0}else e=a+128+(e<<3)|0;while(0);if(!(c[e+4>>2]|0)){d=-+Vd(a,b,d);return +d}}d=+Ud(a,b,d);return +d}function Ud(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,h=0.0;if((b&-2|0)==2){do if(!(c[a+164>>2]|0))if(!(c[a+180>>2]|0)){e=(c[a+196>>2]|0)==0?1548:a+192|0;break}else{e=a+176|0;break}else e=a+160|0;while(0);f=c[e+4>>2]|0;if(f){h=+g[e>>2];d=(f|0)==1?h:h*d/100.0;return +d}}e=c[1580+(b<<2)>>2]|0;a:do if(!(c[a+128+(e<<3)+4>>2]|0)){if(b>>>0<2?(c[a+188>>2]|0)!=0:0){e=a+184|0;break}switch(e|0){case 0:case 2:case 4:case 5:{if(c[a+180>>2]|0){e=a+176|0;break a}break}default:{}}e=(c[a+196>>2]|0)==0?1548:a+192|0}else e=a+128+(e<<3)|0;while(0);f=c[e+4>>2]|0;if(!f){h=0.0;return +h}h=+g[e>>2];h=(f|0)==1?h:h*d/100.0;return +h}function Vd(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,h=0.0;if((b&-2|0)==2){do if(!(c[a+172>>2]|0))if(!(c[a+180>>2]|0)){e=(c[a+196>>2]|0)==0?1548:a+192|0;break}else{e=a+176|0;break}else e=a+168|0;while(0);f=c[e+4>>2]|0;if(f){h=+g[e>>2];d=(f|0)==1?h:h*d/100.0;return +d}}e=c[1596+(b<<2)>>2]|0;a:do if(!(c[a+128+(e<<3)+4>>2]|0)){if(b>>>0<2?(c[a+188>>2]|0)!=0:0){e=a+184|0;break}switch(e|0){case 0:case 2:case 4:case 5:{if(c[a+180>>2]|0){e=a+176|0;break a}break}default:{}}e=(c[a+196>>2]|0)==0?1548:a+192|0}else e=a+128+(e<<3)|0;while(0);f=c[e+4>>2]|0;if(!f){h=0.0;return +h}h=+g[e>>2];h=(f|0)==1?h:h*d/100.0;return +h}function Wd(a,b){a=a|0;b=b|0;var d=0.0;if(((b&-2|0)==2?(c[a+308>>2]|0)!=0:0)?(d=+g[a+304>>2],d>=0.0):0)return +d;d=+Mm(+g[(ae(a+272|0,c[1580+(b<<2)>>2]|0,1540)|0)>>2],0.0);return +d}function Xd(a,b){a=a|0;b=b|0;var d=0.0;if(((b&-2|0)==2?(c[a+316>>2]|0)!=0:0)?(d=+g[a+312>>2],d>=0.0):0)return +d;d=+Mm(+g[(ae(a+272|0,c[1596+(b<<2)>>2]|0,1540)|0)>>2],0.0);return +d}function Yd(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0.0;if(((b&-2|0)==2?(e=c[a+236>>2]|0,(e|0)!=0):0)?(f=+g[a+232>>2],f=(e|0)==1?f:f*d/100.0,f>=0.0):0){d=f;return +d}e=c[1580+(b<<2)>>2]|0;a:do if(!(c[a+200+(e<<3)+4>>2]|0)){if(b>>>0<2?(c[a+260>>2]|0)!=0:0){e=a+256|0;break}switch(e|0){case 0:case 2:case 4:case 5:{if(c[a+252>>2]|0){e=a+248|0;break a}break}default:{}}e=(c[a+268>>2]|0)==0?1540:a+264|0}else e=a+200+(e<<3)|0;while(0);f=+g[e>>2];d=+Mm((c[e+4>>2]|0)==1?f:f*d/100.0,0.0);return +d}function Zd(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0.0;if(((b&-2|0)==2?(e=c[a+244>>2]|0,(e|0)!=0):0)?(f=+g[a+240>>2],f=(e|0)==1?f:f*d/100.0,f>=0.0):0){d=f;return +d}e=c[1596+(b<<2)>>2]|0;a:do if(!(c[a+200+(e<<3)+4>>2]|0)){if(b>>>0<2?(c[a+260>>2]|0)!=0:0){e=a+256|0;break}switch(e|0){case 0:case 2:case 4:case 5:{if(c[a+252>>2]|0){e=a+248|0;break a}break}default:{}}e=(c[a+268>>2]|0)==0?1540:a+264|0}else e=a+200+(e<<3)|0;while(0);f=+g[e>>2];d=+Mm((c[e+4>>2]|0)==1?f:f*d/100.0,0.0);return +d}function _d(a,b,d,e){a=a|0;b=b|0;d=+d;e=+e;var f=0.0,h=0.0;if(b>>>0>=2)if((b&-2|0)==2){f=+g[a+360>>2];h=+g[a+376>>2];h=(c[a+380>>2]|0)==1?h:h*e/100.0;f=(c[a+364>>2]|0)==1?f:f*e/100.0}else{h=s;f=s}else{f=+g[a+368>>2];h=+g[a+384>>2];h=(c[a+388>>2]|0)==1?h:h*e/100.0;f=(c[a+372>>2]|0)==1?f:f*e/100.0}e=h=0.0&((g[k>>2]=h,c[k>>2]|0)&2147483647)>>>0<2139095041)?h:d;return +(f>=0.0&((g[k>>2]=f,c[k>>2]|0)&2147483647)>>>0<2139095041&e>2]|0;if(b){d=+Mb[b&0](a,+g[a+900>>2],+g[a+904>>2]);if(((g[k>>2]=d,c[k>>2]|0)&2147483647)>>>0>2139095040){c[e>>2]=6282;lc(0,5296,e);$a()}else{i=o;return +d}}h=a+940|0;if(fc(c[h>>2]|0)|0){j=a+16|0;l=a+4|0;f=0;m=0;while(1){b=jc(c[h>>2]|0,m)|0;if(c[b+932>>2]|0){b=f;break}if((c[b+24>>2]|0)==1)b=f;else{e=c[b+20>>2]|0;if(!e)e=c[j>>2]|0;if((e|0)==5?(c[l>>2]|0)>>>0>=2:0){n=16;break}b=(f|0)==0?b:f}m=m+1|0;if(m>>>0>=(fc(c[h>>2]|0)|0)>>>0)break;else f=b}if((n|0)==16){p=+$d(b);n=b+400|0;d=+g[n>>2];d=p+d;i=o;return +d}if(b){n=b;d=+$d(n);n=n+400|0;p=+g[n>>2];p=d+p;i=o;return +p}}p=+g[a+904>>2];i=o;return +p}function ae(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;e=f;if(b>>>0>=6){c[e>>2]=5724;lc(0,5296,e);$a()}if(c[a+(b<<3)+4>>2]|0){e=a+(b<<3)|0;i=f;return e|0}if((b&-3|0)==1?(c[a+60>>2]|0)!=0:0){e=a+56|0;i=f;return e|0}switch(b|0){case 0:case 2:case 4:case 5:{if(c[a+52>>2]|0){e=a+48|0;i=f;return e|0}break}default:{}}if(!(c[a+68>>2]|0)){e=(b&-2|0)==4?1548:d;i=f;return e|0}else{e=a+64|0;i=f;return e|0}return 0}function be(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,j=0.0;f=i;i=i+32|0;e=f;d=c[b+4>>2]|0;if(!d){i=f;return}j=+g[b>>2];c[e>>2]=a;h[e+8>>3]=j;c[e+16>>2]=(d|0)==1?7429:7432;lc(3,7434,e);i=f;return}function ce(b){b=b|0;var c=0,e=0.0,f=0.0,h=0,i=0;c=b+8|0;a[k>>0]=a[c>>0];a[k+1>>0]=a[c+1>>0];a[k+2>>0]=a[c+2>>0];a[k+3>>0]=a[c+3>>0];e=+g[k>>2];c=b+12|0;c=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0];f=+g[k>>2];h=b+4|0;if((d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24|0)!=(c|0)){b=0;return b|0}h=(c|0)==0;if(!h?!(+O(+(f-e))<9.999999747378752e-05):0){b=0;return b|0}i=b+16|0;a[k>>0]=a[i>>0];a[k+1>>0]=a[i+1>>0];a[k+2>>0]=a[i+2>>0];a[k+3>>0]=a[i+3>>0];i=b+20|0;if((c|0)!=(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24|0)){i=0;return i|0}if(!h?!(+O(+(f-+g[k>>2]))<9.999999747378752e-05):0){i=0;return i|0}i=b+28|0;c=(c|0)!=(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24|0);if(c|h){i=c^1;return i|0}i=b+24|0;a[k>>0]=a[i>>0];a[k+1>>0]=a[i+1>>0];a[k+2>>0]=a[i+2>>0];a[k+3>>0]=a[i+3>>0];i=+O(+(f-+g[k>>2]))<9.999999747378752e-05;return i|0}function de(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0;f=i;i=i+32|0;e=f;d=+g[b>>2];if(((g[k>>2]=d,c[k>>2]|0)&2147483647)>>>0<=2139095040?+O(+d)<9.999999747378752e-05:0){i=f;return}b=(c[b+4>>2]|0)==1?7429:7432;c[e>>2]=a;h[e+8>>3]=d;c[e+16>>2]=b;lc(3,7434,e);i=f;return}function ee(a,b,d){a=a|0;b=b|0;d=d|0;if(!a){a=en(c[1113]|0,b,d)|0;return a|0}else{a=fn(b,d)|0;return a|0}return 0}function fe(){var a=0,b=0;a=lm(8)|0;b=kc()|0;c[a>>2]=b;c[a+4>>2]=0;Cc(b,a);return a|0}function ge(a){a=a|0;if(a){he(a);nm(a)}return}function he(a){a=a|0;var b=0;mc(c[a>>2]|0);b=a+4|0;a=c[b>>2]|0;c[b>>2]=0;if(a){b=c[a>>2]|0;if(b)kb(b|0);nm(a)}return}function ie(a){a=a|0;var b=0,d=0;d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(b){d=c[b>>2]|0;if(d)kb(d|0);nm(b)}qc(c[a>>2]|0);return}function je(a,b){a=a|0;b=b|0;xc(c[a>>2]|0,c[b>>2]|0);return}function ke(a,b){a=a|0;b=b|0;Oc(c[a>>2]|0,b);return}function le(a,b,d){a=a|0;b=b|0;d=+d;Xc(c[a>>2]|0,b,d);return}function me(a,b,d){a=a|0;b=b|0;d=+d;Yc(c[a>>2]|0,b,d);return}function ne(a,b){a=a|0;b=b|0;Ic(c[a>>2]|0,b);return}function oe(a,b){a=a|0;b=b|0;Kc(c[a>>2]|0,b);return}function pe(a,b){a=a|0;b=b|0;Mc(c[a>>2]|0,b);return}function qe(a,b){a=a|0;b=b|0;Ec(c[a>>2]|0,b);return}function re(a,b){a=a|0;b=b|0;Qc(c[a>>2]|0,b);return}function se(a,b){a=a|0;b=b|0;Gc(c[a>>2]|0,b);return}function te(a,b,d){a=a|0;b=b|0;d=+d;_c(c[a>>2]|0,b,d);return}function ue(a,b,d){a=a|0;b=b|0;d=+d;$c(c[a>>2]|0,b,d);return}function ve(a,b){a=a|0;b=b|0;Sc(c[a>>2]|0,b);return}function we(a,b){a=a|0;b=+b;Bc(c[a>>2]|0,b);return}function xe(a,b){a=a|0;b=+b;Vc(c[a>>2]|0,b);return}function ye(a,b){a=a|0;b=+b;Wc(c[a>>2]|0,b);return}function ze(a,b){a=a|0;b=+b;Tc(c[a>>2]|0,b);return}function Ae(a,b){a=a|0;b=+b;Uc(c[a>>2]|0,b);return}function Be(a,b){a=a|0;b=+b;gd(c[a>>2]|0,b);return}function Ce(a,b){a=a|0;b=+b;hd(c[a>>2]|0,b);return}function De(a,b){a=a|0;b=+b;jd(c[a>>2]|0,b);return}function Ee(a,b){a=a|0;b=+b;kd(c[a>>2]|0,b);return}function Fe(a,b){a=a|0;b=+b;md(c[a>>2]|0,b);return}function Ge(a,b){a=a|0;b=+b;nd(c[a>>2]|0,b);return}function He(a,b){a=a|0;b=+b;pd(c[a>>2]|0,b);return}function Ie(a,b){a=a|0;b=+b;qd(c[a>>2]|0,b);return}function Je(a,b){a=a|0;b=+b;sd(c[a>>2]|0,b);return}function Ke(a,b){a=a|0;b=+b;td(c[a>>2]|0,b);return}function Le(a,b){a=a|0;b=+b;vd(c[a>>2]|0,b);return}function Me(a,b){a=a|0;b=+b;wd(c[a>>2]|0,b);return}function Ne(a,b){a=a|0;b=+b;yd(c[a>>2]|0,b);return}function Oe(a,b,d){a=a|0;b=b|0;d=+d;ed(c[a>>2]|0,b,d);return}function Pe(a,b,d){a=a|0;b=b|0;d=+d;bd(c[a>>2]|0,b,d);return}function Qe(a,b,d){a=a|0;b=b|0;d=+d;cd(c[a>>2]|0,b,d);return}function Re(a){a=a|0;return Pc(c[a>>2]|0)|0}function Se(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,j=0;e=i;i=i+16|0;j=e;Zc(j,c[b>>2]|0,d);f=+g[j>>2];c[a>>2]=c[j+4>>2];h[a+8>>3]=f;i=e;return}function Te(a){a=a|0;return Jc(c[a>>2]|0)|0}function Ue(a){a=a|0;return Lc(c[a>>2]|0)|0}function Ve(a){a=a|0;return Nc(c[a>>2]|0)|0}function We(a){a=a|0;return Fc(c[a>>2]|0)|0}function Xe(a){a=a|0;return Rc(c[a>>2]|0)|0}function Ye(a){a=a|0;return Hc(c[a>>2]|0)|0}function Ze(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,j=0;e=i;i=i+16|0;j=e;ad(j,c[b>>2]|0,d);f=+g[j>>2];c[a>>2]=c[j+4>>2];h[a+8>>3]=f;i=e;return}function _e(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=i;i=i+16|0;f=d;Ac(f,c[b>>2]|0);e=+g[f>>2];c[a>>2]=c[f+4>>2];h[a+8>>3]=e;i=d;return}function $e(a){a=a|0;return +(+yc(c[a>>2]|0))}function af(a){a=a|0;return +(+zc(c[a>>2]|0))}function bf(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=i;i=i+16|0;f=d;id(f,c[b>>2]|0);e=+g[f>>2];c[a>>2]=c[f+4>>2];h[a+8>>3]=e;i=d;return}function cf(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=i;i=i+16|0;f=d;ld(f,c[b>>2]|0);e=+g[f>>2];c[a>>2]=c[f+4>>2];h[a+8>>3]=e;i=d;return}function df(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=i;i=i+16|0;f=d;od(f,c[b>>2]|0);e=+g[f>>2];c[a>>2]=c[f+4>>2];h[a+8>>3]=e;i=d;return}function ef(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=i;i=i+16|0;f=d;rd(f,c[b>>2]|0);e=+g[f>>2];c[a>>2]=c[f+4>>2];h[a+8>>3]=e;i=d;return}function ff(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=i;i=i+16|0;f=d;ud(f,c[b>>2]|0);e=+g[f>>2];c[a>>2]=c[f+4>>2];h[a+8>>3]=e;i=d;return}function gf(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=i;i=i+16|0;f=d;xd(f,c[b>>2]|0);e=+g[f>>2];c[a>>2]=c[f+4>>2];h[a+8>>3]=e;i=d;return}function hf(a){a=a|0;return +(+zd(c[a>>2]|0))}function jf(a,b){a=a|0;b=b|0;return +(+fd(c[a>>2]|0,b))}function kf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,j=0;e=i;i=i+16|0;j=e;dd(j,c[b>>2]|0,d);f=+g[j>>2];c[a>>2]=c[j+4>>2];h[a+8>>3]=f;i=e;return}function lf(a,b,d){a=a|0;b=b|0;d=d|0;tc(c[a>>2]|0,c[b>>2]|0,d);return}function mf(a,b){a=a|0;b=b|0;pc(c[a>>2]|0,c[b>>2]|0);return}function nf(a){a=a|0;return nc(c[a>>2]|0)|0}function of(a){a=a|0;a=uc(c[a>>2]|0)|0;if(!a)a=0;else a=Dc(a)|0;return a|0}function pf(a,b){a=a|0;b=b|0;b=oc(c[a>>2]|0,b)|0;if(!b)b=0;else b=Dc(b)|0;return b|0}function qf(a,b){a=a|0;b=b|0;var d=0,e=0;e=lm(4)|0;d=c[b>>2]|0;c[e>>2]=d;Ea(d|0);d=a+4|0;b=c[d>>2]|0;c[d>>2]=e;if(b){d=c[b>>2]|0;if(d)kb(d|0);nm(b)}sc(c[a>>2]|0,1);return}function rf(a){a=a|0;var b=0,d=0;d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(b){d=c[b>>2]|0;if(d)kb(d|0);nm(b)}sc(c[a>>2]|0,0);return}function sf(a,b,d,e,f,g){a=a|0;b=b|0;d=+d;e=e|0;f=+f;g=g|0;var h=0,j=0;h=i;i=i+16|0;j=h;b=c[b+4>>2]|0;al(j);Hf(a,c[b>>2]|0,d,e,f,g);bl(j);i=h;return}function tf(a){a=a|0;vc(c[a>>2]|0);return}function uf(a){a=a|0;return wc(c[a>>2]|0)|0}function vf(a,b,d,e){a=a|0;b=+b;d=+d;e=e|0;Ld(c[a>>2]|0,b,d,e);return}function wf(a){a=a|0;return +(+Ad(c[a>>2]|0))}function xf(a){a=a|0;return +(+Cd(c[a>>2]|0))}function yf(a){a=a|0;return +(+Bd(c[a>>2]|0))}function zf(a){a=a|0;return +(+Dd(c[a>>2]|0))}function Af(a){a=a|0;return +(+Ed(c[a>>2]|0))}function Bf(a){a=a|0;return +(+Fd(c[a>>2]|0))}function Cf(a,b){a=a|0;b=b|0;h[a>>3]=+Ad(c[b>>2]|0);h[a+8>>3]=+Cd(c[b>>2]|0);h[a+16>>3]=+Bd(c[b>>2]|0);h[a+24>>3]=+Dd(c[b>>2]|0);h[a+32>>3]=+Ed(c[b>>2]|0);h[a+40>>3]=+Fd(c[b>>2]|0);return}function Df(a,b){a=a|0;b=b|0;return +(+Gd(c[a>>2]|0,b))}function Ef(a,b){a=a|0;b=b|0;return +(+Hd(c[a>>2]|0,b))}function Ff(a,b){a=a|0;b=b|0;return +(+Id(c[a>>2]|0,b))}function Gf(a,b,c,d,e,f){a=a|0;b=b|0;c=+c;d=d|0;e=+e;f=f|0;var j=0,k=0;j=i;i=i+16|0;k=j;sf(k,Dc(b)|0,c,d,e,f);g[a>>2]=+h[k>>3];g[a+4>>2]=+h[k+8>>3];i=j;return}function Hf(b,d,e,f,g,h){b=b|0;d=d|0;e=+e;f=f|0;g=+g;h=h|0;var j=0,k=0;k=i;i=i+32|0;j=k;If()|0;f=sb(0,c[409]|0,d|0,+e,f|0,+g,h|0)|0;if(!(f&1)){j=f;c[b>>2]=c[j>>2];c[b+4>>2]=c[j+4>>2];c[b+8>>2]=c[j+8>>2];c[b+12>>2]=c[j+12>>2]}else{c[j>>2]=0;c[j+8>>2]=0;d=j+24|0;a[d>>0]=0;Qa(f|0,j|0)|0;j=j+8|0;c[b>>2]=c[j>>2];c[b+4>>2]=c[j+4>>2];c[b+8>>2]=c[j+8>>2];c[b+12>>2]=c[j+12>>2];a[d>>0]=0}i=k;return}function If(){var b=0;if(!(a[8]|0)){c[407]=1640;c[408]=4;c[409]=ib(1640,5)|0;b=8;c[b>>2]=1;c[b+4>>2]=0}return 1628}function Jf(a,b){a=a|0;b=b|0;Nd(a,b);return}function Kf(a){a=a|0;return Md(a)|0}function Lf(){return rc()|0}function Mf(){var a=0;a=Nf(1,0)|0;Of()|0;ak(7448,1,a,1660,0);a=Pf(4,0)|0;Qf()|0;ak(7478,4,a,1696,0);a=Rf(1,0)|0;Sf()|0;ak(7507,1,a,1732,0);Tf(1768);Uf(1772);Vf(1776);Wf(1780);return}function Nf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;Of()|0;b=b|4;c[f>>2]=b;d=c[422]|0;if(d>>>0<(c[423]|0)>>>0){c[d>>2]=a;c[d+4>>2]=b;b=d+8|0;c[422]=b}else{Vj(1684,e,f);b=c[422]|0}i=g;return (b-(c[421]|0)>>3)+-1|0}function Of(){var b=0;if(!(a[304]|0)){c[415]=0;c[416]=1;c[417]=1820;c[418]=3304;c[419]=2;c[421]=0;c[422]=0;c[423]=0;lb(25,1660,n|0)|0;b=304;c[b>>2]=1;c[b+4>>2]=0}return 1660}function Pf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;Qf()|0;b=b|4;c[f>>2]=b;d=c[431]|0;if(d>>>0<(c[432]|0)>>>0){c[d>>2]=a;c[d+4>>2]=b;b=d+8|0;c[431]=b}else{Rj(1720,e,f);b=c[431]|0}i=g;return (b-(c[430]|0)>>3)+-1|0}function Qf(){var b=0;if(!(a[296]|0)){c[424]=0;c[425]=3;c[426]=1820;c[427]=3296;c[428]=1;c[430]=0;c[431]=0;c[432]=0;lb(26,1696,n|0)|0;b=296;c[b>>2]=1;c[b+4>>2]=0}return 1696}function Rf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;Sf()|0;b=b|4;c[f>>2]=b;d=c[440]|0;if(d>>>0<(c[441]|0)>>>0){c[d>>2]=a;c[d+4>>2]=b;b=d+8|0;c[440]=b}else{Nj(1756,e,f);b=c[440]|0}i=g;return (b-(c[439]|0)>>3)+-1|0}function Sf(){var b=0;if(!(a[288]|0)){c[433]=0;c[434]=5;c[435]=1820;c[436]=2212;c[437]=0;c[439]=0;c[440]=0;c[441]=0;lb(27,1732,n|0)|0;b=288;c[b>>2]=1;c[b+4>>2]=0}return 1732}function Tf(a){a=a|0;var b=0,d=0,e=0,f=0;uj(a,8627);d=c[a>>2]|0;vj()|0;d=d+28|0;b=c[d>>2]|0;f=lm(24)|0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=3128;c[f+20>>2]=0;e=b;c[f>>2]=c[e>>2];c[b>>2]=f;c[d>>2]=c[e>>2];a=c[a>>2]|0;wj()|0;a=a+28|0;d=c[a>>2]|0;e=lm(24)|0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=3164;c[e+20>>2]=0;b=d;c[e>>2]=c[b>>2];c[d>>2]=e;c[a>>2]=c[b>>2];return}function Uf(a){a=a|0;var b=0,d=0,e=0;nj(a,8620);a=c[a>>2]|0;oj()|0;a=a+28|0;d=c[a>>2]|0;e=lm(24)|0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=3080;c[e+20>>2]=0;b=d;c[e>>2]=c[b>>2];c[d>>2]=e;c[a>>2]=c[b>>2];return}function Vf(a){a=a|0;var b=0,d=0,e=0,f=0;bj(a,8614);d=c[a>>2]|0;cj()|0;d=d+28|0;b=c[d>>2]|0;f=lm(24)|0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=2972;c[f+20>>2]=0;e=b;c[f>>2]=c[e>>2];c[b>>2]=f;c[d>>2]=c[e>>2];a=c[a>>2]|0;dj()|0;a=a+28|0;d=c[a>>2]|0;e=lm(24)|0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=3008;c[e+20>>2]=0;b=d;c[e>>2]=c[b>>2];c[d>>2]=e;c[a>>2]=c[b>>2];return}function Wf(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+8|0;e=b;Xf(a,7524);Yf(a,7529,2,0);Zf(a,7536,28,0);c[e>>2]=29;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];_f(a,7544,d,0);c[e>>2]=2;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];$f(a,7550,d,0);c[e>>2]=3;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];ag(a,7560,d,0);c[e>>2]=1;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];bg(a,7576,d,0);c[e>>2]=2;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];bg(a,7588,d,0);c[e>>2]=4;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];ag(a,7607,d,0);c[e>>2]=5;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];ag(a,7623,d,0);c[e>>2]=6;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];ag(a,7637,d,0);c[e>>2]=7;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];ag(a,7650,d,0);c[e>>2]=8;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];ag(a,7667,d,0);c[e>>2]=9;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];ag(a,7679,d,0);c[e>>2]=3;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];bg(a,7697,d,0);c[e>>2]=4;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];bg(a,7707,d,0);c[e>>2]=10;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];ag(a,7724,d,0);c[e>>2]=1;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];cg(a,7736,d,0);c[e>>2]=2;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];cg(a,7744,d,0);c[e>>2]=3;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];cg(a,7757,d,0);c[e>>2]=4;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];cg(a,7777,d,0);c[e>>2]=5;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];cg(a,7789,d,0);c[e>>2]=6;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];cg(a,7803,d,0);c[e>>2]=7;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];cg(a,7812,d,0);c[e>>2]=8;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];cg(a,7828,d,0);c[e>>2]=9;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];cg(a,7838,d,0);c[e>>2]=10;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];cg(a,7855,d,0);c[e>>2]=11;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];cg(a,7867,d,0);c[e>>2]=12;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];cg(a,7886,d,0);c[e>>2]=13;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];cg(a,7899,d,0);c[e>>2]=14;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];cg(a,7919,d,0);c[e>>2]=15;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];cg(a,7931,d,0);c[e>>2]=16;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];cg(a,7950,d,0);c[e>>2]=17;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];cg(a,7963,d,0);c[e>>2]=18;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];cg(a,7983,d,0);c[e>>2]=5;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];bg(a,7998,d,0);c[e>>2]=6;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];bg(a,8008,d,0);c[e>>2]=7;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];bg(a,8019,d,0);c[e>>2]=6;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];dg(a,8037,d,1);c[e>>2]=2;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];eg(a,8053,d,1);c[e>>2]=7;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];dg(a,8065,d,1);c[e>>2]=8;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];dg(a,8081,d,1);c[e>>2]=9;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];dg(a,8095,d,1);c[e>>2]=10;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];dg(a,8108,d,1);c[e>>2]=11;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];dg(a,8125,d,1);c[e>>2]=12;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];dg(a,8137,d,1);c[e>>2]=3;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];eg(a,8155,d,1);c[e>>2]=11;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];fg(a,8165,d,1);c[e>>2]=1;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];gg(a,8178,d,1);c[e>>2]=2;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];gg(a,8190,d,1);c[e>>2]=12;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];fg(a,8204,d,1);c[e>>2]=13;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];fg(a,8213,d,1);c[e>>2]=14;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];fg(a,8223,d,1);c[e>>2]=15;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];fg(a,8235,d,1);c[e>>2]=16;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];fg(a,8248,d,1);c[e>>2]=17;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];fg(a,8260,d,1);c[e>>2]=3;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];gg(a,8273,d,1);c[e>>2]=1;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];hg(a,8288,d,1);c[e>>2]=4;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];eg(a,8298,d,1);c[e>>2]=5;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];ig(a,8309,d,0);c[e>>2]=18;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];jg(a,8321,d,0);c[e>>2]=13;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];kg(a,8333,d,1);c[e>>2]=14;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];lg(a,8347,d,0);c[e>>2]=4;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];mg(a,8357,d,0);c[e>>2]=19;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];ng(a,8366,d,0);c[e>>2]=30;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];_f(a,8381,d,0);c[e>>2]=31;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];_f(a,8398,d,0);c[e>>2]=15;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];og(a,8408,d,1);c[e>>2]=1;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];pg(a,8416,d,0);c[e>>2]=4;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];gg(a,8432,d,1);c[e>>2]=5;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];gg(a,8448,d,1);c[e>>2]=6;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];gg(a,8465,d,1);c[e>>2]=7;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];gg(a,8480,d,1);c[e>>2]=8;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];gg(a,8498,d,1);c[e>>2]=9;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];gg(a,8515,d,1);c[e>>2]=20;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];qg(a,8533,d,1);c[e>>2]=2;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];hg(a,8551,d,1);c[e>>2]=3;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];hg(a,8569,d,1);c[e>>2]=4;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];hg(a,8587,d,1);i=b;return}function Xf(b,d){b=b|0;d=d|0;$i()|0;c[b>>2]=2920;c[730]=8612;c[731]=2128;c[733]=d;if(!(a[216]|0)){c[741]=0;c[742]=0;d=216;c[d>>2]=1;c[d+4>>2]=0}c[732]=2964;c[738]=3;$j(c[b>>2]|0);return}function Yf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a=c[a>>2]|0;Vi()|0;h=Wi(d,e)|0;a=a+28|0;f=c[a>>2]|0;g=lm(24)|0;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=h;c[g+16>>2]=2884;c[g+20>>2]=e;b=f;c[g>>2]=c[b>>2];c[f>>2]=g;c[a>>2]=c[b>>2];return} function Zf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a=c[a>>2]|0;Pi()|0;h=Qi(d,e)|0;a=a+28|0;f=c[a>>2]|0;g=lm(24)|0;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=h;c[g+16>>2]=2848;c[g+20>>2]=e;b=f;c[g>>2]=c[b>>2];c[f>>2]=g;c[a>>2]=c[b>>2];return}function _f(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+8|0;g=f;j=c[d>>2]|0;d=c[d+4>>2]|0;a=c[a>>2]|0;Ji()|0;c[g>>2]=j;c[g+4>>2]=d;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];h=Ki(h,e)|0;a=a+28|0;d=c[a>>2]|0;g=lm(24)|0;c[g+4>>2]=b;c[g+8>>2]=0;c[g+12>>2]=h;c[g+16>>2]=2808;c[g+20>>2]=e;b=d;c[g>>2]=c[b>>2];c[d>>2]=g;c[a>>2]=c[b>>2];i=f;return}function $f(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+8|0;g=f;j=c[d>>2]|0;d=c[d+4>>2]|0;a=c[a>>2]|0;Di()|0;c[g>>2]=j;c[g+4>>2]=d;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];h=Ei(h,e)|0;a=a+28|0;d=c[a>>2]|0;g=lm(24)|0;c[g+4>>2]=b;c[g+8>>2]=0;c[g+12>>2]=h;c[g+16>>2]=2748;c[g+20>>2]=e;b=d;c[g>>2]=c[b>>2];c[d>>2]=g;c[a>>2]=c[b>>2];i=f;return}function ag(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+8|0;g=f;j=c[d>>2]|0;d=c[d+4>>2]|0;a=c[a>>2]|0;xi()|0;c[g>>2]=j;c[g+4>>2]=d;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];h=yi(h,e)|0;a=a+28|0;d=c[a>>2]|0;g=lm(24)|0;c[g+4>>2]=b;c[g+8>>2]=0;c[g+12>>2]=h;c[g+16>>2]=2704;c[g+20>>2]=e;b=d;c[g>>2]=c[b>>2];c[d>>2]=g;c[a>>2]=c[b>>2];i=f;return}function bg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+8|0;g=f;j=c[d>>2]|0;d=c[d+4>>2]|0;a=c[a>>2]|0;ri()|0;c[g>>2]=j;c[g+4>>2]=d;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];h=si(h,e)|0;a=a+28|0;d=c[a>>2]|0;g=lm(24)|0;c[g+4>>2]=b;c[g+8>>2]=0;c[g+12>>2]=h;c[g+16>>2]=2656;c[g+20>>2]=e;b=d;c[g>>2]=c[b>>2];c[d>>2]=g;c[a>>2]=c[b>>2];i=f;return}function cg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+8|0;g=f;j=c[d>>2]|0;d=c[d+4>>2]|0;a=c[a>>2]|0;li()|0;c[g>>2]=j;c[g+4>>2]=d;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];h=mi(h,e)|0;a=a+28|0;d=c[a>>2]|0;g=lm(24)|0;c[g+4>>2]=b;c[g+8>>2]=0;c[g+12>>2]=h;c[g+16>>2]=2612;c[g+20>>2]=e;b=d;c[g>>2]=c[b>>2];c[d>>2]=g;c[a>>2]=c[b>>2];i=f;return}function dg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+8|0;g=f;j=c[d>>2]|0;d=c[d+4>>2]|0;a=c[a>>2]|0;fi()|0;c[g>>2]=j;c[g+4>>2]=d;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];h=gi(h,e)|0;a=a+28|0;d=c[a>>2]|0;g=lm(24)|0;c[g+4>>2]=b;c[g+8>>2]=0;c[g+12>>2]=h;c[g+16>>2]=2572;c[g+20>>2]=e;b=d;c[g>>2]=c[b>>2];c[d>>2]=g;c[a>>2]=c[b>>2];i=f;return}function eg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+8|0;g=f;j=c[d>>2]|0;d=c[d+4>>2]|0;a=c[a>>2]|0;_h()|0;c[g>>2]=j;c[g+4>>2]=d;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];h=$h(h,e)|0;a=a+28|0;d=c[a>>2]|0;g=lm(24)|0;c[g+4>>2]=b;c[g+8>>2]=0;c[g+12>>2]=h;c[g+16>>2]=2528;c[g+20>>2]=e;b=d;c[g>>2]=c[b>>2];c[d>>2]=g;c[a>>2]=c[b>>2];i=f;return}function fg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+8|0;g=f;j=c[d>>2]|0;d=c[d+4>>2]|0;a=c[a>>2]|0;Nh()|0;c[g>>2]=j;c[g+4>>2]=d;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];h=Oh(h,e)|0;a=a+28|0;d=c[a>>2]|0;g=lm(24)|0;c[g+4>>2]=b;c[g+8>>2]=0;c[g+12>>2]=h;c[g+16>>2]=2392;c[g+20>>2]=e;b=d;c[g>>2]=c[b>>2];c[d>>2]=g;c[a>>2]=c[b>>2];i=f;return}function gg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+8|0;g=f;j=c[d>>2]|0;d=c[d+4>>2]|0;a=c[a>>2]|0;Hh()|0;c[g>>2]=j;c[g+4>>2]=d;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];h=Ih(h,e)|0;a=a+28|0;d=c[a>>2]|0;g=lm(24)|0;c[g+4>>2]=b;c[g+8>>2]=0;c[g+12>>2]=h;c[g+16>>2]=2352;c[g+20>>2]=e;b=d;c[g>>2]=c[b>>2];c[d>>2]=g;c[a>>2]=c[b>>2];i=f;return}function hg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+8|0;g=f;j=c[d>>2]|0;d=c[d+4>>2]|0;a=c[a>>2]|0;Bh()|0;c[g>>2]=j;c[g+4>>2]=d;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];h=Ch(h,e)|0;a=a+28|0;d=c[a>>2]|0;g=lm(24)|0;c[g+4>>2]=b;c[g+8>>2]=0;c[g+12>>2]=h;c[g+16>>2]=2308;c[g+20>>2]=e;b=d;c[g>>2]=c[b>>2];c[d>>2]=g;c[a>>2]=c[b>>2];i=f;return}function ig(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+8|0;g=f;j=c[d>>2]|0;d=c[d+4>>2]|0;a=c[a>>2]|0;vh()|0;c[g>>2]=j;c[g+4>>2]=d;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];h=wh(h,e)|0;a=a+28|0;d=c[a>>2]|0;g=lm(24)|0;c[g+4>>2]=b;c[g+8>>2]=0;c[g+12>>2]=h;c[g+16>>2]=2260;c[g+20>>2]=e;b=d;c[g>>2]=c[b>>2];c[d>>2]=g;c[a>>2]=c[b>>2];i=f;return}function jg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+8|0;g=f;j=c[d>>2]|0;d=c[d+4>>2]|0;a=c[a>>2]|0;ph()|0;c[g>>2]=j;c[g+4>>2]=d;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];h=qh(h,e)|0;a=a+28|0;d=c[a>>2]|0;g=lm(24)|0;c[g+4>>2]=b;c[g+8>>2]=0;c[g+12>>2]=h;c[g+16>>2]=2216;c[g+20>>2]=e;b=d;c[g>>2]=c[b>>2];c[d>>2]=g;c[a>>2]=c[b>>2];i=f;return}function kg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+8|0;g=f;j=c[d>>2]|0;d=c[d+4>>2]|0;a=c[a>>2]|0;jh()|0;c[g>>2]=j;c[g+4>>2]=d;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];h=kh(h,e)|0;a=a+28|0;d=c[a>>2]|0;g=lm(24)|0;c[g+4>>2]=b;c[g+8>>2]=0;c[g+12>>2]=h;c[g+16>>2]=2176;c[g+20>>2]=e;b=d;c[g>>2]=c[b>>2];c[d>>2]=g;c[a>>2]=c[b>>2];i=f;return}function lg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+8|0;g=f;j=c[d>>2]|0;d=c[d+4>>2]|0;a=c[a>>2]|0;dh()|0;c[g>>2]=j;c[g+4>>2]=d;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];h=eh(h,e)|0;a=a+28|0;d=c[a>>2]|0;g=lm(24)|0;c[g+4>>2]=b;c[g+8>>2]=0;c[g+12>>2]=h;c[g+16>>2]=2136;c[g+20>>2]=e;b=d;c[g>>2]=c[b>>2];c[d>>2]=g;c[a>>2]=c[b>>2];i=f;return}function mg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+8|0;g=f;j=c[d>>2]|0;d=c[d+4>>2]|0;a=c[a>>2]|0;Zg()|0;c[g>>2]=j;c[g+4>>2]=d;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];h=_g(h,e)|0;a=a+28|0;d=c[a>>2]|0;g=lm(24)|0;c[g+4>>2]=b;c[g+8>>2]=0;c[g+12>>2]=h;c[g+16>>2]=2084;c[g+20>>2]=e;b=d;c[g>>2]=c[b>>2];c[d>>2]=g;c[a>>2]=c[b>>2];i=f;return}function ng(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+8|0;g=f;j=c[d>>2]|0;d=c[d+4>>2]|0;a=c[a>>2]|0;Sg()|0;c[g>>2]=j;c[g+4>>2]=d;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];h=Tg(h,e)|0;a=a+28|0;d=c[a>>2]|0;g=lm(24)|0;c[g+4>>2]=b;c[g+8>>2]=0;c[g+12>>2]=h;c[g+16>>2]=2032;c[g+20>>2]=e;b=d;c[g>>2]=c[b>>2];c[d>>2]=g;c[a>>2]=c[b>>2];i=f;return}function og(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+8|0;g=f;j=c[d>>2]|0;d=c[d+4>>2]|0;a=c[a>>2]|0;Mg()|0;c[g>>2]=j;c[g+4>>2]=d;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];h=Ng(h,e)|0;a=a+28|0;d=c[a>>2]|0;g=lm(24)|0;c[g+4>>2]=b;c[g+8>>2]=0;c[g+12>>2]=h;c[g+16>>2]=1992;c[g+20>>2]=e;b=d;c[g>>2]=c[b>>2];c[d>>2]=g;c[a>>2]=c[b>>2];i=f;return}function pg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+8|0;g=f;j=c[d>>2]|0;d=c[d+4>>2]|0;a=c[a>>2]|0;Gg()|0;c[g>>2]=j;c[g+4>>2]=d;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];h=Hg(h,e)|0;a=a+28|0;d=c[a>>2]|0;g=lm(24)|0;c[g+4>>2]=b;c[g+8>>2]=0;c[g+12>>2]=h;c[g+16>>2]=1940;c[g+20>>2]=e;b=d;c[g>>2]=c[b>>2];c[d>>2]=g;c[a>>2]=c[b>>2];i=f;return}function qg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+8|0;g=f;j=c[d>>2]|0;d=c[d+4>>2]|0;a=c[a>>2]|0;rg()|0;c[g>>2]=j;c[g+4>>2]=d;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];h=sg(h,e)|0;a=a+28|0;d=c[a>>2]|0;g=lm(24)|0;c[g+4>>2]=b;c[g+8>>2]=0;c[g+12>>2]=h;c[g+16>>2]=1784;c[g+20>>2]=e;b=d;c[g>>2]=c[b>>2];c[d>>2]=g;c[a>>2]=c[b>>2];i=f;return}function rg(){var b=0;if(!(a[16]|0)){c[446]=1;c[447]=5;c[448]=1820;c[449]=1824;c[450]=0;c[452]=0;c[453]=0;c[454]=0;lb(32,1784,n|0)|0;b=16;c[b>>2]=1;c[b+4>>2]=0}return 1784}function sg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h;g=c[a>>2]|0;d=c[a+4>>2]|0;c[e>>2]=g;c[e+4>>2]=d;rg()|0;a=b|4;c[f>>2]=a;b=c[453]|0;if(b>>>0<(c[454]|0)>>>0){c[b>>2]=g;c[b+4>>2]=d;c[b+8>>2]=a;a=b+12|0;c[453]=a}else{tg(1808,e,f);a=c[453]|0}i=h;return ((a-(c[452]|0)|0)/12|0)+-1|0}function tg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=a+4|0;i=c[a>>2]|0;j=i;f=(((c[g>>2]|0)-j|0)/12|0)+1|0;if(f>>>0>357913941)km(a);k=a+8|0;h=i;e=((c[k>>2]|0)-h|0)/12|0;if(e>>>0<178956970){e=e<<1;e=e>>>0>>0?f:e}else e=357913941;l=(c[g>>2]|0)-h|0;f=(l|0)/12|0;h=lm(e*12|0)|0;n=c[b+4>>2]|0;d=c[d>>2]|0;m=h+(f*12|0)|0;c[m>>2]=c[b>>2];c[m+4>>2]=n;c[h+(f*12|0)+8>>2]=d;d=h+((((l|0)/-12|0)+f|0)*12|0)|0;Gn(d|0,i|0,l|0)|0;c[a>>2]=d;c[g>>2]=h+((f+1|0)*12|0);c[k>>2]=h+(e*12|0);if(j)nm(j);return}function ug(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d+8|0;f=d;rg()|0;g=(c[452]|0)+(a*12|0)|0;a=c[g+4>>2]|0;c[f>>2]=c[g>>2];c[f+4>>2]=a;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];b=xg(b,e)|0;i=d;return b|0}function vg(a){a=a|0;wg(a+24|0);return}function wg(a){a=a|0;var b=0,d=0,e=0;d=c[a>>2]|0;e=d;if(d){a=a+4|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~(((b+-12-e|0)>>>0)/12|0)*12|0);nm(d)}return}function xg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+48|0;e=f;d=c[b>>2]|0;g=c[b+4>>2]|0;b=a+(g>>1)|0;if(g&1)d=c[(c[b>>2]|0)+d>>2]|0;Bb[d&31](e,b);g=yg(e)|0;i=f;return g|0}function yg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h;zg()|0;b=c[466]|0;if(!b){e=Wk(8)|0;b=e;f=lm(48)|0;g=f;d=a;a=g+48|0;do{c[g>>2]=c[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(a|0));a=b+4|0;c[a>>2]=f;g=lm(8)|0;a=c[a>>2]|0;c[g>>2]=a;f=lm(16)|0;c[f+4>>2]=0;c[f+8>>2]=0;c[f>>2]=1880;c[f+12>>2]=a;c[g+4>>2]=f;c[e>>2]=g}else{c[d>>2]=b;g=d+4|0;c[g>>2]=d;c[d+8>>2]=0;c[d+8>>2]=Ag(b,a,a+8|0,a+16|0,a+24|0,a+32|0,a+40|0)|0;b=c[(c[g>>2]|0)+8>>2]|0}i=h;return b|0}function zg(){var b=0;if(!(a[32]|0)){c[461]=0;c[462]=0;c[463]=0;c[464]=1852;c[466]=0;a[1868]=0;a[1869]=0;lb(33,1828,n|0)|0;b=32;c[b>>2]=1;c[b+4>>2]=0}return 1828}function Ag(a,b,d,e,f,g,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0;k=i;i=i+16|0;l=k;al(l);a=c[a>>2]|0;r=+h[b>>3];q=+h[d>>3];p=+h[e>>3];o=+h[f>>3];n=+h[g>>3];m=+h[j>>3];Eg()|0;a=qb(0,c[477]|0,a|0,+r,+q,+p,+o,+n,+m)|0;bl(l);i=k;return a|0}function Bg(a){a=a|0;vn(a);nm(a);return}function Cg(a){a=a|0;a=c[a+12>>2]|0;if(a)nm(a);return}function Dg(a){a=a|0;nm(a);return}function Eg(){var b=0;if(!(a[24]|0)){c[475]=1912;c[476]=6;c[477]=ib(1912,7)|0;b=24;c[b>>2]=1;c[b+4>>2]=0}return 1900}function Fg(a){a=a|0;var b=0,d=0,e=0;d=a+24|0;b=c[d>>2]|0;if(b)do{e=b;b=c[b>>2]|0;nm(e)}while((b|0)!=0);c[d>>2]=0;d=a+16|0;b=c[d>>2]|0;if(b)do{e=b;b=c[b>>2]|0;nm(e)}while((b|0)!=0);c[d>>2]=0;return}function Gg(){var b=0;if(!(a[40]|0)){c[485]=1;c[486]=1;c[487]=1820;c[488]=1976;c[489]=3;c[491]=0;c[492]=0;c[493]=0;lb(34,1940,n|0)|0;b=40;c[b>>2]=1;c[b+4>>2]=0}return 1940}function Hg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h;g=c[a>>2]|0;d=c[a+4>>2]|0;c[e>>2]=g;c[e+4>>2]=d;Gg()|0;a=b|4;c[f>>2]=a;b=c[492]|0;if(b>>>0<(c[493]|0)>>>0){c[b>>2]=g;c[b+4>>2]=d;c[b+8>>2]=a;a=b+12|0;c[492]=a}else{Ig(1964,e,f);a=c[492]|0}i=h;return ((a-(c[491]|0)|0)/12|0)+-1|0}function Ig(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=a+4|0;i=c[a>>2]|0;j=i;f=(((c[g>>2]|0)-j|0)/12|0)+1|0;if(f>>>0>357913941)km(a);k=a+8|0;h=i;e=((c[k>>2]|0)-h|0)/12|0;if(e>>>0<178956970){e=e<<1;e=e>>>0>>0?f:e}else e=357913941;l=(c[g>>2]|0)-h|0;f=(l|0)/12|0;h=lm(e*12|0)|0;n=c[b+4>>2]|0;d=c[d>>2]|0;m=h+(f*12|0)|0;c[m>>2]=c[b>>2];c[m+4>>2]=n;c[h+(f*12|0)+8>>2]=d;d=h+((((l|0)/-12|0)+f|0)*12|0)|0;Gn(d|0,i|0,l|0)|0;c[a>>2]=d;c[g>>2]=h+((f+1|0)*12|0);c[k>>2]=h+(e*12|0);if(j)nm(j);return}function Jg(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=+e;f=f|0;var g=0;Gg()|0;g=(c[491]|0)+(a*12|0)|0;a=c[g>>2]|0;g=c[g+4>>2]|0;b=b+(g>>1)|0;if(g&1)a=c[(c[b>>2]|0)+a>>2]|0;Db[a&1](b,d,e,f);return}function Kg(a){a=a|0;Lg(a+24|0);return}function Lg(a){a=a|0;var b=0,d=0,e=0;d=c[a>>2]|0;e=d;if(d){a=a+4|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~(((b+-12-e|0)>>>0)/12|0)*12|0);nm(d)}return}function Mg(){var b=0;if(!(a[48]|0)){c[498]=1;c[499]=6;c[500]=1820;c[501]=2028;c[502]=0;c[504]=0;c[505]=0;c[506]=0;lb(35,1992,n|0)|0;b=48;c[b>>2]=1;c[b+4>>2]=0}return 1992}function Ng(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h;g=c[a>>2]|0;d=c[a+4>>2]|0;c[e>>2]=g;c[e+4>>2]=d;Mg()|0;a=b|4;c[f>>2]=a;b=c[505]|0;if(b>>>0<(c[506]|0)>>>0){c[b>>2]=g;c[b+4>>2]=d;c[b+8>>2]=a;a=b+12|0;c[505]=a}else{Og(2016,e,f);a=c[505]|0}i=h;return ((a-(c[504]|0)|0)/12|0)+-1|0}function Og(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=a+4|0;i=c[a>>2]|0;j=i;f=(((c[g>>2]|0)-j|0)/12|0)+1|0;if(f>>>0>357913941)km(a);k=a+8|0;h=i;e=((c[k>>2]|0)-h|0)/12|0;if(e>>>0<178956970){e=e<<1;e=e>>>0>>0?f:e}else e=357913941;l=(c[g>>2]|0)-h|0;f=(l|0)/12|0;h=lm(e*12|0)|0;n=c[b+4>>2]|0;d=c[d>>2]|0;m=h+(f*12|0)|0;c[m>>2]=c[b>>2];c[m+4>>2]=n;c[h+(f*12|0)+8>>2]=d;d=h+((((l|0)/-12|0)+f|0)*12|0)|0;Gn(d|0,i|0,l|0)|0;c[a>>2]=d;c[g>>2]=h+((f+1|0)*12|0);c[k>>2]=h+(e*12|0);if(j)nm(j);return}function Pg(a,b){a=a|0;b=b|0;var d=0;Mg()|0;d=(c[504]|0)+(a*12|0)|0;a=c[d>>2]|0;d=c[d+4>>2]|0;b=b+(d>>1)|0;if(d&1)a=c[(c[b>>2]|0)+a>>2]|0;return (Cb[a&31](b)|0)&1|0}function Qg(a){a=a|0;Rg(a+24|0);return}function Rg(a){a=a|0;var b=0,d=0,e=0;d=c[a>>2]|0;e=d;if(d){a=a+4|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~(((b+-12-e|0)>>>0)/12|0)*12|0);nm(d)}return}function Sg(){var b=0;if(!(a[56]|0)){c[508]=1;c[509]=6;c[510]=1820;c[511]=2068;c[512]=1;c[514]=0;c[515]=0;c[516]=0;lb(36,2032,n|0)|0;b=56;c[b>>2]=1;c[b+4>>2]=0}return 2032}function Tg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h;g=c[a>>2]|0;d=c[a+4>>2]|0;c[e>>2]=g;c[e+4>>2]=d;Sg()|0;a=b|4;c[f>>2]=a;b=c[515]|0;if(b>>>0<(c[516]|0)>>>0){c[b>>2]=g;c[b+4>>2]=d;c[b+8>>2]=a;a=b+12|0;c[515]=a}else{Ug(2056,e,f);a=c[515]|0}i=h;return ((a-(c[514]|0)|0)/12|0)+-1|0}function Ug(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=a+4|0;i=c[a>>2]|0;j=i;f=(((c[g>>2]|0)-j|0)/12|0)+1|0;if(f>>>0>357913941)km(a);k=a+8|0;h=i;e=((c[k>>2]|0)-h|0)/12|0;if(e>>>0<178956970){e=e<<1;e=e>>>0>>0?f:e}else e=357913941;l=(c[g>>2]|0)-h|0;f=(l|0)/12|0;h=lm(e*12|0)|0;n=c[b+4>>2]|0;d=c[d>>2]|0;m=h+(f*12|0)|0;c[m>>2]=c[b>>2];c[m+4>>2]=n;c[h+(f*12|0)+8>>2]=d;d=h+((((l|0)/-12|0)+f|0)*12|0)|0;Gn(d|0,i|0,l|0)|0;c[a>>2]=d;c[g>>2]=h+((f+1|0)*12|0);c[k>>2]=h+(e*12|0);if(j)nm(j);return}function Vg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e;Sg()|0;h=(c[514]|0)+(a*12|0)|0;a=c[h+4>>2]|0;c[g>>2]=c[h>>2];c[g+4>>2]=a;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];Yg(b,f,d);i=e;return}function Wg(a){a=a|0;Xg(a+24|0);return}function Xg(a){a=a|0;var b=0,d=0,e=0;d=c[a>>2]|0;e=d;if(d){a=a+4|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~(((b+-12-e|0)>>>0)/12|0)*12|0);nm(d)}return}function Yg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;f=g;e=c[b>>2]|0;h=c[b+4>>2]|0;b=a+(h>>1)|0;if(h&1)e=c[(c[b>>2]|0)+e>>2]|0;c[f>>2]=d;Bb[e&31](b,f);e=c[f>>2]|0;if(e)kb(e|0);i=g;return}function Zg(){var b=0;if(!(a[64]|0)){c[521]=1;c[522]=6;c[523]=1820;c[524]=2120;c[525]=1;c[527]=0;c[528]=0;c[529]=0;lb(37,2084,n|0)|0;b=64;c[b>>2]=1;c[b+4>>2]=0}return 2084}function _g(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h;g=c[a>>2]|0;d=c[a+4>>2]|0;c[e>>2]=g;c[e+4>>2]=d;Zg()|0;a=b|4;c[f>>2]=a;b=c[528]|0;if(b>>>0<(c[529]|0)>>>0){c[b>>2]=g;c[b+4>>2]=d;c[b+8>>2]=a;a=b+12|0;c[528]=a}else{$g(2108,e,f);a=c[528]|0}i=h;return ((a-(c[527]|0)|0)/12|0)+-1|0}function $g(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=a+4|0;i=c[a>>2]|0;j=i;f=(((c[g>>2]|0)-j|0)/12|0)+1|0;if(f>>>0>357913941)km(a);k=a+8|0;h=i;e=((c[k>>2]|0)-h|0)/12|0;if(e>>>0<178956970){e=e<<1;e=e>>>0>>0?f:e}else e=357913941;l=(c[g>>2]|0)-h|0;f=(l|0)/12|0;h=lm(e*12|0)|0;n=c[b+4>>2]|0;d=c[d>>2]|0;m=h+(f*12|0)|0;c[m>>2]=c[b>>2];c[m+4>>2]=n;c[h+(f*12|0)+8>>2]=d;d=h+((((l|0)/-12|0)+f|0)*12|0)|0;Gn(d|0,i|0,l|0)|0;c[a>>2]=d;c[g>>2]=h+((f+1|0)*12|0);c[k>>2]=h+(e*12|0);if(j)nm(j);return}function ah(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;Zg()|0;e=(c[527]|0)+(a*12|0)|0;a=c[e>>2]|0;e=c[e+4>>2]|0;b=b+(e>>1)|0;if(e&1)a=c[(c[b>>2]|0)+a>>2]|0;return Kb[a&15](b,d)|0}function bh(a){a=a|0;ch(a+24|0);return}function ch(a){a=a|0;var b=0,d=0,e=0;d=c[a>>2]|0;e=d;if(d){a=a+4|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~(((b+-12-e|0)>>>0)/12|0)*12|0);nm(d)}return}function dh(){var b=0;if(!(a[72]|0)){c[534]=1;c[535]=7;c[536]=1820;c[537]=2172;c[538]=0;c[540]=0;c[541]=0;c[542]=0;lb(38,2136,n|0)|0;b=72;c[b>>2]=1;c[b+4>>2]=0}return 2136}function eh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h;g=c[a>>2]|0;d=c[a+4>>2]|0;c[e>>2]=g;c[e+4>>2]=d;dh()|0;a=b|4;c[f>>2]=a;b=c[541]|0;if(b>>>0<(c[542]|0)>>>0){c[b>>2]=g;c[b+4>>2]=d;c[b+8>>2]=a;a=b+12|0;c[541]=a}else{fh(2160,e,f);a=c[541]|0}i=h;return ((a-(c[540]|0)|0)/12|0)+-1|0}function fh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=a+4|0;i=c[a>>2]|0;j=i;f=(((c[g>>2]|0)-j|0)/12|0)+1|0;if(f>>>0>357913941)km(a);k=a+8|0;h=i;e=((c[k>>2]|0)-h|0)/12|0;if(e>>>0<178956970){e=e<<1;e=e>>>0>>0?f:e}else e=357913941;l=(c[g>>2]|0)-h|0;f=(l|0)/12|0;h=lm(e*12|0)|0;n=c[b+4>>2]|0;d=c[d>>2]|0;m=h+(f*12|0)|0;c[m>>2]=c[b>>2];c[m+4>>2]=n;c[h+(f*12|0)+8>>2]=d;d=h+((((l|0)/-12|0)+f|0)*12|0)|0;Gn(d|0,i|0,l|0)|0;c[a>>2]=d;c[g>>2]=h+((f+1|0)*12|0);c[k>>2]=h+(e*12|0);if(j)nm(j);return}function gh(a,b){a=a|0;b=b|0;var d=0;dh()|0;d=(c[540]|0)+(a*12|0)|0;a=c[d>>2]|0;d=c[d+4>>2]|0;b=b+(d>>1)|0;if(d&1)a=c[(c[b>>2]|0)+a>>2]|0;return Cb[a&31](b)|0}function hh(a){a=a|0;ih(a+24|0);return}function ih(a){a=a|0;var b=0,d=0,e=0;d=c[a>>2]|0;e=d;if(d){a=a+4|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~(((b+-12-e|0)>>>0)/12|0)*12|0);nm(d)}return}function jh(){var b=0;if(!(a[80]|0)){c[544]=1;c[545]=8;c[546]=1820;c[547]=2212;c[548]=0;c[550]=0;c[551]=0;c[552]=0;lb(39,2176,n|0)|0;b=80;c[b>>2]=1;c[b+4>>2]=0}return 2176}function kh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h;g=c[a>>2]|0;d=c[a+4>>2]|0;c[e>>2]=g;c[e+4>>2]=d;jh()|0;a=b|4;c[f>>2]=a;b=c[551]|0;if(b>>>0<(c[552]|0)>>>0){c[b>>2]=g;c[b+4>>2]=d;c[b+8>>2]=a;a=b+12|0;c[551]=a}else{lh(2200,e,f);a=c[551]|0}i=h;return ((a-(c[550]|0)|0)/12|0)+-1|0}function lh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=a+4|0;i=c[a>>2]|0;j=i;f=(((c[g>>2]|0)-j|0)/12|0)+1|0;if(f>>>0>357913941)km(a);k=a+8|0;h=i;e=((c[k>>2]|0)-h|0)/12|0;if(e>>>0<178956970){e=e<<1;e=e>>>0>>0?f:e}else e=357913941;l=(c[g>>2]|0)-h|0;f=(l|0)/12|0;h=lm(e*12|0)|0;n=c[b+4>>2]|0;d=c[d>>2]|0;m=h+(f*12|0)|0;c[m>>2]=c[b>>2];c[m+4>>2]=n;c[h+(f*12|0)+8>>2]=d;d=h+((((l|0)/-12|0)+f|0)*12|0)|0;Gn(d|0,i|0,l|0)|0;c[a>>2]=d;c[g>>2]=h+((f+1|0)*12|0);c[k>>2]=h+(e*12|0);if(j)nm(j);return}function mh(a,b){a=a|0;b=b|0;var d=0;jh()|0;d=(c[550]|0)+(a*12|0)|0;a=c[d>>2]|0;d=c[d+4>>2]|0;b=b+(d>>1)|0;if(d&1)a=c[(c[b>>2]|0)+a>>2]|0;return Cb[a&31](b)|0}function nh(a){a=a|0;oh(a+24|0);return}function oh(a){a=a|0;var b=0,d=0,e=0;d=c[a>>2]|0;e=d;if(d){a=a+4|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~(((b+-12-e|0)>>>0)/12|0)*12|0);nm(d)}return}function ph(){var b=0;if(!(a[88]|0)){c[554]=1;c[555]=7;c[556]=1820;c[557]=2252;c[558]=1;c[560]=0;c[561]=0;c[562]=0;lb(40,2216,n|0)|0;b=88;c[b>>2]=1;c[b+4>>2]=0}return 2216}function qh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h;g=c[a>>2]|0;d=c[a+4>>2]|0;c[e>>2]=g;c[e+4>>2]=d;ph()|0;a=b|4;c[f>>2]=a;b=c[561]|0;if(b>>>0<(c[562]|0)>>>0){c[b>>2]=g;c[b+4>>2]=d;c[b+8>>2]=a;a=b+12|0;c[561]=a}else{rh(2240,e,f);a=c[561]|0}i=h;return ((a-(c[560]|0)|0)/12|0)+-1|0}function rh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=a+4|0;i=c[a>>2]|0;j=i;f=(((c[g>>2]|0)-j|0)/12|0)+1|0;if(f>>>0>357913941)km(a);k=a+8|0;h=i;e=((c[k>>2]|0)-h|0)/12|0;if(e>>>0<178956970){e=e<<1;e=e>>>0>>0?f:e}else e=357913941;l=(c[g>>2]|0)-h|0;f=(l|0)/12|0;h=lm(e*12|0)|0;n=c[b+4>>2]|0;d=c[d>>2]|0;m=h+(f*12|0)|0;c[m>>2]=c[b>>2];c[m+4>>2]=n;c[h+(f*12|0)+8>>2]=d;d=h+((((l|0)/-12|0)+f|0)*12|0)|0;Gn(d|0,i|0,l|0)|0;c[a>>2]=d;c[g>>2]=h+((f+1|0)*12|0);c[k>>2]=h+(e*12|0);if(j)nm(j);return}function sh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;ph()|0;e=(c[560]|0)+(a*12|0)|0;a=c[e>>2]|0;e=c[e+4>>2]|0;b=b+(e>>1)|0;if(e&1)a=c[(c[b>>2]|0)+a>>2]|0;Bb[a&31](b,d);return}function th(a){a=a|0;uh(a+24|0);return}function uh(a){a=a|0;var b=0,d=0,e=0;d=c[a>>2]|0;e=d;if(d){a=a+4|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~(((b+-12-e|0)>>>0)/12|0)*12|0);nm(d)}return}function vh(){var b=0;if(!(a[96]|0)){c[565]=1;c[566]=4;c[567]=1820;c[568]=2296;c[569]=2;c[571]=0;c[572]=0;c[573]=0;lb(41,2260,n|0)|0;b=96;c[b>>2]=1;c[b+4>>2]=0}return 2260}function wh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h;g=c[a>>2]|0;d=c[a+4>>2]|0;c[e>>2]=g;c[e+4>>2]=d;vh()|0;a=b|4;c[f>>2]=a;b=c[572]|0;if(b>>>0<(c[573]|0)>>>0){c[b>>2]=g;c[b+4>>2]=d;c[b+8>>2]=a;a=b+12|0;c[572]=a}else{xh(2284,e,f);a=c[572]|0}i=h;return ((a-(c[571]|0)|0)/12|0)+-1|0}function xh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=a+4|0;i=c[a>>2]|0;j=i;f=(((c[g>>2]|0)-j|0)/12|0)+1|0;if(f>>>0>357913941)km(a);k=a+8|0;h=i;e=((c[k>>2]|0)-h|0)/12|0;if(e>>>0<178956970){e=e<<1;e=e>>>0>>0?f:e}else e=357913941;l=(c[g>>2]|0)-h|0;f=(l|0)/12|0;h=lm(e*12|0)|0;n=c[b+4>>2]|0;d=c[d>>2]|0;m=h+(f*12|0)|0;c[m>>2]=c[b>>2];c[m+4>>2]=n;c[h+(f*12|0)+8>>2]=d;d=h+((((l|0)/-12|0)+f|0)*12|0)|0;Gn(d|0,i|0,l|0)|0;c[a>>2]=d;c[g>>2]=h+((f+1|0)*12|0);c[k>>2]=h+(e*12|0);if(j)nm(j);return}function yh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;vh()|0;f=(c[571]|0)+(a*12|0)|0;a=c[f>>2]|0;f=c[f+4>>2]|0;b=b+(f>>1)|0;if(f&1)a=c[(c[b>>2]|0)+a>>2]|0;Rb[a&15](b,d,e);return}function zh(a){a=a|0;Ah(a+24|0);return}function Ah(a){a=a|0;var b=0,d=0,e=0;d=c[a>>2]|0;e=d;if(d){a=a+4|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~(((b+-12-e|0)>>>0)/12|0)*12|0);nm(d)}return}function Bh(){var b=0;if(!(a[104]|0)){c[577]=1;c[578]=1;c[579]=1820;c[580]=2344;c[581]=1;c[583]=0;c[584]=0;c[585]=0;lb(42,2308,n|0)|0;b=104;c[b>>2]=1;c[b+4>>2]=0}return 2308}function Ch(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h;g=c[a>>2]|0;d=c[a+4>>2]|0;c[e>>2]=g;c[e+4>>2]=d;Bh()|0;a=b|4;c[f>>2]=a;b=c[584]|0;if(b>>>0<(c[585]|0)>>>0){c[b>>2]=g;c[b+4>>2]=d;c[b+8>>2]=a;a=b+12|0;c[584]=a}else{Dh(2332,e,f);a=c[584]|0}i=h;return ((a-(c[583]|0)|0)/12|0)+-1|0}function Dh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=a+4|0;i=c[a>>2]|0;j=i;f=(((c[g>>2]|0)-j|0)/12|0)+1|0;if(f>>>0>357913941)km(a);k=a+8|0;h=i;e=((c[k>>2]|0)-h|0)/12|0;if(e>>>0<178956970){e=e<<1;e=e>>>0>>0?f:e}else e=357913941;l=(c[g>>2]|0)-h|0;f=(l|0)/12|0;h=lm(e*12|0)|0;n=c[b+4>>2]|0;d=c[d>>2]|0;m=h+(f*12|0)|0;c[m>>2]=c[b>>2];c[m+4>>2]=n;c[h+(f*12|0)+8>>2]=d;d=h+((((l|0)/-12|0)+f|0)*12|0)|0;Gn(d|0,i|0,l|0)|0;c[a>>2]=d;c[g>>2]=h+((f+1|0)*12|0);c[k>>2]=h+(e*12|0);if(j)nm(j);return}function Eh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;Bh()|0;e=(c[583]|0)+(a*12|0)|0;a=c[e>>2]|0;e=c[e+4>>2]|0;b=b+(e>>1)|0;if(e&1)a=c[(c[b>>2]|0)+a>>2]|0;return +(+Ob[a&7](b,d))}function Fh(a){a=a|0;Gh(a+24|0);return}function Gh(a){a=a|0;var b=0,d=0,e=0;d=c[a>>2]|0;e=d;if(d){a=a+4|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~(((b+-12-e|0)>>>0)/12|0)*12|0);nm(d)}return}function Hh(){var b=0;if(!(a[112]|0)){c[588]=1;c[589]=5;c[590]=1820;c[591]=2388;c[592]=0;c[594]=0;c[595]=0;c[596]=0;lb(43,2352,n|0)|0;b=112;c[b>>2]=1;c[b+4>>2]=0}return 2352}function Ih(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h;g=c[a>>2]|0;d=c[a+4>>2]|0;c[e>>2]=g;c[e+4>>2]=d;Hh()|0;a=b|4;c[f>>2]=a;b=c[595]|0;if(b>>>0<(c[596]|0)>>>0){c[b>>2]=g;c[b+4>>2]=d;c[b+8>>2]=a;a=b+12|0;c[595]=a}else{Jh(2376,e,f);a=c[595]|0}i=h;return ((a-(c[594]|0)|0)/12|0)+-1|0}function Jh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=a+4|0;i=c[a>>2]|0;j=i;f=(((c[g>>2]|0)-j|0)/12|0)+1|0;if(f>>>0>357913941)km(a);k=a+8|0;h=i;e=((c[k>>2]|0)-h|0)/12|0;if(e>>>0<178956970){e=e<<1;e=e>>>0>>0?f:e}else e=357913941;l=(c[g>>2]|0)-h|0;f=(l|0)/12|0;h=lm(e*12|0)|0;n=c[b+4>>2]|0;d=c[d>>2]|0;m=h+(f*12|0)|0;c[m>>2]=c[b>>2];c[m+4>>2]=n;c[h+(f*12|0)+8>>2]=d;d=h+((((l|0)/-12|0)+f|0)*12|0)|0;Gn(d|0,i|0,l|0)|0;c[a>>2]=d;c[g>>2]=h+((f+1|0)*12|0);c[k>>2]=h+(e*12|0);if(j)nm(j);return}function Kh(a,b){a=a|0;b=b|0;var d=0;Hh()|0;d=(c[594]|0)+(a*12|0)|0;a=c[d>>2]|0;d=c[d+4>>2]|0;b=b+(d>>1)|0;if(d&1)a=c[(c[b>>2]|0)+a>>2]|0;return +(+Hb[a&15](b))}function Lh(a){a=a|0;Mh(a+24|0);return}function Mh(a){a=a|0;var b=0,d=0,e=0;d=c[a>>2]|0;e=d;if(d){a=a+4|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~(((b+-12-e|0)>>>0)/12|0)*12|0);nm(d)}return}function Nh(){var b=0;if(!(a[120]|0)){c[598]=1;c[599]=9;c[600]=1820;c[601]=2428;c[602]=0;c[604]=0;c[605]=0;c[606]=0;lb(44,2392,n|0)|0;b=120;c[b>>2]=1;c[b+4>>2]=0}return 2392}function Oh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h;g=c[a>>2]|0;d=c[a+4>>2]|0;c[e>>2]=g;c[e+4>>2]=d;Nh()|0;a=b|4;c[f>>2]=a;b=c[605]|0;if(b>>>0<(c[606]|0)>>>0){c[b>>2]=g;c[b+4>>2]=d;c[b+8>>2]=a;a=b+12|0;c[605]=a}else{Ph(2416,e,f);a=c[605]|0}i=h;return ((a-(c[604]|0)|0)/12|0)+-1|0}function Ph(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=a+4|0;i=c[a>>2]|0;j=i;f=(((c[g>>2]|0)-j|0)/12|0)+1|0;if(f>>>0>357913941)km(a);k=a+8|0;h=i;e=((c[k>>2]|0)-h|0)/12|0;if(e>>>0<178956970){e=e<<1;e=e>>>0>>0?f:e}else e=357913941;l=(c[g>>2]|0)-h|0;f=(l|0)/12|0;h=lm(e*12|0)|0;n=c[b+4>>2]|0;d=c[d>>2]|0;m=h+(f*12|0)|0;c[m>>2]=c[b>>2];c[m+4>>2]=n;c[h+(f*12|0)+8>>2]=d;d=h+((((l|0)/-12|0)+f|0)*12|0)|0;Gn(d|0,i|0,l|0)|0;c[a>>2]=d;c[g>>2]=h+((f+1|0)*12|0);c[k>>2]=h+(e*12|0);if(j)nm(j);return}function Qh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d+8|0;f=d;Nh()|0;g=(c[604]|0)+(a*12|0)|0;a=c[g+4>>2]|0;c[f>>2]=c[g>>2];c[f+4>>2]=a;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];b=Th(b,e)|0;i=d;return b|0}function Rh(a){a=a|0;Sh(a+24|0);return}function Sh(a){a=a|0;var b=0,d=0,e=0;d=c[a>>2]|0;e=d;if(d){a=a+4|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~(((b+-12-e|0)>>>0)/12|0)*12|0);nm(d)}return}function Th(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+16|0;e=g;d=c[b>>2]|0;h=c[b+4>>2]|0;b=a+(h>>1)|0;if(h&1)d=c[(c[b>>2]|0)+d>>2]|0;Bb[d&31](e,b);Uh()|0;d=c[617]|0;if(!d){h=Wk(8)|0;d=h;f=lm(16)|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];a=d+4|0;c[a>>2]=f;f=lm(8)|0;a=c[a>>2]|0;c[f>>2]=a;e=lm(16)|0;c[e+4>>2]=0;c[e+8>>2]=0;c[e>>2]=2484;c[e+12>>2]=a;c[f+4>>2]=e;c[h>>2]=f}else{c[f>>2]=d;h=f+4|0;c[h>>2]=f;f=f+8|0;c[f>>2]=0;c[f>>2]=Vh(d,e,e+8|0)|0;d=c[(c[h>>2]|0)+8>>2]|0}i=g;return d|0}function Uh(){var b=0;if(!(a[136]|0)){c[612]=0;c[613]=0;c[614]=0;c[615]=2456;c[617]=0;a[2472]=0;a[2473]=0;lb(33,2432,n|0)|0;b=136;c[b>>2]=1;c[b+4>>2]=0}return 2432}function Vh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,j=0;e=i;i=i+16|0;f=e;al(f);j=c[a>>2]|0;a=c[b>>2]|0;g=+h[d>>3];Zh()|0;a=ub(0,c[628]|0,j|0,a|0,+g)|0;bl(f);i=e;return a|0}function Wh(a){a=a|0;vn(a);nm(a);return}function Xh(a){a=a|0;a=c[a+12>>2]|0;if(a)nm(a);return}function Yh(a){a=a|0;nm(a);return}function Zh(){var b=0;if(!(a[128]|0)){c[626]=2516;c[627]=2;c[628]=ib(2516,3)|0;b=128;c[b>>2]=1;c[b+4>>2]=0}return 2504}function _h(){var b=0;if(!(a[144]|0)){c[632]=1;c[633]=7;c[634]=1820;c[635]=2564;c[636]=1;c[638]=0;c[639]=0;c[640]=0;lb(45,2528,n|0)|0;b=144;c[b>>2]=1;c[b+4>>2]=0}return 2528}function $h(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h;g=c[a>>2]|0;d=c[a+4>>2]|0;c[e>>2]=g;c[e+4>>2]=d;_h()|0;a=b|4;c[f>>2]=a;b=c[639]|0;if(b>>>0<(c[640]|0)>>>0){c[b>>2]=g;c[b+4>>2]=d;c[b+8>>2]=a;a=b+12|0;c[639]=a}else{ai(2552,e,f);a=c[639]|0}i=h;return ((a-(c[638]|0)|0)/12|0)+-1|0}function ai(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=a+4|0;i=c[a>>2]|0;j=i;f=(((c[g>>2]|0)-j|0)/12|0)+1|0;if(f>>>0>357913941)km(a);k=a+8|0;h=i;e=((c[k>>2]|0)-h|0)/12|0;if(e>>>0<178956970){e=e<<1;e=e>>>0>>0?f:e}else e=357913941;l=(c[g>>2]|0)-h|0;f=(l|0)/12|0;h=lm(e*12|0)|0;n=c[b+4>>2]|0;d=c[d>>2]|0;m=h+(f*12|0)|0;c[m>>2]=c[b>>2];c[m+4>>2]=n;c[h+(f*12|0)+8>>2]=d;d=h+((((l|0)/-12|0)+f|0)*12|0)|0;Gn(d|0,i|0,l|0)|0;c[a>>2]=d;c[g>>2]=h+((f+1|0)*12|0);c[k>>2]=h+(e*12|0);if(j)nm(j);return}function bi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e;_h()|0;h=(c[638]|0)+(a*12|0)|0;a=c[h+4>>2]|0;c[g>>2]=c[h>>2];c[g+4>>2]=a;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];b=ei(b,f,d)|0;i=e;return b|0}function ci(a){a=a|0;di(a+24|0);return}function di(a){a=a|0;var b=0,d=0,e=0;d=c[a>>2]|0;e=d;if(d){a=a+4|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~(((b+-12-e|0)>>>0)/12|0)*12|0);nm(d)}return}function ei(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;g=h+16|0;f=h;e=c[b>>2]|0;j=c[b+4>>2]|0;b=a+(j>>1)|0;if(j&1)e=c[(c[b>>2]|0)+e>>2]|0;Rb[e&15](f,b,d);Uh()|0;e=c[617]|0;if(!e){j=Wk(8)|0;e=j;g=lm(16)|0;c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];d=e+4|0;c[d>>2]=g;g=lm(8)|0;d=c[d>>2]|0;c[g>>2]=d;f=lm(16)|0;c[f+4>>2]=0;c[f+8>>2]=0;c[f>>2]=2484;c[f+12>>2]=d;c[g+4>>2]=f;c[j>>2]=g}else{c[g>>2]=e;j=g+4|0;c[j>>2]=g;g=g+8|0;c[g>>2]=0;c[g>>2]=Vh(e,f,f+8|0)|0;e=c[(c[j>>2]|0)+8>>2]|0}i=h;return e|0}function fi(){var b=0;if(!(a[152]|0)){c[643]=1;c[644]=10;c[645]=1820;c[646]=2608;c[647]=0;c[649]=0;c[650]=0;c[651]=0;lb(46,2572,n|0)|0;b=152;c[b>>2]=1;c[b+4>>2]=0}return 2572}function gi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h;g=c[a>>2]|0;d=c[a+4>>2]|0;c[e>>2]=g;c[e+4>>2]=d;fi()|0;a=b|4;c[f>>2]=a;b=c[650]|0;if(b>>>0<(c[651]|0)>>>0){c[b>>2]=g;c[b+4>>2]=d;c[b+8>>2]=a;a=b+12|0;c[650]=a}else{hi(2596,e,f);a=c[650]|0}i=h;return ((a-(c[649]|0)|0)/12|0)+-1|0}function hi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=a+4|0;i=c[a>>2]|0;j=i;f=(((c[g>>2]|0)-j|0)/12|0)+1|0;if(f>>>0>357913941)km(a);k=a+8|0;h=i;e=((c[k>>2]|0)-h|0)/12|0;if(e>>>0<178956970){e=e<<1;e=e>>>0>>0?f:e}else e=357913941;l=(c[g>>2]|0)-h|0;f=(l|0)/12|0;h=lm(e*12|0)|0;n=c[b+4>>2]|0;d=c[d>>2]|0;m=h+(f*12|0)|0;c[m>>2]=c[b>>2];c[m+4>>2]=n;c[h+(f*12|0)+8>>2]=d;d=h+((((l|0)/-12|0)+f|0)*12|0)|0;Gn(d|0,i|0,l|0)|0;c[a>>2]=d;c[g>>2]=h+((f+1|0)*12|0);c[k>>2]=h+(e*12|0);if(j)nm(j);return}function ii(a,b){a=a|0;b=b|0;var d=0;fi()|0;d=(c[649]|0)+(a*12|0)|0;a=c[d>>2]|0;d=c[d+4>>2]|0;b=b+(d>>1)|0;if(d&1)a=c[(c[b>>2]|0)+a>>2]|0;return Cb[a&31](b)|0}function ji(a){a=a|0;ki(a+24|0);return}function ki(a){a=a|0;var b=0,d=0,e=0;d=c[a>>2]|0;e=d;if(d){a=a+4|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~(((b+-12-e|0)>>>0)/12|0)*12|0);nm(d)}return}function li(){var b=0;if(!(a[160]|0)){c[653]=1;c[654]=8;c[655]=1820;c[656]=2648;c[657]=1;c[659]=0;c[660]=0;c[661]=0;lb(47,2612,n|0)|0;b=160;c[b>>2]=1;c[b+4>>2]=0}return 2612}function mi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h;g=c[a>>2]|0;d=c[a+4>>2]|0;c[e>>2]=g;c[e+4>>2]=d;li()|0;a=b|4;c[f>>2]=a;b=c[660]|0;if(b>>>0<(c[661]|0)>>>0){c[b>>2]=g;c[b+4>>2]=d;c[b+8>>2]=a;a=b+12|0;c[660]=a}else{ni(2636,e,f);a=c[660]|0}i=h;return ((a-(c[659]|0)|0)/12|0)+-1|0}function ni(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=a+4|0;i=c[a>>2]|0;j=i;f=(((c[g>>2]|0)-j|0)/12|0)+1|0;if(f>>>0>357913941)km(a);k=a+8|0;h=i;e=((c[k>>2]|0)-h|0)/12|0;if(e>>>0<178956970){e=e<<1;e=e>>>0>>0?f:e}else e=357913941;l=(c[g>>2]|0)-h|0;f=(l|0)/12|0;h=lm(e*12|0)|0;n=c[b+4>>2]|0;d=c[d>>2]|0;m=h+(f*12|0)|0;c[m>>2]=c[b>>2];c[m+4>>2]=n;c[h+(f*12|0)+8>>2]=d;d=h+((((l|0)/-12|0)+f|0)*12|0)|0;Gn(d|0,i|0,l|0)|0;c[a>>2]=d;c[g>>2]=h+((f+1|0)*12|0);c[k>>2]=h+(e*12|0);if(j)nm(j);return}function oi(a,b,d){a=a|0;b=b|0;d=+d;var e=0;li()|0;e=(c[659]|0)+(a*12|0)|0;a=c[e>>2]|0;e=c[e+4>>2]|0;b=b+(e>>1)|0;if(e&1)a=c[(c[b>>2]|0)+a>>2]|0;zb[a&31](b,d);return}function pi(a){a=a|0;qi(a+24|0);return}function qi(a){a=a|0;var b=0,d=0,e=0;d=c[a>>2]|0;e=d;if(d){a=a+4|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~(((b+-12-e|0)>>>0)/12|0)*12|0);nm(d)}return}function ri(){var b=0;if(!(a[168]|0)){c[664]=1;c[665]=1;c[666]=1820;c[667]=2692;c[668]=2;c[670]=0;c[671]=0;c[672]=0;lb(48,2656,n|0)|0;b=168;c[b>>2]=1;c[b+4>>2]=0}return 2656}function si(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h;g=c[a>>2]|0;d=c[a+4>>2]|0;c[e>>2]=g;c[e+4>>2]=d;ri()|0;a=b|4;c[f>>2]=a;b=c[671]|0;if(b>>>0<(c[672]|0)>>>0){c[b>>2]=g;c[b+4>>2]=d;c[b+8>>2]=a;a=b+12|0;c[671]=a}else{ti(2680,e,f);a=c[671]|0}i=h;return ((a-(c[670]|0)|0)/12|0)+-1|0}function ti(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=a+4|0;i=c[a>>2]|0;j=i;f=(((c[g>>2]|0)-j|0)/12|0)+1|0;if(f>>>0>357913941)km(a);k=a+8|0;h=i;e=((c[k>>2]|0)-h|0)/12|0;if(e>>>0<178956970){e=e<<1;e=e>>>0>>0?f:e}else e=357913941;l=(c[g>>2]|0)-h|0;f=(l|0)/12|0;h=lm(e*12|0)|0;n=c[b+4>>2]|0;d=c[d>>2]|0;m=h+(f*12|0)|0;c[m>>2]=c[b>>2];c[m+4>>2]=n;c[h+(f*12|0)+8>>2]=d;d=h+((((l|0)/-12|0)+f|0)*12|0)|0;Gn(d|0,i|0,l|0)|0;c[a>>2]=d;c[g>>2]=h+((f+1|0)*12|0);c[k>>2]=h+(e*12|0);if(j)nm(j);return}function ui(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0;ri()|0;f=(c[670]|0)+(a*12|0)|0;a=c[f>>2]|0;f=c[f+4>>2]|0;b=b+(f>>1)|0;if(f&1)a=c[(c[b>>2]|0)+a>>2]|0;Tb[a&15](b,d,e);return}function vi(a){a=a|0;wi(a+24|0);return}function wi(a){a=a|0;var b=0,d=0,e=0;d=c[a>>2]|0;e=d;if(d){a=a+4|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~(((b+-12-e|0)>>>0)/12|0)*12|0);nm(d)}return}function xi(){var b=0;if(!(a[176]|0)){c[676]=1;c[677]=8;c[678]=1820;c[679]=2740;c[680]=1;c[682]=0;c[683]=0;c[684]=0;lb(49,2704,n|0)|0;b=176;c[b>>2]=1;c[b+4>>2]=0}return 2704}function yi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h;g=c[a>>2]|0;d=c[a+4>>2]|0;c[e>>2]=g;c[e+4>>2]=d;xi()|0;a=b|4;c[f>>2]=a;b=c[683]|0;if(b>>>0<(c[684]|0)>>>0){c[b>>2]=g;c[b+4>>2]=d;c[b+8>>2]=a;a=b+12|0;c[683]=a}else{zi(2728,e,f);a=c[683]|0}i=h;return ((a-(c[682]|0)|0)/12|0)+-1|0}function zi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=a+4|0;i=c[a>>2]|0;j=i;f=(((c[g>>2]|0)-j|0)/12|0)+1|0;if(f>>>0>357913941)km(a);k=a+8|0;h=i;e=((c[k>>2]|0)-h|0)/12|0;if(e>>>0<178956970){e=e<<1;e=e>>>0>>0?f:e}else e=357913941;l=(c[g>>2]|0)-h|0;f=(l|0)/12|0;h=lm(e*12|0)|0;n=c[b+4>>2]|0;d=c[d>>2]|0;m=h+(f*12|0)|0;c[m>>2]=c[b>>2];c[m+4>>2]=n;c[h+(f*12|0)+8>>2]=d;d=h+((((l|0)/-12|0)+f|0)*12|0)|0;Gn(d|0,i|0,l|0)|0;c[a>>2]=d;c[g>>2]=h+((f+1|0)*12|0);c[k>>2]=h+(e*12|0);if(j)nm(j);return}function Ai(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;xi()|0;e=(c[682]|0)+(a*12|0)|0;a=c[e>>2]|0;e=c[e+4>>2]|0;b=b+(e>>1)|0;if(e&1)a=c[(c[b>>2]|0)+a>>2]|0;Bb[a&31](b,d);return}function Bi(a){a=a|0;Ci(a+24|0);return}function Ci(a){a=a|0;var b=0,d=0,e=0;d=c[a>>2]|0;e=d;if(d){a=a+4|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~(((b+-12-e|0)>>>0)/12|0)*12|0);nm(d)}return}function Di(){var b=0;if(!(a[184]|0)){c[687]=1;c[688]=9;c[689]=1820;c[690]=2784;c[691]=1;c[693]=0;c[694]=0;c[695]=0;lb(50,2748,n|0)|0;b=184;c[b>>2]=1;c[b+4>>2]=0}return 2748}function Ei(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h;g=c[a>>2]|0;d=c[a+4>>2]|0;c[e>>2]=g;c[e+4>>2]=d;Di()|0;a=b|4;c[f>>2]=a;b=c[694]|0;if(b>>>0<(c[695]|0)>>>0){c[b>>2]=g;c[b+4>>2]=d;c[b+8>>2]=a;a=b+12|0;c[694]=a}else{Fi(2772,e,f);a=c[694]|0}i=h;return ((a-(c[693]|0)|0)/12|0)+-1|0}function Fi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=a+4|0;i=c[a>>2]|0;j=i;f=(((c[g>>2]|0)-j|0)/12|0)+1|0;if(f>>>0>357913941)km(a);k=a+8|0;h=i;e=((c[k>>2]|0)-h|0)/12|0;if(e>>>0<178956970){e=e<<1;e=e>>>0>>0?f:e}else e=357913941;l=(c[g>>2]|0)-h|0;f=(l|0)/12|0;h=lm(e*12|0)|0;n=c[b+4>>2]|0;d=c[d>>2]|0;m=h+(f*12|0)|0;c[m>>2]=c[b>>2];c[m+4>>2]=n;c[h+(f*12|0)+8>>2]=d;d=h+((((l|0)/-12|0)+f|0)*12|0)|0;Gn(d|0,i|0,l|0)|0;c[a>>2]=d;c[g>>2]=h+((f+1|0)*12|0);c[k>>2]=h+(e*12|0);if(j)nm(j);return}function Gi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;Di()|0;e=(c[693]|0)+(a*12|0)|0;a=c[e>>2]|0;e=c[e+4>>2]|0;b=b+(e>>1)|0;if(e&1)a=c[(c[b>>2]|0)+a>>2]|0;Bb[a&31](b,d);return}function Hi(a){a=a|0;Ii(a+24|0);return}function Ii(a){a=a|0;var b=0,d=0,e=0;d=c[a>>2]|0;e=d;if(d){a=a+4|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~(((b+-12-e|0)>>>0)/12|0)*12|0);nm(d)}return}function Ji(){var b=0;if(!(a[192]|0)){c[702]=1;c[703]=21;c[704]=1820;c[705]=2844;c[706]=0;c[708]=0;c[709]=0;c[710]=0;lb(51,2808,n|0)|0;b=192;c[b>>2]=1;c[b+4>>2]=0}return 2808}function Ki(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h;g=c[a>>2]|0;d=c[a+4>>2]|0;c[e>>2]=g;c[e+4>>2]=d;Ji()|0;a=b|4;c[f>>2]=a;b=c[709]|0;if(b>>>0<(c[710]|0)>>>0){c[b>>2]=g;c[b+4>>2]=d;c[b+8>>2]=a;a=b+12|0;c[709]=a}else{Li(2832,e,f);a=c[709]|0}i=h;return ((a-(c[708]|0)|0)/12|0)+-1|0}function Li(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=a+4|0;i=c[a>>2]|0;j=i;f=(((c[g>>2]|0)-j|0)/12|0)+1|0;if(f>>>0>357913941)km(a);k=a+8|0;h=i;e=((c[k>>2]|0)-h|0)/12|0;if(e>>>0<178956970){e=e<<1;e=e>>>0>>0?f:e}else e=357913941;l=(c[g>>2]|0)-h|0;f=(l|0)/12|0;h=lm(e*12|0)|0;n=c[b+4>>2]|0;d=c[d>>2]|0;m=h+(f*12|0)|0;c[m>>2]=c[b>>2];c[m+4>>2]=n;c[h+(f*12|0)+8>>2]=d;d=h+((((l|0)/-12|0)+f|0)*12|0)|0;Gn(d|0,i|0,l|0)|0;c[a>>2]=d;c[g>>2]=h+((f+1|0)*12|0);c[k>>2]=h+(e*12|0);if(j)nm(j);return}function Mi(a,b){a=a|0;b=b|0;var d=0;Ji()|0;d=(c[708]|0)+(a*12|0)|0;a=c[d>>2]|0;d=c[d+4>>2]|0;b=b+(d>>1)|0;if(d&1)a=c[(c[b>>2]|0)+a>>2]|0;Ab[a&127](b);return}function Ni(a){a=a|0;Oi(a+24|0);return}function Oi(a){a=a|0;var b=0,d=0,e=0;d=c[a>>2]|0;e=d;if(d){a=a+4|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~(((b+-12-e|0)>>>0)/12|0)*12|0);nm(d)}return}function Pi(){var b=0;if(!(a[200]|0)){c[712]=0;c[713]=22;c[714]=1820;c[715]=2252;c[716]=1;c[718]=0;c[719]=0;c[720]=0;lb(52,2848,n|0)|0;b=200;c[b>>2]=1;c[b+4>>2]=0}return 2848}function Qi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;Pi()|0;b=b|4;c[f>>2]=b;d=c[719]|0;if(d>>>0<(c[720]|0)>>>0){c[d>>2]=a;c[d+4>>2]=b;b=d+8|0;c[719]=b}else{Ri(2872,e,f);b=c[719]|0}i=g;return (b-(c[718]|0)>>3)+-1|0}function Ri(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=a+4|0;k=c[a>>2]|0;l=k;f=((c[j>>2]|0)-l>>3)+1|0;if(f>>>0>536870911)km(a);m=a+8|0;g=k;e=(c[m>>2]|0)-g|0;if(e>>3>>>0<268435455){e=e>>2;e=e>>>0>>0?f:e;g=(c[j>>2]|0)-g|0;f=g>>3;if(!e){i=0;h=0;e=g}else n=6}else{g=(c[j>>2]|0)-g|0;e=536870911;f=g>>3;n=6}if((n|0)==6){i=e;h=lm(e<<3)|0;e=g}n=c[d>>2]|0;c[h+(f<<3)>>2]=c[b>>2];c[h+(f<<3)+4>>2]=n;Gn(h|0,k|0,e|0)|0;c[a>>2]=h;c[j>>2]=h+(f+1<<3);c[m>>2]=h+(i<<3);if(l)nm(l);return}function Si(a,b){a=a|0;b=b|0;Pi()|0;Ab[c[(c[2872>>2]|0)+(a<<3)>>2]&127](b);return}function Ti(a){a=a|0;Ui(a+24|0);return}function Ui(a){a=a|0;var b=0,d=0,e=0;d=c[a>>2]|0;e=d;if(d){a=a+4|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~((b+-8-e|0)>>>3)<<3);nm(d)}return}function Vi(){var b=0;if(!(a[208]|0)){c[721]=0;c[722]=16;c[723]=1820;c[724]=2172;c[725]=0;c[727]=0;c[728]=0;c[729]=0;lb(53,2884,n|0)|0;b=208;c[b>>2]=1;c[b+4>>2]=0}return 2884}function Wi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;Vi()|0;b=b|4;c[f>>2]=b;d=c[728]|0;if(d>>>0<(c[729]|0)>>>0){c[d>>2]=a;c[d+4>>2]=b;b=d+8|0;c[728]=b}else{Xi(2908,e,f);b=c[728]|0}i=g;return (b-(c[727]|0)>>3)+-1|0}function Xi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=a+4|0;k=c[a>>2]|0;l=k;f=((c[j>>2]|0)-l>>3)+1|0;if(f>>>0>536870911)km(a);m=a+8|0;g=k;e=(c[m>>2]|0)-g|0;if(e>>3>>>0<268435455){e=e>>2;e=e>>>0>>0?f:e;g=(c[j>>2]|0)-g|0;f=g>>3;if(!e){i=0;h=0;e=g}else n=6}else{g=(c[j>>2]|0)-g|0;e=536870911;f=g>>3;n=6}if((n|0)==6){i=e;h=lm(e<<3)|0;e=g}n=c[d>>2]|0;c[h+(f<<3)>>2]=c[b>>2];c[h+(f<<3)+4>>2]=n;Gn(h|0,k|0,e|0)|0;c[a>>2]=h;c[j>>2]=h+(f+1<<3);c[m>>2]=h+(i<<3);if(l)nm(l);return}function Yi(a){a=a|0;Vi()|0;return Pb[c[(c[2908>>2]|0)+(a<<3)>>2]&7]()|0}function Zi(a){a=a|0;_i(a+24|0);return}function _i(a){a=a|0;var b=0,d=0,e=0;d=c[a>>2]|0;e=d;if(d){a=a+4|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~((b+-8-e|0)>>>3)<<3);nm(d)}return}function $i(){var b=0;if(!(a[224]|0)){c[734]=0;c[735]=0;c[736]=0;c[737]=2944;c[739]=0;a[2960]=0;a[2961]=0;lb(33,2920,n|0)|0;b=224;c[b>>2]=1;c[b+4>>2]=0}return 2920}function aj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((e&896|0)==512){if(d){a=c[d+4>>2]|0;if(a)xn(a);nm(d)}}else if(b){he(b);nm(b)}return}function bj(b,d){b=b|0;d=d|0;Uh()|0;c[b>>2]=2432;c[608]=8613;c[609]=3056;c[611]=d;if(!(a[248]|0)){c[768]=c[767];c[769]=0;d=248;c[d>>2]=1;c[d+4>>2]=0}c[610]=3072;c[616]=5;$j(c[b>>2]|0);return}function cj(){var b=0;if(!(a[240]|0)){c[743]=4;c[744]=3;c[745]=1820;c[746]=3064;c[747]=0;c[749]=0;c[750]=0;c[751]=0;c[748]=54;lb(55,2972,n|0)|0;b=240;c[b>>2]=1;c[b+4>>2]=0}return 2972}function dj(){var b=0;if(!(a[232]|0)){c[752]=4;c[753]=1;c[754]=1820;c[755]=3044;c[756]=2;c[758]=0;c[759]=0;c[760]=0;c[757]=9;lb(56,3008,n|0)|0;b=232;c[b>>2]=1;c[b+4>>2]=0}return 3008}function ej(a,b){a=a|0;b=+b;var d=0,e=0,f=0,g=0;e=Wk(8)|0;d=e;f=lm(16)|0;c[f>>2]=a;h[f+8>>3]=b;g=d+4|0;c[g>>2]=f;a=lm(8)|0;g=c[g>>2]|0;c[a>>2]=g;f=lm(16)|0;c[f+4>>2]=0;c[f+8>>2]=0;c[f>>2]=2484;c[f+12>>2]=g;c[a+4>>2]=f;c[e>>2]=a;return d|0}function fj(b,d,e){b=b|0;d=d|0;e=+e;c[b+8>>2]=d;h[b+16>>3]=e;a[b+24>>0]=1;return}function gj(a){a=a|0;hj(a+24|0);return}function hj(a){a=a|0;var b=0,d=0,e=0;d=c[a>>2]|0;e=d;if(d){a=a+4|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~((b+-8-e|0)>>>3)<<3);nm(d)}return}function ij(){var a=0,b=0,d=0,e=0,f=0;b=Wk(8)|0;a=b;d=lm(16)|0;c[d>>2]=0;h[d+8>>3]=0.0;f=a+4|0;c[f>>2]=d;d=lm(8)|0;f=c[f>>2]|0;c[d>>2]=f;e=lm(16)|0;c[e+4>>2]=0;c[e+8>>2]=0;c[e>>2]=2484;c[e+12>>2]=f;c[d+4>>2]=e;c[b>>2]=d;return a|0}function jj(b){b=b|0;c[b+8>>2]=0;h[b+16>>3]=0.0;a[b+24>>0]=1;return}function kj(a){a=a|0;lj(a+24|0);return}function lj(a){a=a|0;var b=0,d=0,e=0;d=c[a>>2]|0;e=d;if(d){a=a+4|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~((b+-8-e|0)>>>3)<<3);nm(d)}return}function mj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((e&896|0)==512){if(d){a=c[d+4>>2]|0;if(a)xn(a);nm(d)}}else if(b)nm(b);return}function nj(b,d){b=b|0;d=d|0;zg()|0;c[b>>2]=1828;c[457]=8606;c[458]=3120;c[460]=d;if(!(a[248]|0)){c[768]=c[767];c[769]=0;d=248;c[d>>2]=1;c[d+4>>2]=0}c[459]=3072;c[465]=6;$j(c[b>>2]|0);return}function oj(){var b=0;if(!(a[256]|0)){c[770]=4;c[771]=4;c[772]=1820;c[773]=3116;c[774]=0;c[776]=0;c[777]=0;c[778]=0;c[775]=57;lb(58,3080,n|0)|0;b=256;c[b>>2]=1;c[b+4>>2]=0}return 3080}function pj(){var a=0,b=0,d=0,e=0,f=0;a=Wk(8)|0;b=a;d=lm(48)|0;e=d;f=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));e=b+4|0;c[e>>2]=d;f=lm(8)|0;d=c[e>>2]|0;c[f>>2]=d;e=lm(16)|0;c[e+4>>2]=0;c[e+8>>2]=0;c[e>>2]=1880;c[e+12>>2]=d;c[f+4>>2]=e;c[a>>2]=f;return b|0}function qj(b){b=b|0;var d=0,e=0;d=b+8|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a[b+56>>0]=1;return}function rj(a){a=a|0;sj(a+24|0);return}function sj(a){a=a|0;var b=0,d=0,e=0;d=c[a>>2]|0;e=d;if(d){a=a+4|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~((b+-8-e|0)>>>3)<<3);nm(d)}return}function tj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((e&896|0)==512){if(d){a=c[d+4>>2]|0;if(a)xn(a);nm(d)}}else if(b)nm(b);return}function uj(b,d){b=b|0;d=d|0;Ij()|0;c[b>>2]=3252;c[813]=7445;c[814]=3212;c[816]=d;if(!(a[248]|0)){c[768]=c[767];c[769]=0;d=248;c[d>>2]=1;c[d+4>>2]=0}c[815]=3072;c[821]=7;$j(c[b>>2]|0);return}function vj(){var b=0;if(!(a[272]|0)){c[782]=4;c[783]=5;c[784]=1820;c[785]=3248;c[786]=0;c[788]=0;c[789]=0;c[790]=0;c[787]=59;lb(60,3128,n|0)|0;b=272;c[b>>2]=1;c[b+4>>2]=0}return 3128}function wj(){var b=0;if(!(a[264]|0)){c[791]=4;c[792]=1;c[793]=1820;c[794]=3200;c[795]=2;c[797]=0;c[798]=0;c[799]=0;c[796]=1;lb(61,3164,n|0)|0;b=264;c[b>>2]=1;c[b+4>>2]=0}return 3164}function xj(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0;e=Wk(8)|0;d=e;f=lm(16)|0;h[f>>3]=a;h[f+8>>3]=b;i=d+4|0;c[i>>2]=f;f=lm(8)|0;i=c[i>>2]|0;c[f>>2]=i;g=lm(16)|0;c[g+4>>2]=0;c[g+8>>2]=0;c[g>>2]=3228;c[g+12>>2]=i;c[f+4>>2]=g;c[e>>2]=f;return d|0}function yj(b,c,d){b=b|0;c=+c;d=+d;h[b+8>>3]=c;h[b+16>>3]=d;a[b+24>>0]=1;return}function zj(a){a=a|0;Aj(a+24|0);return}function Aj(a){a=a|0;var b=0,d=0,e=0;d=c[a>>2]|0;e=d;if(d){a=a+4|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~((b+-8-e|0)>>>3)<<3);nm(d)}return}function Bj(a){a=a|0;vn(a);nm(a);return}function Cj(a){a=a|0;a=c[a+12>>2]|0;if(a)nm(a);return}function Dj(a){a=a|0;nm(a);return}function Ej(){var a=0,b=0,d=0,e=0,f=0;b=Wk(8)|0;a=b;d=lm(16)|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;f=a+4|0;c[f>>2]=d;d=lm(8)|0;f=c[f>>2]|0;c[d>>2]=f;e=lm(16)|0;c[e+4>>2]=0;c[e+8>>2]=0;c[e>>2]=3228;c[e+12>>2]=f;c[d+4>>2]=e;c[b>>2]=d;return a|0}function Fj(b){b=b|0;var d=0;d=b+8|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;a[b+24>>0]=1;return}function Gj(a){a=a|0;Hj(a+24|0);return}function Hj(a){a=a|0;var b=0,d=0,e=0;d=c[a>>2]|0;e=d;if(d){a=a+4|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~((b+-8-e|0)>>>3)<<3);nm(d)}return}function Ij(){var b=0;if(!(a[280]|0)){c[817]=0;c[818]=0;c[819]=0;c[820]=3276;c[822]=0;a[3292]=0;a[3293]=0;lb(33,3252,n|0)|0;b=280;c[b>>2]=1;c[b+4>>2]=0}return 3252}function Jj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((e&896|0)==512){if(d){a=c[d+4>>2]|0;if(a)xn(a);nm(d)}}else if(b)nm(b);return}function Kj(a){a=a|0;Sf()|0;return Pb[c[(c[1756>>2]|0)+(a<<3)>>2]&7]()|0}function Lj(a){a=a|0;Mj(a+24|0);return}function Mj(a){a=a|0;var b=0,d=0,e=0;d=c[a>>2]|0;e=d;if(d){a=a+4|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~((b+-8-e|0)>>>3)<<3);nm(d)}return}function Nj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=a+4|0;k=c[a>>2]|0;l=k;f=((c[j>>2]|0)-l>>3)+1|0;if(f>>>0>536870911)km(a);m=a+8|0;g=k;e=(c[m>>2]|0)-g|0;if(e>>3>>>0<268435455){e=e>>2;e=e>>>0>>0?f:e;g=(c[j>>2]|0)-g|0;f=g>>3;if(!e){i=0;h=0;e=g}else n=6}else{g=(c[j>>2]|0)-g|0;e=536870911;f=g>>3;n=6}if((n|0)==6){i=e;h=lm(e<<3)|0;e=g}n=c[d>>2]|0;c[h+(f<<3)>>2]=c[b>>2];c[h+(f<<3)+4>>2]=n;Gn(h|0,k|0,e|0)|0;c[a>>2]=h;c[j>>2]=h+(f+1<<3);c[m>>2]=h+(i<<3);if(l)nm(l);return}function Oj(a,b){a=a|0;b=b|0;Qf()|0;return (Cb[c[(c[1720>>2]|0)+(a<<3)>>2]&31](b)|0)&1|0}function Pj(a){a=a|0;Qj(a+24|0);return}function Qj(a){a=a|0;var b=0,d=0,e=0;d=c[a>>2]|0;e=d;if(d){a=a+4|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~((b+-8-e|0)>>>3)<<3);nm(d)}return}function Rj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=a+4|0;k=c[a>>2]|0;l=k;f=((c[j>>2]|0)-l>>3)+1|0;if(f>>>0>536870911)km(a);m=a+8|0;g=k;e=(c[m>>2]|0)-g|0;if(e>>3>>>0<268435455){e=e>>2;e=e>>>0>>0?f:e;g=(c[j>>2]|0)-g|0;f=g>>3;if(!e){i=0;h=0;e=g}else n=6}else{g=(c[j>>2]|0)-g|0;e=536870911;f=g>>3;n=6}if((n|0)==6){i=e;h=lm(e<<3)|0;e=g}n=c[d>>2]|0;c[h+(f<<3)>>2]=c[b>>2];c[h+(f<<3)+4>>2]=n;Gn(h|0,k|0,e|0)|0;c[a>>2]=h;c[j>>2]=h+(f+1<<3);c[m>>2]=h+(i<<3);if(l)nm(l);return}function Sj(a,b,d){a=a|0;b=b|0;d=d|0;Of()|0;Bb[c[(c[1684>>2]|0)+(a<<3)>>2]&31](b,(d|0)!=0);return}function Tj(a){a=a|0;Uj(a+24|0);return}function Uj(a){a=a|0;var b=0,d=0,e=0;d=c[a>>2]|0;e=d;if(d){a=a+4|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~((b+-8-e|0)>>>3)<<3);nm(d)}return}function Vj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=a+4|0;k=c[a>>2]|0;l=k;f=((c[j>>2]|0)-l>>3)+1|0;if(f>>>0>536870911)km(a);m=a+8|0;g=k;e=(c[m>>2]|0)-g|0;if(e>>3>>>0<268435455){e=e>>2;e=e>>>0>>0?f:e;g=(c[j>>2]|0)-g|0;f=g>>3;if(!e){i=0;h=0;e=g}else n=6}else{g=(c[j>>2]|0)-g|0;e=536870911;f=g>>3;n=6}if((n|0)==6){i=e;h=lm(e<<3)|0;e=g}n=c[d>>2]|0;c[h+(f<<3)>>2]=c[b>>2];c[h+(f<<3)+4>>2]=n;Gn(h|0,k|0,e|0)|0;c[a>>2]=h;c[j>>2]=h+(f+1<<3);c[m>>2]=h+(i<<3);if(l)nm(l);return}function Wj(b,d){b=b|0;d=d|0;var e=0,f=0;if(!(a[8632]|0)){c[829]=0;lb(62,3316,n|0)|0;a[8632]=1}e=c[829]|0;a:do if(e){f=e;while(1){e=c[f+4>>2]|0;if((e|0)!=0?(jn(c[e+12>>2]|0,b)|0)==0:0)break;f=c[f>>2]|0;if(!f)break a}dk(e,d)}while(0);return}function Xj(){if(!(a[8632]|0)){c[829]=0;lb(62,3316,n|0)|0;a[8632]=1}return 3316}function Yj(){if(!(a[8633]|0)){c[830]=0;lb(63,3320,n|0)|0;a[8633]=1}return 3320}function Zj(){var b=0;if(!(a[8634]|0)){if(!(a[8635]|0)){a[8636]=8;a[8637]=0;a[8638]=16;a[8639]=8;a[8640]=0;a[8641]=8;a[8642]=0;a[8643]=8;a[8644]=0;a[8645]=8;a[8646]=0;a[8647]=32;a[8648]=32;a[8635]=1}c[831]=3328;a[8634]=1;b=3328}else b=c[831]|0;return b|0}function _j(){return 3340}function $j(b){b=b|0;var d=0;if(!(a[8632]|0)){c[829]=0;lb(62,3316,n|0)|0;a[8632]=1}d=lm(8)|0;c[d+4>>2]=b;c[d>>2]=c[829];c[829]=d;return}function ak(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;if(!(a[8633]|0)){c[830]=0;lb(63,3320,n|0)|0;a[8633]=1}h=lm(24)|0;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;c[h+20>>2]=g;c[h>>2]=c[830];c[830]=h;return}function bk(){fk(3472,8745);return}function ck(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(b)do{d=b;b=c[b>>2]|0;nm(d)}while((b|0)!=0);c[a>>2]=0;return}function dk(a,b){a=a|0;b=b|0;var d=0,e=0;a=a+36|0;d=c[a>>2]|0;if(d){e=c[d>>2]|0;if(e)kb(e|0);nm(d)}e=lm(4)|0;b=c[b>>2]|0;c[e>>2]=b;Ea(b|0);c[a>>2]=e;return}function ek(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(b)do{d=b;b=c[b>>2]|0;nm(d)}while((b|0)!=0);c[a>>2]=0;return}function fk(b,d){b=b|0;d=d|0;gk()|0;c[b>>2]=3476;c[869]=8751;c[870]=3520;c[872]=d;if(!(a[216]|0)){c[741]=0;c[742]=0;d=216;c[d>>2]=1;c[d+4>>2]=0}c[871]=2964;c[877]=8;$j(c[b>>2]|0);return}function gk(){var b=0;if(!(a[312]|0)){c[873]=0;c[874]=0;c[875]=0;c[876]=3500;c[878]=0;a[3516]=0;a[3517]=0;lb(33,3476,n|0)|0;b=312;c[b>>2]=1;c[b+4>>2]=0}return 3476}function hk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((e&896|0)==512){if(d){a=c[d+4>>2]|0;if(a)xn(a);nm(d)}}else if(b)nm(b);return}function ik(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+48|0;u=v+24|0;q=v+20|0;t=v+8|0;r=v+4|0;s=v;b=c[b>>2]|0;if(b){m=u+4|0;n=u+8|0;o=t+4|0;p=t+8|0;k=t+8|0;l=u+8|0;do{h=b;j=c[h+16>>2]|0;if(j){f=c[j+12>>2]|0;c[u>>2]=0;c[m>>2]=0;c[n>>2]=0;e=(c[j+16>>2]|0)+1|0;lk(u,e);if(e)while(1){e=e+-1|0;Yk(q,c[f>>2]|0);g=c[m>>2]|0;if(g>>>0<(c[l>>2]|0)>>>0){c[g>>2]=c[q>>2];c[m>>2]=(c[m>>2]|0)+4}else mk(u,q);if(!e)break;else f=f+4|0}e=c[j+8>>2]|0;c[t>>2]=0;c[o>>2]=0;c[p>>2]=0;a:do if(c[e>>2]|0){f=0;g=0;while(1){if((f|0)==(g|0))nk(t,e);else{c[f>>2]=c[e>>2];c[o>>2]=(c[o>>2]|0)+4}e=e+4|0;if(!(c[e>>2]|0))break a;f=c[o>>2]|0;g=c[k>>2]|0}}while(0);c[r>>2]=c[h+4>>2];c[s>>2]=c[j>>2];ok(d,a,r,s,u,t);e=c[t>>2]|0;f=e;if(e){g=c[o>>2]|0;if((g|0)!=(e|0))c[o>>2]=g+(~((g+-4-f|0)>>>2)<<2);nm(e)}e=c[u>>2]|0;f=e;if(e){g=c[m>>2]|0;if((g|0)!=(e|0))c[m>>2]=g+(~((g+-4-f|0)>>>2)<<2);nm(e)}}b=c[b>>2]|0}while((b|0)!=0)}i=v;return}function jk(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+64|0;r=x+52|0;l=x+48|0;m=x+44|0;n=x+40|0;q=x+36|0;o=x+32|0;p=x+28|0;u=x+24|0;v=x+20|0;w=x+8|0;s=x+4|0;t=x;j=Zj()|0;h=c[j>>2]|0;g=c[h>>2]|0;if(g){k=c[j+8>>2]|0;j=c[j+4>>2]|0;while(1){Yk(l,g);pk(a,l,j,k);h=h+4|0;g=c[h>>2]|0;if(!g)break;else{k=k+1|0;j=j+1|0}}}h=_j()|0;g=c[h>>2]|0;if(g)do{Yk(m,g);c[n>>2]=c[h+4>>2];qk(b,m,n);h=h+8|0;g=c[h>>2]|0}while((g|0)!=0);g=c[(Xj()|0)>>2]|0;if(g)do{b=c[g+4>>2]|0;Yk(q,c[b>>2]|0);c[o>>2]=c[b+12>>2];rk(d,q,o);g=c[g>>2]|0}while((g|0)!=0);Yk(p,0);g=Yj()|0;c[r>>2]=c[p>>2];ik(r,g,f);g=c[(Xj()|0)>>2]|0;if(g){a=w+4|0;m=w+8|0;n=w+8|0;do{l=c[g+4>>2]|0;Yk(u,c[l>>2]|0);sk(v,l+16|0);h=c[v>>2]|0;if(h){c[w>>2]=0;c[a>>2]=0;c[m>>2]=0;do{Yk(s,c[c[h+4>>2]>>2]|0);j=c[a>>2]|0;if(j>>>0<(c[n>>2]|0)>>>0){c[j>>2]=c[s>>2];c[a>>2]=(c[a>>2]|0)+4}else mk(w,s);h=c[h>>2]|0}while((h|0)!=0);tk(e,u,w);h=c[w>>2]|0;j=h;if(h){k=c[a>>2]|0;if((k|0)!=(h|0))c[a>>2]=k+(~((k+-4-j|0)>>>2)<<2);nm(h)}}c[t>>2]=c[u>>2];c[r>>2]=c[t>>2];ik(r,l+24|0,f);h=c[v>>2]|0;if(h)do{d=h;h=c[h>>2]|0;nm(d)}while((h|0)!=0);c[v>>2]=0;g=c[g>>2]|0}while((g|0)!=0)}i=x;return}function kk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;o=q+16|0;e=q+31|0;f=q+30|0;g=q+12|0;l=q+8|0;m=q+29|0;n=q+4|0;h=q+28|0;j=q;k=_k(b)|0;c[o>>2]=0;p=o+4|0;c[p>>2]=0;c[o+8>>2]=0;switch(k<<24>>24){case 0:{a[e>>0]=0;h=uk(d,e)|0;break}case 8:{h=Zk(b)|0;a[f>>0]=8;Yk(g,c[h+4>>2]|0);h=vk(d,f,g,h+8|0)|0;break}case 9:{h=Zk(b)|0;e=c[h+4>>2]|0;if(e){j=o+8|0;g=h+12|0;while(1){e=e+-1|0;Yk(l,c[g>>2]|0);f=c[p>>2]|0;if(f>>>0<(c[j>>2]|0)>>>0){c[f>>2]=c[l>>2];c[p>>2]=(c[p>>2]|0)+4}else mk(o,l);if(!e)break;else g=g+4|0}}a[m>>0]=9;Yk(n,c[h+8>>2]|0);h=wk(d,m,n,o)|0;break}default:{n=Zk(b)|0;a[h>>0]=k;Yk(j,c[n+4>>2]|0);h=xk(d,h,j)|0}}e=c[o>>2]|0;f=e;if(e){g=c[p>>2]|0;if((g|0)!=(e|0))c[p>>2]=g+(~((g+-4-f|0)>>>2)<<2);nm(e)}i=q;return h|0}function lk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=a+8|0;g=c[a>>2]|0;d=g;if((c[f>>2]|0)-d>>2>>>0>>0){h=a+4|0;d=(c[h>>2]|0)-d|0;if(!b)e=0;else e=lm(b<<2)|0;Gn(e|0,g|0,d|0)|0;c[a>>2]=e;c[h>>2]=e+(d>>2<<2);c[f>>2]=e+(b<<2);if(g)nm(g)}return}function mk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=a+4|0;j=c[a>>2]|0;k=j;e=((c[i>>2]|0)-k>>2)+1|0;if(e>>>0>1073741823)km(a);l=a+8|0;f=j;d=(c[l>>2]|0)-f|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?e:d;f=(c[i>>2]|0)-f|0;e=f>>2;if(!d){h=0;g=0;d=f}else m=6}else{f=(c[i>>2]|0)-f|0;d=1073741823;e=f>>2;m=6}if((m|0)==6){h=d;g=lm(d<<2)|0;d=f}c[g+(e<<2)>>2]=c[b>>2];Gn(g|0,j|0,d|0)|0;c[a>>2]=g;c[i>>2]=g+(e+1<<2);c[l>>2]=g+(h<<2);if(k)nm(k);return}function nk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=a+4|0;j=c[a>>2]|0;k=j;e=((c[i>>2]|0)-k>>2)+1|0;if(e>>>0>1073741823)km(a);l=a+8|0;f=j;d=(c[l>>2]|0)-f|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?e:d;f=(c[i>>2]|0)-f|0;e=f>>2;if(!d){h=0;g=0;d=f}else m=6}else{f=(c[i>>2]|0)-f|0;d=1073741823;e=f>>2;m=6}if((m|0)==6){h=d;g=lm(d<<2)|0;d=f}c[g+(e<<2)>>2]=c[b>>2];Gn(g|0,j|0,d|0)|0;c[a>>2]=g;c[i>>2]=g+(e+1<<2);c[l>>2]=g+(h<<2);if(k)nm(k);return}function ok(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;l=i;i=i+48|0;m=l+40|0;k=l+32|0;o=l+24|0;j=l+12|0;h=l;al(k);n=c[a>>2]|0;c[o>>2]=c[b>>2];a=c[d>>2]|0;e=c[e>>2]|0;Fk(j,f);Sk(h,g);c[m>>2]=c[o>>2];Tk(n,m,a,e,j,h);e=c[h>>2]|0;f=e;if(e){b=h+4|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-4-f|0)>>>2)<<2);nm(e)}e=c[j>>2]|0;f=e;if(e){b=j+4|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-4-f|0)>>>2)<<2);nm(e)}bl(k);i=l;return}function pk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;j=g+16|0;h=g+8|0;l=g;al(h);k=c[b>>2]|0;c[l>>2]=c[d>>2];e=a[e>>0]|0;b=a[f>>0]|0;c[j>>2]=c[l>>2];Qk(k,j,e,b);bl(h);i=g;return}function qk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;g=e+16|0;f=e+8|0;j=e;al(f);h=c[a>>2]|0;c[j>>2]=c[b>>2];a=c[d>>2]|0;c[g>>2]=c[j>>2];Ok(h,g,a);bl(f);i=e;return}function rk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;g=e+16|0;f=e+8|0;j=e;al(f);h=c[a>>2]|0;c[j>>2]=c[b>>2];a=c[d>>2]|0;c[g>>2]=c[j>>2];Ok(h,g,a);bl(f);i=e;return}function sk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;c[a>>2]=0;b=c[b>>2]|0;if(b){f=lm(12)|0;g=b+4|0;d=c[g+4>>2]|0;e=f+4|0;c[e>>2]=c[g>>2];c[e+4>>2]=d;b=c[b>>2]|0;if(!b)b=f;else{e=f;while(1){d=lm(12)|0;i=b+4|0;h=c[i+4>>2]|0;g=d+4|0;c[g>>2]=c[i>>2];c[g+4>>2]=h;c[e>>2]=d;b=c[b>>2]|0;if(!b){b=d;break}else e=d}}c[b>>2]=0;c[a>>2]=f}return}function tk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;e=h+24|0;g=h+16|0;j=h+12|0;f=h;al(g);a=c[a>>2]|0;c[j>>2]=c[b>>2];Fk(f,d);c[e>>2]=c[j>>2];Mk(a,e,f);a=c[f>>2]|0;e=a;if(a){b=f+4|0;d=c[b>>2]|0;if((d|0)!=(a|0))c[b>>2]=d+(~((d+-4-e|0)>>>2)<<2);nm(a)}bl(g);i=h;return}function uk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e;al(f);g=c[b>>2]|0;b=a[d>>0]|0;Lk()|0;b=vb(0,c[924]|0,g|0,b&255|0)|0;bl(f);i=e;return b|0}function vk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;j=g+16|0;h=g+8|0;l=g;al(h);k=c[b>>2]|0;d=a[d>>0]|0;c[l>>2]=c[e>>2];b=c[f>>2]|0;c[j>>2]=c[l>>2];b=Jk(k,d,j,b)|0;bl(h);i=g;return b|0}function wk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;g=k+24|0;j=k+16|0;m=k+12|0;h=k;al(j);l=c[b>>2]|0;b=a[d>>0]|0;c[m>>2]=c[e>>2];Fk(h,f);c[g>>2]=c[m>>2];f=Gk(l,b,g,h)|0;b=c[h>>2]|0;g=b;if(b){e=h+4|0;d=c[e>>2]|0;if((d|0)!=(b|0))c[e>>2]=d+(~((d+-4-g|0)>>>2)<<2);nm(b)}bl(j);i=k;return f|0}function xk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+32|0;h=f+16|0;g=f+8|0;k=f;al(g);j=c[b>>2]|0;b=a[d>>0]|0;c[k>>2]=c[e>>2];c[h>>2]=c[k>>2];b=yk(j,b,h)|0;bl(g);i=f;return b|0}function yk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e;zk()|0;g=c[884]|0;c[f>>2]=c[d>>2];a=ub(0,g|0,a|0,b&255|0,Ak(f)|0)|0;i=e;return a|0}function zk(){var b=0;if(!(a[328]|0)){c[882]=3612;c[883]=2;c[884]=ib(3612,3)|0;b=328;c[b>>2]=1;c[b+4>>2]=0}return 3528}function Ak(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+32|0;e=f+12|0;b=f;Bk()|0;d=c[894]|0;if(!d){e=Wk(8)|0;b=e;d=lm(4)|0;c[d>>2]=c[a>>2];g=b+4|0;c[g>>2]=d;a=lm(8)|0;g=c[g>>2]|0;c[a>>2]=g;d=lm(16)|0;c[d+4>>2]=0;c[d+8>>2]=0;c[d>>2]=3592;c[d+12>>2]=g;c[a+4>>2]=d;c[e>>2]=a}else{c[e>>2]=d;g=e+4|0;c[g>>2]=e;c[e+8>>2]=0;c[b>>2]=d;c[b+4>>2]=e;c[b+8>>2]=0;$k(a,b);b=c[(c[g>>2]|0)+8>>2]|0}i=f;return b|0}function Bk(){var b=0;if(!(a[320]|0)){c[889]=0;c[890]=0;c[891]=0;c[892]=3564;c[894]=0;a[3580]=0;a[3581]=0;lb(33,3540,n|0)|0;b=320;c[b>>2]=1;c[b+4>>2]=0}return 3540}function Ck(a){a=a|0;vn(a);nm(a);return}function Dk(a){a=a|0;a=c[a+12>>2]|0;if(a)nm(a);return}function Ek(a){a=a|0;nm(a);return}function Fk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;c[a>>2]=0;g=a+4|0;c[g>>2]=0;c[a+8>>2]=0;e=b+4|0;f=(c[e>>2]|0)-(c[b>>2]|0)>>2;if((f|0)!=0?(Ik(a,f),d=c[b>>2]|0,h=c[e>>2]|0,(d|0)!=(h|0)):0){e=c[g>>2]|0;do{c[e>>2]=c[d>>2];e=(c[g>>2]|0)+4|0;c[g>>2]=e;d=d+4|0}while((d|0)!=(h|0))}return}function Gk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l;Hk()|0;k=c[908]|0;h=b&255;c[g>>2]=c[d>>2];g=Ak(g)|0;j=c[e>>2]|0;b=e+4|0;d=c[b>>2]|0;c[e+8>>2]=0;c[b>>2]=0;c[e>>2]=0;e=j;d=d-j|0;b=d>>2;d=Wk(d+4|0)|0;c[d>>2]=b;if(b){f=0;do{c[d+4+(f<<2)>>2]=Ak(e+(f<<2)|0)|0;f=f+1|0}while((f|0)!=(b|0))}b=tb(0,k|0,a|0,h|0,g|0,d|0)|0;if(j)nm(j);i=l;return b|0}function Hk(){var b=0;if(!(a[336]|0)){c[906]=3636;c[907]=3;c[908]=ib(3636,4)|0;b=336;c[b>>2]=1;c[b+4>>2]=0}return 3624}function Ik(a,b){a=a|0;b=b|0;var d=0;if(b>>>0>1073741823)km(a);else{d=lm(b<<2)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(b<<2);return}}function Jk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f;Kk()|0;h=c[917]|0;c[g>>2]=c[d>>2];a=tb(0,h|0,a|0,b&255|0,Ak(g)|0,e|0)|0;i=f;return a|0}function Kk(){var b=0;if(!(a[344]|0)){c[915]=3672;c[916]=3;c[917]=ib(3672,4)|0;b=344;c[b>>2]=1;c[b+4>>2]=0}return 3660}function Lk(){var b=0;if(!(a[352]|0)){c[922]=3700;c[923]=1;c[924]=ib(3700,2)|0;b=352;c[b>>2]=1;c[b+4>>2]=0}return 3688}function Mk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k;Nk()|0;j=c[929]|0;c[g>>2]=c[b>>2];g=Ak(g)|0;h=c[d>>2]|0;e=d+4|0;b=c[e>>2]|0;c[d+8>>2]=0;c[e>>2]=0;c[d>>2]=0;e=h;d=b-h|0;b=d>>2;d=Wk(d+4|0)|0;c[d>>2]=b;if(b){f=0;do{c[d+4+(f<<2)>>2]=Ak(e+(f<<2)|0)|0;f=f+1|0}while((f|0)!=(b|0))}ub(0,j|0,a|0,g|0,d|0)|0;if(h)nm(h);i=k;return}function Nk(){var b=0;if(!(a[360]|0)){c[927]=3720;c[928]=2;c[929]=ib(3720,3)|0;b=360;c[b>>2]=1;c[b+4>>2]=0}return 3708}function Ok(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e;Pk()|0;g=c[935]|0;c[f>>2]=c[b>>2];ub(0,g|0,a|0,Ak(f)|0,d|0)|0;i=e;return}function Pk(){var b=0;if(!(a[368]|0)){c[933]=3744;c[934]=2;c[935]=ib(3744,3)|0;b=368;c[b>>2]=1;c[b+4>>2]=0}return 3732}function Qk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f;Rk()|0;h=c[945]|0;c[g>>2]=c[b>>2];tb(0,h|0,a|0,Ak(g)|0,d&255|0,e&255|0)|0;i=f;return}function Rk(){var b=0;if(!(a[376]|0)){c[943]=3784;c[944]=3;c[945]=ib(3784,4)|0;b=376;c[b>>2]=1;c[b+4>>2]=0}return 3772}function Sk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;c[a>>2]=0;g=a+4|0;c[g>>2]=0;c[a+8>>2]=0;e=b+4|0;f=(c[e>>2]|0)-(c[b>>2]|0)>>2;if((f|0)!=0?(Vk(a,f),d=c[b>>2]|0,h=c[e>>2]|0,(d|0)!=(h|0)):0){e=c[g>>2]|0;do{c[e>>2]=c[d>>2];e=(c[g>>2]|0)+4|0;c[g>>2]=e;d=d+4|0}while((d|0)!=(h|0))}return}function Tk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+16|0;l=p;Uk()|0;o=c[952]|0;c[l>>2]=c[b>>2];l=Ak(l)|0;m=c[f>>2]|0;b=f+4|0;k=c[b>>2]|0;c[f+8>>2]=0;c[b>>2]=0;c[f>>2]=0;f=m;k=k-m|0;b=k>>2;k=Wk(k+4|0)|0;c[k>>2]=b;if(b){h=0;do{c[k+4+(h<<2)>>2]=Ak(f+(h<<2)|0)|0;h=h+1|0}while((h|0)!=(b|0))}j=c[g>>2]|0;f=g+4|0;h=c[f>>2]|0;c[g+8>>2]=0;c[f>>2]=0;c[g>>2]=0;f=j;g=h-j|0;h=g>>2;g=Wk(g+4|0)|0;c[g>>2]=h;if(!h){rb(0,o|0,a|0,l|0,d|0,e|0,k|0,g|0)|0;if(j)n=7}else{b=0;do{c[g+4+(b<<2)>>2]=c[f+(b<<2)>>2];b=b+1|0}while((b|0)!=(h|0));rb(0,o|0,a|0,l|0,d|0,e|0,k|0,g|0)|0;n=7}if((n|0)==7)nm(j);if(m)nm(m);i=p;return}function Uk(){var b=0;if(!(a[384]|0)){c[950]=3812;c[951]=5;c[952]=ib(3812,6)|0;b=384;c[b>>2]=1;c[b+4>>2]=0}return 3800}function Vk(a,b){a=a|0;b=b|0;var d=0;if(b>>>0>1073741823)km(a);else{d=lm(b<<2)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(b<<2);return}}function Wk(a){a=a|0;var b=0,d=0;a=a+7&-8;if(a>>>0<=32768?(b=c[961]|0,a>>>0<=(65536-b|0)>>>0):0){d=(c[962]|0)+b|0;c[961]=b+a;a=d}else{a=mm(a+8|0)|0;c[a>>2]=c[963];c[963]=a;a=a+8|0}return a|0}function Xk(a,b){a=a|0;b=b|0;var d=0,e=0;a:while(1){d=c[963]|0;while(1){if((d|0)==(b|0))break a;e=c[d>>2]|0;c[963]=e;if(!d)d=e;else break}nm(d)}c[961]=a;return}function Yk(a,b){a=a|0;b=b|0;c[a>>2]=b;return}function Zk(a){a=a|0;return c[a>>2]|0}function _k(b){b=b|0;return a[c[b>>2]>>0]|0}function $k(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=c[a>>2];a=el(c[b>>2]|0,e)|0;c[(c[b+4>>2]|0)+8>>2]=a;i=d;return}function al(a){a=a|0;c[a>>2]=c[961];c[a+4>>2]=c[963];return}function bl(a){a=a|0;var b=0,d=0,e=0;e=c[a>>2]|0;d=c[a+4>>2]|0;a:while(1){a=c[963]|0;while(1){if((a|0)==(d|0))break a;b=c[a>>2]|0;c[963]=b;if(!a)a=b;else break}nm(a)}c[961]=e;return}function cl(){fl();return}function dl(){c[962]=mm(65536)|0;hl(3876);il(3880);return}function el(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[961]|0;e=c[963]|0;a=c[a>>2]|0;d=c[b>>2]|0;gl()|0;d=vb(0,c[966]|0,a|0,d|0)|0;a:while(1){b=c[963]|0;while(1){if((b|0)==(e|0))break a;a=c[b>>2]|0;c[963]=a;if(!b)b=a;else break}nm(b)}c[961]=f;return d|0}function fl(){var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;Ha(65536,3844,c[962]|0,3852);f=Zj()|0;e=c[f>>2]|0;b=c[e>>2]|0;if(b){g=c[f+8>>2]|0;f=c[f+4>>2]|0;while(1){pb(b|0,d[f>>0]|0,a[g>>0]|0);e=e+4|0;b=c[e>>2]|0;if(!b)break;else{g=g+1|0;f=f+1|0}}}e=_j()|0;b=c[e>>2]|0;if(b)do{Ua(b|0,c[e+4>>2]|0);e=e+8|0;b=c[e>>2]|0}while((b|0)!=0);Ua(8607,8753);e=Xj()|0;b=c[e>>2]|0;f=(b|0)==0;a:do if(!f){g=b;do{a[(c[g+4>>2]|0)+40>>0]=0;g=c[g>>2]|0}while((g|0)!=0);if(!f)while(1){g=e;h=e;e=b;while(1){f=e;e=c[e>>2]|0;f=c[f+4>>2]|0;b=f+40|0;if(!(a[b>>0]|0)){n=e;break}n=c[g>>2]|0;c[h>>2]=c[n>>2];nm(n);if(!e)break a}a[b>>0]=1;e=c[h>>2]|0;j=f+20|0;b=c[j>>2]|0;k=cb()|0;l=i;i=i+((1*(b<<2)|0)+15&-16)|0;m=i;i=i+((1*(b<<2)|0)+15&-16)|0;b=c[f+16>>2]|0;if(b){g=l;h=m;while(1){r=b;c[g>>2]=c[c[r+4>>2]>>2];c[h>>2]=c[r+8>>2];b=c[b>>2]|0;if(!b)break;else{g=g+4|0;h=h+4|0}}}_a(f|0,c[f+8>>2]|0,l|0,m|0,c[j>>2]|0,c[f+32>>2]|0,c[f+12>>2]|0);Ka(k|0);if(!n)break;else b=n}}while(0);b=c[(Yj()|0)>>2]|0;if(b)do{r=b;n=c[r+16>>2]|0;jb(0,c[n+8>>2]|0,c[n+12>>2]|0,(c[n+16>>2]|0)+1|0,c[n+4>>2]|0,c[r+8>>2]|0,c[n>>2]|0,c[r+4>>2]|0,c[r+12>>2]|0,c[r+20>>2]|0);b=c[b>>2]|0}while((b|0)!=0);b=c[(Xj()|0)>>2]|0;if(b)do{e=c[b+4>>2]|0;if((e|0)!=0?(o=c[e>>2]|0,p=c[e+24>>2]|0,(p|0)!=0):0){f=p;do{e=f;g=e+4|0;h=c[e+16>>2]|0;b:do if(h){j=c[h>>2]|0;switch(j|0){case 3:case 2:case 1:{jb(o|0,c[h+8>>2]|0,c[h+12>>2]|0,(c[h+16>>2]|0)+1|0,c[h+4>>2]|0,0,j|0,c[g>>2]|0,c[e+12>>2]|0,c[e+20>>2]|0);break b}case 0:{jb(o|0,c[h+8>>2]|0,c[h+12>>2]|0,(c[h+16>>2]|0)+1|0,c[h+4>>2]|0,c[e+8>>2]|0,0,c[g>>2]|0,c[e+12>>2]|0,c[e+20>>2]|0);break b}case 4:{jb(o|0,c[h+8>>2]|0,c[h+12>>2]|0,(c[h+16>>2]|0)+1|0,c[h+4>>2]|0,c[h+20>>2]|0,4,0,0,0);break b}default:break b}}while(0);f=c[f>>2]|0}while((f|0)!=0)}b=c[b>>2]|0}while((b|0)!=0);Da();i=q;return}function gl(){var b=0;if(!(a[392]|0)){c[964]=3868;c[965]=1;c[966]=ib(3868,2)|0;b=392;c[b>>2]=1;c[b+4>>2]=0}return 3856}function hl(a){a=a|0;var b=0,d=0,e=0,f=0;ql(a,8838);b=c[a>>2]|0;rl()|0;b=b+28|0;e=c[b>>2]|0;f=lm(24)|0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=3936;c[f+20>>2]=0;d=e;c[f>>2]=c[d>>2];c[e>>2]=f;c[b>>2]=c[d>>2];sl(a,8844,23,0);tl(a,8855,3,0);ul(a,8863,11,0);vl(a,8873,17,0);wl(a,8880,24,0);return}function il(a){a=a|0;var b=0,d=0,e=0;jl(a,8830);a=c[a>>2]|0;kl()|0;a=a+28|0;d=c[a>>2]|0;e=lm(24)|0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=3884;c[e+20>>2]=0;b=d;c[e>>2]=c[b>>2];c[d>>2]=e;c[a>>2]=c[b>>2];return}function jl(b,d){b=b|0;d=d|0;Bk()|0;c[b>>2]=3540;c[885]=8752;c[886]=3928;c[888]=d;if(!(a[248]|0)){c[768]=c[767];c[769]=0;d=248;c[d>>2]=1;c[d+4>>2]=0}c[887]=3072;c[893]=9;$j(c[b>>2]|0);return}function kl(){var b=0;if(!(a[400]|0)){c[971]=4;c[972]=18;c[973]=1820;c[974]=3920;c[975]=1;c[977]=0;c[978]=0;c[979]=0;c[976]=25;lb(64,3884,n|0)|0;b=400;c[b>>2]=1;c[b+4>>2]=0}return 3884}function ll(a){a=a|0;var b=0,d=0,e=0,f=0;d=Wk(8)|0;b=d;e=lm(4)|0;c[e>>2]=a;f=b+4|0;c[f>>2]=e;a=lm(8)|0;f=c[f>>2]|0;c[a>>2]=f;e=lm(16)|0;c[e+4>>2]=0;c[e+8>>2]=0;c[e>>2]=3592;c[e+12>>2]=f;c[a+4>>2]=e;c[d>>2]=a;return b|0}function ml(b,d){b=b|0;d=d|0;c[b+4>>2]=d;a[b+8>>0]=1;return}function nl(a){a=a|0;ol(a+24|0);return}function ol(a){a=a|0;var b=0,d=0,e=0;d=c[a>>2]|0;e=d;if(d){a=a+4|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~((b+-8-e|0)>>>3)<<3);nm(d)}return}function pl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((e&896|0)==512){if(d){a=c[d+4>>2]|0;if(a)xn(a);nm(d)}}else if(b)nm(b);return}function ql(b,d){b=b|0;d=d|0;im()|0;c[b>>2]=4260;c[1065]=8887;c[1066]=4224;c[1068]=d;if(!(a[216]|0)){c[741]=0;c[742]=0;d=216;c[d>>2]=1;c[d+4>>2]=0}c[1067]=2964;c[1073]=10;$j(c[b>>2]|0);return}function rl(){var b=0;if(!(a[448]|0)){c[984]=4;c[985]=6;c[986]=1820;c[987]=4220;c[988]=0;c[990]=0;c[991]=0;c[992]=0;c[989]=65;lb(66,3936,n|0)|0;b=448;c[b>>2]=1;c[b+4>>2]=0}return 3936}function sl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a=c[a>>2]|0;Xl()|0;h=Yl(d,e)|0;a=a+28|0;f=c[a>>2]|0;g=lm(24)|0;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=h;c[g+16>>2]=4172;c[g+20>>2]=e;b=f;c[g>>2]=c[b>>2];c[f>>2]=g;c[a>>2]=c[b>>2];return}function tl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a=c[a>>2]|0;Ql()|0;h=Rl(d,e)|0;a=a+28|0;f=c[a>>2]|0;g=lm(24)|0;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=h;c[g+16>>2]=4112;c[g+20>>2]=e;b=f;c[g>>2]=c[b>>2];c[f>>2]=g;c[a>>2]=c[b>>2];return}function ul(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a=c[a>>2]|0;Jl()|0;h=Kl(d,e)|0;a=a+28|0;f=c[a>>2]|0;g=lm(24)|0;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=h;c[g+16>>2]=4064;c[g+20>>2]=e;b=f;c[g>>2]=c[b>>2];c[f>>2]=g;c[a>>2]=c[b>>2];return}function vl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a=c[a>>2]|0;Dl()|0;h=El(d,e)|0;a=a+28|0;f=c[a>>2]|0;g=lm(24)|0;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=h;c[g+16>>2]=4020;c[g+20>>2]=e;b=f;c[g>>2]=c[b>>2];c[f>>2]=g;c[a>>2]=c[b>>2];return}function wl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a=c[a>>2]|0;xl()|0;h=yl(d,e)|0;a=a+28|0;f=c[a>>2]|0;g=lm(24)|0;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=h;c[g+16>>2]=3972;c[g+20>>2]=e;b=f;c[g>>2]=c[b>>2];c[f>>2]=g;c[a>>2]=c[b>>2];return}function xl(){var b=0;if(!(a[408]|0)){c[993]=0;c[994]=10;c[995]=1820;c[996]=4008;c[997]=2;c[999]=0;c[1e3]=0;c[1001]=0;lb(67,3972,n|0)|0;b=408;c[b>>2]=1;c[b+4>>2]=0}return 3972}function yl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;xl()|0;b=b|4;c[f>>2]=b;d=c[1e3]|0;if(d>>>0<(c[1001]|0)>>>0){c[d>>2]=a;c[d+4>>2]=b;b=d+8|0;c[1e3]=b}else{zl(3996,e,f);b=c[1e3]|0}i=g;return (b-(c[999]|0)>>3)+-1|0}function zl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=a+4|0;k=c[a>>2]|0;l=k;f=((c[j>>2]|0)-l>>3)+1|0;if(f>>>0>536870911)km(a);m=a+8|0;g=k;e=(c[m>>2]|0)-g|0;if(e>>3>>>0<268435455){e=e>>2;e=e>>>0>>0?f:e;g=(c[j>>2]|0)-g|0;f=g>>3;if(!e){i=0;h=0;e=g}else n=6}else{g=(c[j>>2]|0)-g|0;e=536870911;f=g>>3;n=6}if((n|0)==6){i=e;h=lm(e<<3)|0;e=g}n=c[d>>2]|0;c[h+(f<<3)>>2]=c[b>>2];c[h+(f<<3)+4>>2]=n;Gn(h|0,k|0,e|0)|0;c[a>>2]=h;c[j>>2]=h+(f+1<<3);c[m>>2]=h+(i<<3);if(l)nm(l);return}function Al(a,b,d){a=a|0;b=b|0;d=d|0;xl()|0;Bb[c[(c[3996>>2]|0)+(a<<3)>>2]&31](b,d);return}function Bl(a){a=a|0;Cl(a+24|0);return}function Cl(a){a=a|0;var b=0,d=0,e=0;d=c[a>>2]|0;e=d;if(d){a=a+4|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~((b+-8-e|0)>>>3)<<3);nm(d)}return}function Dl(){var b=0;if(!(a[416]|0)){c[1005]=0;c[1006]=12;c[1007]=1820;c[1008]=4056;c[1009]=1;c[1011]=0;c[1012]=0;c[1013]=0;lb(68,4020,n|0)|0;b=416;c[b>>2]=1;c[b+4>>2]=0}return 4020}function El(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;Dl()|0;b=b|4;c[f>>2]=b;d=c[1012]|0;if(d>>>0<(c[1013]|0)>>>0){c[d>>2]=a;c[d+4>>2]=b;b=d+8|0;c[1012]=b}else{Fl(4044,e,f);b=c[1012]|0}i=g;return (b-(c[1011]|0)>>3)+-1|0}function Fl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=a+4|0;k=c[a>>2]|0;l=k;f=((c[j>>2]|0)-l>>3)+1|0;if(f>>>0>536870911)km(a);m=a+8|0;g=k;e=(c[m>>2]|0)-g|0;if(e>>3>>>0<268435455){e=e>>2;e=e>>>0>>0?f:e;g=(c[j>>2]|0)-g|0;f=g>>3;if(!e){i=0;h=0;e=g}else n=6}else{g=(c[j>>2]|0)-g|0;e=536870911;f=g>>3;n=6}if((n|0)==6){i=e;h=lm(e<<3)|0;e=g}n=c[d>>2]|0;c[h+(f<<3)>>2]=c[b>>2];c[h+(f<<3)+4>>2]=n;Gn(h|0,k|0,e|0)|0;c[a>>2]=h;c[j>>2]=h+(f+1<<3);c[m>>2]=h+(i<<3);if(l)nm(l);return}function Gl(a,b){a=a|0;b=b|0;Dl()|0;return Cb[c[(c[4044>>2]|0)+(a<<3)>>2]&31](b)|0}function Hl(a){a=a|0;Il(a+24|0);return}function Il(a){a=a|0;var b=0,d=0,e=0;d=c[a>>2]|0;e=d;if(d){a=a+4|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~((b+-8-e|0)>>>3)<<3);nm(d)}return}function Jl(){var b=0;if(!(a[424]|0)){c[1016]=0;c[1017]=8;c[1018]=1820;c[1019]=4100;c[1020]=2;c[1022]=0;c[1023]=0;c[1024]=0;lb(69,4064,n|0)|0;b=424;c[b>>2]=1;c[b+4>>2]=0}return 4064}function Kl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;Jl()|0;b=b|4;c[f>>2]=b;d=c[1023]|0;if(d>>>0<(c[1024]|0)>>>0){c[d>>2]=a;c[d+4>>2]=b;b=d+8|0;c[1023]=b}else{Ll(4088,e,f);b=c[1023]|0}i=g;return (b-(c[1022]|0)>>3)+-1|0}function Ll(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=a+4|0;k=c[a>>2]|0;l=k;f=((c[j>>2]|0)-l>>3)+1|0;if(f>>>0>536870911)km(a);m=a+8|0;g=k;e=(c[m>>2]|0)-g|0;if(e>>3>>>0<268435455){e=e>>2;e=e>>>0>>0?f:e;g=(c[j>>2]|0)-g|0;f=g>>3;if(!e){i=0;h=0;e=g}else n=6}else{g=(c[j>>2]|0)-g|0;e=536870911;f=g>>3;n=6}if((n|0)==6){i=e;h=lm(e<<3)|0;e=g}n=c[d>>2]|0;c[h+(f<<3)>>2]=c[b>>2];c[h+(f<<3)+4>>2]=n;Gn(h|0,k|0,e|0)|0;c[a>>2]=h;c[j>>2]=h+(f+1<<3);c[m>>2]=h+(i<<3);if(l)nm(l);return}function Ml(a,b,d){a=a|0;b=b|0;d=d|0;Jl()|0;return Pl(c[(c[1022]|0)+(a<<3)>>2]|0,b,d)|0}function Nl(a){a=a|0;Ol(a+24|0);return}function Ol(a){a=a|0;var b=0,d=0,e=0;d=c[a>>2]|0;e=d;if(d){a=a+4|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~((b+-8-e|0)>>>3)<<3);nm(d)}return}function Pl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+8|0;g=k+4|0;j=k;h=d;if(!(h&1))c[g>>2]=c[d>>2];else{c[f>>2]=0;l=f+4|0;c[l>>2]=0;d=f+8|0;a[d>>0]=0;Qa(h|0,f|0)|0;c[g>>2]=c[l>>2];a[d>>0]=0}c[j>>2]=e;c[f>>2]=c[g>>2];g=Kb[b&15](f,j)|0;if(g)kb(g|0);f=c[j>>2]|0;if(f)kb(f|0);i=k;return g|0}function Ql(){var b=0;if(!(a[432]|0)){c[1028]=0;c[1029]=3;c[1030]=1820;c[1031]=4148;c[1032]=5;c[1034]=0;c[1035]=0;c[1036]=0;lb(70,4112,n|0)|0;b=432;c[b>>2]=1;c[b+4>>2]=0}return 4112}function Rl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;Ql()|0;b=b|4;c[f>>2]=b;d=c[1035]|0;if(d>>>0<(c[1036]|0)>>>0){c[d>>2]=a;c[d+4>>2]=b;b=d+8|0;c[1035]=b}else{Sl(4136,e,f);b=c[1035]|0}i=g;return (b-(c[1034]|0)>>3)+-1|0}function Sl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=a+4|0;k=c[a>>2]|0;l=k;f=((c[j>>2]|0)-l>>3)+1|0;if(f>>>0>536870911)km(a);m=a+8|0;g=k;e=(c[m>>2]|0)-g|0;if(e>>3>>>0<268435455){e=e>>2;e=e>>>0>>0?f:e;g=(c[j>>2]|0)-g|0;f=g>>3;if(!e){i=0;h=0;e=g}else n=6}else{g=(c[j>>2]|0)-g|0;e=536870911;f=g>>3;n=6}if((n|0)==6){i=e;h=lm(e<<3)|0;e=g}n=c[d>>2]|0;c[h+(f<<3)>>2]=c[b>>2];c[h+(f<<3)+4>>2]=n;Gn(h|0,k|0,e|0)|0;c[a>>2]=h;c[j>>2]=h+(f+1<<3);c[m>>2]=h+(i<<3);if(l)nm(l);return}function Tl(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;Ql()|0;Wl(c[(c[1034]|0)+(a<<3)>>2]|0,b,d,e,f,g);return}function Ul(a){a=a|0;Vl(a+24|0);return}function Vl(a){a=a|0;var b=0,d=0,e=0;d=c[a>>2]|0;e=d;if(d){a=a+4|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~((b+-8-e|0)>>>3)<<3);nm(d)}return}function Wl(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;l=m+16|0;k=m+12|0;j=m+8|0;h=m+4|0;n=m;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;c[n>>2]=g;yb[a&3](l,k,j,h,n);b=c[n>>2]|0;if(b)kb(b|0);b=c[h>>2]|0;if(b)kb(b|0);b=c[j>>2]|0;if(b)kb(b|0);b=c[k>>2]|0;if(b)kb(b|0);b=c[l>>2]|0;if(b)kb(b|0);i=m;return}function Xl(){var b=0;if(!(a[440]|0)){c[1043]=0;c[1044]=11;c[1045]=1820;c[1046]=4208;c[1047]=2;c[1049]=0;c[1050]=0;c[1051]=0;lb(71,4172,n|0)|0;b=440;c[b>>2]=1;c[b+4>>2]=0}return 4172}function Yl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;Xl()|0;b=b|4;c[f>>2]=b;d=c[1050]|0;if(d>>>0<(c[1051]|0)>>>0){c[d>>2]=a;c[d+4>>2]=b;b=d+8|0;c[1050]=b}else{Zl(4196,e,f);b=c[1050]|0}i=g;return (b-(c[1049]|0)>>3)+-1|0}function Zl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=a+4|0;k=c[a>>2]|0;l=k;f=((c[j>>2]|0)-l>>3)+1|0;if(f>>>0>536870911)km(a);m=a+8|0;g=k;e=(c[m>>2]|0)-g|0;if(e>>3>>>0<268435455){e=e>>2;e=e>>>0>>0?f:e;g=(c[j>>2]|0)-g|0;f=g>>3;if(!e){i=0;h=0;e=g}else n=6}else{g=(c[j>>2]|0)-g|0;e=536870911;f=g>>3;n=6}if((n|0)==6){i=e;h=lm(e<<3)|0;e=g}n=c[d>>2]|0;c[h+(f<<3)>>2]=c[b>>2];c[h+(f<<3)+4>>2]=n;Gn(h|0,k|0,e|0)|0;c[a>>2]=h;c[j>>2]=h+(f+1<<3);c[m>>2]=h+(i<<3);if(l)nm(l);return}function _l(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;Xl()|0;a=c[(c[1049]|0)+(a<<3)>>2]|0;c[f>>2]=d;Bb[a&31](b,f);b=c[f>>2]|0;if(b)kb(b|0);i=e;return}function $l(a){a=a|0;am(a+24|0);return}function am(a){a=a|0;var b=0,d=0,e=0;d=c[a>>2]|0;e=d;if(d){a=a+4|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~((b+-8-e|0)>>>3)<<3);nm(d)}return}function bm(){var a=0,b=0,d=0,e=0,f=0;b=Wk(8)|0;a=b;f=a+4|0;c[f>>2]=lm(1)|0;d=lm(8)|0;f=c[f>>2]|0;c[d>>2]=f;e=lm(16)|0;c[e+4>>2]=0;c[e+8>>2]=0;c[e>>2]=4240;c[e+12>>2]=f;c[d+4>>2]=e;c[b>>2]=d;return a|0}function cm(b){b=b|0;a[b+8>>0]=1;return}function dm(a){a=a|0;em(a+24|0);return}function em(a){a=a|0;var b=0,d=0,e=0;d=c[a>>2]|0;e=d;if(d){a=a+4|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~((b+-8-e|0)>>>3)<<3);nm(d)}return}function fm(a){a=a|0;vn(a);nm(a);return}function gm(a){a=a|0;a=c[a+12>>2]|0;if(a)nm(a);return}function hm(a){a=a|0;nm(a);return}function im(){var b=0;if(!(a[456]|0)){c[1069]=0;c[1070]=0;c[1071]=0;c[1072]=4284;c[1074]=0;a[4300]=0;a[4301]=0;lb(33,4260,n|0)|0;b=456;c[b>>2]=1;c[b+4>>2]=0}return 4260}function jm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((e&896|0)==512){if(d){a=c[d+4>>2]|0;if(a)xn(a);nm(d)}}else if(b)nm(b);return}function km(a){a=a|0;La(9031,9054,303,9140)}function lm(a){a=a|0;var b=0;b=(a|0)==0?1:a;a=qn(b)|0;a:do if(!a){while(1){a=rm()|0;if(!a)break;Sb[a&0]();a=qn(b)|0;if(a)break a}b=Ma(4)|0;c[b>>2]=4312;mb(b|0,464,18)}while(0);return a|0}function mm(a){a=a|0;return lm(a)|0}function nm(a){a=a|0;rn(a);return}function om(a){a=a|0;return}function pm(a){a=a|0;nm(a);return}function qm(a){a=a|0;return 9161}function rm(){var a=0;a=c[1081]|0;c[1081]=a+0;return a|0}function sm(a){a=a|0;return}function tm(a){a=a|0;return}function um(a){a=a|0;return}function vm(a){a=a|0;return}function wm(a){a=a|0;return}function xm(a){a=a|0;nm(a);return}function ym(a){a=a|0;nm(a);return}function zm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+64|0;g=h;if((a|0)!=(b|0))if((b|0)!=0?(f=Dm(b,496,512,0)|0,(f|0)!=0):0){b=g;e=b+56|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));c[g>>2]=f;c[g+8>>2]=a;c[g+12>>2]=-1;c[g+48>>2]=1;Vb[c[(c[f>>2]|0)+28>>2]&15](f,g,c[d>>2]|0,1);if((c[g+24>>2]|0)==1){c[d>>2]=c[g+16>>2];b=1}else b=0}else b=0;else b=1;i=h;return b|0}function Am(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;b=d+16|0;g=c[b>>2]|0;do if(g){if((g|0)!=(e|0)){f=d+36|0;c[f>>2]=(c[f>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}b=d+24|0;if((c[b>>2]|0)==2)c[b>>2]=f}else{c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1}while(0);return}function Bm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((a|0)==(c[b+8>>2]|0))Am(0,b,d,e);return}function Cm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((a|0)==(c[b+8>>2]|0))Am(0,b,d,e);else{a=c[a+8>>2]|0;Vb[c[(c[a>>2]|0)+28>>2]&15](a,b,d,e)}return}function Dm(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;q=r;p=c[d>>2]|0;o=d+(c[p+-8>>2]|0)|0;p=c[p+-4>>2]|0;c[q>>2]=f;c[q+4>>2]=d;c[q+8>>2]=e;c[q+12>>2]=g;g=q+16|0;d=q+20|0;e=q+24|0;h=q+28|0;j=q+32|0;k=q+40|0;l=(p|0)==(f|0);m=g;n=m+36|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0));b[g+36>>1]=0;a[g+38>>0]=0;a:do if(l){c[q+48>>2]=1;Nb[c[(c[f>>2]|0)+20>>2]&3](f,q,o,o,1,0);g=(c[e>>2]|0)==1?o:0}else{yb[c[(c[p>>2]|0)+24>>2]&3](p,q,o,1,0);switch(c[q+36>>2]|0){case 0:{g=(c[k>>2]|0)==1&(c[h>>2]|0)==1&(c[j>>2]|0)==1?c[d>>2]|0:0;break a}case 1:break;default:{g=0;break a}}if((c[e>>2]|0)!=1?!((c[k>>2]|0)==0&(c[h>>2]|0)==1&(c[j>>2]|0)==1):0){g=0;break}g=c[g>>2]|0}while(0);i=r;return g|0}function Em(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a[d+53>>0]=1;do if((c[d+4>>2]|0)==(f|0)){a[d+52>>0]=1;f=d+16|0;b=c[f>>2]|0;if(!b){c[f>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((g|0)==1?(c[d+48>>2]|0)==1:0))break;a[d+54>>0]=1;break}if((b|0)!=(e|0)){g=d+36|0;c[g>>2]=(c[g>>2]|0)+1;a[d+54>>0]=1;break}b=d+24|0;f=c[b>>2]|0;if((f|0)==2){c[b>>2]=g;f=g}if((f|0)==1?(c[d+48>>2]|0)==1:0)a[d+54>>0]=1}while(0);return}function Fm(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;a:do if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(h=d+28|0,(c[h>>2]|0)!=1):0)c[h>>2]=f}else{if((b|0)!=(c[d>>2]|0)){j=c[b+8>>2]|0;yb[c[(c[j>>2]|0)+24>>2]&3](j,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(i=d+20|0,(c[i>>2]|0)!=(e|0)):0){c[d+32>>2]=f;f=d+44|0;if((c[f>>2]|0)==4)break;h=d+52|0;a[h>>0]=0;k=d+53|0;a[k>>0]=0;b=c[b+8>>2]|0;Nb[c[(c[b>>2]|0)+20>>2]&3](b,d,e,e,1,g);if(a[k>>0]|0){if(!(a[h>>0]|0)){h=1;j=13}}else{h=0;j=13}do if((j|0)==13){c[i>>2]=e;k=d+40|0;c[k>>2]=(c[k>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0){a[d+54>>0]=1;if(h)break}else j=16;if((j|0)==16?h:0)break;c[f>>2]=4;break a}while(0);c[f>>2]=3;break}if((f|0)==1)c[d+32>>2]=1}while(0);return}function Gm(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;do if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(i=d+28|0,(c[i>>2]|0)!=1):0)c[i>>2]=f}else if((b|0)==(c[d>>2]|0)){if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;c[h>>2]=e;g=d+40|0;c[g>>2]=(c[g>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}while(0);return}function Hm(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if((a|0)==(c[b+8>>2]|0))Em(0,b,d,e,f);else{a=c[a+8>>2]|0;Nb[c[(c[a>>2]|0)+20>>2]&3](a,b,d,e,f,g)}return}function Im(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if((a|0)==(c[b+8>>2]|0))Em(0,b,d,e,f);return}function Jm(){var a=0;if(!(c[1102]|0))a=4460;else a=c[(bb()|0)+60>>2]|0;return a|0}function Km(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[9176+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=9264;e=5;break}}if((e|0)==2)if(!c)b=9264;else{b=9264;e=5}if((e|0)==5)while(1){e=b;while(1){b=e+1|0;if(!(a[e>>0]|0))break;else e=b}c=c+-1|0;if(!c)break;else e=5}return b|0}function Lm(a){a=a|0;if(a>>>0>4294963200){c[(Jm()|0)>>2]=0-a;a=-1}return a|0}function Mm(a,b){a=+a;b=+b;var d=0,e=0;d=(g[k>>2]=a,c[k>>2]|0);do if((d&2147483647)>>>0<=2139095040){e=(g[k>>2]=b,c[k>>2]|0);if((e&2147483647)>>>0<=2139095040)if((e^d|0)<0){a=(d|0)<0?b:a;break}else{a=a>2]=a,c[k>>2]|0);do if((d&2147483647)>>>0<=2139095040){e=(g[k>>2]=b,c[k>>2]|0);if((e&2147483647)>>>0<=2139095040)if((e^d|0)<0){a=(d|0)<0?a:b;break}else{a=a>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=Fn(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+Om(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=f+-1022;c[k>>2]=d;c[k+4>>2]=e&-2146435073|1071644672;a=+h[k>>3]}}return +a}function Pm(a,b){a=+a;b=b|0;return +(+Om(a,b))}function Qm(a){a=+a;var b=0,d=0.0,e=0.0,f=0;b=(g[k>>2]=a,c[k>>2]|0);f=b>>>23&255;do if(f>>>0<=149){b=(b|0)<0;e=b?-a:a;if(f>>>0<126){a=a*0.0;break}d=e+8388608.0+-8388608.0-e;if(!(d>.5)){a=e+d;if(d<=-.5)a=a+1.0}else a=e+d+-1.0;a=b?-a:a}while(0);return +a}function Rm(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[(Jm()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function Sm(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Rm(a,b,0)|0;return a|0}function Tm(a){a=a|0;return 0}function Um(a){a=a|0;return}function Vm(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;l=m;k=e&255;a[l>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(_m(b)|0)){h=c[g>>2]|0;j=4}else f=-1;else j=4;do if((j|0)==4){g=b+20|0;j=c[g>>2]|0;if(j>>>0>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[g>>2]=j+1;a[j>>0]=k;break}if((Fb[c[b+36>>2]&15](b,l,1)|0)==1)f=d[l>>0]|0;else f=-1}while(0);i=m;return f|0}function Wm(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=c[a+60>>2];a=Lm(nb(6,d|0)|0)|0;i=b;return a|0}function Xm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((Lm(db(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function Ym(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;n=q+16|0;m=q;e=q+32|0;o=a+28|0;f=c[o>>2]|0;c[e>>2]=f;p=a+20|0;f=(c[p>>2]|0)-f|0;c[e+4>>2]=f;c[e+8>>2]=b;c[e+12>>2]=d;k=a+60|0;l=a+44|0;b=2;f=f+d|0;while(1){if(!(c[1102]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=Lm(wb(146,n|0)|0)|0}else{ob(72,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=Lm(wb(146,m|0)|0)|0;Ca(0)}if((f|0)==(h|0)){f=6;break}if((h|0)<0){f=8;break}f=f-h|0;g=c[e+4>>2]|0;if(h>>>0<=g>>>0)if((b|0)==2){c[o>>2]=(c[o>>2]|0)+h;j=g;b=2}else j=g;else{j=c[l>>2]|0;c[o>>2]=j;c[p>>2]=j;j=c[e+12>>2]|0;h=h-g|0;e=e+8|0;b=b+-1|0}c[e>>2]=(c[e>>2]|0)+h;c[e+4>>2]=j-h}if((f|0)==6){n=c[l>>2]|0;c[a+16>>2]=n+(c[a+48>>2]|0);a=n;c[o>>2]=a;c[p>>2]=a}else if((f|0)==8){c[a+16>>2]=0;c[o>>2]=0;c[p>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[e+4>>2]|0)|0}i=q;return d|0}function Zm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+80|0;f=g;c[b+36>>2]=3;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21505,c[f+8>>2]=g+12,(fb(54,f|0)|0)!=0):0)a[b+75>>0]=-1;f=Ym(b,d,e)|0;i=g;return f|0}function _m(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;d=c[b+44>>2]|0;c[b+28>>2]=d;c[b+20>>2]=d;c[b+16>>2]=d+(c[b+48>>2]|0);d=0}else{c[b>>2]=d|32;d=-1}return d|0}function $m(a,b){a=a|0;b=b|0;return (bn(a,kn(a)|0,1,b)|0)+-1|0}function an(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(_m(e)|0)){g=c[f>>2]|0;h=4}else f=0;else h=4;a:do if((h|0)==4){i=e+20|0;h=c[i>>2]|0;if((g-h|0)>>>0>>0){f=Fb[c[e+36>>2]&15](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((Fb[c[e+36>>2]&15](e,b,f)|0)>>>0>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}while(0);Gn(g|0,b|0,d|0)|0;c[i>>2]=(c[i>>2]|0)+d;f=f+d|0}while(0);return f|0}function bn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=$(d,b)|0;if((c[e+76>>2]|0)>-1){g=(Tm(e)|0)==0;a=an(a,f,e)|0;if(!g)Um(e)}else a=an(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function cn(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;b=en(c[1114]|0,a,e)|0;i=d;return b|0}function dn(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[1114]|0;if((c[f+76>>2]|0)>-1)g=Tm(f)|0;else g=0;do if(($m(b,f)|0)<0)d=1;else{if((a[f+75>>0]|0)!=10?(d=f+20|0,e=c[d>>2]|0,e>>>0<(c[f+16>>2]|0)>>>0):0){c[d>>2]=e+1;a[e>>0]=10;d=0;break}d=(Vm(f,10)|0)<0}while(0);if(g)Um(f);return d<<31>>31|0}function en(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+224|0;o=s+80|0;r=s+96|0;q=s;p=s+136|0;f=r;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[o>>2]=c[e>>2];if((mn(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=Tm(b)|0;else m=0;e=c[b>>2]|0;n=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;e=b+48|0;if(!(c[e>>2]|0)){g=b+44|0;h=c[g>>2]|0;c[g>>2]=p;j=b+28|0;c[j>>2]=p;k=b+20|0;c[k>>2]=p;c[e>>2]=80;l=b+16|0;c[l>>2]=p+80;f=mn(b,d,o,q,r)|0;if(h){Fb[c[b+36>>2]&15](b,0,0)|0;f=(c[k>>2]|0)==0?-1:f;c[g>>2]=h;c[e>>2]=0;c[l>>2]=0;c[j>>2]=0;c[k>>2]=0}}else f=mn(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m)Um(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function fn(a,b){a=a|0;b=b|0;return en(c[1114]|0,a,b)|0}function gn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else e=0;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)!=g<<24>>24){f=$(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009)break;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break c}}else i=11;while(0);if((i|0)==11)if(!e){e=0;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;b=b+1|0;e=e+-1|0;if(!e){e=0;break}}}}while(0);return ((e|0)!=0?b:0)|0}function hn(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)d=0;else{f=d;e=b;while(1){b=a[e>>0]|0;d=a[c>>0]|0;if(b<<24>>24!=d<<24>>24)break;f=f+-1|0;if(!f){d=0;break a}else{e=e+1|0;c=c+1|0}}d=(b&255)-(d&255)|0}while(0);return d|0}function jn(b,c){b=b|0;c=c|0;var d=0,e=0;e=a[b>>0]|0;d=a[c>>0]|0;if(e<<24>>24==0?1:e<<24>>24!=d<<24>>24)c=e;else{do{b=b+1|0;c=c+1|0;e=a[b>>0]|0;d=a[c>>0]|0}while(!(e<<24>>24==0?1:e<<24>>24!=d<<24>>24));c=e}return (c&255)-(d&255)|0}function kn(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=4;else{d=b;b=f;while(1){if(!(a[d>>0]|0))break a;d=d+1|0;b=d;if(!(b&3)){b=d;e=4;break}}}while(0);if((e|0)==4){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function ln(a){a=a|0;if(!(c[a+68>>2]|0))Um(a);return}function mn(e,f,g,j,l){e=e|0;f=f|0;g=g|0;j=j|0;l=l|0;var m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ha=i;i=i+624|0;ca=ha+24|0;ea=ha+16|0;da=ha+588|0;Y=ha+576|0;ba=ha;V=ha+536|0;ga=ha+8|0;fa=ha+528|0;M=(e|0)!=0;N=V+40|0;U=N;V=V+39|0;W=ga+4|0;X=Y+12|0;Y=Y+11|0;Z=da;_=X;aa=_-Z|0;O=-2-Z|0;P=_+2|0;Q=ca+288|0;R=da+9|0;S=R;T=da+8|0;m=0;w=f;n=0;f=0;a:while(1){do if((m|0)>-1)if((n|0)>(2147483647-m|0)){c[(Jm()|0)>>2]=75;m=-1;break}else{m=n+m|0;break}while(0);n=a[w>>0]|0;if(!(n<<24>>24)){L=245;break}else o=w;b:while(1){switch(n<<24>>24){case 37:{n=o;L=9;break b}case 0:{n=o;break b}default:{}}K=o+1|0;n=a[K>>0]|0;o=K}c:do if((L|0)==9)while(1){L=0;if((a[n+1>>0]|0)!=37)break c;o=o+1|0;n=n+2|0;if((a[n>>0]|0)==37)L=9;else break}while(0);y=o-w|0;if(M?(c[e>>2]&32|0)==0:0)an(w,y,e)|0;if((o|0)!=(w|0)){w=n;n=y;continue}r=n+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[n+2>>0]|0)==36;r=K?n+3|0:r;o=a[r>>0]|0;u=K?p:-1;f=K?1:f}else u=-1;n=o<<24>>24;d:do if((n&-32|0)==32){p=0;while(1){if(!(1<>24)+-32|p;r=r+1|0;o=a[r>>0]|0;n=o<<24>>24;if((n&-32|0)!=32){s=p;n=r;break}}}else{s=0;n=r}while(0);do if(o<<24>>24==42){p=n+1|0;o=(a[p>>0]|0)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[l+(o<<2)>>2]=10;f=1;n=n+3|0;o=c[j+((a[p>>0]|0)+-48<<3)>>2]|0}else{if(f){m=-1;break a}if(!M){x=s;n=p;f=0;K=0;break}f=(c[g>>2]|0)+(4-1)&~(4-1);o=c[f>>2]|0;c[g>>2]=f+4;f=0;n=p}if((o|0)<0){x=s|8192;K=0-o|0}else{x=s;K=o}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){o=0;do{o=(o*10|0)+p|0;n=n+1|0;p=(a[n>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{x=s;K=o}}else{x=s;K=0}}while(0);e:do if((a[n>>0]|0)==46){p=n+1|0;o=a[p>>0]|0;if(o<<24>>24!=42){r=(o<<24>>24)+-48|0;if(r>>>0<10){n=p;o=0}else{n=p;r=0;break}while(1){o=(o*10|0)+r|0;n=n+1|0;r=(a[n>>0]|0)+-48|0;if(r>>>0>=10){r=o;break e}}}p=n+2|0;o=(a[p>>0]|0)+-48|0;if(o>>>0<10?(a[n+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;n=n+4|0;r=c[j+((a[p>>0]|0)+-48<<3)>>2]|0;break}if(f){m=-1;break a}if(M){n=(c[g>>2]|0)+(4-1)&~(4-1);r=c[n>>2]|0;c[g>>2]=n+4;n=p}else{n=p;r=0}}else r=-1;while(0);t=0;while(1){o=(a[n>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=n+1|0;o=a[12108+(t*58|0)+o>>0]|0;s=o&255;if((s+-1|0)>>>0<8){n=p;t=s}else{J=p;break}}if(!(o<<24>>24)){m=-1;break}p=(u|0)>-1;do if(o<<24>>24==19)if(p){m=-1;break a}else L=52;else{if(p){c[l+(u<<2)>>2]=s;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ba;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}nn(ba,s,g)}while(0);if((L|0)==52?(L=0,!M):0){w=J;n=y;continue}u=a[n>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=x&-65537;I=(x&8192|0)==0?x:p;f:do switch(u|0){case 110:switch(t|0){case 0:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 1:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 2:{w=c[ba>>2]|0;c[w>>2]=m;c[w+4>>2]=((m|0)<0)<<31>>31;w=J;n=y;continue a}case 3:{b[c[ba>>2]>>1]=m;w=J;n=y;continue a}case 4:{a[c[ba>>2]>>0]=m;w=J;n=y;continue a}case 6:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 7:{w=c[ba>>2]|0;c[w>>2]=m;c[w+4>>2]=((m|0)<0)<<31>>31;w=J;n=y;continue a}default:{w=J;n=y;continue a}}case 112:{t=I|8;r=r>>>0>8?r:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ba;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)n=N;else{n=N;do{n=n+-1|0;a[n>>0]=o&7|48;o=Fn(o|0,p|0,3)|0;p=D}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;s=12588;L=77}else{t=U-n+1|0;o=I;r=(r|0)<(t|0)?t:r;t=0;s=12588;L=77}break}case 105:case 100:{o=ba;n=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){n=Bn(0,0,n|0,o|0)|0;o=D;p=ba;c[p>>2]=n;c[p+4>>2]=o;p=1;s=12588;L=76;break f}if(!(I&2048)){s=I&1;p=s;s=(s|0)==0?12588:12590;L=76}else{p=1;s=12589;L=76}break}case 117:{o=ba;n=c[o>>2]|0;o=c[o+4>>2]|0;p=0;s=12588;L=76;break}case 99:{a[V>>0]=c[ba>>2];w=V;o=1;t=0;u=12588;n=N;break}case 109:{n=Km(c[(Jm()|0)>>2]|0)|0;L=82;break}case 115:{n=c[ba>>2]|0;n=(n|0)!=0?n:12598;L=82;break}case 67:{c[ga>>2]=c[ba>>2];c[W>>2]=0;c[ba>>2]=ga;r=-1;L=86;break}case 83:{if(!r){pn(e,32,K,0,I);n=0;L=98}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ba>>3];c[ea>>2]=0;h[k>>3]=q;if((c[k+4>>2]|0)>=0)if(!(I&2048)){H=I&1;G=H;H=(H|0)==0?12606:12611}else{G=1;H=12608}else{q=-q;G=1;H=12605}h[k>>3]=q;F=c[k+4>>2]&2146435072;do if(F>>>0<2146435072|(F|0)==2146435072&0<0){v=+Pm(q,ea)*2.0;o=v!=0.0;if(o)c[ea>>2]=(c[ea>>2]|0)+-1;C=u|32;if((C|0)==97){w=u&32;y=(w|0)==0?H:H+9|0;x=G|2;n=12-r|0;do if(!(r>>>0>11|(n|0)==0)){q=8.0;do{n=n+-1|0;q=q*16.0}while((n|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-v-q));break}else{q=v+q-q;break}}else q=v;while(0);o=c[ea>>2]|0;n=(o|0)<0?0-o|0:o;n=on(n,((n|0)<0)<<31>>31,X)|0;if((n|0)==(X|0)){a[Y>>0]=48;n=Y}a[n+-1>>0]=(o>>31&2)+43;t=n+-2|0;a[t>>0]=u+15;s=(r|0)<1;p=(I&8|0)==0;o=da;while(1){H=~~q;n=o+1|0;a[o>>0]=d[12572+H>>0]|w;q=(q-+(H|0))*16.0;do if((n-Z|0)==1){if(p&(s&q==0.0))break;a[n>>0]=46;n=o+2|0}while(0);if(!(q!=0.0))break;else o=n}r=(r|0)!=0&(O+n|0)<(r|0)?P+r-t|0:aa-t+n|0;p=r+x|0;pn(e,32,K,p,I);if(!(c[e>>2]&32))an(y,x,e)|0;pn(e,48,K,p,I^65536);n=n-Z|0;if(!(c[e>>2]&32))an(da,n,e)|0;o=_-t|0;pn(e,48,r-(n+o)|0,0,0);if(!(c[e>>2]&32))an(t,o,e)|0;pn(e,32,K,p,I^8192);n=(p|0)<(K|0)?K:p;break}n=(r|0)<0?6:r;if(o){o=(c[ea>>2]|0)+-28|0;c[ea>>2]=o;q=v*268435456.0}else{q=v;o=c[ea>>2]|0}F=(o|0)<0?ca:Q;E=F;o=F;do{B=~~q>>>0;c[o>>2]=B;o=o+4|0;q=(q-+(B>>>0))*1.0e9}while(q!=0.0);p=o;o=c[ea>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do if(r>>>0>>0)r=s;else{o=0;do{B=Dn(c[r>>2]|0,0,t|0)|0;B=En(B|0,D|0,o|0,0)|0;o=D;A=On(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=Nn(B|0,o|0,1e9,0)|0;r=r+-4|0}while(r>>>0>=s>>>0);if(!o){r=s;break}r=s+-4|0;c[r>>2]=o}while(0);while(1){if(p>>>0<=r>>>0)break;o=p+-4|0;if(!(c[o>>2]|0))p=o;else break}o=(c[ea>>2]|0)-t|0;c[ea>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((n+25|0)/9|0)+1|0;z=(C|0)==102;w=r;while(1){x=0-o|0;x=(x|0)>9?9:x;do if(w>>>0

>>0){o=(1<>>x;r=0;t=w;do{B=c[t>>2]|0;c[t>>2]=(B>>>x)+r;r=$(B&o,s)|0;t=t+4|0}while(t>>>0

>>0);o=(c[w>>2]|0)==0?w+4|0:w;if(!r){r=o;break}c[p>>2]=r;r=o;p=p+4|0}else r=(c[w>>2]|0)==0?w+4|0:w;while(0);o=z?F:r;p=(p-o>>2|0)>(y|0)?o+(y<<2)|0:p;o=(c[ea>>2]|0)+x|0;c[ea>>2]=o;if((o|0)>=0){w=r;break}else w=r}}else w=r;do if(w>>>0

>>0){o=(E-w>>2)*9|0;s=c[w>>2]|0;if(s>>>0<10)break;else r=10;do{r=r*10|0;o=o+1|0}while(s>>>0>=r>>>0)}else o=0;while(0);A=(C|0)==103;B=(n|0)!=0;r=n-((C|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;z=(t|0)/9|0;r=F+(z+-1023<<2)|0;t=((t|0)%9|0)+1|0;if((t|0)<9){s=10;do{s=s*10|0;t=t+1|0}while((t|0)!=9)}else s=10;x=c[r>>2]|0;y=(x>>>0)%(s>>>0)|0;if((y|0)==0?(F+(z+-1022<<2)|0)==(p|0):0)s=w;else L=163;do if((L|0)==163){L=0;v=(((x>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;t=(s|0)/2|0;do if(y>>>0>>0)q=.5;else{if((y|0)==(t|0)?(F+(z+-1022<<2)|0)==(p|0):0){q=1.0;break}q=1.5}while(0);do if(G){if((a[H>>0]|0)!=45)break;v=-v;q=-q}while(0);t=x-y|0;c[r>>2]=t;if(!(v+q!=v)){s=w;break}C=t+s|0;c[r>>2]=C;if(C>>>0>999999999){o=w;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0>>0){o=o+-4|0;c[o>>2]=0}C=(c[s>>2]|0)+1|0;c[s>>2]=C;if(C>>>0>999999999)r=s;else{w=o;r=s;break}}}o=(E-w>>2)*9|0;t=c[w>>2]|0;if(t>>>0<10){s=w;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=w}while(0);C=r+4|0;w=s;p=p>>>0>C>>>0?C:p}y=0-o|0;while(1){if(p>>>0<=w>>>0){z=0;C=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{z=1;C=p;break}}do if(A){n=(B&1^1)+n|0;if((n|0)>(o|0)&(o|0)>-5){u=u+-1|0;n=n+-1-o|0}else{u=u+-2|0;n=n+-1|0}p=I&8;if(p)break;do if(z){p=c[C+-4>>2]|0;if(!p){r=9;break}if(!((p>>>0)%10|0)){s=10;r=0}else{r=0;break}do{s=s*10|0;r=r+1|0}while(((p>>>0)%(s>>>0)|0|0)==0)}else r=9;while(0);p=((C-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;n=(n|0)<(p|0)?n:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;n=(n|0)<(p|0)?n:p;p=0;break}}else p=I&8;while(0);x=n|p;s=(x|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?y:o;r=on(r,((r|0)<0)<<31>>31,X)|0;if((_-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while((_-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=_-E|0;u=E}y=G+1+n+s+o|0;pn(e,32,K,y,I);if(!(c[e>>2]&32))an(H,G,e)|0;pn(e,48,K,y,I^65536);do if(t){r=w>>>0>F>>>0?F:w;o=r;do{p=on(c[o>>2]|0,0,R)|0;do if((o|0)==(r|0)){if((p|0)!=(R|0))break;a[T>>0]=48;p=T}else{if(p>>>0<=da>>>0)break;do{p=p+-1|0;a[p>>0]=48}while(p>>>0>da>>>0)}while(0);if(!(c[e>>2]&32))an(p,S-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do if(x){if(c[e>>2]&32)break;an(12640,1,e)|0}while(0);if((n|0)>0&o>>>0>>0){p=o;while(1){o=on(c[p>>2]|0,0,R)|0;if(o>>>0>da>>>0)do{o=o+-1|0;a[o>>0]=48}while(o>>>0>da>>>0);if(!(c[e>>2]&32))an(o,(n|0)>9?9:n,e)|0;p=p+4|0;o=n+-9|0;if(!((n|0)>9&p>>>0>>0)){n=o;break}else n=o}}pn(e,48,n+9|0,9,0)}else{t=z?C:w+4|0;if((n|0)>-1){s=(p|0)==0;r=w;do{o=on(c[r>>2]|0,0,R)|0;if((o|0)==(R|0)){a[T>>0]=48;o=T}do if((r|0)==(w|0)){p=o+1|0;if(!(c[e>>2]&32))an(o,1,e)|0;if(s&(n|0)<1){o=p;break}if(c[e>>2]&32){o=p;break}an(12640,1,e)|0;o=p}else{if(o>>>0<=da>>>0)break;do{o=o+-1|0;a[o>>0]=48}while(o>>>0>da>>>0)}while(0);p=S-o|0;if(!(c[e>>2]&32))an(o,(n|0)>(p|0)?p:n,e)|0;n=n-p|0;r=r+4|0}while(r>>>0>>0&(n|0)>-1)}pn(e,48,n+18|0,18,0);if(c[e>>2]&32)break;an(u,_-u|0,e)|0}while(0);pn(e,32,K,y,I^8192);n=(y|0)<(K|0)?K:y}else{t=(u&32|0)!=0;s=q!=q|0.0!=0.0;o=s?0:G;r=o+3|0;pn(e,32,K,r,p);n=c[e>>2]|0;if(!(n&32)){an(H,o,e)|0;n=c[e>>2]|0}if(!(n&32))an(s?(t?12632:12636):t?12624:12628,3,e)|0;pn(e,32,K,r,I^8192);n=(r|0)<(K|0)?K:r}while(0);w=J;continue a}default:{p=I;o=r;t=0;u=12588;n=N}}while(0);g:do if((L|0)==64){p=ba;o=c[p>>2]|0;p=c[p+4>>2]|0;s=u&32;if(!((o|0)==0&(p|0)==0)){n=N;do{n=n+-1|0;a[n>>0]=d[12572+(o&15)>>0]|s;o=Fn(o|0,p|0,4)|0;p=D}while(!((o|0)==0&(p|0)==0));L=ba;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;s=12588;L=77}else{o=t;t=2;s=12588+(u>>4)|0;L=77}}else{n=N;o=t;t=0;s=12588;L=77}}else if((L|0)==76){n=on(n,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=gn(n,0,r)|0;H=(I|0)==0;w=n;o=H?r:I-n|0;t=0;u=12588;n=H?n+r|0:I}else if((L|0)==86){L=0;o=0;n=0;s=c[ba>>2]|0;while(1){p=c[s>>2]|0;if(!p)break;n=Sm(fa,p)|0;if((n|0)<0|n>>>0>(r-o|0)>>>0)break;o=n+o|0;if(r>>>0>o>>>0)s=s+4|0;else break}if((n|0)<0){m=-1;break a}pn(e,32,K,o,I);if(!o){n=0;L=98}else{p=0;r=c[ba>>2]|0;while(1){n=c[r>>2]|0;if(!n){n=o;L=98;break g}n=Sm(fa,n)|0;p=n+p|0;if((p|0)>(o|0)){n=o;L=98;break g}if(!(c[e>>2]&32))an(fa,n,e)|0;if(p>>>0>=o>>>0){n=o;L=98;break}else r=r+4|0}}}while(0);if((L|0)==98){L=0;pn(e,32,K,n,I^8192);w=J;n=(K|0)>(n|0)?K:n;continue}if((L|0)==77){L=0;p=(r|0)>-1?o&-65537:o;o=ba;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((r|0)!=0|o){o=(o&1^1)+(U-n)|0;w=n;o=(r|0)>(o|0)?r:o;u=s;n=N}else{w=N;o=0;u=s;n=N}}s=n-w|0;o=(o|0)<(s|0)?s:o;r=t+o|0;n=(K|0)<(r|0)?r:K;pn(e,32,n,r,p);if(!(c[e>>2]&32))an(u,t,e)|0;pn(e,48,n,r,p^65536);pn(e,48,o,s,0);if(!(c[e>>2]&32))an(w,s,e)|0;pn(e,32,n,r,p^8192);w=J}h:do if((L|0)==245)if(!e)if(f){m=1;while(1){f=c[l+(m<<2)>>2]|0;if(!f)break;nn(j+(m<<3)|0,f,g);m=m+1|0;if((m|0)>=10){m=1;break h}}if((m|0)<10)while(1){if(c[l+(m<<2)>>2]|0){m=-1;break h}m=m+1|0;if((m|0)>=10){m=1;break}}else m=1}else m=0;while(0);i=ha;return m|0}function nn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=b;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}case 18:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}default:break a}while(0);while(0);return}function on(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295)while(1){e=On(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=Nn(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=D}else{b=e;break}}if(b)while(1){d=d+-1|0;a[d>>0]=(b>>>0)%10|0|48;if(b>>>0<10)break;else b=(b>>>0)/10|0}return d|0}function pn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+256|0;h=j;do if((d|0)>(e|0)&(f&73728|0)==0){f=d-e|0;Cn(h|0,b|0,(f>>>0>256?256:f)|0)|0;b=c[a>>2]|0;g=(b&32|0)==0;if(f>>>0>255){e=d-e|0;do{if(g){an(h,256,a)|0;b=c[a>>2]|0}f=f+-256|0;g=(b&32|0)==0}while(f>>>0>255);if(g)f=e&255;else break}else if(!g)break;an(h,f,a)|0}while(0);i=j;return} function qn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;do if(a>>>0<245){o=a>>>0<11?16:a+11&-8;a=o>>>3;i=c[1172]|0;d=i>>>a;if(d&3){a=(d&1^1)+a|0;e=a<<1;d=4728+(e<<2)|0;e=4728+(e+2<<2)|0;f=c[e>>2]|0;g=f+8|0;h=c[g>>2]|0;do if((d|0)!=(h|0)){if(h>>>0<(c[1176]|0)>>>0)$a();b=h+12|0;if((c[b>>2]|0)==(f|0)){c[b>>2]=d;c[e>>2]=h;break}else $a()}else c[1172]=i&~(1<>2]=M|3;M=f+(M|4)|0;c[M>>2]=c[M>>2]|1;M=g;return M|0}h=c[1174]|0;if(o>>>0>h>>>0){if(d){e=2<>>12&16;e=e>>>j;f=e>>>5&8;e=e>>>f;g=e>>>2&4;e=e>>>g;d=e>>>1&2;e=e>>>d;a=e>>>1&1;a=(f|j|g|d|a)+(e>>>a)|0;e=a<<1;d=4728+(e<<2)|0;e=4728+(e+2<<2)|0;g=c[e>>2]|0;j=g+8|0;f=c[j>>2]|0;do if((d|0)!=(f|0)){if(f>>>0<(c[1176]|0)>>>0)$a();b=f+12|0;if((c[b>>2]|0)==(g|0)){c[b>>2]=d;c[e>>2]=f;k=c[1174]|0;break}else $a()}else{c[1172]=i&~(1<>2]=o|3;i=g+o|0;c[g+(o|4)>>2]=h|1;c[g+M>>2]=h;if(k){f=c[1177]|0;d=k>>>3;b=d<<1;e=4728+(b<<2)|0;a=c[1172]|0;d=1<>2]|0;if(b>>>0<(c[1176]|0)>>>0)$a();else{l=a;m=b}}else{c[1172]=a|d;l=4728+(b+2<<2)|0;m=e}c[l>>2]=f;c[m+12>>2]=f;c[f+8>>2]=m;c[f+12>>2]=e}c[1174]=h;c[1177]=i;M=j;return M|0}a=c[1173]|0;if(a){d=(a&0-a)+-1|0;L=d>>>12&16;d=d>>>L;K=d>>>5&8;d=d>>>K;M=d>>>2&4;d=d>>>M;a=d>>>1&2;d=d>>>a;e=d>>>1&1;e=c[4992+((K|L|M|a|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-o|0;a=e;while(1){b=c[a+16>>2]|0;if(!b){b=c[a+20>>2]|0;if(!b){j=d;break}}a=(c[b+4>>2]&-8)-o|0;M=a>>>0>>0;d=M?a:d;a=b;e=M?b:e}g=c[1176]|0;if(e>>>0>>0)$a();i=e+o|0;if(e>>>0>=i>>>0)$a();h=c[e+24>>2]|0;d=c[e+12>>2]|0;do if((d|0)==(e|0)){a=e+20|0;b=c[a>>2]|0;if(!b){a=e+16|0;b=c[a>>2]|0;if(!b){n=0;break}}while(1){d=b+20|0;f=c[d>>2]|0;if(f){b=f;a=d;continue}d=b+16|0;f=c[d>>2]|0;if(!f)break;else{b=f;a=d}}if(a>>>0>>0)$a();else{c[a>>2]=0;n=b;break}}else{f=c[e+8>>2]|0;if(f>>>0>>0)$a();b=f+12|0;if((c[b>>2]|0)!=(e|0))$a();a=d+8|0;if((c[a>>2]|0)==(e|0)){c[b>>2]=d;c[a>>2]=f;n=d;break}else $a()}while(0);do if(h){b=c[e+28>>2]|0;a=4992+(b<<2)|0;if((e|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[1173]=c[1173]&~(1<>>0<(c[1176]|0)>>>0)$a();b=h+16|0;if((c[b>>2]|0)==(e|0))c[b>>2]=n;else c[h+20>>2]=n;if(!n)break}a=c[1176]|0;if(n>>>0>>0)$a();c[n+24>>2]=h;b=c[e+16>>2]|0;do if(b)if(b>>>0>>0)$a();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);b=c[e+20>>2]|0;if(b)if(b>>>0<(c[1176]|0)>>>0)$a();else{c[n+20>>2]=b;c[b+24>>2]=n;break}}while(0);if(j>>>0<16){M=j+o|0;c[e+4>>2]=M|3;M=e+(M+4)|0;c[M>>2]=c[M>>2]|1}else{c[e+4>>2]=o|3;c[e+(o|4)>>2]=j|1;c[e+(j+o)>>2]=j;b=c[1174]|0;if(b){g=c[1177]|0;d=b>>>3;b=d<<1;f=4728+(b<<2)|0;a=c[1172]|0;d=1<>2]|0;if(a>>>0<(c[1176]|0)>>>0)$a();else{p=b;q=a}}else{c[1172]=a|d;p=4728+(b+2<<2)|0;q=f}c[p>>2]=g;c[q+12>>2]=g;c[g+8>>2]=q;c[g+12>>2]=f}c[1174]=j;c[1177]=i}M=e+8|0;return M|0}else q=o}else q=o}else if(a>>>0<=4294967231){a=a+11|0;m=a&-8;l=c[1173]|0;if(l){d=0-m|0;a=a>>>8;if(a)if(m>>>0>16777215)k=31;else{q=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;k=14-(p|q|k)+(v<>>15)|0;k=m>>>(k+7|0)&1|k<<1}else k=0;a=c[4992+(k<<2)>>2]|0;a:do if(!a){f=0;a=0;v=86}else{h=d;f=0;i=m<<((k|0)==31?0:25-(k>>>1)|0);j=a;a=0;while(1){g=c[j+4>>2]&-8;d=g-m|0;if(d>>>0>>0)if((g|0)==(m|0)){g=j;a=j;v=90;break a}else a=j;else d=h;v=c[j+20>>2]|0;j=c[j+16+(i>>>31<<2)>>2]|0;f=(v|0)==0|(v|0)==(j|0)?f:v;if(!j){v=86;break}else{h=d;i=i<<1}}}while(0);if((v|0)==86){if((f|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>n;l=a>>>5&8;a=a>>>l;p=a>>>2&4;a=a>>>p;q=a>>>1&2;a=a>>>q;f=a>>>1&1;f=c[4992+((l|n|p|q|f)+(a>>>f)<<2)>>2]|0;a=0}if(!f){i=d;j=a}else{g=f;v=90}}if((v|0)==90)while(1){v=0;q=(c[g+4>>2]&-8)-m|0;f=q>>>0>>0;d=f?q:d;a=f?g:a;f=c[g+16>>2]|0;if(f){g=f;v=90;continue}g=c[g+20>>2]|0;if(!g){i=d;j=a;break}else v=90}if((j|0)!=0?i>>>0<((c[1174]|0)-m|0)>>>0:0){f=c[1176]|0;if(j>>>0>>0)$a();h=j+m|0;if(j>>>0>=h>>>0)$a();g=c[j+24>>2]|0;d=c[j+12>>2]|0;do if((d|0)==(j|0)){a=j+20|0;b=c[a>>2]|0;if(!b){a=j+16|0;b=c[a>>2]|0;if(!b){o=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}if(a>>>0>>0)$a();else{c[a>>2]=0;o=b;break}}else{e=c[j+8>>2]|0;if(e>>>0>>0)$a();b=e+12|0;if((c[b>>2]|0)!=(j|0))$a();a=d+8|0;if((c[a>>2]|0)==(j|0)){c[b>>2]=d;c[a>>2]=e;o=d;break}else $a()}while(0);do if(g){b=c[j+28>>2]|0;a=4992+(b<<2)|0;if((j|0)==(c[a>>2]|0)){c[a>>2]=o;if(!o){c[1173]=c[1173]&~(1<>>0<(c[1176]|0)>>>0)$a();b=g+16|0;if((c[b>>2]|0)==(j|0))c[b>>2]=o;else c[g+20>>2]=o;if(!o)break}a=c[1176]|0;if(o>>>0>>0)$a();c[o+24>>2]=g;b=c[j+16>>2]|0;do if(b)if(b>>>0>>0)$a();else{c[o+16>>2]=b;c[b+24>>2]=o;break}while(0);b=c[j+20>>2]|0;if(b)if(b>>>0<(c[1176]|0)>>>0)$a();else{c[o+20>>2]=b;c[b+24>>2]=o;break}}while(0);b:do if(i>>>0>=16){c[j+4>>2]=m|3;c[j+(m|4)>>2]=i|1;c[j+(i+m)>>2]=i;b=i>>>3;if(i>>>0<256){a=b<<1;e=4728+(a<<2)|0;d=c[1172]|0;b=1<>2]|0;if(a>>>0<(c[1176]|0)>>>0)$a();else{s=b;t=a}}else{c[1172]=d|b;s=4728+(a+2<<2)|0;t=e}c[s>>2]=h;c[t+12>>2]=h;c[j+(m+8)>>2]=t;c[j+(m+12)>>2]=e;break}b=i>>>8;if(b)if(i>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=i>>>(e+7|0)&1|e<<1}else e=0;b=4992+(e<<2)|0;c[j+(m+28)>>2]=e;c[j+(m+20)>>2]=0;c[j+(m+16)>>2]=0;a=c[1173]|0;d=1<>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break}b=c[b>>2]|0;c:do if((c[b+4>>2]&-8|0)!=(i|0)){e=i<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(i|0)){y=d;break c}else{e=e<<1;b=d}}if(a>>>0<(c[1176]|0)>>>0)$a();else{c[a>>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break b}}else y=b;while(0);b=y+8|0;a=c[b>>2]|0;M=c[1176]|0;if(a>>>0>=M>>>0&y>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[j+(m+8)>>2]=a;c[j+(m+12)>>2]=y;c[j+(m+24)>>2]=0;break}else $a()}else{M=i+m|0;c[j+4>>2]=M|3;M=j+(M+4)|0;c[M>>2]=c[M>>2]|1}while(0);M=j+8|0;return M|0}else q=m}else q=m}else q=-1;while(0);d=c[1174]|0;if(d>>>0>=q>>>0){b=d-q|0;a=c[1177]|0;if(b>>>0>15){c[1177]=a+q;c[1174]=b;c[a+(q+4)>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=q|3}else{c[1174]=0;c[1177]=0;c[a+4>>2]=d|3;M=a+(d+4)|0;c[M>>2]=c[M>>2]|1}M=a+8|0;return M|0}a=c[1175]|0;if(a>>>0>q>>>0){L=a-q|0;c[1175]=L;M=c[1178]|0;c[1178]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}do if(!(c[1290]|0)){a=Ya(30)|0;if(!(a+-1&a)){c[1292]=a;c[1291]=a;c[1293]=-1;c[1294]=-1;c[1295]=0;c[1283]=0;c[1290]=(Pa(0)|0)&-16^1431655768;break}else $a()}while(0);j=q+48|0;i=c[1292]|0;k=q+47|0;h=i+k|0;i=0-i|0;l=h&i;if(l>>>0<=q>>>0){M=0;return M|0}a=c[1282]|0;if((a|0)!=0?(t=c[1280]|0,y=t+l|0,y>>>0<=t>>>0|y>>>0>a>>>0):0){M=0;return M|0}d:do if(!(c[1283]&4)){a=c[1178]|0;e:do if(a){f=5136;while(1){d=c[f>>2]|0;if(d>>>0<=a>>>0?(r=f+4|0,(d+(c[r>>2]|0)|0)>>>0>a>>>0):0){g=f;a=r;break}f=c[f+8>>2]|0;if(!f){v=174;break e}}d=h-(c[1175]|0)&i;if(d>>>0<2147483647){f=Ta(d|0)|0;y=(f|0)==((c[g>>2]|0)+(c[a>>2]|0)|0);a=y?d:0;if(y){if((f|0)!=(-1|0)){w=f;p=a;v=194;break d}}else v=184}else a=0}else v=174;while(0);do if((v|0)==174){g=Ta(0)|0;if((g|0)!=(-1|0)){a=g;d=c[1291]|0;f=d+-1|0;if(!(f&a))d=l;else d=l-a+(f+a&0-d)|0;a=c[1280]|0;f=a+d|0;if(d>>>0>q>>>0&d>>>0<2147483647){y=c[1282]|0;if((y|0)!=0?f>>>0<=a>>>0|f>>>0>y>>>0:0){a=0;break}f=Ta(d|0)|0;y=(f|0)==(g|0);a=y?d:0;if(y){w=g;p=a;v=194;break d}else v=184}else a=0}else a=0}while(0);f:do if((v|0)==184){g=0-d|0;do if(j>>>0>d>>>0&(d>>>0<2147483647&(f|0)!=(-1|0))?(u=c[1292]|0,u=k-d+u&0-u,u>>>0<2147483647):0)if((Ta(u|0)|0)==(-1|0)){Ta(g|0)|0;break f}else{d=u+d|0;break}while(0);if((f|0)!=(-1|0)){w=f;p=d;v=194;break d}}while(0);c[1283]=c[1283]|4;v=191}else{a=0;v=191}while(0);if((((v|0)==191?l>>>0<2147483647:0)?(w=Ta(l|0)|0,x=Ta(0)|0,w>>>0>>0&((w|0)!=(-1|0)&(x|0)!=(-1|0))):0)?(z=x-w|0,A=z>>>0>(q+40|0)>>>0,A):0){p=A?z:a;v=194}if((v|0)==194){a=(c[1280]|0)+p|0;c[1280]=a;if(a>>>0>(c[1281]|0)>>>0)c[1281]=a;h=c[1178]|0;g:do if(h){g=5136;do{a=c[g>>2]|0;d=g+4|0;f=c[d>>2]|0;if((w|0)==(a+f|0)){B=a;C=d;D=f;E=g;v=204;break}g=c[g+8>>2]|0}while((g|0)!=0);if(((v|0)==204?(c[E+12>>2]&8|0)==0:0)?h>>>0>>0&h>>>0>=B>>>0:0){c[C>>2]=D+p;M=(c[1175]|0)+p|0;L=h+8|0;L=(L&7|0)==0?0:0-L&7;K=M-L|0;c[1178]=h+L;c[1175]=K;c[h+(L+4)>>2]=K|1;c[h+(M+4)>>2]=40;c[1179]=c[1294];break}a=c[1176]|0;if(w>>>0>>0){c[1176]=w;a=w}d=w+p|0;g=5136;while(1){if((c[g>>2]|0)==(d|0)){f=g;d=g;v=212;break}g=c[g+8>>2]|0;if(!g){d=5136;break}}if((v|0)==212)if(!(c[d+12>>2]&8)){c[f>>2]=w;n=d+4|0;c[n>>2]=(c[n>>2]|0)+p;n=w+8|0;n=(n&7|0)==0?0:0-n&7;k=w+(p+8)|0;k=(k&7|0)==0?0:0-k&7;b=w+(k+p)|0;m=n+q|0;o=w+m|0;l=b-(w+n)-q|0;c[w+(n+4)>>2]=q|3;h:do if((b|0)!=(h|0)){if((b|0)==(c[1177]|0)){M=(c[1174]|0)+l|0;c[1174]=M;c[1177]=o;c[w+(m+4)>>2]=M|1;c[w+(M+m)>>2]=M;break}i=p+4|0;d=c[w+(i+k)>>2]|0;if((d&3|0)==1){j=d&-8;g=d>>>3;i:do if(d>>>0>=256){h=c[w+((k|24)+p)>>2]|0;e=c[w+(p+12+k)>>2]|0;do if((e|0)==(b|0)){f=k|16;e=w+(i+f)|0;d=c[e>>2]|0;if(!d){e=w+(f+p)|0;d=c[e>>2]|0;if(!d){J=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)$a();else{c[e>>2]=0;J=d;break}}else{f=c[w+((k|8)+p)>>2]|0;if(f>>>0>>0)$a();a=f+12|0;if((c[a>>2]|0)!=(b|0))$a();d=e+8|0;if((c[d>>2]|0)==(b|0)){c[a>>2]=e;c[d>>2]=f;J=e;break}else $a()}while(0);if(!h)break;a=c[w+(p+28+k)>>2]|0;d=4992+(a<<2)|0;do if((b|0)!=(c[d>>2]|0)){if(h>>>0<(c[1176]|0)>>>0)$a();a=h+16|0;if((c[a>>2]|0)==(b|0))c[a>>2]=J;else c[h+20>>2]=J;if(!J)break i}else{c[d>>2]=J;if(J)break;c[1173]=c[1173]&~(1<>>0>>0)$a();c[J+24>>2]=h;b=k|16;a=c[w+(b+p)>>2]|0;do if(a)if(a>>>0>>0)$a();else{c[J+16>>2]=a;c[a+24>>2]=J;break}while(0);b=c[w+(i+b)>>2]|0;if(!b)break;if(b>>>0<(c[1176]|0)>>>0)$a();else{c[J+20>>2]=b;c[b+24>>2]=J;break}}else{e=c[w+((k|8)+p)>>2]|0;f=c[w+(p+12+k)>>2]|0;d=4728+(g<<1<<2)|0;do if((e|0)!=(d|0)){if(e>>>0>>0)$a();if((c[e+12>>2]|0)==(b|0))break;$a()}while(0);if((f|0)==(e|0)){c[1172]=c[1172]&~(1<>>0>>0)$a();a=f+8|0;if((c[a>>2]|0)==(b|0)){F=a;break}$a()}while(0);c[e+12>>2]=f;c[F>>2]=e}while(0);b=w+((j|k)+p)|0;f=j+l|0}else f=l;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[w+(m+4)>>2]=f|1;c[w+(f+m)>>2]=f;b=f>>>3;if(f>>>0<256){a=b<<1;e=4728+(a<<2)|0;d=c[1172]|0;b=1<>2]|0;if(a>>>0>=(c[1176]|0)>>>0){K=b;L=a;break}$a()}while(0);c[K>>2]=o;c[L+12>>2]=o;c[w+(m+8)>>2]=L;c[w+(m+12)>>2]=e;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}K=(b+1048320|0)>>>16&8;L=b<>>16&4;L=L<>>16&2;e=14-(J|K|e)+(L<>>15)|0;e=f>>>(e+7|0)&1|e<<1}while(0);b=4992+(e<<2)|0;c[w+(m+28)>>2]=e;c[w+(m+20)>>2]=0;c[w+(m+16)>>2]=0;a=c[1173]|0;d=1<>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break}b=c[b>>2]|0;j:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(f|0)){M=d;break j}else{e=e<<1;b=d}}if(a>>>0<(c[1176]|0)>>>0)$a();else{c[a>>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break h}}else M=b;while(0);b=M+8|0;a=c[b>>2]|0;L=c[1176]|0;if(a>>>0>=L>>>0&M>>>0>=L>>>0){c[a+12>>2]=o;c[b>>2]=o;c[w+(m+8)>>2]=a;c[w+(m+12)>>2]=M;c[w+(m+24)>>2]=0;break}else $a()}else{M=(c[1175]|0)+l|0;c[1175]=M;c[1178]=o;c[w+(m+4)>>2]=M|1}while(0);M=w+(n|8)|0;return M|0}else d=5136;while(1){a=c[d>>2]|0;if(a>>>0<=h>>>0?(b=c[d+4>>2]|0,e=a+b|0,e>>>0>h>>>0):0)break;d=c[d+8>>2]|0}f=a+(b+-39)|0;a=a+(b+-47+((f&7|0)==0?0:0-f&7))|0;f=h+16|0;a=a>>>0>>0?h:a;b=a+8|0;d=w+8|0;d=(d&7|0)==0?0:0-d&7;M=p+-40-d|0;c[1178]=w+d;c[1175]=M;c[w+(d+4)>>2]=M|1;c[w+(p+-36)>>2]=40;c[1179]=c[1294];d=a+4|0;c[d>>2]=27;c[b>>2]=c[1284];c[b+4>>2]=c[1285];c[b+8>>2]=c[1286];c[b+12>>2]=c[1287];c[1284]=w;c[1285]=p;c[1287]=0;c[1286]=b;b=a+28|0;c[b>>2]=7;if((a+32|0)>>>0>>0)do{M=b;b=b+4|0;c[b>>2]=7}while((M+8|0)>>>0>>0);if((a|0)!=(h|0)){g=a-h|0;c[d>>2]=c[d>>2]&-2;c[h+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){a=b<<1;e=4728+(a<<2)|0;d=c[1172]|0;b=1<>2]|0;if(a>>>0<(c[1176]|0)>>>0)$a();else{G=b;H=a}}else{c[1172]=d|b;G=4728+(a+2<<2)|0;H=e}c[G>>2]=h;c[H+12>>2]=h;c[h+8>>2]=H;c[h+12>>2]=e;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=4992+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[f>>2]=0;b=c[1173]|0;a=1<>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;break}b=c[d>>2]|0;k:do if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(g|0)){I=d;break k}else{e=e<<1;b=d}}if(a>>>0<(c[1176]|0)>>>0)$a();else{c[a>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;break g}}else I=b;while(0);b=I+8|0;a=c[b>>2]|0;M=c[1176]|0;if(a>>>0>=M>>>0&I>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[h+8>>2]=a;c[h+12>>2]=I;c[h+24>>2]=0;break}else $a()}}else{M=c[1176]|0;if((M|0)==0|w>>>0>>0)c[1176]=w;c[1284]=w;c[1285]=p;c[1287]=0;c[1181]=c[1290];c[1180]=-1;b=0;do{M=b<<1;L=4728+(M<<2)|0;c[4728+(M+3<<2)>>2]=L;c[4728+(M+2<<2)>>2]=L;b=b+1|0}while((b|0)!=32);M=w+8|0;M=(M&7|0)==0?0:0-M&7;L=p+-40-M|0;c[1178]=w+M;c[1175]=L;c[w+(M+4)>>2]=L|1;c[w+(p+-36)>>2]=40;c[1179]=c[1294]}while(0);b=c[1175]|0;if(b>>>0>q>>>0){L=b-q|0;c[1175]=L;M=c[1178]|0;c[1178]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}}c[(Jm()|0)>>2]=12;M=0;return M|0}function rn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if(!a)return;b=a+-8|0;i=c[1176]|0;if(b>>>0>>0)$a();d=c[a+-4>>2]|0;e=d&3;if((e|0)==1)$a();o=d&-8;q=a+(o+-8)|0;do if(!(d&1)){b=c[b>>2]|0;if(!e)return;j=-8-b|0;l=a+j|0;m=b+o|0;if(l>>>0>>0)$a();if((l|0)==(c[1177]|0)){b=a+(o+-4)|0;d=c[b>>2]|0;if((d&3|0)!=3){u=l;g=m;break}c[1174]=m;c[b>>2]=d&-2;c[a+(j+4)>>2]=m|1;c[q>>2]=m;return}f=b>>>3;if(b>>>0<256){e=c[a+(j+8)>>2]|0;d=c[a+(j+12)>>2]|0;b=4728+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0>>0)$a();if((c[e+12>>2]|0)!=(l|0))$a()}if((d|0)==(e|0)){c[1172]=c[1172]&~(1<>>0>>0)$a();b=d+8|0;if((c[b>>2]|0)==(l|0))h=b;else $a()}else h=d+8|0;c[e+12>>2]=d;c[h>>2]=e;u=l;g=m;break}h=c[a+(j+24)>>2]|0;e=c[a+(j+12)>>2]|0;do if((e|0)==(l|0)){d=a+(j+20)|0;b=c[d>>2]|0;if(!b){d=a+(j+16)|0;b=c[d>>2]|0;if(!b){k=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0>>0)$a();else{c[d>>2]=0;k=b;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)$a();b=f+12|0;if((c[b>>2]|0)!=(l|0))$a();d=e+8|0;if((c[d>>2]|0)==(l|0)){c[b>>2]=e;c[d>>2]=f;k=e;break}else $a()}while(0);if(h){b=c[a+(j+28)>>2]|0;d=4992+(b<<2)|0;if((l|0)==(c[d>>2]|0)){c[d>>2]=k;if(!k){c[1173]=c[1173]&~(1<>>0<(c[1176]|0)>>>0)$a();b=h+16|0;if((c[b>>2]|0)==(l|0))c[b>>2]=k;else c[h+20>>2]=k;if(!k){u=l;g=m;break}}d=c[1176]|0;if(k>>>0>>0)$a();c[k+24>>2]=h;b=c[a+(j+16)>>2]|0;do if(b)if(b>>>0>>0)$a();else{c[k+16>>2]=b;c[b+24>>2]=k;break}while(0);b=c[a+(j+20)>>2]|0;if(b)if(b>>>0<(c[1176]|0)>>>0)$a();else{c[k+20>>2]=b;c[b+24>>2]=k;u=l;g=m;break}else{u=l;g=m}}else{u=l;g=m}}else{u=b;g=o}while(0);if(u>>>0>=q>>>0)$a();b=a+(o+-4)|0;d=c[b>>2]|0;if(!(d&1))$a();if(!(d&2)){if((q|0)==(c[1178]|0)){t=(c[1175]|0)+g|0;c[1175]=t;c[1178]=u;c[u+4>>2]=t|1;if((u|0)!=(c[1177]|0))return;c[1177]=0;c[1174]=0;return}if((q|0)==(c[1177]|0)){t=(c[1174]|0)+g|0;c[1174]=t;c[1177]=u;c[u+4>>2]=t|1;c[u+t>>2]=t;return}g=(d&-8)+g|0;f=d>>>3;do if(d>>>0>=256){h=c[a+(o+16)>>2]|0;b=c[a+(o|4)>>2]|0;do if((b|0)==(q|0)){d=a+(o+12)|0;b=c[d>>2]|0;if(!b){d=a+(o+8)|0;b=c[d>>2]|0;if(!b){p=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0<(c[1176]|0)>>>0)$a();else{c[d>>2]=0;p=b;break}}else{d=c[a+o>>2]|0;if(d>>>0<(c[1176]|0)>>>0)$a();e=d+12|0;if((c[e>>2]|0)!=(q|0))$a();f=b+8|0;if((c[f>>2]|0)==(q|0)){c[e>>2]=b;c[f>>2]=d;p=b;break}else $a()}while(0);if(h){b=c[a+(o+20)>>2]|0;d=4992+(b<<2)|0;if((q|0)==(c[d>>2]|0)){c[d>>2]=p;if(!p){c[1173]=c[1173]&~(1<>>0<(c[1176]|0)>>>0)$a();b=h+16|0;if((c[b>>2]|0)==(q|0))c[b>>2]=p;else c[h+20>>2]=p;if(!p)break}d=c[1176]|0;if(p>>>0>>0)$a();c[p+24>>2]=h;b=c[a+(o+8)>>2]|0;do if(b)if(b>>>0>>0)$a();else{c[p+16>>2]=b;c[b+24>>2]=p;break}while(0);b=c[a+(o+12)>>2]|0;if(b)if(b>>>0<(c[1176]|0)>>>0)$a();else{c[p+20>>2]=b;c[b+24>>2]=p;break}}}else{e=c[a+o>>2]|0;d=c[a+(o|4)>>2]|0;b=4728+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0<(c[1176]|0)>>>0)$a();if((c[e+12>>2]|0)!=(q|0))$a()}if((d|0)==(e|0)){c[1172]=c[1172]&~(1<>>0<(c[1176]|0)>>>0)$a();b=d+8|0;if((c[b>>2]|0)==(q|0))n=b;else $a()}else n=d+8|0;c[e+12>>2]=d;c[n>>2]=e}while(0);c[u+4>>2]=g|1;c[u+g>>2]=g;if((u|0)==(c[1177]|0)){c[1174]=g;return}}else{c[b>>2]=d&-2;c[u+4>>2]=g|1;c[u+g>>2]=g}b=g>>>3;if(g>>>0<256){d=b<<1;f=4728+(d<<2)|0;e=c[1172]|0;b=1<>2]|0;if(d>>>0<(c[1176]|0)>>>0)$a();else{r=b;s=d}}else{c[1172]=e|b;r=4728+(d+2<<2)|0;s=f}c[r>>2]=u;c[s+12>>2]=u;c[u+8>>2]=s;c[u+12>>2]=f;return}b=g>>>8;if(b)if(g>>>0>16777215)f=31;else{r=(b+1048320|0)>>>16&8;s=b<>>16&4;s=s<>>16&2;f=14-(q|r|f)+(s<>>15)|0;f=g>>>(f+7|0)&1|f<<1}else f=0;b=4992+(f<<2)|0;c[u+28>>2]=f;c[u+20>>2]=0;c[u+16>>2]=0;d=c[1173]|0;e=1<>2]|0;b:do if((c[b+4>>2]&-8|0)!=(g|0)){f=g<<((f|0)==31?0:25-(f>>>1)|0);while(1){d=b+16+(f>>>31<<2)|0;e=c[d>>2]|0;if(!e)break;if((c[e+4>>2]&-8|0)==(g|0)){t=e;break b}else{f=f<<1;b=e}}if(d>>>0<(c[1176]|0)>>>0)$a();else{c[d>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u;break a}}else t=b;while(0);b=t+8|0;d=c[b>>2]|0;s=c[1176]|0;if(d>>>0>=s>>>0&t>>>0>=s>>>0){c[d+12>>2]=u;c[b>>2]=u;c[u+8>>2]=d;c[u+12>>2]=t;c[u+24>>2]=0;break}else $a()}else{c[1173]=d|e;c[b>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u}while(0);u=(c[1180]|0)+-1|0;c[1180]=u;if(!u)b=5144;else return;while(1){b=c[b>>2]|0;if(!b)break;else b=b+8|0}c[1180]=-1;return}function sn(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=qn(b)|0;return a|0}if(b>>>0>4294967231){c[(Jm()|0)>>2]=12;a=0;return a|0}d=tn(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d){a=d+8|0;return a|0}d=qn(b)|0;if(!d){a=0;return a|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;Gn(d|0,a|0,(e>>>0>>0?e:b)|0)|0;rn(a);a=d;return a|0}function tn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=a+4|0;p=c[o>>2]|0;j=p&-8;l=a+j|0;i=c[1176]|0;d=p&3;if(!((d|0)!=1&a>>>0>=i>>>0&a>>>0>>0))$a();e=a+(j|4)|0;f=c[e>>2]|0;if(!(f&1))$a();if(!d){if(b>>>0<256){a=0;return a|0}if(j>>>0>=(b+4|0)>>>0?(j-b|0)>>>0<=c[1292]<<1>>>0:0)return a|0;a=0;return a|0}if(j>>>0>=b>>>0){d=j-b|0;if(d>>>0<=15)return a|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|3;c[e>>2]=c[e>>2]|1;un(a+b|0,d);return a|0}if((l|0)==(c[1178]|0)){d=(c[1175]|0)+j|0;if(d>>>0<=b>>>0){a=0;return a|0}n=d-b|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|1;c[1178]=a+b;c[1175]=n;return a|0}if((l|0)==(c[1177]|0)){e=(c[1174]|0)+j|0;if(e>>>0>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|1;c[a+e>>2]=d;e=a+(e+4)|0;c[e>>2]=c[e>>2]&-2;e=a+b|0}else{c[o>>2]=p&1|e|2;e=a+(e+4)|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[1174]=d;c[1177]=e;return a|0}if(f&2){a=0;return a|0}m=(f&-8)+j|0;if(m>>>0>>0){a=0;return a|0}n=m-b|0;g=f>>>3;do if(f>>>0>=256){h=c[a+(j+24)>>2]|0;g=c[a+(j+12)>>2]|0;do if((g|0)==(l|0)){e=a+(j+20)|0;d=c[e>>2]|0;if(!d){e=a+(j+16)|0;d=c[e>>2]|0;if(!d){k=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)$a();else{c[e>>2]=0;k=d;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)$a();d=f+12|0;if((c[d>>2]|0)!=(l|0))$a();e=g+8|0;if((c[e>>2]|0)==(l|0)){c[d>>2]=g;c[e>>2]=f;k=g;break}else $a()}while(0);if(h){d=c[a+(j+28)>>2]|0;e=4992+(d<<2)|0;if((l|0)==(c[e>>2]|0)){c[e>>2]=k;if(!k){c[1173]=c[1173]&~(1<>>0<(c[1176]|0)>>>0)$a();d=h+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=k;else c[h+20>>2]=k;if(!k)break}e=c[1176]|0;if(k>>>0>>0)$a();c[k+24>>2]=h;d=c[a+(j+16)>>2]|0;do if(d)if(d>>>0>>0)$a();else{c[k+16>>2]=d;c[d+24>>2]=k;break}while(0);d=c[a+(j+20)>>2]|0;if(d)if(d>>>0<(c[1176]|0)>>>0)$a();else{c[k+20>>2]=d;c[d+24>>2]=k;break}}}else{f=c[a+(j+8)>>2]|0;e=c[a+(j+12)>>2]|0;d=4728+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)$a();if((c[f+12>>2]|0)!=(l|0))$a()}if((e|0)==(f|0)){c[1172]=c[1172]&~(1<>>0>>0)$a();d=e+8|0;if((c[d>>2]|0)==(l|0))h=d;else $a()}else h=e+8|0;c[f+12>>2]=e;c[h>>2]=f}while(0);if(n>>>0<16){c[o>>2]=m|p&1|2;b=a+(m|4)|0;c[b>>2]=c[b>>2]|1;return a|0}else{c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|3;p=a+(m|4)|0;c[p>>2]=c[p>>2]|1;un(a+b|0,n);return a|0}return 0}function un(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){k=c[a>>2]|0;if(!(d&3))return;n=a+(0-k)|0;m=k+b|0;j=c[1176]|0;if(n>>>0>>0)$a();if((n|0)==(c[1177]|0)){e=a+(b+4)|0;d=c[e>>2]|0;if((d&3|0)!=3){t=n;h=m;break}c[1174]=m;c[e>>2]=d&-2;c[a+(4-k)>>2]=m|1;c[q>>2]=m;return}g=k>>>3;if(k>>>0<256){f=c[a+(8-k)>>2]|0;e=c[a+(12-k)>>2]|0;d=4728+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)$a();if((c[f+12>>2]|0)!=(n|0))$a()}if((e|0)==(f|0)){c[1172]=c[1172]&~(1<>>0>>0)$a();d=e+8|0;if((c[d>>2]|0)==(n|0))i=d;else $a()}else i=e+8|0;c[f+12>>2]=e;c[i>>2]=f;t=n;h=m;break}i=c[a+(24-k)>>2]|0;f=c[a+(12-k)>>2]|0;do if((f|0)==(n|0)){f=16-k|0;e=a+(f+4)|0;d=c[e>>2]|0;if(!d){e=a+f|0;d=c[e>>2]|0;if(!d){l=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)$a();else{c[e>>2]=0;l=d;break}}else{g=c[a+(8-k)>>2]|0;if(g>>>0>>0)$a();d=g+12|0;if((c[d>>2]|0)!=(n|0))$a();e=f+8|0;if((c[e>>2]|0)==(n|0)){c[d>>2]=f;c[e>>2]=g;l=f;break}else $a()}while(0);if(i){d=c[a+(28-k)>>2]|0;e=4992+(d<<2)|0;if((n|0)==(c[e>>2]|0)){c[e>>2]=l;if(!l){c[1173]=c[1173]&~(1<>>0<(c[1176]|0)>>>0)$a();d=i+16|0;if((c[d>>2]|0)==(n|0))c[d>>2]=l;else c[i+20>>2]=l;if(!l){t=n;h=m;break}}f=c[1176]|0;if(l>>>0>>0)$a();c[l+24>>2]=i;d=16-k|0;e=c[a+d>>2]|0;do if(e)if(e>>>0>>0)$a();else{c[l+16>>2]=e;c[e+24>>2]=l;break}while(0);d=c[a+(d+4)>>2]|0;if(d)if(d>>>0<(c[1176]|0)>>>0)$a();else{c[l+20>>2]=d;c[d+24>>2]=l;t=n;h=m;break}else{t=n;h=m}}else{t=n;h=m}}else{t=a;h=b}while(0);j=c[1176]|0;if(q>>>0>>0)$a();d=a+(b+4)|0;e=c[d>>2]|0;if(!(e&2)){if((q|0)==(c[1178]|0)){s=(c[1175]|0)+h|0;c[1175]=s;c[1178]=t;c[t+4>>2]=s|1;if((t|0)!=(c[1177]|0))return;c[1177]=0;c[1174]=0;return}if((q|0)==(c[1177]|0)){s=(c[1174]|0)+h|0;c[1174]=s;c[1177]=t;c[t+4>>2]=s|1;c[t+s>>2]=s;return}h=(e&-8)+h|0;g=e>>>3;do if(e>>>0>=256){i=c[a+(b+24)>>2]|0;f=c[a+(b+12)>>2]|0;do if((f|0)==(q|0)){e=a+(b+20)|0;d=c[e>>2]|0;if(!d){e=a+(b+16)|0;d=c[e>>2]|0;if(!d){p=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)$a();else{c[e>>2]=0;p=d;break}}else{g=c[a+(b+8)>>2]|0;if(g>>>0>>0)$a();d=g+12|0;if((c[d>>2]|0)!=(q|0))$a();e=f+8|0;if((c[e>>2]|0)==(q|0)){c[d>>2]=f;c[e>>2]=g;p=f;break}else $a()}while(0);if(i){d=c[a+(b+28)>>2]|0;e=4992+(d<<2)|0;if((q|0)==(c[e>>2]|0)){c[e>>2]=p;if(!p){c[1173]=c[1173]&~(1<>>0<(c[1176]|0)>>>0)$a();d=i+16|0;if((c[d>>2]|0)==(q|0))c[d>>2]=p;else c[i+20>>2]=p;if(!p)break}e=c[1176]|0;if(p>>>0>>0)$a();c[p+24>>2]=i;d=c[a+(b+16)>>2]|0;do if(d)if(d>>>0>>0)$a();else{c[p+16>>2]=d;c[d+24>>2]=p;break}while(0);d=c[a+(b+20)>>2]|0;if(d)if(d>>>0<(c[1176]|0)>>>0)$a();else{c[p+20>>2]=d;c[d+24>>2]=p;break}}}else{f=c[a+(b+8)>>2]|0;e=c[a+(b+12)>>2]|0;d=4728+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)$a();if((c[f+12>>2]|0)!=(q|0))$a()}if((e|0)==(f|0)){c[1172]=c[1172]&~(1<>>0>>0)$a();d=e+8|0;if((c[d>>2]|0)==(q|0))o=d;else $a()}else o=e+8|0;c[f+12>>2]=e;c[o>>2]=f}while(0);c[t+4>>2]=h|1;c[t+h>>2]=h;if((t|0)==(c[1177]|0)){c[1174]=h;return}}else{c[d>>2]=e&-2;c[t+4>>2]=h|1;c[t+h>>2]=h}d=h>>>3;if(h>>>0<256){e=d<<1;g=4728+(e<<2)|0;f=c[1172]|0;d=1<>2]|0;if(e>>>0<(c[1176]|0)>>>0)$a();else{r=d;s=e}}else{c[1172]=f|d;r=4728+(e+2<<2)|0;s=g}c[r>>2]=t;c[s+12>>2]=t;c[t+8>>2]=s;c[t+12>>2]=g;return}d=h>>>8;if(d)if(h>>>0>16777215)g=31;else{r=(d+1048320|0)>>>16&8;s=d<>>16&4;s=s<>>16&2;g=14-(q|r|g)+(s<>>15)|0;g=h>>>(g+7|0)&1|g<<1}else g=0;d=4992+(g<<2)|0;c[t+28>>2]=g;c[t+20>>2]=0;c[t+16>>2]=0;e=c[1173]|0;f=1<>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}d=c[d>>2]|0;a:do if((c[d+4>>2]&-8|0)!=(h|0)){g=h<<((g|0)==31?0:25-(g>>>1)|0);while(1){e=d+16+(g>>>31<<2)|0;f=c[e>>2]|0;if(!f)break;if((c[f+4>>2]&-8|0)==(h|0)){d=f;break a}else{g=g<<1;d=f}}if(e>>>0<(c[1176]|0)>>>0)$a();c[e>>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}while(0);e=d+8|0;f=c[e>>2]|0;s=c[1176]|0;if(!(f>>>0>=s>>>0&d>>>0>=s>>>0))$a();c[f+12>>2]=t;c[e>>2]=t;c[t+8>>2]=f;c[t+12>>2]=d;c[t+24>>2]=0;return}function vn(a){a=a|0;return}function wn(a){a=a|0;var b=0,d=0;d=a+4|0;b=c[d>>2]|0;c[d>>2]=b+-1;if(!b){Ab[c[(c[a>>2]|0)+8>>2]&127](a);a=1}else a=0;return a|0}function xn(a){a=a|0;if(wn(a)|0)yn(a);return}function yn(a){a=a|0;var b=0,d=0;d=a+8|0;b=c[d>>2]|0;c[d>>2]=b+-1;if(!b)Ab[c[(c[a>>2]|0)+16>>2]&127](a);return}function zn(a,b){a=a|0;b=b|0;return 0}function An(){}function Bn(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 (D=d,a-c>>>0|0)|0}function Cn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;if((e|0)>=20){d=d&255;h=b&3;i=d|d<<8|d<<16|d<<24;g=f&~3;if(h){h=b+4-h|0;while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(g|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function Dn(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b<>>32-c;return a<>>0;return (D=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function Fn(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>>c;return a>>>c|(b&(1<>>c-32|0}function Gn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Va(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function Hn(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>c;return a>>>c|(b&(1<>c-32|0}function In(b){b=b|0;var c=0;c=a[m+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[m+(b>>>24)>>0]|0)+24|0}function Jn(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 (D=(a>>>16)+($(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function Kn(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=Bn(j^a,i^b,j,i)|0;g=D;a=f^j;b=e^i;return Bn((Pn(h,g,Bn(f^c,e^d,f,e)|0,D,0)|0)^a,D^b,a,b)|0}function Ln(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+16|0;j=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;l=e>>31|((e|0)<0?-1:0)<<1;k=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=Bn(h^a,g^b,h,g)|0;b=D;Pn(a,b,Bn(l^d,k^e,l,k)|0,D,j)|0;e=Bn(c[j>>2]^h,c[j+4>>2]^g,h,g)|0;d=D;i=f;return (D=d,e)|0}function Mn(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=Jn(e,f)|0;a=D;return (D=($(b,f)|0)+($(d,e)|0)+a|a&0,c|0|0)|0}function Nn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Pn(a,b,c,d,0)|0}function On(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+16|0;f=g|0;Pn(a,b,d,e,f)|0;i=g;return (D=c[f+4>>2]|0,c[f>>2]|0)|0}function Pn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (D=n,f)|0}else{if(!g){n=0;f=0;return (D=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (D=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(ba(i|0)|0)-(ba(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (D=n,f)|0}g=h-1|0;if(g&h){i=(ba(h|0)|0)+33-(ba(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(f){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (D=o,p)|0}else{p=In(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (D=o,p)|0}}else{if(g){if(f){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (D=o,p)|0}if(!l){if(f){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (D=o,p)|0}g=i-1|0;if(!(g&i)){if(f){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((In(i|0)|0)>>>0);return (D=o,p)|0}g=(ba(i|0)|0)-(ba(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (D=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=En(m|0,l|0,-1,-1)|0;d=D;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;Bn(k,d,e,n)|0;p=D;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=Bn(e,n,o&m,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l)|0;b=D;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (D=o,p)|0}function Qn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;yb[a&3](b|0,c|0,d|0,e|0,f|0)}function Rn(a,b,c){a=a|0;b=b|0;c=+c;zb[a&31](b|0,+c)}function Sn(a,b){a=a|0;b=b|0;Ab[a&127](b|0)}function Tn(a,b,c){a=a|0;b=b|0;c=c|0;Bb[a&31](b|0,c|0)}function Un(a,b){a=a|0;b=b|0;return Cb[a&31](b|0)|0}function Vn(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=+d;e=e|0;Db[a&1](b|0,+c,+d,e|0)}function Wn(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;Eb[a&1](b|0,+c,+d)}function Xn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Fb[a&15](b|0,c|0,d|0)|0}function Yn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +Gb[a&1](b|0,c|0,d|0)}function Zn(a,b){a=a|0;b=b|0;return +Hb[a&15](b|0)}function _n(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=+f;g=g|0;Ib[a&1](b|0,c|0,+d,e|0,+f,g|0)}function $n(a,b,c){a=a|0;b=b|0;c=+c;return Jb[a&1](b|0,+c)|0}function ao(a,b,c){a=a|0;b=b|0;c=c|0;return Kb[a&15](b|0,c|0)|0}function bo(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;Lb[a&1](b|0,c|0,+d,+e,f|0)}function co(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;return +Mb[a&0](b|0,+c,+d)}function eo(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;Nb[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function fo(a,b,c){a=a|0;b=b|0;c=c|0;return +Ob[a&7](b|0,c|0)}function go(a){a=a|0;return Pb[a&7]()|0}function ho(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;Qb[a&1](b|0,c|0,d|0,+e)}function io(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Rb[a&15](b|0,c|0,d|0)}function jo(a){a=a|0;Sb[a&0]()}function ko(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;Tb[a&15](b|0,c|0,+d)}function lo(a,b,c){a=a|0;b=+b;c=+c;return Ub[a&1](+b,+c)|0}function mo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Vb[a&15](b|0,c|0,d|0,e|0)}function no(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(0)}function oo(a,b){a=a|0;b=+b;ca(1)}function po(a){a=a|0;ca(2)}function qo(a,b){a=a|0;b=b|0;ca(3)}function ro(a){a=a|0;ca(4);return 0}function so(a,b,c,d){a=a|0;b=+b;c=+c;d=d|0;ca(5)}function to(a,b,c){a=a|0;b=+b;c=+c;ca(6)}function uo(a,b,c){a=a|0;b=b|0;c=c|0;ca(7);return 0}function vo(a,b,c){a=a|0;b=b|0;c=c|0;ca(8);return 0.0}function wo(a){a=a|0;ca(9);return 0.0}function xo(a,b,c,d,e,f){a=a|0;b=b|0;c=+c;d=d|0;e=+e;f=f|0;ca(10)}function yo(a,b){a=a|0;b=+b;ca(11);return 0}function zo(a,b){a=a|0;b=b|0;ca(12);return 0}function Ao(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=+d;e=e|0;ca(13)}function Bo(a,b,c){a=a|0;b=+b;c=+c;ca(14);return 0.0}function Co(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ca(15)}function Do(a,b){a=a|0;b=b|0;ca(16);return 0.0}function Eo(){ca(17);return 0}function Fo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;ca(18)}function Go(a,b,c){a=a|0;b=b|0;c=c|0;ca(19)}function Ho(){ca(20)}function Io(a,b,c){a=a|0;b=b|0;c=+c;ca(21)}function Jo(a,b){a=+a;b=+b;ca(22);return 0}function Ko(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(23)} // EMSCRIPTEN_END_FUNCS var yb=[no,Gm,Fm,jk];var zb=[oo,we,xe,ye,ze,Ae,Be,Ce,De,Ee,Fe,Ge,He,Ie,Je,Ke,Le,Me,Ne,oo,oo,oo,oo,oo,oo,oo,oo,oo,oo,oo,oo,oo];var Ab=[po,rn,vn,Bg,Cg,Dg,Wh,Xh,Yh,Bj,Cj,Dj,Ck,Dk,Ek,fm,gm,hm,om,pm,um,xm,vm,wm,ym,Tj,Pj,Lj,ge,ie,rf,tf,vg,Fg,Kg,Qg,Wg,bh,hh,nh,th,zh,Fh,Lh,Rh,ci,ji,pi,vi,Bi,Hi,Ni,Ti,Zi,jj,kj,gj,qj,rj,Fj,Gj,zj,ck,ek,nl,cm,dm,Bl,Hl,Nl,Ul,$l,ln,po,po,po,po,po,po,po,po,po,po,po,po,po,po,po,po,po,po,po,po,po,po,po,po,po,po,po,po,po,po,po,po,po,po,po,po,po,po,po,po,po,po,po,po,po,po,po,po,po,po,po,po,po,po,po];var Bb=[qo,Jf,je,ke,ne,oe,pe,qe,re,se,ve,_e,bf,cf,df,ef,ff,gf,mf,qf,Cf,Mi,Si,Wj,Xk,ml,qo,qo,qo,qo,qo,qo];var Cb=[ro,qn,qm,Wm,Kf,Kj,Re,Te,Ue,Ve,We,Xe,Ye,nf,of,uf,Yi,Wk,ll,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro];var Db=[so,vf];var Eb=[to,yj];var Fb=[uo,ee,zm,Ym,Xm,Zm,ah,bi,Ml,uo,uo,uo,uo,uo,uo,uo];var Gb=[vo,Eh];var Hb=[wo,$e,af,hf,wf,xf,yf,zf,Af,Bf,wo,wo,wo,wo,wo,wo];var Ib=[xo,Gf];var Jb=[yo,ej];var Kb=[zo,sn,zn,Oj,pf,ug,Pg,gh,mh,Qh,ii,kk,Gl,zo,zo,zo];var Lb=[Ao,Jg];var Mb=[Bo];var Nb=[Co,Im,Hm,Tl];var Ob=[Do,jf,Df,Ef,Ff,Kh,Do,Do];var Pb=[Eo,Lf,fe,ij,pj,Ej,bm,Eo];var Qb=[Fo,ui];var Rb=[Go,Sj,Se,Ze,kf,lf,Vg,sh,Ai,Gi,Al,_l,Go,Go,Go,Go];var Sb=[Ho];var Tb=[Io,le,me,te,ue,Oe,Pe,Qe,oi,fj,Io,Io,Io,Io,Io,Io];var Ub=[Jo,xj];var Vb=[Ko,Bm,Cm,aj,yh,mj,tj,Jj,hk,pl,jm,Ko,Ko,Ko,Ko,Ko];return{_nbind_init:cl,_i64Subtract:Bn,_free:rn,_i64Add:En,_memset:Cn,_malloc:qn,_memcpy:Gn,_bitshift64Lshr:Fn,_bitshift64Shl:Dn,__GLOBAL__sub_I_nbind_cc:Mf,__GLOBAL__sub_I_common_cc:bk,__GLOBAL__sub_I_Binding_cc:dl,runPostSets:An,stackAlloc:Wb,stackSave:Xb,stackRestore:Yb,establishStackSpace:Zb,setThrew:_b,setTempRet0:bc,getTempRet0:cc,dynCall_viiiii:Qn,dynCall_vid:Rn,dynCall_vi:Sn,dynCall_vii:Tn,dynCall_ii:Un,dynCall_viddi:Vn,dynCall_vidd:Wn,dynCall_iiii:Xn,dynCall_diii:Yn,dynCall_di:Zn,dynCall_viididi:_n,dynCall_iid:$n,dynCall_iii:ao,dynCall_viiddi:bo,dynCall_didd:co,dynCall_viiiiii:eo,dynCall_dii:fo,dynCall_i:go,dynCall_viiid:ho,dynCall_viii:io,dynCall_v:jo,dynCall_viid:ko,dynCall_idd:lo,dynCall_viiii:mo}}) // EMSCRIPTEN_END_ASM (Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _nbind_init=Module["_nbind_init"]=asm["_nbind_init"];var __GLOBAL__sub_I_nbind_cc=Module["__GLOBAL__sub_I_nbind_cc"]=asm["__GLOBAL__sub_I_nbind_cc"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _free=Module["_free"]=asm["_free"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _memset=Module["_memset"]=asm["_memset"];var _malloc=Module["_malloc"]=asm["_malloc"];var __GLOBAL__sub_I_common_cc=Module["__GLOBAL__sub_I_common_cc"]=asm["__GLOBAL__sub_I_common_cc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var __GLOBAL__sub_I_Binding_cc=Module["__GLOBAL__sub_I_Binding_cc"]=asm["__GLOBAL__sub_I_Binding_cc"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_vid=Module["dynCall_vid"]=asm["dynCall_vid"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_viddi=Module["dynCall_viddi"]=asm["dynCall_viddi"];var dynCall_vidd=Module["dynCall_vidd"]=asm["dynCall_vidd"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_diii=Module["dynCall_diii"]=asm["dynCall_diii"];var dynCall_di=Module["dynCall_di"]=asm["dynCall_di"];var dynCall_viididi=Module["dynCall_viididi"]=asm["dynCall_viididi"];var dynCall_iid=Module["dynCall_iid"]=asm["dynCall_iid"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_viiddi=Module["dynCall_viiddi"]=asm["dynCall_viiddi"];var dynCall_didd=Module["dynCall_didd"]=asm["dynCall_didd"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_dii=Module["dynCall_dii"]=asm["dynCall_dii"];var dynCall_i=Module["dynCall_i"]=asm["dynCall_i"];var dynCall_viiid=Module["dynCall_viiid"]=asm["dynCall_viiid"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_viid=Module["dynCall_viid"]=asm["dynCall_viid"];var dynCall_idd=Module["dynCall_idd"]=asm["dynCall_idd"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.establishStackSpace=asm["establishStackSpace"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];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){assert(runDependencies==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)");assert(__ATPRERUN__.length==0,"cannot call main when preRun functions remain to be called");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["stdout"]["once"]("drain",(function(){process["exit"](status)}));console.log(" ");setTimeout((function(){process["exit"](status)}),500)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}run()}))